//------------------------------------------------------------------------------------
//Validation for mandatory fields
//------------------------------------------------------------------------------------
function CheckMandatory(oForm, MandatoryString)
{
	var Completed = true;

	var temp = oForm.elements.length;
	
	//MandatoryString="Salutation~FirstName~LastName~Email~Company~Function~Username~Password"
	//alert(MandatoryString)
	MandatoryArray = MandatoryString.split("~");
	
	for(i = 0; i < temp; i++)
	{
		for (j = 0; j < MandatoryArray.length; j++)
		{
			//alert("Mandatory For loop " + oForm.elements[j].name)
			if (oForm.elements[i].name == MandatoryArray[j])
			{
			
				//alert("If Stmt " + oForm.elements[i].name)
				if (oForm.elements[i].value == "")
				{
					//alert("Null Value=" + oForm.elements[i].name)
					Completed = false;
				}
			}
		}
	}
	if (Completed == false)
	{
		alert ("Please give information marked as mandatory(*)!");
		return false;
	}
	else
		return true;
}

//------------------------------------------------------------------------------------
//Validation for email addresses
//------------------------------------------------------------------------------------
function emailcheck(str) {

		
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		alert("email !"+ str);		
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   alert("Invalid E-mail address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		   alert("Invalid E-mail address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail address")
		    return false
		 }

 		 return true					
}

//--------------------------
// Validate Login
//--------------------------
function ValidateLogin(oForm)
{
	if ((oForm.txtEmail.value == "") || (oForm.txtPassword.value == ""))
		alert("Please enter the email address and password!");
	else if (TestSpecialCharExp(oForm.txtEmail.value) == false)
	{
		if (emailcheck(oForm.txtEmail.value) == true)
		{
			oForm.Action.value = 'SignIn';
			oForm.submit();
		}
	}
}

//--------------------------
// Forgot Password
//--------------------------
function ForgotPassword(oForm)
{
	if (oForm.txtEmail.value != "")
	{
		if (TestSpecialCharExp(oForm.txtEmail.value) == false)
		{
			if (emailcheck(oForm.txtEmail.value) == true)
			{	
				oForm.Action.value = 'ForgotPassword';
				oForm.submit();
			}
		}
	}
	else
		alert("To retrieve your password please enter your email address (username) and click 'Forgot Password'!");
}	

//--------------------------
// Check Special Character
//--------------------------
function CheckSpecialCharacter(sFormName, sSPCValidation) {

	var bRetVal = false;
	var oElements;
	var sRegPat = /'+/;
	var arrElementName = sSPCValidation.split("~");
	
	for (var i = 0; i < arrElementName.length; i++)
	{
		oElements = eval(sFormName + "." + arrElementName[i]);
		
		//alert(oElements.value);
	
		if (TestSpecialCharExp(oElements.value) == true)
		{
			oElements.focus();
			return true;
		}
	}
	
	if (bRetVal == false)
		return false;
}

//------------------------------------------
// Check Special Character, for single field
//------------------------------------------
function TestSpecialCharExp(sInputString) {

	var sRegPat = /'+/;
	
	if (sRegPat.test(sInputString))
	{
		alert("Contains an invalid character (\'), Please remove it and resubmit your data");
		return true;
	}
	else
		return false;
}

//------------------------------------------
// Check whether numeric
//------------------------------------------
function IsNumeric(sString)
{
	var sValidChars = "0123456789";
	var sChar;
	var bResult = true;

	if (sString.length == 0) return false;

	for (i = 0; i < sString.length && bResult == true; i++)
	{
		sChar = sString.charAt(i);
		if (sValidChars.indexOf(sChar) == -1)
		{
			 bResult = false;
		}
	 }
	 
	 return bResult;
}

//******************************************
//========Bottom functions==================
//******************************************

function printPage() {
	
	if (window.print)
		window.print();
	else
	    alert("Sorry, your browser doesn't support this feature.");
}

function addBookmark() {

	if (document.all)
		window.external.AddFavorite(location.href, document.title)
}

function emailPage(jCurPage,jctype,jcmodel,jcmanf,jSortno,jc_recno) {	
	var bdy		
	loc = escape(eval(window.location)).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27');
	bdy = "One of your friends thought that you might be interested in this.";
	bdy += " You can view it at, " + loc;
	window.location = "mailto:info@autobynet.co.uk?subject=:: www.BuyNewCarsOnline.co.uk :: High Quality - Top Brands - Low Price&body=" + bdy;
}

