// JavaScript Document
$(function(){
	$("#sourceoptions").change(function()
	{
	  switch($(this).val())
	  {
		case '6':
				$("#sourceother").show();
				break;
		default:
				$("#sourceother").hide();
	  }
	  checkSource();
	});
});

var count_bug = 0;
function isLowerCase(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode;
	 if( (charCode>=97 && charCode<=122) || (charCode>=48 && charCode<=57) ||  charCode == 13 ||  charCode == 8)
		 return true;
     return false;
}
function isPhoneNumber(evt)
{
	 var charCode = (evt.which) ? evt.which : event.keyCode;
	 if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 45 && charCode != 43)
            return false;
     return true;
}
function chkEnter3(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if(charCode == 13)
	{
		submitregister();
		return true;
	}
	else
		return true;
}
function unAvail(val,n)
{
	val = val.replace(/^\s*|\s*$/,"");
	var len = val.length;
	var iname = "#"+n;
	var dname = "#"+n+"_err";
	var comment = n.replace(/[_]/g," ");
	if(len <= 0 || val == "")
	{
		$(dname).removeClass().addClass('error').html('Please enter your desired '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
	}
	else if(len > 0 || val != "")
	{
		$(dname).removeClass().addClass('checking').html('Checking the avilability of your username...').fadeIn("slow");
		$.post("includes/user_availability.php",{cws_uname:val},function(data)
		{
			if(data == "N")
			{
				$(dname).removeClass().addClass('error').html('Username \"'+val+'\" is not available.').fadeIn(500);
				$(iname).removeClass().addClass('input_error');
			}
			else
			{
				$(dname).removeClass('error').addClass('correct').html('Username \"'+val+'\" is available.').fadeOut(2000);
				$(iname).removeClass().addClass('input');
			}
		});
	}
}
function resetpassagain(val)
{
	var upassagainvalue = document.registerForm.password_again.value;
	if(val != upassagainvalue)
	{
		document.registerForm.password_again.value = '';
	}
	return true;
}
function rePass(val,n)
{
	var upassalue = document.registerForm.password.value;
	var len = val.length;
	var iname = "#"+n;
	var dname = "#"+n+"_err";
	var comment = n.replace(/[_]/g," ");
	if(upassalue == "")
	{
		$("#password_err").removeClass().addClass('error').html('Please enter your password first.').fadeIn(500);
		$("#password").removeClass().addClass('input_error');
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}
	else if(len <= 0 || val == "")
	{
		$(dname).removeClass().addClass('error').html('Please enter your '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}
	else if(upassalue != val)
	{
		$(dname).removeClass().addClass('error').html('Please enter your '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}
	else if(len >0 && document.getElementById(n).style.display != "none")
	{
		$(dname).removeClass('error').addClass('correct').html('Now the passwords have matched.').fadeOut(2000);
		$(iname).removeClass().addClass('input');
	}
}
function chkEmpty3(val,n)
{
	val = val.replace(/^\s*|\s*$/,"");
	var len = val.length;
	var iname = "#"+n;
	var dname = "#"+n+"_err";
	var comment = n.replace(/[_]/g," ");
	if(len <= 0 || val == "")
	{
		$(dname).removeClass().addClass('error').html('Please enter your '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}
/*	else if(n == "zip_code" && !((/^[1-9][0-9a-z-]{4,9}$/i).test(val)) )
	{
		$(dname).removeClass().addClass('error').html('Please enter a valid '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}*/
	else if(n == "contact_number" && len<=6 )
	{
		$(dname).removeClass().addClass('error').html('Please enter a valid '+comment+'.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
		count_bug++;
	}
	else if(len >0 && document.getElementById(n).style.display != "none")
	{
		$(dname).removeClass('error').addClass('correct').html('Now its ok.').fadeOut(2000);
		$(iname).removeClass().addClass('input');
	}
}
function chkEmail3(val,n)
{
	var len = val.length;
	var iname = "#"+n;
	var dname = "#"+n+"_err";
	var validId = validateEmail(val);
	if(len <= 0)
	{
		$(dname).removeClass().addClass('error').html('You can\'t be anonymous!').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
	}
	else if(!validId)
	{
		$(dname).removeClass().addClass('error').html('Please enter a valid email id.').fadeIn(500);
		$(iname).removeClass().addClass('input_error');
	}
	else if(len > 0 && validId)
	{
		$(dname).removeClass().addClass('checking').html('Checking whether this email id has been used before or not...').fadeIn("slow");
		$.post("includes/email_availability.php",{cws_email:val},function(data)
		{
			if(data == "N")
			{
				$(dname).removeClass().addClass('error').html('There is already a user registered with this Email ID.').fadeIn(500);
				$(iname).removeClass().addClass('input_error');
			}
			else
			{
				$(dname).removeClass('error').addClass('correct').html('Email ID is ok now.').fadeOut(2000);
				$(iname).removeClass().addClass('input');
			}
		});
	}
}

function checkSource()
{
	if($("#sourceoptions").val() == 1){
		$("#sourceoptions_err").removeClass().addClass('error').html('Please select an option.').css("display","inline").fadeIn(500);
		$("#sourceques").removeClass().addClass('input_error');
		count_bug++;
	}
	else if($("#sourceoptions").val() == 6){
		if($("#sourceques").val() == "" || $("#sourceques").val() == "<www.yoursite.com>" || $("#sourceques").val() == "<yoursite.com>"){
		  $("#sourceoptions_err").removeClass().addClass('error').html('Website address empty.').css("display","inline").fadeIn(500);
		  $("#sourceques").removeClass().addClass('input_error');
		  count_bug++;
		}
		else if(!(/^(([a-zA-Z0-9]+([\-])?[a-zA-Z0-9]+)+(\.)?)+[a-zA-Z]{2,6}$/).test($("#sourceques").val())){
		  $("#sourceoptions_err").removeClass().addClass('error').html('Website address invalid!.').css("display","inline").fadeIn(500);
		  $("#sourceques").removeClass().addClass('input_error');
		  count_bug++;
		}
		else if($("#sourceoptions_err").css('display') != "none")
		{
			$("#sourceoptions_err").removeClass('error').addClass('correct').html('Now its ok.').fadeOut(2000);
			$("#sourceques").removeClass('input_error');
		}
		
	}
	else if($("#sourceoptions_err").css('display') != "none")
	{
		$("#sourceoptions_err").removeClass('error').addClass('correct').html('Now its ok.').fadeOut(2000);
		$("#sourceques").removeClass('input_error');
	}
}

function check4chekingDivs()
{
	if(document.getElementById("username_err").className == "checking" || document.getElementById("customeremailid_err").className == "checking")
	{
		setTimeout("check4chekingDivs()",10);
	}
	else
	{
	count_bug += (document.getElementById("username_err").className == "error")? 1:0;
	count_bug += (document.getElementById("customeremailid_err").className == "error")? 1:0;
	
	if(count_bug == 0)
	{
		var divHeight = (screen.height-740)+"px";
		var divMargin = Math.round(screen.height/10)+"px";
		$("#regFormDiv").hide("slow",function(){$("#regSentDiv").css({height:divHeight,margin:divMargin});$("#regSentDiv").show("fast");});
		$("#regSentDiv").removeClass().addClass('checking').html('Processing your registration information, please wait...').fadeIn("slow");
		var unamevalue      = document.registerForm.username.value;
		var upassalue       = document.registerForm.password.value;
		var upassagainvalue = document.registerForm.password_again.value;
		var compvalue       = document.registerForm.company_name.value;
		var tobvalue        = document.registerForm.type_of_business.value;
		var contvalue       = document.registerForm.contact_name.value;
		var contnovalue     = document.registerForm.contact_number.value;
		var bussaddvalue    = document.registerForm.business_address.value;
		var cityvalue       = document.registerForm.city_name.value;
		var statevalue      = document.registerForm.state_name.value;
		var countryvalue    = document.registerForm.country_name.value;
		var zipcodevalue    = document.registerForm.zip_code.value;
		var blnvalue        = document.registerForm.business_license_number.value;
		var customeremailid = document.registerForm.customeremailid.value;
		var source			= ($("#sourceoptions").val() == 2)?"Referral by Customer":(($("#sourceoptions").val() == 3)?"Flier or Catalog received":(($("#sourceoptions").val() == 4)?"Email blast received":(($("#sourceoptions").val() == 5)?"Google":(($("#sourceoptions").val() == 6)?"Another website: "+$("#sourceques").val():(($("#sourceoptions").val() == 7)?"Tradeshow":(($("#sourceoptions").val() == 8)?"Business Card":(($("#sourceoptions").val() == 9)?"Cold Call":"Invalid Source")))))));
		var wsplvalue       = (document.registerForm.weekly_spl.checked == true)? 1 : 0;
		$.post("includes/send_registeration.php",{cws_unamevalue:unamevalue, cws_upassalue:upassalue, cws_upassagainvalue:upassagainvalue, cws_compvalue:compvalue, cws_tobvalue:tobvalue, cws_contvalue:contvalue, cws_contnovalue:contnovalue, cws_bussaddvalue:bussaddvalue, cws_blnvalue:blnvalue, cws_cityvalue:cityvalue, cws_statevalue:statevalue, cws_countryvalue:countryvalue, cws_zipcodevalue:zipcodevalue, cws_customeremailid:customeremailid, cws_source:source, cws_wsplvalue:wsplvalue},function(data)
		{
			if(data == "N")
			{
				$("#regSentDiv").removeClass().addClass('error').html("Error: Registeration process failed, please try again.").fadeOut(5000,function(){$("#regSentDiv").hide(1);$("#regFormDiv").show("slow");});
			}
			else if(data == "Y")
			{
				$("#regSentDiv").removeClass().addClass('correct').html("Thank you for registering with us. You will now receive a confirmation mail on your account details instantly or may take 10-15 minutes. You will not be able to login until our administrators activate your account.<br /><br />To expedite your validation process you can fax or email a copy of your business license for verification purposes 678-421-0690 (Toll-Free: 1-888-421-0690) or email to <a href=\"mailto:sales@americanweighwholesale.com\">sales@americanweighwholesale.com</a> and put attention to Sales Manager.<br /><br />If you need immediate assistance or wish to call us contact us at 1-800-706-7253 (SALE).");
			}
			else
			{
				$("#regSentDiv").removeClass().addClass('error').html(data).fadeOut(5000,function(){$("#regSentDiv").hide(1);$("#regFormDiv").show("slow");});
			}
		});
	}
	else
	{
		alert("You have done "+count_bug+" mistake(s) on the page.\n Please correct them first!");
		return false;
	}
		return true;
	}
}
function submitregister()
{
	count_bug = 0;
	var unamevalue      = document.registerForm.username.value;
	var upassalue       = document.registerForm.password.value;
	var upassagainvalue = document.registerForm.password_again.value;
	var compvalue       = document.registerForm.company_name.value;
	var tobvalue        = document.registerForm.type_of_business.value;
	var contvalue       = document.registerForm.contact_name.value;
	var contnovalue     = document.registerForm.contact_number.value;
	var bussaddvalue    = document.registerForm.business_address.value;
	var cityvalue       = document.registerForm.city_name.value;
	var statevalue      = document.registerForm.state_name.value;
	var countryvalue    = document.registerForm.country_name.value;
	var zipcodevalue    = document.registerForm.zip_code.value;
	var blnvalue        = document.registerForm.business_license_number.value;
	var customeremailid = document.registerForm.customeremailid.value;
	var wsplvalue       = document.registerForm.weekly_spl.value;

	unAvail(unamevalue,"username");
	chkEmpty3(upassalue,"password");
	rePass(upassagainvalue,"password_again");
	chkEmpty3(compvalue,"company_name");
	chkEmpty3(tobvalue,"type_of_business");
	chkEmpty3(contvalue,"contact_name");
	chkEmpty3(contnovalue,"contact_number");
	chkEmpty3(bussaddvalue,"business_address");
	chkEmpty3(cityvalue,"city_name");
	chkEmpty3(statevalue,"state_name");
	chkEmpty3(countryvalue,"country_name");
	chkEmpty3(zipcodevalue,"zip_code");
	chkEmpty3(blnvalue,"business_license_number");
	chkEmail3(customeremailid,"customeremailid");
	checkSource();
	check4chekingDivs();
}