//Empty Field Validation Start

function isEmpty(field,mes)
{	
	var val=document.getElementById(field).value;
	if(val=="")
	{
		alert(mes);
		document.getElementById(field).focus();
		return true;
	}
	else
	return false;
}

//space validation
function isSpace(field,msg)
{
	var val=document.getElementById(field).value;
	if(val.replace(/ /g,'').length==0  )
		{
			return_false(field,msg); 
			 return true;
		}
	else
	return false;
}
//Empty field validation End
function return_false(obj_nam,rtrn_msg){
	  alert(rtrn_msg);      
	  document.getElementById(obj_nam).select();
	  document.getElementById(obj_nam).focus();
	  return false;
}
//confirm password validation

function chk_password(obj_name,obj_name2,msg)
{
	var password=document.getElementById(obj_name).value;
		var conpassword=document.getElementById(obj_name2).value;
		if(conpassword!=password)
		{
			return_false(obj_name2,msg);
			return true;
		}
		
}

//check numeric values validation
function Chk_Numeric(obj_nam,rtrn_msg,stat)    //Please Enter a Valid Product Price
{
	 var x=document.getElementById(obj_nam).value; 
	 
	 if(stat == 0)
		 var invalids = "`~@#$%^&*()_-+=\|{}[]:;'\"<>?";
	 if(stat == 1)
		 var invalids = "`~@#$%^&*()_-+=\|{}[]:;'\"<>.?";
	 if(stat == 2)
	 	 var invalids = "`~@#$%^&*()_-+=\|{}[]:;'\"<>,.?/";
	 if(stat == 3)
	 	 var invalids = "`~@#$%^&*()_-+=\|{}[]:;'\"<>,.?/1234567890";
		 
	 if(stat == 0 || stat == 1)
	 {
		 if(isNaN(x)==true)
		 {
			 return_false(obj_nam,rtrn_msg); 
			 return true;
		 }
	 }
	
		 for(i=0; i<invalids.length; i++) 
		 {    
				if(x.indexOf(invalids.charAt(i)) >= 0 || x==false)
				{
					return_false(obj_nam,rtrn_msg); 
					return true;
				}
		 }
		
		 return false;
}

//string validation
function chk_string(field,msg)
{
	var val=document.getElementById(field).value;
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=65&&ascii<=91||ascii>=97&&ascii<=122||ascii>=48&&ascii<=57))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}
function chk_string1(field,msg)
{
	var val=document.getElementById(field).value;
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=65&&ascii<=91||ascii>=97&&ascii<=122||ascii>=48&&ascii<=57 ||ascii==46))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}

//Email Validation start

function checkemail(email)
{
	var val=document.getElementById(email).value;
	var regex = /^[a-zA-Z0-9]{1}[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	if(regex.test(val)==0)
	{
		alert("Invalid Email Address, please re-enter");
		document.getElementById(email).select();
		document.getElementById(email).focus();
		return false;
	}
	else
	return true;
}

//Email Validation End

//Change password Validation start

function Comp_Password(obj_nam1,obj_nam2,obj_nam3,rtrn_msg)           
{
  var x1=document.getElementById(obj_nam1).value;
  var x2=document.getElementById(obj_nam2).value;
  var x3=document.getElementById(obj_nam3).value;
	if(x1 == "")
	 return_false(obj_nam1,"Please enter your Old Password");
	else if(x2 == "")		
	  return_false(obj_nam2,"Please enter your New Password");	
	else if(x2.length<6)
		return_false(obj_nam2,"New Password should contain minimum six characters");
	else if(x3 == "")		
	  return_false(obj_nam3,"Please enter your Confirm Password");			
	else if(x2!= x3)
	       return_false(obj_nam3,rtrn_msg);   
	else
        return true;
}
function chk_string2(field,msg)
{
	var val=document.getElementById(field).value;
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=65&&ascii<=91||ascii>=97&&ascii<=122||ascii>=48&&ascii<=57||ascii==32))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}
//Change password validation end

//PhoneNumber Validation Start

var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 12;
function isInteger(phone)
{   
	var i;
	var s=document.getElementById(phone).value;
	for (i = 0; i < s.length; i++)
	{   
		// Check that current character is number.
	        var c = s.charCodeAt(i);
        	if(!(c>=48&&c<=57||c==45))
		{
			alert("Phone number should contain numbers only");
			document.getElementById(phone).select();
			document.getElementById(phone).focus();
         		return true;
         	}
	}
	if(s.length<10)
	{
		alert("Please enter a valid Phone Number");
		document.getElementById(phone).select();
		document.getElementById(phone).focus();
		return true;
	}
    // All characters are numbers.
    return false;
}

//Phone Number Validation End

//ZipCode Validation Start

function validateZIP(zip)
{
	var field=document.getElementById(zip).value;
	var valid = "0123456789-";
	var hyphencount = 0;
	if (field.length!=5 && field.length!=10) 
	{
		alert("Please enter your 5 digit zip code");
		document.getElementById(zip).select();
		document.getElementById(zip).focus();
		return true;
	}
	for (var i=0; i < field.length; i++) 
	{
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") 
		{
			alert("Invalid characters in your zip code.  Please try again.");
			return true;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) 
		{
			alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
			return true;
   		}
	}
	return false;
}

//ZipCode Validation END

//Credit Card Validation Start

function validateCreditCard(cardno) 
{
	var s=document.getElementById(cardno).value;
	function cardval(s)
	{
		// remove non-numerics
		var v = "0123456789";
		var w = "";
		for (i=0; i < s.length; i++) 
		{
			x = s.charAt(i);
			if (v.indexOf(x,0) != -1)
			{
				alert("Invalid Card Number");
				w += x;
			}
		}
		// validate number
		j = w.length / 2;
		if (j < 6.5 || j > 8 || j == 7)
		{
			alert("InvalidCardNo.");
			return true;
		}
		k = Math.floor(j);
		m = Math.ceil(j) - k;
		c = 0;
		for (i=0; i<k; i++) 
		{
			a = w.charAt(i*2+m) * 2;
			c += a > 9 ? Math.floor(a/10 + a%10) : a;
		}
		for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
			return (c%10 == 0);
	}
}



//Credit Card Validation End


//numbers validation start

function chk_num(field,msg)
{
	var val=document.getElementById(field).value;
	
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=48&&ascii<=57||ascii==46))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}

function chk_numonly(field,msg)
{
	var val=document.getElementById(field).value;
	
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=48&&ascii<=57))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}
function chk_numandhyphon(field,msg)
{
	var val=document.getElementById(field).value;
	
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
				if(!(ascii>=48&&ascii<=57||ascii==45))
				{
					return_false(field,msg); 
					return true;
				}
		 }
}
//float numbers validation
function chk_numanddot(field,msg)
{
	
	var val=document.getElementById(field).value;
	
	for(i=0; i<val.length; i++) 
		 {    
			ascii=val.charCodeAt(i);
			
				if(!(ascii>=48&&ascii<=57||ascii==46))
				{
					return_false(field,msg); 
					return true;
				}
		 }
	
}
function checkprice(field,msg)
{
var val=document.getElementById(field).value;
	if(val==0)
	{
		return_false(field,msg); 
		return true;
	}


}
function twodigitcheck(field,msg)
{
	var val=document.getElementById(field).value;
	if(val!="")
	{
		
		var price1=val.split('.');
		var price2=price1[price1.length-1];
		if(price1.length>1)
		{
			if(price2.length>2)
			{	
				return_false(field,msg); 
					return true;
				
			}
		}
	}
}
function threedigitcheck(field,msg)
{
	var val=document.getElementById(field).value;
	if(val!="")
	{
		
		var price1=val.split('.');
		var price2=price1[price1.length-1];
		if(price1.length>1)
		{
			if(price2.length>3)
			{	
				return_false(field,msg); 
					return true;
				
			}
		}
	}
}
function validCreditCard()
{
/* Developed by Abdirahman Sh. Abdisalam @ www.clik.to/program */
	cardNumber= document.getElementById('cnumber').value;
	if(cardNumber=="")
	{
		alert("Please Enter your Credit  or Debit card number");
		document.getElementById('cnumber').focus();
		document.getElementById('cnumber').select();
		return false;
	}
	for(x=0;x<cardNumber.length;x++)
	{
		if(cardNumber.charCodeAt(x)<48 || cardNumber.charCodeAt(x)>57)
		{
			alert("Credit or debit card number should contain numbers only");
			document.getElementById('cnumber').focus();
		document.getElementById('cnumber').select();
			return false;
		}
	}
	if(document.cardform.cardtype[0].checked==true)
	{
		cardType="V";
	}
	else if(document.cardform.cardtype[1].checked==true)
	{
		cardType="M";
	}
	else if(document.cardform.cardtype[2].checked==true)
	{
		cardType="D";
	}
	else if(document.cardform.cardtype[3].checked==true)
	{
		cardType="A";
	}
	
	
	switch(cardType)
	{
	
	case "M":
		if(cardNumber.length!=16 || cardNumber.substr(0,2) <51 || cardNumber.substr(0,2)>55 )
		{
			alert("Invalid Master card number");
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else
		{
			return true;
		}
		break;
	case "V":
		if(cardNumber.substr(0,1) !=4)
		{
			alert("Invalid Visa number");	
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else if(cardNumber.length!=16 && cardNumber.length!=13)
		{
			alert("Invalid Visa number");
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else
		{
			return true;
		}
		break;
	case "D":
		if(cardNumber.length!=16)
		{
			alert("Invalid Discover number");
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else
		{
			return true;
		}
		break;
	case "A":
		if(cardNumber.length !=15)
		{
			alert("Invalid American Express number");
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else if(cardNumber.substr(0,2)!=37 && cardNumber.substr(0,2)!=34)
		{
			alert("Invalid American Express number");
			document.getElementById('cnumber').focus();
			document.getElementById('cnumber').select();
			return false;
		}
		else
		{
			return true;
		}
		break;
	
	default:
	alert("Card type unceptable");
}
	return true;
}

function borrowerlogin_validation()
	{
		if(isEmpty('username',"Please enter your User Name")||isSpace('username',"Please enter your User Name"))
		{
			return false;
		}
		if(isEmpty('password',"Please enter your Password")||isSpace('username',"Please enter your User Name"))
		{
			return false;
		}
		return true;
	}

function borrowerreg_validation()
{
	
	if((isEmpty('firstname',"Please enter your First Name"))||(isSpace('firstname',"Please enter your First Name"))||(chk_string('firstname',"First Name must be alphabetical characters only with no spaces"))||(isEmpty('lastname',"Please enter your Last Name"))||(isSpace('lastname',"Please enter your Last Name"))||(chk_string('lastname',"Last Name must be alphabetical characters only with no spaces"))||(isEmpty('emailid',"Please enter your Email Address"))||(isSpace('emailid',"Please enter your Email Address"))||(!checkemail('emailid',"Invalid Email Address, please re-enter")))
	{
		return false;
	}
	if((isEmpty('phone',"Please enter your Phone Number"))||(isSpace('phone',"Please enter your Phone Number"))||(isInteger('phone')))
	{
		return false;
	}
	if(chk_numandhyphon('fax',"Fax should contain numbers only"))
	{
		return false;
	}
	if((isEmpty('street',"Please enter your Street Address"))||(isSpace('street',"Please enter your Street Address")))
	{
		return false;
	}
	
	if((isEmpty('city',"Please enter your City"))||(isSpace('city',"Please enter your City")))
	{
		return false;
	}
	if(document.getElementById('states').value=="")
	{
		alert("Please select your State");
		document.form.states.focus();
		return false;
	}
	if((isEmpty('zip',"Please enter your 5 digit zip code"))||(isSpace('zip',"Please enter your 5 digit zip code"))||(validateZIP('zip')))
	{
		return false;
	}
	if((isEmpty('regusername',"Please enter your Username"))||(isSpace('regusername',"Please enter your Username"))||(chk_string('regusername',"Your Username must be letters and numbers only, no spaces or special characters")))
	{
		return false;
	}
	var uname=document.getElementById('regusername').value;
	if(uname.length<6)
	{
		alert("Your Username must contain a minimum of six characters");
		document.form.regusername.focus();
		return false;
	}	
	if((isEmpty('regpassword',"Please enter your Password"))||(isSpace('regpassword',"Please enter your Password")))
	{
		return false;
	}
	var password=document.form.regpassword.value;
	if(password.length<6)
	{
		alert("Your Password must contain a minimum of six characters");
		document.form.regpassword.focus();
		return false;
	}
	if((isEmpty('conpassword',"Please enter your Confirm Password"))||(isSpace('conpassword',"Please enter your Confirm Password")))
	{
		return false;
	}
	if(chk_password('regpassword','conpassword',"Your password and confirmation do not match, please try again"))
	{
		return false;
	}
	
	if(document.getElementById('agree').checked!=true)
	{
		alert("You must agree to our Terms & Conditions to proceed");
		document.form.agree.focus();
		return false;
	}
//           document.getElementById("Registeruser").style.backgroundColor='#CCCCCC';
// 	  document.getElementById("Registeruser").disabled=true;
}

function contactus_validation()
{
	
	if((isEmpty('first_name',"Please enter your First Name"))||(isSpace('first_name',"Please enter your First Name")))
	{
		return false;
	}
	if((isEmpty('last_name',"Please enter your Last Name"))||(isSpace('last_name',"Please enter your Last Name")))
	{
		return false;
	}
	if((isEmpty('email_id',"Please enter your Email Address"))||(isSpace('email_id',"Please enter your Email Address"))||(!checkemail('email_id',"Invalid Email Address")))
	{
		return false;
	}
	if((isEmpty('phone_no',"Please enter your Phone Number"))||(isSpace('phone_no',"Please enter your Phone Number"))||(isInteger('phone_no')))
	{
		return false;
	}
	if((isEmpty('feedback_subject',"Please enter a Subject"))||(isSpace('feedback_subject',"Please enter a Subject")))
	{
		return false;
	}
	if((isEmpty('comments',"Please enter your Comments"))||(isSpace('comments',"Please enter your Comments")))
	{
		return false;
	}
	return true;
}

 


 
 
 
function editborrower_validation()
{
	/*validation starts here */
	if((isEmpty('firstname',"Please enter your First Name"))||(isSpace('firstname',"Please enter your First Name"))||(chk_string('firstname',"First Name should contain alphabets only"))||(isEmpty('lastname',"Please enter your Last Name"))||(isSpace('lastname',"Please enter your Last Name"))||(chk_string('lastname',"Last Name should contain alphabets only"))||(isEmpty('emailid',"Please enter your Email Address"))||(isSpace('emailid',"Please enter your Email Address"))||(!checkemail('emailid',"Invalid Email Address")))
	{
		return false;
	}
	if((isEmpty('street',"Please enter your Street Address"))||(isSpace('street',"Please enter your Street Address"))||(isEmpty('city',"Please enter your City"))||(isSpace('city',"Please enter your City")))
	{
		return false;
	}
	if(document.getElementById('states').value=="")
	{
		alert("Please select your State/Province");
		//document.lender-regform.states.focus();
		return false;
	}
	if((isEmpty('zip',"Please enter your Zip/Post Code"))||(isSpace('zip',"Please enter your Zip/Post Code"))||(validateZIP('zip')))
	{
		return false;
	}
	if((isEmpty('phone',"Please enter your Phone Number"))||(isSpace('phone',"Please enter your Phone Number"))||(isInteger('phone'))||(chk_numandhyphon('fax',"Fax should contain numbers only")))
	{
		return false;
	}
}
 

 