String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}
function enablestate()

{

	var selObj = document.getElementById("00N50000001RYTt");
	var StateDiv = document.getElementById("StatesDiv");
	      		


	if ((document.contactform.elements['00N50000001RYTy'].value == 'United States') || (document.contactform.elements['00N50000001RYTy'].value == 'Canada'))

	{


		//selObj.options[66] = null;
                getStates(document.contactform.elements['00N50000001RYTy'].value );
		document.contactform.elements['00N50000001RYTt'].disabled = false;
                changeDivState('invisible');    
                StateDiv.style.display='';
	}else {

		selObj.options[66]=new Option("Outside the U.S or Canada" , "Outside the U.S or Canada");

		selObj.options[66].selected = true;

		document.contactform.elements['00N50000001RYTt'].disabled = true;

		getSalesRep(document.contactform.elements['00N50000001RYTy'].value , 'Outside the U.S or Canada');
 		
 		StateDiv.style.display='none';
		

	}

}

function changeDivState(newState)
    {
        var contactDiv = document.getElementById("contactSalesRepDiv");
        var contactSalesEmailDiv = document.getElementById("contactSalesEmailDiv");
        var contactSalesRepText= document.getElementById("contactSalesRepText");
        if(newState=='invisible')
            {
                contactSalesRepText.innerHTML="";
                contactDiv.style.display='none';
                contactSalesEmailDiv.style.display='none';

            }
            else
            {
                contactSalesRepText.innerHTML=req.responseText;;
                contactDiv.style.display='';
                contactSalesEmailDiv.style.display='';

            }
    }



function getSalesRepForState()
{
                
    		getSalesRep(document.contactform.elements['00N50000001RYTy'].value , document.contactform.elements['00N50000001RYTt'].value );

}


function getSalesRep(country , state)
{
    
			//submitting to following servlet

			var url = "/portal/innovateactionservlet?action=contactus&country=" + country + "&state="+ state + "&token=token.html";



	        var req = initRequest(url);

	        req.onreadystatechange = function() {

	            if (req.readyState == 4) {

	                if (req.status == 200) {

	                    populateSalesRepDiv(req,req.responseXML);

	                } else if (req.status == 204){

	                }

	            }

	        };

	        req.open("GET", url, true);

	        req.send(null);

}

function getStates(country  )
{
    
			//submitting to following servlet

			var url = "/portal/innovateactionservlet?action=getstates&country=" + country + "&token=token.html";



	        var req = initRequest(url);

	        req.onreadystatechange = function() {

	            if (req.readyState == 4) {

	                if (req.status == 200) {

	                    populateStates(req,req.responseXML);

	                } else if (req.status == 204){

	                }

	            }

	        };

	        req.open("GET", url, true);

	        req.send(null);

}

  
  //Callback function
 function populateStates(req){
  	document.getElementById('00N50000001RYTt').options.length = 0;
        var textToSplit = req.responseText.trim();
       // alert(req.responseText);
          //Split the document
        var  returnElements=textToSplit.split("||")
          document.getElementById('00N50000001RYTt').options[0] = new Option("--Select from Below--","--Select from Below--");
          //Process each of the elements 
          var i=1;
          for ( i=1; i<returnElements.length; i++ ){
             valueLabelPair = returnElements[i].split("|")
             document.getElementById('00N50000001RYTt').options[i] = new Option(valueLabelPair[0].trim(), valueLabelPair[1].trim());
          }
         //    document.getElementById('00N50000001RYTt').options[i] = null;;
         
    }
 
	

function populateSalesRepDiv(req,responseXML)
 {
    var contactDiv = document.getElementById("contactSalesRepDiv");
    var contactSalesEmailDiv = document.getElementById("contactSalesEmailDiv");
    var contactSalesRepText= document.getElementById("contactSalesRepText");
    //alert(req.responseText);
    contactSalesRepText.innerHTML=req.responseText;;
    contactDiv.style.display='';
    contactSalesEmailDiv.style.display='';
 }


    
 function checkFields(contactform) {
    missinginfo = "";
    
    if (document.contactform.elements.first_name.value == "") {
        missinginfo += "\n     -  First Name";
    }
    if (document.contactform.elements.last_name.value == "") {
        missinginfo += "\n     -  Last Name";
    }
    if (document.contactform.elements.email.value == "") {
        missinginfo += "\n     -  E-mail";
    }
    if (document.contactform.elements['00N50000001RYTy'].value == "") {
        missinginfo += "\n     -  Country";
    }
    if ((document.contactform.elements['00N50000001RYTy'].value == "United States" ||
        document.contactform.elements['00N50000001RYTy'].value == "Canada") &&
        document.contactform.elements['00N50000001RYTt'].value == "") {
        missinginfo += "\n     -  State/Province";
    }

    if (document.contactform.elements['description'].value == "") {
        missinginfo += "\n     -  Your Message";
    }
    if (missinginfo != "") {
        missinginfo = "_____________________________\n" + "The following information is missing:\n" + missinginfo + "\n_____________________________" + "\nPlease re-enter and submit again!";
        alert(missinginfo);
        return false;
    } else {
        var email = document.contactform.elements.email.value;
        if (email.indexOf("@") == -1) {
            missinginfo += "\n     -  Email";
            missinginfo = "_____________________________\n" + "The following information is not valid:\n" + missinginfo + "\n_____________________________" + "\nPlease re-enter and submit again!";
            alert(missinginfo);
            return false;
        }
        return true;
    }
}