		var objSFDCForm;
      var objSFDCForm_State;
      var objSFDCForm_Country;
      var blnStateInit = false;

      astrNotApply = Array( new Option("Not Required", ''));

      astrCanada = Array( new Option("Select One", '')
                , new Option("Alberta", "AB")
                , new Option("British Columbia", "BC")
                , new Option("Manitoba", "MB")
                , new Option("New Brunswick", "NB")
                , new Option("Newfoundland", "NL")
                , new Option("Northwest Territories", "NT")
                , new Option("Nova Scotia", "NS")
                , new Option("Nunavut", "NU")
                , new Option("Ontario", "ON")
                , new Option("Prince Edward Island", "PE")
                , new Option("Quebec", "QC")
                , new Option("Saskatchewan", "SK")
                , new Option("Yukon", "YT")
      );

      astrUSA = Array(    new Option("Select One", '')
                , new Option("Alabama", "AL")
                , new Option("Alaska", "AK")
                , new Option("Arizona", "AZ")
                , new Option("Arkansas", "AR")
                , new Option("California", "CA")
                , new Option("Colorado", "CO")
                , new Option("Connecticut", "CT")
                , new Option("Delaware", "DE")
                , new Option("District of Columbia", "DC")
                , new Option("Florida", "FL")
                , new Option("Georgia", "GA")
                , new Option("Hawaii", "HI")
                , new Option("Idaho", "ID")
                , new Option("Illinois", "IL")
                , new Option("Indiana", "IN")
                , new Option("Iowa", "IA")
                , new Option("Kansas", "KS")
                , new Option("Kentucky", "KY")
                , new Option("Louisiana", "LA")
                , new Option("Maine", "ME")
                , new Option("Maryland", "MD")
                , new Option("Massachusetts", "MA")
                , new Option("Michigan", "MI")
                , new Option("Minnesota", "MN")
                , new Option("Mississippi", "MS")
                , new Option("Missouri", "MO")
                , new Option("Montana", "MT")
                , new Option("Nebraska", "NE")
                , new Option("Nevada", "NV")
                , new Option("New Hampshire", "NH")
                , new Option("New Jersey", "NJ")
                , new Option("New Mexico", "NM")
                , new Option("New York", "NY")
                , new Option("North Carolina", "NC")
                , new Option("North Dakota", "ND")
                , new Option("Ohio", "OH")
                , new Option("Oklahoma", "OK")
                , new Option("Oregon", "OR")
                , new Option("Pennsylvania", "PA")
                , new Option("Rhode Island", "RI")
                , new Option("South Carolina", "SC")
                , new Option("South Dakota", "SD")
                , new Option("Tennessee", "TN")
                , new Option("Texas", "TX")
                , new Option("Utah", "UT")
                , new Option("Vermont", "VT")
                , new Option("Virginia", "VA")
                , new Option("Washington", "WA")
                , new Option("West Virginia", "WV")
                , new Option("Wisconsin", "WI")
                , new Option("Wyoming", "WY")
      );

      function SVInitStateOpts(){
        objSFDCForm_State = objSFDCForm.elements['CompanyState'];
        objSFDCForm_Country = objSFDCForm.elements['CompanyCountry'];
        astrSpecialCountries = {"CA":astrCanada, "US":astrUSA};
        blnStateInit = true;
      }

      function SVSwapCountryStates(astrCountries){
        objSFDCForm_State = objSFDCForm.elements['CompanyState'];
        objSFDCForm_Country = objSFDCForm.elements['CompanyCountry'];
        intNewUbound = astrCountries.length;
        intOldUbound = objSFDCForm_State.options.length;
        intTmpUbound = intOldUbound;
        if(intNewUbound > intOldUbound){intTmpUbound=intNewUbound;}
        for(oi=0; oi < intNewUbound; oi++){objSFDCForm_State.options[oi] = astrCountries[oi];}
        for(zi = objSFDCForm_State.options.length-1;zi>=oi;zi--){objSFDCForm_State.options[zi]= null;}
      }

      function SVCheckStates(strCountry){
        try{
          if(!blnStateInit){SVInitStateOpts();}
          if(strCountry == ''){
            astrCountries = astrNotApply;
          }else{
            astrCountries = astrSpecialCountries[strCountry];
            if(typeof(astrCountries) == 'undefined'){astrCountries = astrNotApply;}
            if(astrCountries){SVSwapCountryStates(astrCountries);}
            var objStateNote = document.getElementById('idStateNote');
            if ((strCountry == 'US')||(strCountry == 'CA')) {
              objStateNote.style.display = "none";
              objSFDCForm.elements['CompanyState'].style.display = "block";
            }
            else {
              objStateNote.style.display = "block";
              objSFDCForm.elements['CompanyState'].style.display = "none";
            }
          }
        }catch(e){
            alert('states ' + e.description);
        }finally{}
      }

      function SVIsValidPhoneNumber(strPhoneNumber, intRequiredDigits) {
          var intDigits = 0;
          if (strPhoneNumber == null) return false;
          for( i=0; i<strPhoneNumber.length; i++ ){
              var c = strPhoneNumber.charCodeAt(i);
              if( (c>=48) && (c<=57) ) intDigits++;
          }
          return (intDigits >= intRequiredDigits);
      }
      function SVIsValidEmail(strEmail) {
         var reExclude=/[^@\-\.\w\']|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
         var reCheck=/@[\w\-]+\./;
         var reCheckEnd=/\.[a-zA-Z]{2,4}$/;
         return (((strEmail.length > 80) || (strEmail.search(reExclude) != -1)||(strEmail.search(reCheck)) == -1)||(strEmail.search(reCheckEnd) == -1))?false:true;
      }
      function SVSFDCSignUpValidate() {
        var blnReturn = false;
        var astrErrorMsg= new Array();
        var strErrorMsg = new String();
		var strDebug="";
	
			
        try{
			
	
          if((objSFDCForm.elements['UserFirstName']) && (objSFDCForm.elements['UserFirstName'].value.length < 1)){
            astrErrorMsg['UserFirstName']="Enter your First Name";
          }

          if((objSFDCForm.elements['UserLastName']) && (objSFDCForm.elements['UserLastName'].value.length < 1)){
            astrErrorMsg['UserLastName']="Enter your Last Name";
          }

          if((objSFDCForm.elements['UserTitle']) && (objSFDCForm.elements['UserTitle'].value.length < 1)){
            astrErrorMsg['UserTitle']="Enter your Title";
          }

          if((objSFDCForm.elements['PostalCode']) && (objSFDCForm.elements['PostalCode'].value.length < 1)){
            astrErrorMsg['PostalCode']="Enter your Postal Code";
          }
			
		  if((objSFDCForm.elements['companyNumber']) && (objSFDCForm.elements['companyNumber'].value.length < 1)){
	        astrErrorMsg['BuildingNum']="Enter your Building Number";
	      }
	
		  if((objSFDCForm.elements['addressOne']) && (objSFDCForm.elements['addressOne'].value.length < 1)){
		    astrErrorMsg['addressOne']="Enter your Address";
		  }
		
		  if((objSFDCForm.elements['town']) && (objSFDCForm.elements['town'].value.length < 1)){
		    astrErrorMsg['town']="Enter your Town";
		  }
			
          if((objSFDCForm.elements['CompanyName']) && (objSFDCForm.elements['CompanyName'].value.length < 1)){
            astrErrorMsg['CompanyName']="Enter your Company Name";
          }

          if (!SVIsValidPhoneNumber(objSFDCForm.elements['UserPhone'].value, 10)) { astrErrorMsg['UserPhone']="Enter a Valid Phone Number";}

          if (!SVIsValidEmail(objSFDCForm.elements['UserEmail'].value)) { astrErrorMsg['UserEmail']="Enter a Valid Email Address";}
          
          if (objSFDCForm.elements['CompanyCountry'].tagName.toLowerCase() != "input") {
            if(objSFDCForm.elements['CompanyCountry'].selectedIndex < 1){
              astrErrorMsg['CompanyCountry']="Choose a Valid Country";
            }
            else {
              /*
              objCountryListItem = objSFDCForm.elements['CompanyCountry'];
              var objCountryListValue = objCountryListItem[objCountryListItem.selectedIndex].value;
              if((objCountryListValue == 'CA') || (objCountryListValue == 'US')){if(objSFDCForm.elements['CompanyState'].selectedIndex < 1) {astrErrorMsg['CompanyState']="Enter your State/Province";}}
              */
            }
          }

          if(objSFDCForm.elements['CompanyEmployees'].selectedIndex < 1) {astrErrorMsg['CompanyEmployees']="Select the Number of Employees";}

          if(objSFDCForm.elements['CompanyTemplate'].selectedIndex < 0) {
            astrErrorMsg['CompanyTemplate']="Please select a valid Template";
          }

          if (objSFDCForm.elements['ProductInterest']) { 
            if (objSFDCForm.elements['ProductInterest'].length > 0) {
              var intNumChecked = 0;
              for (var i=0;i<objSFDCForm.elements['ProductInterest'].length;i++) {
                if (objSFDCForm.elements['ProductInterest'][i].checked) {
                  intNumChecked++;
                }
              }
              if (intNumChecked < 1) {
                astrErrorMsg['ProductInterest']="Choose an Interest";
              }
            }
          }

          if ((objSFDCForm.process_form.value != false) && (objSFDCForm.SubscriptionAgreement.checked != true)){
            astrErrorMsg['SubscriptionAgreement']="Please read and agree to the Terms and Conditions";
          }
          var intErrorCount=0;
          for(var intErrorIndex in astrErrorMsg){
            strErrorMsg = new String(strErrorMsg.concat("\n" + astrErrorMsg[intErrorIndex]));
            intErrorCount++;
          }
          if(intErrorCount>0){
            alert(strErrorMsg);
            blnReturn = false;
          }
			objSFDCForm.elements['CompanyAddress'].value = objSFDCForm.elements['buildingNumber'].value+", "+objSFDCForm.elements['addressOne'].value+", "+objSFDCForm.elements['addressTwo'].value+", "+objSFDCForm.elements['town'].value;

    }catch(e){
          alert("Error: " + e.description);
          blnReturn = false;
        } 
        if (strErrorMsg.length > 0) {
          blnReturn = false;
        }
        else {
          blnReturn = true;
        }
        return blnReturn;
      }

      function fncSVSignupSubmit() {
		objSFDCForm=document.forms["signup_form"];
		
        var blnReturn = false;
        if (SVSFDCSignUpValidate()) {
          blnReturn = true;
        }
        return blnReturn;
	//	alert("blnReturn = "+blnReturn);
      }

      
