var subscriptionPage = false;
function validateRetrieveForm(frm) {
	if(frm.lostpass.value=="")	{
			alert("Please enter your Business Email");
			frm.lostpass.focus();
			return false;
	}
	else{
			if(!isEmail(frm.lostpass.value)) {
				alert("Please enter your Business Email in the correct format.");
				frm.lostpass.focus();
				return false;
			}
	}
	return true;
}

function validateForm(frm,loggedUserID)
{
	subscriptionPage =  true;
	if(frm.actAction.value =='') {
		return validatePaymentForm(frm,loggedUserID);
	}
	if(frm.actAction.value =='Subscribe') {
		return validateSubscriptionForm(frm);		
	}
	else if(frm.actAction.value =='Login') {		
		return validateLoginForm(frm);		
	}
	
}

function validateLoginForm(frm) {
	//alert("Comming!");
	if (trim(frm.memuser.value)=="") {
		alert("Please Enter Member ID");
		frm.memuser.focus();
		return false;
	}
	else if((!trim(frm.memuser.value)=="") && frm.memuser.value.length<4) {
		alert("Your Member ID must be at least 4 characters long ");
		frm.memuser.focus();
		return false;
	}
	else if((!trim(frm.memuser.value)=="") && frm.memuser.value.length>20) {
		alert("Your Member ID should be less than 20 characters");
		frm.memuser.focus();
		return false;
	}
	
	if (trim(frm.mempass2.value)=="") {
		alert("Please Enter Password");
		frm.mempass2.focus();
		return false;
	}
	else if((!trim(frm.mempass2.value)=="") && frm.mempass2.value.length<4) {
		alert("Your Password must be at least 4 characters long");
		frm.mempass2.focus();
		return false;
	}	
	if(subscriptionPage) {
		return validatePaymentForm(frm);
	}
}

function validatePaymentForm(frm,loggedUserID) {
	isMembershipOptionChecked = false;
	isPaygatewayChecked = false;
	if(document.getElementById("accessP")){
		for(i=0;i<frm.membOption.length;i++) {
			if(frm.membOption[i].checked==true)	{
				isMembershipOptionChecked = true;
			}
		}
		if(!isMembershipOptionChecked) {
			alert('Please select membership option.');
			return false;
		}
	}

	
	
	/*for(i=0;i<frm.paygateway.length;i++) {
		if(frm.paygateway[i].checked==true)	{
			isPaygatewayChecked = true;
			
		}
	}*/
	if(frm.paygateway.checked == true) {
		isPaygatewayChecked = true;
	}
	if(!isPaygatewayChecked) {
		alert('Please select the payment option');
		return false;
	}
	
	
	if(frm.haveagreed.checked==false && loggedUserID=='')	{
		alert("You need to accept the Wholesale Deals Terms of Service before you can complete your registration.");
		frm.haveagreed.focus();
		return false;
	}
	return true;
	
}

function validateMemberId(inputbox){
 	var bag ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.";
	var fault = "";
	var right = "";
    for (i = 0; i < inputbox.value.length; i++)
    {
        var c = inputbox.value.charAt(i);
        if (bag.indexOf(c) == -1){
			fault = fault + c;
		}else{
			right = right + c;
		}
    }

		
// 	if (inputbox.value=="") {
// 		alert("Please Enter Member ID");
// 		inputbox.focus();
// 		return false;
// 	}
//	else 
	if(fault!=""){
			if(trim(fault)==''){ fault = "space "; } 
			alert("The member id you have chosen contains invalid characters: "+fault+" Please only use letters and numbers for your member id. You can also use underscore _ and fullstop");
			inputbox.value = right ;
		return false;
	}
	else if((!inputbox.value=="") && inputbox.value.length<4) {
		alert("Your Member ID must be at least 4 characters long");
		inputbox.focus();
		return false;
	}
	else if((!inputbox.value=="") && inputbox.value.length>20) {
		alert("Your Member ID should be less than 20 characters");
		inputbox.focus();
		return false;
	}

}

function validateSubscriptionForm(frm) {
	//alert("Comming!");
 	var bag ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.";
	var fault = "";
	var right = "";
    for (i = 0; i < frm.memid.value.length; i++)
    {
        var c = frm.memid.value.charAt(i);
        if (bag.indexOf(c) == -1){
			fault = fault + c;
		}else{
			right = right + c;
		}
    }

		
	if (trim(frm.memid.value)=="") {
		alert("Please Enter Member ID");
		frm.memid.focus();
		return false;
	}
	else if(fault!=""){
			if(trim(fault)==''){ fault = "space "; } 
			alert("The member id you have chosen contains invalid characters: "+fault+" Please only use letters and numbers for your member id. You can also use underscore _ and fullstop");
			frm.memid.value = right ;
		return false;
	}
	else if((!trim(frm.memid.value)=="") && frm.memid.value.length<4) {
		alert("Your Member ID must be at least 4 characters long");
		frm.memid.focus();
		return false;
	}
	else if((!trim(frm.memid.value)=="") && frm.memid.value.length>20) {
		alert("Your Member ID should be less than 20 characters");
		frm.memid.focus();
		return false;
	}
	
	if (trim(frm.mempass.value)=="") {
		alert("Please Enter Password");
		frm.mempass.focus();
		return false;
	}
	else if((!frm.mempass.value=="") && frm.mempass.value.length<4) {
		alert("Your Password should be at least 4 characters long");
		frm.mempass.focus();
		return false;
	}	

	if (frm.confirmpass.value=="") {
		alert("Please Confirm Your Password");
		frm.confirmpass.focus();
		return false;
	}
	else if((frm.confirmpass.value!="") && frm.confirmpass.value.length<4) {
		alert("Your Confirmed Password should be at least 4 characters long");
		frm.confirmpass.focus();
		return false;
	}	
	else if((frm.mempass.value!='') && frm.confirmpass.value!='') {
		if(frm.mempass.value!= frm.confirmpass.value) {
			alert("Your Password and Confirm Password do not match.");
			frm.confirmpass.focus();
			return false;
		}
	}
	if (trim(frm.memfirstname.value)=="") {
		alert("Please enter your First Name");
		frm.memfirstname.focus();
		return false;
	}
	else if((!trim(frm.memfirstname.value)=="") && frm.memfirstname.value.length>30) {
		alert("Your First Name should be less than 30 characters");
		frm.memfirstname.focus();
		return false;
	}
	if (trim(frm.memlastname.value)=="") {
		alert("Please enter your Last Name (Surname)");
		frm.memlastname.focus();
		return false;
	}
	else if((!trim(frm.memlastname.value)=="") && frm.memlastname.value.length>30) {
		alert("Your Last Name should be less than 30 characters");
		frm.memid.focus();
		return false;
	}
	if(trim(frm.memfirstname.value)!="" && trim(frm.memlastname.value)!="")	{
		if(frm.memfirstname.value==frm.memlastname.value) {
					alert("Your First and Last Name should not be same \n Please correct.");
					frm.memlastname.focus();
					return false;
		}
	}
	if(trim(frm.mememail.value)=="")	{
			alert("Please enter your Business Email");
			frm.mememail.focus();
			return false;
	}
	else{
			if(!isEmail(frm.mememail.value)) {
				alert("Please enter your Business Email in the correct format.");
				frm.mememail.focus();
				return false;
			}else if((!trim(frm.mememail.value)=="") && frm.mememail.value.length>40) {
				alert("Your Business Email should be less than 40 characters");
				frm.mememail.focus();
				return false;
			}

	}
	if(frm.haveagreed.checked==false)	{
		alert("You need to accept the Wholesale Deals Terms of Service before you can complete your registration.");
		frm.haveagreed.focus();
		return false;
	}

	if(subscriptionPage) {
		return validatePaymentForm(frm);
	}
	
}

function validateEditProfileForm(frm) {
	//alert("Comming Here!");
		
	if (trim(frm.memfirstname.value)=="") {
		alert("Please enter your First Name");
		frm.memfirstname.focus();
		return false;
	}
	else if((!trim(frm.memfirstname.value)=="") && frm.memfirstname.value.length>30) {
		alert("Your First Name should be less than 30 characters");
		frm.memfirstname.focus();
		return false;
	}
	if (trim(frm.memlastname.value)=="") {
		alert("Please enter your Last Name (Surname)");
		frm.memlastname.focus();
		return false;
	}
	else if((!trim(frm.memlastname.value)=="") && frm.memlastname.value.length>30) {
		alert("Your Last Name should be less than 30 characters");
		frm.memlastname.focus();
		return false;
	}
	if(frm.memfirstname.value!="" && frm.memlastname.value!="")	{
		if(frm.memfirstname.value==frm.memlastname.value) {
					alert("Your First and Last Name should not be same \n Please correct.");
					frm.memlastname.focus();
					return false;
		}
	}
	if(trim(frm.mememail.value)=="")	{
			alert("Please enter your Business Email");
			frm.mememail.focus();
			return false;
	}
	else{
			if(!isEmail(frm.mememail.value)) {
				alert("Please enter your Business Email in the correct format.");
				frm.mememail.focus();
				return false;
			}else if((!trim(frm.mememail.value)=="") && frm.mememail.value.length>40) {
				alert("Your Business Email should be less than 40 characters");
				frm.mememail.focus();
				return false;
			}
	}
	if(frm.memaltemail.value=="")	{
			//alert("Please enter your Business Email");
			//frm.memaltemail.focus();
			//return false;
	}
	else{
			if(!isEmail(frm.memaltemail.value)) {
				alert("Please enter your Alternative Email in the correct format.");
				frm.memaltemail.focus();
				return false;
			}else if((!trim(frm.memaltemail.value)=="") && frm.memaltemail.value.length>40) {
				alert("Your Alternative Email should be less than 40 characters");
				frm.memaltemail.focus();
				return false;
			}
	}
//	if (frm.memcompanyname.value=="") {
//		alert("Please enter your Company Name");
//		frm.memcompanyname.focus();
//		return false;
//	}
	if(trim(frm.phoneNumber.value)=="") {
		alert("Please Enter Phone No.");
		frm.phoneNumber.focus();
		return false;
	}
	if(trim(frm.phoneNumber.value)!="") {
		if(!isPhone(frm.phoneNumber.value)) 
		{
			alert("Please enter your telephone numbers using numbers, dashes and spaces only.");				
			frm.phoneNumber.focus();
			return false;
		}else if((!trim(frm.phoneNumber.value)=="") && frm.phoneNumber.value.length>20) {
			alert("Your telephone numbers should be less than 20 characters");
			frm.phoneNumber.focus();
			return false;
		}

	}
	if(trim(frm.faxNumber.value)!="") {
		if(!isPhone(frm.faxNumber.value)) {
			alert("Please enter your fax numbers using numbers, dashes and spaces only.");
			frm.faxNumber.focus();
			return false;
		}else if((!trim(frm.faxNumber.value)=="") && frm.faxNumber.value.length>20) {
			alert("Your fax numbers should be less than 20 characters");
			frm.faxNumber.focus();
			return false;
		}
	}
	if(trim(frm.mobileNumber.value)!="") {
		if(!isPhone(frm.mobileNumber.value)) {
			alert("Please enter your mobile numbers using numbers, dashes and spaces only.");
			frm.mobileNumber.focus();
			return false;
		}else if((!trim(frm.mobileNumber.value)=="") && frm.mobileNumber.value.length>20) {
			alert("Your mobile numbers should be less than 20 characters");
			frm.mobileNumber.focus();
			return false;
		}
	}
//	if(frm.mobileNumber.value=="") {
//		alert("Please Enter Mobile No.");
//		frm.mobileNumber.focus();
//		return false;
//	}
	if(trim(frm.memaddress1.value)=="")
	{
		alert("Please Enter Your Business Address");
		frm.memaddress1.focus();
		return false;
	}
	else if((!trim(frm.memaddress1.value)=="") && frm.memaddress1.value.length>50) {
		alert("Your Business Address should be less than 50 characters");
		frm.memaddress1.focus();
		return false;
	}
	if(trim(frm.memcity.value)=="")
	{
		alert("Please Enter Your City.");
		frm.memcity.focus();
		return false;
	}
	else if((!trim(frm.memcity.value)=="") && frm.memcity.value.length>30) {
		alert("Your City should be less than 30 characters");
		frm.memcity.focus();
		return false;
	}
	if(frm.memcounty.value=="Select County" || frm.memcounty.value=="")
	{
		alert("Please Select County.");
		frm.memcounty.focus();
		return false;
	}
	if(trim(frm.memzipcode.value)=="")
	{
		alert("Please Enter Your Postcode.");
		frm.memzipcode.focus();
		return false;
	}
	else if((!trim(frm.memzipcode.value)=="") && frm.memzipcode.value.length>10) {
		alert("Your ZIP should be less than 10 characters");
		frm.memzipcode.focus();
		return false;
	}
	if(frm.memcountry.value=="Select Country" || frm.memcountry.value=="")
	{
		alert("Please Select Country.");
		frm.memcountry.focus();
		return false;
	}
	if(frm.memcountry.value=="223" && frm.memcounty.value=="0")
	{
		alert("Please Select Correct County. You haven't selected county but country as US.");
		frm.memcounty.focus();
		return false;
	}
	if(frm.memcountry.value!="223" && frm.memcounty.value!="0" && frm.memcounty.value!="Select County")
	{
		alert("Please Select Correct Country. You haven't selected country as US but selected county.");
		frm.memcounty.focus();
		return false;
	}
	
	return true;
}

function validateEditPasswordForm(frm) {
	//alert("Comming Here!");
	if (frm.mempass.value=="") {
		alert("Please Enter Current Password");
		frm.mempass.focus();
		return false;
	}
	else if((!frm.mempass.value=="") && frm.mempass.value.length<4) {
		alert("Your Current Password seems to be wrong, it should be at least 4 characters long");
		frm.mempass.focus();
		return false;
	}	

	if (frm.newmempass.value=="") {
		alert("Please Enter New Password");
		frm.newmempass.focus();
		return false;
	}
	else if((!frm.newmempass.value=="") && frm.newmempass.value.length<4) {
		alert("Your New Password should be at least 4 characters long");
		frm.newmempass.focus();
		return false;
	}	
	if (frm.confirmpass.value=="") {
		alert("Please Confirm Your New Password ");
		frm.confirmpass.focus();
		return false;
	}
	else if((frm.confirmpass.value!="") && frm.confirmpass.value.length<4) {
		alert("Your Confirmed Password should be at least 4 characters long");
		frm.confirmpass.focus();
		return false;
	}	
	else if((frm.newmempass.value!='') && frm.confirmpass.value!='') {
		if(frm.newmempass.value!= frm.confirmpass.value) {
			alert("Your New Password and Confirm Password do not match.");
			frm.confirmpass.focus();
			return false;
		}
	}

	return true;
}

function isEmail(s) {
	s=trim(s);
	if (isCharsInBag(s, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-@") == false) {
        return false;
    }
	if(s.charAt(0) == '@' || s.charAt(0) == '.') {
		return false;
	} else if(s.charAt(s.length-1) == '@' || s.charAt(s.length-1) == '.') {
		return false;
	} else if(s.indexOf('@.') != -1 || s.indexOf('.@') != -1 || s.indexOf('..') != -1)	{
		return false;
	}

	var i;
	var found1=false;
	var found2=false;
	var count1=0;
	for (i = 0; i < s.length; i++) {
		// Check that current character isn't whitespace.
		if(s.charAt(i)== ' ') {found1=true;found2=true;count1=2;}
		if(s.charAt(i)== '@') {found1=true;count1++;}
		if(s.charAt(i)== '.') {found2=true;}
	}

	if(found1==true && found2==true) {
		if(count1 > 1)
			return false;
		else
		    return true;
	} else {
		return false;
	}
	return true;
}
function isCharsInBag (s, bag)
{
    var i;
    // Search through string's characters one by one.
    // If character is in bag, append to returnString.

    for (i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) return false;
    }
    return true;
}
function trim(thestring){
var newstring=thestring;
for (j=0; j< thestring.length;
j++){
if (newstring.substr(0,1) == " "
){
newstring=newstring.substr(1);
}
if
(newstring.substr(newstring.length-
1,1) == " "){ newstring =
newstring.substr(0,newstring.length-
1);}
}
return newstring;
}

function isPhone(s)
{
	
	if (isCharsInBag (s, "- +()0123456789") == false)
    {
        return false;
    }
	if(s.indexOf('+') > 0)
	{
		return false;
	}
    return true;
}

function validateContactUsForm(frm) {
	//alert("Comming Here!");
	if (frm.querytype.value=="select") {
		alert("Please select your query type");
		frm.querytype.focus();
		return false;
	}
	if (frm.subjectname.value=="") {
		alert("Please enter your First Name");
		frm.subjectname.focus();
		return false;
	}
	
	if (frm.subjectuser.value!=""){
		var bag ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.";
		var fault = "";
		var right = "";
		for (i = 0; i < frm.subjectuser.value.length; i++)
		{
			var c = frm.subjectuser.value.charAt(i);
			if (bag.indexOf(c) == -1){
				fault = fault + c;
			}else{
				right = right + c;
			}
		}
	
			
		if(fault!=""){
				if(trim(fault)==''){ fault = "space "; } 
				alert("The member id you have chosen contains invalid characters: "+fault+" Please only use letters and numbers for your member id. You can also use underscore _ and fullstop");
				frm.subjectuser.value = right ;
			return false;
		}
		else if((!frm.subjectuser.value=="") && frm.subjectuser.value.length<4) {
			alert("Your Member ID must be at least 4 characters long");
			frm.memid.focus();
			return false;
		}
		else if((!frm.subjectuser.value=="") && frm.subjectuser.value.length>20) {
			alert("Your Member ID should be less than 20 characters");
			frm.memid.focus();
			return false;
		}
	}
	
	if(frm.subjectemail.value=="")	{
		alert("Please enter your Business Email");
		frm.subjectemail.focus();
		return false;
	}
	else{
		if(!isEmail(frm.subjectemail.value)) {
			alert("Please enter your Business Email in the correct format.");
			frm.subjectemail.focus();
			return false;
		}
	}

	if (frm.subject.value=="") {
		alert("Please enter the subject of your query");
		frm.subject.focus();
		return false;
	}

	if (frm.yourquery.value=="" || frm.yourquery.value=="Write your message here") {
		alert("Please enter your query");
		frm.yourquery.focus();
		return false;
	}
	return true;
}

function validateUnsubscribeForm(frm) {
	checkRating();
	if (frm.yourquery.value=="" || frm.yourquery.value=="Write your message here" || frm.yourquery.value.length<4 || frm.yourquery.value=="." || frm.yourquery.value=="none" || frm.yourquery.value=="thank you"  || frm.yourquery.value=="unsubscribe" || frm.yourquery.value=="spam" || frm.yourquery.value=="stop" || frm.yourquery.value=="here" || frm.yourquery.value=="unsubscribe me" || frm.yourquery.value=="no reply") {
		//alert("Please add your comments before unsubscribing");
		alert("Please specify the reason you are unsubscribing in the comments box below");
		frm.yourquery.focus();
		return false;
	}
	if(frm.mememail.value=="")	{
			alert("Please enter your Email");
			frm.mememail.focus();
			return false;
	}
	else{
			if(!isEmail(frm.mememail.value)) {
				alert("Please enter your Email in the correct format.");
				frm.mememail.focus();
				return false;
			}
	}
	return true;
}

	function checkRating() {
	  
	  document.getElementById('InputContentsRating').value = document.getElementById('contentsRating').className;

	  document.getElementById('InputDealsRating').value = document.getElementById('dealsRating').className;
	}

function validateContactSupplierForm(frm) {
	//alert("Comming Here!");

	if (trim(frm.subjectmessage.value)=="") {
		alert("Please enter the subject of your query");
		frm.subjectmessage.focus();
		return false;
	}

	if (trim(frm.yourquery.value)=="" || trim(frm.yourquery.value)=="Write your message here") {
		alert("Please enter your query");
		frm.yourquery.focus();
		return false;
	}
	return true;
}