var submitted = "N";
function checkFullForm(form, contact_number)
{
	//company 
	if(trim(form.company_company_name.value) == ""){				
		alert(REQUIRE_COMPANY_NAME);
		form.company_company_name.focus();
		return false;
	}
	if(trim(form.company_company_addr.value) == ""){					
		alert(REQUIRE_COMPANY_ADDRESS);
		form.company_company_addr.focus();
		return false;
	}
	if(trim(form.company_company_city.value) == ""){
		alert(REQUIRE_COMPANY_CITY);
		form.company_company_city.focus();
		return false;
	}
	if (form.company_company_state_state != null)
	{
		if(trim(form.company_company_state_state.value) == "" || form.company_company_state_state.value.substr(0,1) == "-")
		{
			alert(REQUIRE_COMPANY_STATE);
			form.company_company_state_state.focus();
			return false;
		}
	}
	if(trim(form.company_company_zip.value) == ""){
		alert(REQUIRE_COMPANY_ZIP);
		form.company_company_zip.focus();
		return false;
	}
	if(trim(form.company_company_country_country.value) == ""){
		alert(REQUIRE_COMPANY_COUNTRY);
		form.company_company_country_country.focus();
		return false;
	}
	
	//contact
	var prefix,obj;
	for (var i=1;i <= contact_number; i++) {
		prefix = 'form.CTL' + i + '_contact_';
		if(i==1 || (i > 1 && !is_contact_empty(form, prefix)) ){
			if(trim(eval(prefix + 'first_name.value'))==""){
				alert(REQUIRE_FIRST_NAME);
				eval(prefix+'first_name').focus();
				return false;
			}
			if(trim(eval(prefix+'last_name.value'))==""){
				alert(REQUIRE_LAST_NAME);
				eval(prefix+'last_name').focus();
				return false;
			}
			if(trim(eval(prefix+'title.value'))==""){
				alert(REQUIRE_TITLE);
				eval(prefix+'title').focus();
				return false;
			}
			if(trim(eval(prefix + 'phone_area.value'))==""){
				alert(REQUIRE_TEL_AREA);
				eval(prefix+'phone_area').focus();
				return false;
			}
			if(trim(eval(prefix+'phone_number.value'))==""){
				alert(REQUIRE_TEL_NUMBER);
				eval(prefix+'phone_number').focus();
				return false;
			}
			if(trim(eval(prefix+'phone_ext.value'))!="" && isNaN(trim(eval(prefix+'phone_ext.value')))){
				alert(FORMAT_ERR_TEL_EXT);
				eval(prefix+'phone_ext').focus();
				return false;
			}
			if(trim(eval(prefix+'email.value'))==""){
				alert(REQUIRE_EMAIL );
				eval(prefix+'email').focus();
				return false;
			}else{
				if(!validate_email(eval(prefix+'email.value'))){
					alert(FORMAT_ERR_EMAIL);
					eval(prefix+'email').focus();
					return false;
				}
				//confirm again
				if(eval(prefix+'email.value') != eval(prefix+'email_confirm.value')){
					alert(CONTENT_ERR_EMAIL_DIFF);
					eval(prefix+'email_confirm').focus();
					return false;
				}
			}
		}
	}
	
	//login ID
	if (form.account_login_id)
	{
		if(trim(form.account_login_id.value) == ""){
			alert(REQUIRE_LOGIN_ID);
			form.account_login_id.focus();
			return false;
		}else{
			if(!checkLoginIDLength(form.account_login_id.value)){
				alert(FORMAT_ERR_LOGINID_LENGTH);
				form.account_login_id.focus();
				return false;
			}
			if(!checkIDFormat(form.account_login_id.value)){
				alert(CONTENT_ERR_LOGINIDPWD);
				form.account_login_id.focus();
				return false;
			}
		}
	}
	// is reseller ?
	if(form.reseller_is_reseller_yes){
		if(!form.reseller_is_reseller_yes.checked && !form.reseller_is_reseller_no.checked){
			alert(REQUIRE_RESELLER_CHOOSE);
			form.reseller_is_reseller_no.focus();
			return false;
		}
		//reseller info.
		if(form.reseller_is_reseller_yes.checked){
			if(trim(form.reseller_reseller_company.value) == ""){
				alert(REQUIRE_RESELLER_COMPANY_NAME);
				form.reseller_reseller_company.focus();
				return false;
			}
			if(trim(form.reseller_reseller_name.value) == ""){
				alert(REQUIRE_RESELLER_NAME);
				form.reseller_reseller_name.focus();
				return false;
			}
			if(trim(form.reseller_reseller_email.value) == ""){
				alert(REQUIRE_RESELLER_EMAIL);
				form.reseller_reseller_email.focus();
				return false;
			}else{
				if(!validate_email(form.reseller_reseller_email.value)){
					alert(FORMAT_ERR_EMAIL );
					form.reseller_reseller_email.focus();
					return false;
				}
			}
			if(trim(form.reseller_reseller_phone_area.value) == ""){
				alert(REQUIRE_TEL_AREA);
				form.reseller_reseller_phone_area.focus();
				return false;
			}
			if(trim(form.reseller_reseller_phone_number.value) == ""){
				alert(REQUIRE_TEL_NUMBER);
				form.reseller_reseller_phone_number.focus();
				return false;
			}
			if(trim(form.reseller_reseller_phone_ext.value) != "" && isNaN(trim(form.reseller_reseller_phone_ext.value))){
				alert(FORMAT_ERR_TEL_EXT);
				form.reseller_reseller_phone_ext.focus();
				return false;
			}
		}
	}
	//Check Purchase Date
	if(form.purchaseDate_year){
		if(!date_check(form.purchaseDate_year.value, form.purchaseDate_month.value, form.purchaseDate_day.value)){
			alert(FORMAT_ERR_DATE);
			form.purchaseDate_day.focus();
			return false;
		}
	}
	
	if(submitted == "N"){
		submitted = "Y";
		return true;
	}
	return false;
}


function is_contact_empty(form, prefix){
	if(trim(eval(prefix+'first_name.value')) != "")
		return false;
	if(trim(eval(prefix+'middle_name.value')) != "")
		return false;
	if(trim(eval(prefix+'last_name.value')) != "")
		return false;
	if(trim(eval(prefix+'title.value')) != "")
		return false;
	if(trim(eval(prefix+'phone_area.value')) != "")
		return false;
	if(trim(eval(prefix+'phone_number.value')) != "")
		return false;
	if(trim(eval(prefix+'phone_ext.value')) != "")
		return false;
	if(trim(eval(prefix+'email.value')) != "")
		return false;
	if(trim(eval(prefix+'addr.value')) != "")
		return false;
	if(trim(eval(prefix+'city.value')) != "")
		return false;
	if(trim(eval(prefix+'zip.value')) != "")
		return false;
	if(eval(prefix + 'state_state') != null)
	{
		if(trim(eval(prefix+'state_state.value')) != "")
			return false;
	}
	if(trim(eval(prefix+'country_country.value')) != "")
		return false;
	
	return true;
}



function date_check(year,month,day)
{
	if( (month==4 || month==6 || month==9 || month==11) && (day > 30) )
	{
		return false;
	}
	if(month==2)
	{
		var result = year%4
		if (result==0){
			result=year%100
			if (result==0){
				result=year%400
				if (result==0){
					if (day>29){
						return false;
					}
				}
				else{
					if (day>28){
						return false;
					}
				}
			}else{
				if (day>29){
					return false;
				}                
			}
		}else{
			if (day>28){
				return false;
			}
		}
	}
	return true;
}

function checkEnterEK(form){
	if(trim(form.ek1.value) == ""){
		alert(REQUIRE_EXCHANGE_KEY);
		form.ek1.focus();
		return false;
	}
	if(trim(form.ek2.value) == ""){
		alert(REQUIRE_EXCHANGE_KEY);
		form.ek2.focus();
		return false;
	}
	if(trim(form.ek3.value) == ""){
		alert(REQUIRE_EXCHANGE_KEY);
		form.ek3.focus();
		return false;
	}
	if(trim(form.ek4.value) == ""){
		alert(REQUIRE_EXCHANGE_KEY);
		form.ek4.focus();
		return false;
	}
	if(trim(form.ek5.value) == ""){
		alert(REQUIRE_EXCHANGE_KEY);
		form.ek5.focus();
		return false;
	}

	return true;
}

function splitEK(){
	var ek = document.enter_ek_form.ek1.value;
	var arrayEK = ek.split('-');
	if(arrayEK.length == 5 ){
		if(arrayEK[0].length==2 && arrayEK[1].length==4 && arrayEK[2].length==4 && arrayEK[3].length==4 && arrayEK[4].length==4){
			document.enter_ek_form.ek1.value = arrayEK[0];
			document.enter_ek_form.ek2.value = arrayEK[1];
			document.enter_ek_form.ek3.value = arrayEK[2];
			document.enter_ek_form.ek4.value = arrayEK[3];
			document.enter_ek_form.ek5.value = arrayEK[4];
		}
	}
}

function splitAC(){
	var ac = document.enter_ac_form.ac1.value;
	var arrayAC = ac.split('-');
	if(arrayAC.length == 7 ){
		if(arrayAC[0].length==2 && 
			arrayAC[1].length==4 && 
			arrayAC[2].length==5 && 
			arrayAC[3].length==5 && 
			arrayAC[4].length==5 && 
			arrayAC[5].length==5 && 
			arrayAC[6].length==5){
			document.enter_ac_form.ac1.value = arrayAC[0];
			document.enter_ac_form.ac2.value = arrayAC[1];
			document.enter_ac_form.ac3.value = arrayAC[2];
			document.enter_ac_form.ac4.value = arrayAC[3];
			document.enter_ac_form.ac5.value = arrayAC[4];
			document.enter_ac_form.ac6.value = arrayAC[5];
			document.enter_ac_form.ac7.value = arrayAC[6];
		}
	}
}

function jump(obj,limit,nextField,formName){
	if(obj.value.length == 37 && nextField == 'ac2'){
		splitAC();
	}else{
		if (obj.value.length == limit) {
			if(eval("document."+formName+"."+nextField) && eval("document."+formName+"."+nextField)){
				var nextLen = eval("document."+formName+"."+nextField+".value.length");
				var nextObj = eval("document."+formName+"."+nextField);
				if(nextLen == 0)
					nextObj.focus();
			}
		}
	}
}

function checkTrialForm(form){
	var prefix = 'lead_';
	//Check company name
	if(trim(eval('form.'+prefix+'company_name.value')) == ""){
		alert(REQUIRE_COMPANY_NAME);
		eval('form.'+prefix+'company_name').focus();
		return false;
	}
	//Check first name
	if(trim(eval('form.'+prefix+'first_name.value')) == ""){
		alert(REQUIRE_FIRST_NAME);
		eval('form.'+prefix+'first_name').focus();
		return false;
	}
	//Check last name
	if(trim(eval('form.'+prefix+'last_name.value')) == ""){
		alert(REQUIRE_LAST_NAME);
		eval('form.'+prefix+'last_name').focus();
		return false;
	}
	//Check email
	if(trim(eval('form.'+prefix+'email.value')) == ""){
		alert(REQUIRE_EMAIL);
		eval('form.'+prefix+'email').focus();
		return false;
	}else{
		if(!validate_email(eval('form.'+prefix+'email.value'))){
			alert(FORMAT_ERR_EMAIL);
			eval('form.'+prefix+'email').focus();
			return false;
		}
	}
	if(trim(eval('form.'+prefix+'confirm_email.value')) == ""){
		alert(REQUIRE_CONFIRM_EMAIL);
		eval('form.'+prefix+'confirm_email').focus();
		return false;
	}else{
		if(!validate_email(eval('form.'+prefix+'confirm_email.value'))){
			alert(FORMAT_ERR_EMAIL);
			eval('form.'+prefix+'confirm_email').focus();
			return false;
		}
	}
	//Check is the same
	if(eval('form.'+prefix+'email.value') != eval('form.'+prefix+'confirm_email.value')){
		alert(CONTENT_ERR_EMAIL_DIFF);
		eval('form.'+prefix+'confirm_email').focus();
		return false;
	}
	//Check country
	if(trim(eval('form.'+prefix+'lead_country_country.value')) == ""){
		alert(REQUIRE_COMPANY_COUNTRY);
		eval('form.'+prefix+'lead_country_country').focus();
		return false;
	}
	
	return true;
}

// Written by Joseph Carter
// Vulcan Microsystems
function validate_email(strEmail){
var input_str=strEmail;
var input_len1=input_str.length;
var iserror=0;

    input_len1=input_str.length;

    if (input_len1 <= 5) {
        //alert("You must enter a Valid Email Address!\n");
        iserror=1;
    }

    var lastdot=-1;
    var lastat=-1;
    var numberat=0
    for (var j = 0; j < input_len1; j++) {
         var ch2 = input_str.substring(j, j + 1);
         if (((ch2 < "a") ||  (ch2 > "z")) && ((ch2 < "A") || (ch2 > "Z")) && ((ch2 < "0") ||  (ch2 > "9")) && (ch2 != "@" ) && (ch2 != ".") && (ch2 != "_") && (ch2 != "-")){
             //alert("Please input a valid email address!\nValid characters include A-Z, a-z, 0-9, -, _, . and @");
             iserror=1;
         }
         if (ch2==".") {
             if ( j == lastdot + 1) {
                 iserror=1;
             }
             lastdot=j;
         }
         if (ch2=="@") {
             lastat=j;
             numberat=numberat+1
         }
         if (ch2==" ") {
             //alert("Please input a valid email address!\nYou can't have any spaces in the address.");
             iserror=1;
         }
    }
    if (lastat == -1) {
         //alert("Please input a valid email address!\nYou don't have an '@'.");
         iserror=1;
    }
    if (lastat == 0) {
         //alert("Please input a valid email address!\nYou don't have a name before the '@'.");
         iserror=1;
    }
    if (numberat > 1) {
         //alert("Please input a valid email address!\nYou may have only one '@'.");
         iserror=1;
    }
    if ((lastdot <= lastat) || (lastdot > input_len1 - 3 ) || (input_len1 - lastdot > 5)) {
         //alert("Please input a valid email address!\nYou don't have a proper domain name!\nUse .com, .org, .net, .cc, etc");
         iserror=1;
    }
    if (lastdot == lastat + 1) {
         //alert("Please input a valid email address!\nYou don't have a proper organization name!\nUse name@organization.domain");
         iserror=1;
    }
    if (iserror==1) {
         return false;
    }
    else
	   return true;
}

function checkLoginIDLength(str){
	if(str.length < 6 || str.length > 25)
		return false;
	else
		return true;
}

function checkIDFormat(str){
	var ch;
	for(var i=0;i<str.length;i++){
		ch = str.substring(i,i+1);
		if((ch.toLowerCase() >= 'a' && ch.toLowerCase() <= 'z')  ||  (isNaN(ch)==false)  ||  ch.toLowerCase()=='_'  || ch.toLowerCase()=="-"   )
			continue;
		else
			return false;
	}
	return true;
}

function clear_contact(form, number){
	var key = 'CTL'+number;
	for(var i=0;i<form.elements.length;i++){
		if(form.elements[i].id.indexOf(key) >= 0)
			if(form.elements[i].type == "checkbox")
				form.elements[i].checked = false;
			else
				form.elements[i].value = '';
	}
}

function trim(string) {
	return (string.replace(/^ +/, "")).replace(/ +$/, "");
}

function defaultPurchaseDate(){
	if(document.full_form.purchaseDate_year){
		var today = new Date();
		for(var i=0;i<document.full_form.purchaseDate_year.options.length;i++){
			if(document.full_form.purchaseDate_year.options[i].value == today.getFullYear())
				document.full_form.purchaseDate_year.selectedIndex = i;
		}
		for(var i=0;i<document.full_form.purchaseDate_month.options.length;i++){
			if(document.full_form.purchaseDate_month.options[i].value-1 == today.getMonth())
				document.full_form.purchaseDate_month.selectedIndex = i;
		}
		for(var i=0;i<document.full_form.purchaseDate_day.options.length;i++){
			if(document.full_form.purchaseDate_day.options[i].value == today.getDate())
				document.full_form.purchaseDate_day.selectedIndex = i;
		}
	
	}
}

function hideJPReseller(){
	if(document.full_form.CTL_Reseller_resellerCheckBox.checked==true){
		objVisibleSwitch('visible','CTL_Reseller_reseller');
		objVisibleSwitch('visible','CTL_ResellerContact_contactEditArea');
	}
	else{
		objVisibleSwitch('hidden','CTL_Reseller_reseller');
		objVisibleSwitch('hidden','CTL_ResellerContact_contactEditArea');
	}
}

function objVisibleSwitch(mode, objID){
	var ie,ns,ns6;
	ie = (document.all) ? 1:0
	ns = (document.layers) ? 1:0
	ns6 = (navigator.userAgent.indexOf("Netscape") > 0 || navigator.userAgent.indexOf("Mozilla") > 0) ? 1:0
	if (mode=="visible") {
		document.getElementById(objID).style.display = "block";
	}
	if(mode=="hidden"){
		document.getElementById(objID).style.display = "none";
	}
}

function check_radio_submit(RadioName)
{
var colRadio = document.getElementsByName(RadioName);
for (var i = 0; i < colRadio.length; i++)
	if ((colRadio[i].checked) && (colRadio[i].value =="Y"))
		return true;
alert(REQUIRE_AGR_YES);
colRadio[0].focus();
return false;
}

function check_merge_radio_submit(form)
{
for (var i=0; i < form.radio.length; i++)
   if (form.radio[i].checked)
		return true;

alert(REQUIRE_RADIO_SELECT);
form.radio[0].focus();
return false;
}

function check_merge_checkbox_submit(form)
{
for (var i=0; i < form.checkbox.length; i++)
   if (form.checkbox[i].checked)
		return true;

alert(REQUIRE_CHECKBOX_SELECT);
form.checkbox[0].focus();
return false;
}

function splitMoreEK(currentPos, formName){
	var ek = eval("document." + formName + "." + "CTL" + currentPos + "_ek1.value");
	var arrayEK = ek.split('-');
	if(arrayEK.length == 5 ){
		if(arrayEK[0].length==2 && arrayEK[1].length==4 && arrayEK[2].length==4 && arrayEK[3].length==4 && arrayEK[4].length==4){
			eval("document." + formName + "." + "CTL" + currentPos + "_ek1").value = arrayEK[0];
			eval("document." + formName + "." + "CTL" + currentPos + "_ek2").value = arrayEK[1];
			eval("document." + formName + "." + "CTL" + currentPos + "_ek3").value = arrayEK[2];
			eval("document." + formName + "." + "CTL" + currentPos + "_ek4").value = arrayEK[3];
			eval("document." + formName + "." + "CTL" + currentPos + "_ek5").value = arrayEK[4];
		}//end if
	}//end if
}//end function

function jumpMore(obj,limit,currentPos, nextField,formName){
	if(obj.value.length == 22 && nextField == 'ek2'){
		splitMoreEK(currentPos, formName);
	} //end if
	else{
		if (obj.value.length == limit) {
			if(eval("document."+formName+".CTL"+ currentPos + "_" + nextField) && eval("document."+formName+".CTL"+ currentPos + "_" + nextField)){
				var nextLen = eval("document."+formName+".CTL"+ currentPos + "_"+nextField+".value.length");
				var nextObj = eval("document."+formName+".CTL"+ currentPos + "_"+nextField);
				if(nextLen == 0)
					nextObj.focus();
			}//end if
		}//end if
	}//end else
}//end function
