
//----------------FORM VALIDATION ----------------

	function checkform ( form )
 {
 if (form.firstName.value == "") {
	ToggleRTQ();
 alert( "Please enter your First Name" );
 form.firstName.focus();
 return false ;
 }
 if (form.lastName.value == "") {
	ToggleRTQ();
 alert( "Please enter your Last Name" );
 form.lastName.focus();
 return false ;
 }
 	if (form.addressLine1.value == "") {
	ToggleRTQ();
 alert( "Please enter your Address" );
 form.addressLine1.focus();
 return false ;
 }
 if (form.postalCd.value == "") {
	ToggleRTQ();
 alert( "Please enter your Zip Code" );
 form.postalCd.focus();
 return false ;
 }

if (form.phone.value == "") {
		ToggleRTQ();
 alert( "Please enter your Phone" );
 form.phone.focus();
 return false ;
 }
//----------------CHECKS FOR VALID EMAIL----------------

if (form.emailID.value == "") {
	ToggleRTQ();
 alert( "Please enter your Email" );
 form.emailID.focus();
 return false ;
 }

	s_email = form.emailID.value;
	if(! s_email) return false;
	var i = s_email.indexOf(' ',0);
	while(i > -1)
	{
		s_email = s_email.substring(0,i) + 
			s_email.substring((i + 1),s_email.length);
		i = s_email.indexOf(' ',0);
	}
	document.aForm.emailID.value = s_email;
	if((s_email.length < 6) ||
	   (s_email.indexOf('@',0) < 1) ||
	   (s_email.lastIndexOf('@') != s_email.indexOf('@',0)) ||
	   (s_email.lastIndexOf('@') > (s_email.length - 5)) ||
	   (s_email.indexOf('..',0) > -1) ||
	   (s_email.indexOf('@.',0) > -1) ||
	   (s_email.indexOf('.@',0) > -1) ||
	   (s_email.indexOf(',',0) > -1))
	{
		alert('The email address "' + s_email + '" is not valid.');
		return false;
	}

//--------

if (form.BizType.value == "--> Select") {
 alert( "Please enter your Business Type" );
 form.BizType.focus();
 return false ;
 }

var prod1 = document.getElementById("grainsbutton");
var prod2 = document.getElementById("livestockbutton");
var prod4 = document.getElementById("norgrainsbutton");
var prod5 = document.getElementById("dairybutton");
var prod7 = document.getElementById("canadabutton");
var prod8 = document.getElementById("socropsbutton");


 if ((prod1.checked==false) && (prod2.checked==false) && (prod4.checked==false) && (prod5.checked==false) && (prod7.checked==false) && (prod8.checked==false))
{
	ToggleRTQ();
 alert( "Please select at least one Product." );
 form.grainsbutton.focus();
 return false ;
}
if (form.instantcheck.checked == true) {
	ReviewInstantAddOns();
	FormStep(2);
}

 // ** END **
 return true ;
 }

// -->

//------------------ EVALUATE BIZTYPE ------------------

function EvalBizType(){
	var prodheadrow = document.getElementById("prodheadrow");
	var prodselrow = document.getElementById("prodselrow");

	
	if (document.getElementById("BizType").value == 'Agribusiness')
	{
		document.getElementById("inCampaignId").value = document.getElementById("AltAcquisition").value;
		document.getElementById("inCampaignIdUpsell").value = document.getElementById("AltUpsell").value;
		document.getElementById("inCreateCRMLeadOpportunity").value = 'O';
		document.getElementById("inIndustryCode").value = '1006';
		prodheadrow.style.display = "none";	
		prodselrow.style.display = "none";		
		SetSuccessFailURL();
		}
	if (document.getElementById("BizType").value == 'Producer')
	{	document.getElementById("inCampaignId").value = document.getElementById("Acquisition").value;
		document.getElementById("inCampaignIdUpsell").value = document.getElementById("Upsell").value;
		document.getElementById("inCreateCRMLeadOpportunity").value = 'O';
		prodheadrow.style.display = "";	
		prodselrow.style.display = "";		
		SetSuccessFailURL();
		}
	if (document.getElementById("BizType").value == 'Educator')
	{	document.getElementById("inCampaignId").value = document.getElementById("Acquisition").value;
		document.getElementById("inCampaignIdUpsell").value = document.getElementById("Upsell").value;
		document.getElementById("inCreateCRMLeadOpportunity").value = 'N';
		prodheadrow.style.display = "none";	
		prodselrow.style.display = "none";		
		SetSuccessFailURL();
		}

}

//------------------ END ------------------

//------------------ EVALUATE PRODUCT ------------------

function SetGrainsIndustry(){
		document.getElementById("inIndustryCode").value = '1001';
		}
function SetLivestockIndustry(){
		document.getElementById("inIndustryCode").value = '1002';
		}
function SetDairyIndustry(){
		document.getElementById("inIndustryCode").value = '1003';
		}
function SetNorGrainsIndustry(){
		document.getElementById("inIndustryCode").value = '1005';
		}
function SetCanadaIndustry(){
		document.getElementById("inIndustryCode").value = '1001';
		}
function SetSoCropsIndustry(){
		document.getElementById("inIndustryCode").value = '1001';
		}

//------------------ END ------------------


//------------------ SET SUCCESS/FAIL URL BASED ON SELECTION ------------------
	function SetSuccessFailURL(){
	document.getElementById("failureURL").value = 'http://www.dtn.com/forms/ag/try/dtnonline/ago_failure_url.cfm?wavA=' + document.getElementById("inCampaignId").value + '&DTNID=' + document.getElementById("DTNID").value;
	document.getElementById("successURL").value = 'http://www.dtn.com/forms/ag/try/dtnonline/ago_success_url.cfm?wavA=' + document.getElementById("inCampaignId").value + '&DTNID=' + document.getElementById("DTNID").value;
("successURL");
	}

//------------------ END ------------------


//----------------FORM STEPS - SHOWS/HIDES FORM PAGES----------------
function FormStep(step)
   {
      var formPage1 = document.getElementById("formPage1");
      var formPage2 = document.getElementById("formPage2");
      var formPage3 = document.getElementById("formPage3");
      var formPage4 = document.getElementById("formPage4");
      var formPage5 = document.getElementById("formPage5");
            switch(step)
      {
         case 1:
         formPage1.style.display = "block";
         formPage2.style.display = "none";
         formPage3.style.display = "none";
         formPage4.style.display = "none";
         formPage5.style.display = "none";
		 document.location.href="#top1";
         break;
         case 2:
		 formPage1.style.display = "none";
         formPage2.style.display = "block";
         formPage3.style.display = "none";
         formPage4.style.display = "none";
         formPage5.style.display = "none";
		 document.location.href="#top1";
		 break;
		 case 3:
         formPage1.style.display = "none";
         formPage2.style.display = "none";
         formPage3.style.display = "block";
         formPage4.style.display = "none";
         formPage5.style.display = "none";
		 document.location.href="#top1";
		 break;
		 case 4:
         formPage1.style.display = "none";
         formPage2.style.display = "none";
         formPage3.style.display = "none";
         formPage4.style.display = "block";
         formPage5.style.display = "none";
		 document.location.href="#top1";
		 break;
		 case 5:
         formPage1.style.display = "none";
         formPage2.style.display = "none";
         formPage3.style.display = "none";
         formPage4.style.display = "none";	
		 formPage5.style.display = "block";
		 document.location.href="#top1";
      }
   }
   
// -->

//-----------DEACTIVATES REALTIME QUOTES CHECKBOX-----------

function ToggleRTQ() {
   document.getElementById("instantcheck").checked=false;
   document.getElementById("terms1").checked=false;
   document.getElementById("terms2").checked=false;
   document.getElementById("terms3").checked=false;
   document.getElementById("terms4").checked=false;
   document.getElementById("terms5").checked=false;
   ClearInstantAddOns();
   }

//------------------SET AGREEEMENT FIELDS------------------
//sets/clears the agreeement code form field 

function ReviewAgreementCode(){
var agreeCheckbox = document.getElementById("terms5");
if(agreeCheckbox.checked==true)
{
	SetAgreementCode();
}
else
{	
	ClearAgreementCode();
}
}


function SetAgreementCode(){
var curdate = new Date()
var displaydate = curdate.getMonth() + 1 +"/"+curdate.getDate()+ "/"+curdate.getFullYear()
var Hours;
      	var Mins;
      	var Time;
      	Hours = curdate.getHours();
      	if (Hours >= 12) {
      	        Time = " PM";
      	}
              else {
                      Time = " AM";
              }
      	
      	if (Hours > 12) {
              	Hours -= 12;
              }
      
      	if (Hours == 0) {
              	Hours = 12;
              }
      
      	Mins = curdate.getMinutes();
      
      	if (Mins < 10) {
              	Mins = "0" + Mins;
              }

document.getElementById("inAgreements").value = '<Agreements><Agreement><Code>29b</Code><Version>2.0</Version><AgreedDateTime>'+ displaydate + " " + Hours + ":" + Mins + Time +'</AgreedDateTime><Description></Description></Agreement></Agreements>'}

function ClearAgreementCode(){
document.getElementById("terms5").value = ''
}


//------------------SET DO NOT EMAIL CHECKBOX ------------------
//sets/clears the mobile subscriptions checkboxes 

function SetDoNotEmail(){
var dneCheckbox_y = document.getElementById("DoNotEmail_y");
var dneCheckbox_n = document.getElementById("DoNotEmail_n");
var wmiCheckbox = document.getElementById("WantsMoreInfo");

if(wmiCheckbox.checked==true)
{
document.getElementById("DoNotEmail_y").checked=false;
document.getElementById("DoNotEmail_n").checked=true;

}
else
{	
document.getElementById("DoNotEmail_y").checked=true;
document.getElementById("DoNotEmail_n").checked=false;
}

}




//------------------SET MOBILE FIELDS------------------
//sets/clears the mobile subscriptions checkboxes 

function ReviewMobileAddOns(){
var mobileCheckbox = document.getElementById("mobilecheck");
if(mobileCheckbox.checked==true)
{
	SetMobileAddOns();
}
else
{	
	ClearMobileAddOns();
}
}

function SetMobileAddOns(){
var instantWEA1check = document.getElementById("addon9")
document.getElementById("addon2").checked=true;
document.getElementById("addon3").checked=true;
document.getElementById("addon4").checked=true;
if(instantWEA1check.checked==true)
{
	document.getElementById("addon5").checked=false;
}
else
{	
	document.getElementById("addon5").checked=true;
}
}

function ClearMobileAddOns(){
document.getElementById("addon2").checked=false;
document.getElementById("addon3").checked=false;
document.getElementById("addon4").checked=false;
document.getElementById("addon5").checked=false;

}


//------------------SET INSTANT FIELDS------------------
//sets/clears the instant subscriptions checkboxes 

function ReviewInstantAddOns(){
var instantCheckbox = document.getElementById("instantcheck");
if(instantCheckbox.checked==true)
{
	SetInstantAddOns();
}
else
{	
	ClearInstantAddOns();
}
}

function SetInstantAddOns(){
var mobileWEA1check = document.getElementById("addon5")
document.getElementById("addon6").checked=true;
document.getElementById("addon7").checked=true;
document.getElementById("addon8").checked=true;
if(mobileWEA1check.checked==true)
{
	document.getElementById("addon9").checked=false;
}
else
{	
	document.getElementById("addon9").checked=true;
}
document.getElementById("addon10").checked=true;

}

function ClearInstantAddOns(){
document.getElementById("addon6").checked=false;
document.getElementById("addon7").checked=false;
document.getElementById("addon8").checked=false;
document.getElementById("addon9").checked=false;
document.getElementById("addon10").checked=false;

}

//------------------MATCH PRODUCT FIELDS------------------
//sets/clears the product form fields 
function MatchProductFields()
{
	if (document.getElementById("defindustry").value == '1001')
	{
		document.getElementById("grainsbutton").checked=true;
		document.getElementById("inIndustryCode").value = '1001';
	}
	if (document.getElementById("defindustry").value == '1002')
	{
		document.getElementById("livestockbutton").checked=true;
		document.getElementById("inIndustryCode").value = '1002';
	}
		if (document.getElementById("defindustry").value == '1003')
	{
		document.getElementById("dairybutton").checked=true;
		document.getElementById("inIndustryCode").value = '1003';
	}
	if (document.getElementById("defindustry").value == '1005')
	{
		document.getElementById("norgrainsbutton").checked=true;
		document.getElementById("inIndustryCode").value = '1005';
	}
	if (document.getElementById("defindustry").value == '1006')
	{
		document.getElementById("grainsbutton").checked=true;
		document.getElementById("inIndustryCode").value = '1006';
	}
			if (document.getElementById("defindustry").value == '1007')
	{
		document.getElementById("canadabutton").checked=true;
		document.getElementById("inIndustryCode").value = '1001';
	}
			if (document.getElementById("defindustry").value == '1008')
	{
		document.getElementById("socropsbutton").checked=true;
		document.getElementById("inIndustryCode").value = '1001';
	}
}

//------------------CHECK "I AGREE" BOXES------------------
//checks that "I Agree" checkbox is checked before proceeding 
//re-validates form before submitting


function requireChecked1() {
        if (
        document.aForm.terms1.checked == false) 
        {
                alert ('You must agree to the terms to continue');
                return false;
        }  FormStep(3)
}

function requireChecked2() {
        if (
        document.aForm.terms2.checked == false) 
        {
                alert ('You must agree to the terms to continue');
                return false;
        }  FormStep(4)
}

function requireChecked3() {
        if (
        document.aForm.terms3.checked == false ||
		document.aForm.terms4.checked == false ||
		document.aForm.terms5.checked == false
		) 
        {
                alert ('You must agree to the terms to continue');
                return false;
        } 
		else 
		{
		return true;
		}
		
}



//------------------ XML PRODUCT PROCESSING ------------------


function CreateXML (f)
{

return generateXML(f);

}

function validateForm(f)
{
	var subs = f['subscriptions[]'];
	var productSelected = false;
	var productSelectedList = new Array();

	for( var i = 0; i < subs.length; i++ )
	{
		if( subs[i].checked == true )
		{
			productSelected = true;
			productSelectedList = productSelectedList.concat(i);
		}
	}

	if( productSelected )
		return productSelectedList;
	else
		return false;
}

function generateXML(f)
{

	var subs = f['subscriptions[]'];

	// If any new <Product> child nodes are needed, add them here.
	var productXML = 
		['ServiceCd', 
		'OfferCd', 
		'Billable', 
		'Term', 
		'BillFreq', 
		'Message'
	];

	var productSelectedList = validateForm(f);

	if( productSelectedList )
	{
		var inProductsXML = '<Products>';
		for( var i = 0; i < productSelectedList.length; i++ )
		{
			inProductsXML += '<Product>';
			var prodValueArray = subs[productSelectedList[i]].value.split("~"); 

			// Loop through <product> nodes and populate values
			for( var j = 0; j < productXML.length; j++ )
			{
				inProductsXML += '<'+productXML[j]+'>';
				
				for( var k = 0; k < prodValueArray.length; k++ )
				{
					if( prodValueArray[k].split("|")[0] == productXML[j] )
					{
						inProductsXML += prodValueArray[k].split("|")[1];
						break;
					}
				}

				inProductsXML += '</'+productXML[j]+'>';
			}
			inProductsXML += '</Product>';
		}

		inProductsXML += '</Products>';
		f.inProducts.value = inProductsXML;  // Populate hidden field with XML
		return true;

	} else {
		alert( 'No Products were selected.' );
		return false;
	}
}

// -->

//------------------ XML NOTES PROCESSING ------------------

function generateNotesXML(f)
{
           //all notes form fields go here
           var noteCodes = 'Keyword~Outlet~WantsMoreInfo~TypeOfBusiness';
           
           //any <select> form fields need to be here as well to capture multiple selections- can leave this empty
           var multipleSelectCodes = '';
            
           //any radio buttons and checkboxes need to be here as well - can leave this empty
           var radiobuttonCodes = 'WantsMoreInfo';
            
           var noteValueArray = noteCodes.split("~");
           var multipleSelectCodesArray = multipleSelectCodes.split("~");
           var rbArray = radiobuttonCodes.split("~");   
           
           var inNoteValuesXML = '<NoteValues>';
 
           for( var i = 0; i < noteValueArray.length; i++ )
           {
              var valFound = document.getElementById('in' + noteValueArray[i] ) ;  
              if (valFound != null)
              {
                               var controltype = 'S'
                               
                               //check if this element allows multiple selections
                               for( var m = 0; m < multipleSelectCodesArray.length; m++ )
                                   {                      
                                   if (noteValueArray[i] ==  multipleSelectCodesArray[m])
                                   {
                                       controltype = 'M';
                                   }
                               }
                               
                               //radiobuttons work differently
                               for( var r = 0; r < rbArray.length; r++ )
                       {                      
                                   if (noteValueArray[i] ==  rbArray[r])
                                   {
                                       controltype = 'R'; 
                                   }
                               }
                               
                               		        		        if (controltype == 'S')

		        {

	              		//don't write notes for keyword and outlet if blank

	              		if (noteValueArray[i] == 'Keyword' || noteValueArray[i] == 'Outlet')

	              		{

	              		   //if (valFound.value != '')

	              		  //{

	              		        inNoteValuesXML += '<KeyValue><Key>' + noteValueArray[i] + '</Key><Value>' + valFound.value + '</Value></KeyValue>';

	              		   //}

	              		}

	              		else

	              		{

	              		    inNoteValuesXML += '<KeyValue><Key>' + noteValueArray[i] + '</Key><Value>' + valFound.value + '</Value></KeyValue>';

	              		}

		        }
                               
                               if (controltype == 'M')
                               {
                                   var multiplevalues ='';
                                   for( var m= 0; m < valFound.options.length; m++ )
                           { 
                               if (valFound.options[m].selected)
                               {
                                   multiplevalues +=  valFound.options[m].value + ',';
                               }  
                           }
                           inNoteValuesXML += '<KeyValue><Key>' + noteValueArray[i] + '</Key><Value>' + multiplevalues + '</Value></KeyValue>';
                               }
                               
                               if (controltype == 'R')
                               {
                                   var valFoundName = document.getElementsByName('in' + noteValueArray[i]);
                                   for( var r= 0; r < valFoundName.length; r++ )
                           { 
                               if (valFoundName[r].checked)
                               {
                                   inNoteValuesXML += '<KeyValue><Key>' + noteValueArray[i] + '</Key><Value>' + valFoundName[r].value + '</Value></KeyValue>';
                               } 
                           }
                               }
              }
           }
           inNoteValuesXML += '</NoteValues>';
           // alert(inNoteValuesXML);
           document.getElementById('inNoteValues' ).value = inNoteValuesXML;  // Populate hidden field with XML
           return true;
}

// -->

//------------------ CHECK FOR SALES REP OVERRIDE ------------------

function EvaluateOveride() {
	if (document.getElementById("SRoveride").value != "")
	{
	document.getElementById("inSalesRepId").value = document.getElementById("SRoveride").value;
	}
}

// -->

