// JavaScript Document
function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}
function checkMailFriend()
{
	var senderName=document.frm.senderName.value;
	var senderMail=document.frm.senderMail.value;
	
	var friendName=document.frm.friendName.value;
	var friendMail=document.frm.friendMail.value;
	
	 if(Trim(senderName)=="")
		{
			alert("Please enter your name.");
			document.frm.senderName.focus();
			return false;
		}
		else if(senderMail=="")
		{
			alert("Please enter your email address.");
			document.frm.senderMail.focus();
			return false;
		}
		else if(senderMail.indexOf('@')==-1||senderMail.indexOf('.')==-1)
		{
			alert("Your email address is in invalid format.\nPlease write in a proper format eg. myname@email.com.");
			document.frm.senderMail.select();
			return false;
		}
		else if(Trim(friendName)=="")
		{
			alert("Please enter your friend's name.");
			document.frm.friendName.focus();
			return false;
		}
		else if(friendMail=="")
		{
			alert("Please enter your friend's email address.");
			document.frm.friendMail.focus();
			return false;
		}
		else if(friendMail.indexOf('@')==-1||friendMail.indexOf('.')==-1)
		{
			alert("Your friend's email address is in invalid format.\nPlease write in a proper format eg. myname@email.com.");
			document.frm.friendMail.select();
			return false;
		}
		else
		{
			return true;
		}
		
}


function checkSearch()
{
	var searchtext=Trim(document.searchform.searchtext.value)
	
	if(searchtext=="")
	{
		alert("Please enter some Product Name to Search")
		document.searchform.searchtext.focus();
		return false;
	}
	
}


function addCart(param)
{
	window.location.href="addtocart.asp?Id="+param;
}

function gologin(param)
{
	window.location.href="login.asp?url="+param;
}

function removeBasket(param)
{
	if(confirm("Are you sure you want to remove this Product from your Shopping Cart?"))
		window.location.href="removecart.asp?Id="+param;
}

function positiveIntInputOnly(e) { // KEYPRESS event
// returns true if 0-9 or BS hit, or can't get key value; otherwise false

  var k = -1;
  if (e && e.which) k = e.which; // NS
  else if (window.event && window.event.keyCode) k = window.event.keyCode; // IE
  return (k > -1 ? ((k > 47 && k < 58) || k == 8  || k==46) : true);
} // positiveIntInputOnly()

function changeStyle(param)
{
 var itemname=document.getElementById(param);
 if(itemname.className=="normalText")
	 itemname.className="overText";
 else
 	itemname.className="normalText"
}

function checkContact()
{
 var enqname=Trim(document.frm.enqname.value);
 var enqmail=Trim(document.frm.enqmail.value);
 var enqphone=Trim(document.frm.enqphone.value);
 var enqsubject=Trim(document.frm.enqsubject.value);
 var enqcomment=Trim(document.frm.enqcomment.value);
 
 if(enqname=="")
 {
 	alert("Please enter your name");
	document.frm.enqname.focus();
	return false;
 }
 else if(enqmail=="")
 {
 	alert("Please enter your email address");
	document.frm.enqmail.focus();
	return false;
 }
 else if(enqmail.indexOf('@')==-1||enqmail.indexOf('.')==-1)
	{
		alert("The email address is in invalid format.\nPlease write in a proper format eg. xyz@email.com.");
		document.frm.enqmail.select();
		return false;
	}
	else if(checkInternationalPhone(enqphone)==false && enqphone!=""){
		alert("Please Enter a Valid Telephone Number");
		document.frm.enqphone.value="";
		document.frm.enqphone.focus();
		return false;
	}
	else if(enqsubject=="")
 	{
 	alert("Please enter your subject");
	document.frm.enqsubject.focus();
	return false;
 	}
	else if(enqcomment=="")
 	{
 	alert("Please enter your comments");
	document.frm.enqcomment.focus();
	return false;
 	}
    else
    {
 	return true;
    }
}

function LTrim(str)
        
        {
                var whitespace = new String(" \t\n\r");
                var s = new String(str);
                if (whitespace.indexOf(s.charAt(0)) != -1) {
                    // We have a string with leading blank(s)...
                    var j=0, i = s.length;
                    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
                        j++;

                    s = s.substring(j, i);
                }
                return s;
        }


function RTrim(str)
              {
                
                var whitespace = new String(" \t\n\r");
                var s = new String(str);
                if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
                    var i = s.length - 1;       // Get length of string              
                    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
                        i--;          
                    s = s.substring(0, i+1);
                }
                return s;
        }


function Trim(str)
             {
                return RTrim(LTrim(str));
        }

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-, ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
//var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s));
//return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function checkLogin(){
var usr, pas;   //, sel;
	usr = document.loginfrm.username.value;
	pas = document.loginfrm.password.value;
	//sel=document.loginfrm.custType.selectedIndex;
	
	
	if ( usr == "" )
	{
		alert("Please enter a User Name");
		document.loginfrm.username.focus();
		return false;
	}
	else if (pas == "")
	{
		alert("Please enter a Password ");
		document.loginfrm.password.focus();
		return false;
	}
	/*else if(sel==0)
	{
		alert("Please select a Customer type");
		document.loginfrm.custType.focus();
		return false;
	}*/
	else 
	return true;
}

function checkUsernameOnly()
{
	var usr = Trim(document.loginfrm.username.value);
	if ( usr == "" )
	{
		alert("Please enter the User Name");
		document.loginfrm.username.focus();
	}
	else
	{
	document.loginfrm.action="forgotpassword.asp";
	document.loginfrm.method="post";
	document.loginfrm.submit();
	}
}

function validDetails(){

 formObj=document.frm;
 var userid=Trim(formObj.cUsername.value);
 var password=formObj.cPassword.value;
 var password1=formObj.cConfirmPassword.value;
  
 var sel=formObj.custType.selectedIndex;
 
 var addr1=Trim(formObj.cAddr1.value);
 var postcode=Trim(formObj.cPostcode.value);
 
 var hphone=Trim(formObj.cHomephone.value);
 var custmail=Trim(formObj.cEmail.value);
 
 if(userid=="")
 {
 alert("Please enter a Username");
 formObj.cUsername.focus();
 return false;
 }
 else if(Trim(password)=="")
 {
 alert("Please enter a Password");
  formObj.cPassword.focus();
 return false;
 }
 else if(Trim(password).length<6)
 {
 alert("Your password should be minimum six character");
  formObj.cPassword.select();
 return false;
 }
 else if(!checkSpaces(Trim(password)))
 {
 alert("The password should not contain any spaces.Please re-enter the password");
  formObj.cPassword.select();
 return false;
 }
 else if(password!=password1)
 {
 alert("Your password did not match.Please retype.");
 formObj.cConfirmPassword.select();
 return false;
 }
 else if(sel==0)
 {
 alert("Please select a Customer Type");
  formObj.custType.focus();
 return false;
 }
 
  else if (Trim(formObj.cFname.value) == "")
        {
            alert("Please fill the first name field.");
            formObj.cFname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cFname.value))
		{
		 alert("Invalid entry in the first name field");
 		 formObj.cFname.select();
		 return false;
		}
		 else if (Trim(formObj.cLname.value) == "")
        {
            alert("Please fill the last name field.");
            formObj.cLname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cLname.value))
		{
		 alert("Invalid entry in the last name field");
 		 formObj.cLname.select();
		 return false;
		}
        else if(addr1=="")
		{
		 alert("Please enter the address field");
 		 formObj.cAddr1.select();
		 return false;
		}
		else if(postcode=="")
		{
		 alert("Please enter the Postcode");
 		 formObj.cPostcode.select();
		 return false;
		}		
		else if(hphone=="")
		{
		alert("Please Enter either Telephone Number");
		formObj.cHomephone.focus();
		return false;
		}
		else if(custmail=="")
		{
			alert("Please enter the email address");
			formObj.cEmail.focus();
			return false;
		}
		else if(custmail.indexOf('@')==-1||custmail.indexOf('.')==-1)
		{
			alert("The email address is in invalid format.\nPlease write in a proper format eg. xyz@email.com.");
			formObj.cEmail.select();
			return false;
		}
		
	else if(checkInternationalPhone(hphone)==false && hphone!=""){
			alert("Please Enter a Valid Telephone Number");
			formObj.cHomephone.value="";
			formObj.cHomephone.focus();
			return false;
		}
 else
 return true;
}


function checkSpaces(str)
{

var l=str.length;
var found=false;
 for(var i=0;i<l;i++)
 {
  if(str.charAt(i)==" ")
  {
   		found=false;
   		break;
  }
  else 
  		found=true;
 }
 return found;
}


function specialCheck(xField)
{
var i, check;
	check = true;
	i = xField.length;
	
	for( j =0;j<=i;j++ )
	{
		pos = xField.charAt(j);
		if ( pos == "~" || pos == "'" || pos == "!" || pos == "$" )
		{
		check = false;
		}
		else if ( pos == "@" || pos == "#" || pos == "%" || pos == "^")
		{
		check = false;
		}
		else if ( pos == "*" || pos == "{" || pos == "}" || pos == ";")
		{
		check = false;
		}
		else if ( pos == ":" ||  pos == "|" || pos == "<" || pos == "`")
		{
		check = false;
		}
		else if ( pos == "1" || pos == "2" || pos == "3" || pos == "4")
		{
		check = false;
		}
		else if ( pos == "5" ||  pos == "6" || pos == "7")
		{
		check = false;
		}
		else if ( pos == "8" ||  pos == "9" || pos == "0")
		{
		check = false;
		}
	}
return check;		
}	

function validOrderForm()
{
	formObj=document.frm;
	
	var addr1=Trim(formObj.cAddr1.value);
	var postcode=Trim(formObj.cPostcode.value);
	var phone=formObj.cTelephone.value;
	var email=formObj.cEmail.value;
	var delv_addr1=Trim(formObj.delvAddr1.value);
	var delv_postcode=Trim(formObj.delvPostcode.value);
	
	if (Trim(formObj.cFname.value) == "")
        {
            alert("Please fill the first name field.");
            formObj.cFname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cFname.value))
		{
		 alert("Invalid entry in the first name field");
 		 formObj.cFname.select();
		 return false;
		}
		 else if (Trim(formObj.cLname.value) == "")
        {
            alert("Please fill the last name field.");
            formObj.cLname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cLname.value))
		{
		 alert("Invalid entry in the last name field");
 		 formObj.cLname.select();
		 return false;
		}
		 else if(addr1=="")
		{
		alert("Please enter the address");
		formObj.cAddr1.focus();
		return false;
		}
		 else if(postcode=="")
		{
		alert("Please enter the Postcode");
		formObj.cPostcode.focus();
		return false;
		}
		else if(phone=="")
		{
		alert("Please Enter Telephone Number");
		formObj.cTelephone.focus();
		return false;
		}
		else if (checkInternationalPhone(phone)==false && phone!=""){
			alert("Please Enter a Valid Telephone Number");
			formObj.cTelephone.value="";
			formObj.cTelephone.focus();
			return false;
		}
		else if(email=="")
		{
			alert("Please enter the email address");
			formObj.cEmail.focus();
			return false;
		}
		else if(email.indexOf('@')==-1||email.indexOf('.')==-1)
		{
			alert("The email address is in invalid format.\nPlease write in a proper format eg. xyz@email.com.");
			formObj.cEmail.select();
			return false;
		}
		else if (Trim(formObj.delvFname.value) == "")
        {
            alert("Please fill the first name in delivery address field.");
            formObj.delvFname.focus();
            return false;
        }
		else if(!specialCheck(formObj.delvFname.value))
		{
		 alert("Invalid entry in the first name in delivery address field");
 		 formObj.delvFname.select();
		 return false;
		}
		 else if (Trim(formObj.delvLname.value) == "")
        {
            alert("Please fill the last name in delivery address field.");
            formObj.delvLname.focus();
            return false;
        }
		else if(!specialCheck(formObj.delvLname.value))
		{
		 alert("Invalid entry in the last name in delivery address field");
 		 formObj.delvLname.select();
		 return false;
		}
		 else if(delv_addr1=="")
		{
		alert("Please enter the delivery address");
		formObj.delvAddr1.focus();
		return false;
		}
		 else if(delv_postcode=="")
		{
		alert("Please enter the delivery Postcode");
		formObj.delvPostcode.focus();
		return false;
		}	
	else
	{
		return true;
	}
}

function copyAddressFields(){
			
			var copyAll=false;
			 copyAll=document.frm.sameAddr.checked;
			
				if (copyAll) {
					 with (document.frm){
					delvTitle.value = cTitle.value
					delvFname.value =  cFname.value
					delvLname.value =  cLname.value
					delvAddr1.value =  cAddr1.value
					delvAddr2.value =  cAddr2.value
					delvTown.value =  cTown.value
					delvCounty.value = cCounty.value
					delvCountry.value = cCountry.value
					
					delvPostcode.value = cPostcode.value
					 }
				}
				else {
					 with (document.frm){
					delvTitle.value = ""
					delvFname.value =  ""
					delvLname.value =  ""
					delvAddr1.value =  ""
					delvAddr2.value =  ""
					delvTown.value =  ""
					delvCounty.value = ""
					delvCountry.value = ""
					
					delvPostcode.value = ""
					
				}
			}
		}
		
function checkTerms()
{
formObj=document.frm;
if(!formObj.cTAC.checked )
				{
					alert("Please read the terms and conditions and select the check box.")
					formObj.cTAC.focus();
					return false;
				}
	else
		return true;
}

function validModifyDetails(){

 formObj=document.frm;
 
 var addr1=Trim(formObj.cAddr1.value);
 var postcode=Trim(formObj.cPostcode.value);
 
 var hphone=Trim(formObj.cHomephone.value);
 var custmail=Trim(formObj.cEmail.value);
 
 
  	if (Trim(formObj.cFname.value) == "")
        {
            alert("Please fill the first name field.");
            formObj.cFname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cFname.value))
		{
		 alert("Invalid entry in the first name field");
 		 formObj.cFname.select();
		 return false;
		}
		 else if (Trim(formObj.cLname.value) == "")
        {
            alert("Please fill the last name field.");
            formObj.cLname.focus();
            return false;
        }
		else if(!specialCheck(formObj.cLname.value))
		{
		 alert("Invalid entry in the last name field");
 		 formObj.cLname.select();
		 return false;
		}
        else if(addr1=="")
		{
		 alert("Please enter the address field");
 		 formObj.cAddr1.select();
		 return false;
		}
		else if(postcode=="")
		{
		 alert("Please enter the Postcode");
 		 formObj.cPostcode.select();
		 return false;
		}		
		else if(hphone=="")
		{
		alert("Please Enter either Telephone Number");
		formObj.cHomephone.focus();
		return false;
		}
		else if(custmail=="")
		{
			alert("Please enter the email address");
			formObj.cEmail.focus();
			return false;
		}
		else if(custmail.indexOf('@')==-1||custmail.indexOf('.')==-1)
		{
			alert("The email address is in invalid format.\nPlease write in a proper format eg. xyz@email.com.");
			formObj.cEmail.select();
			return false;
		}
		
	else if(checkInternationalPhone(hphone)==false && hphone!=""){
			alert("Please Enter a Valid Telephone Number");
			formObj.cHomephone.value="";
			formObj.cHomephone.focus();
			return false;
		}
 else
 return true;
}

function checkPassword()
{
var pass=document.frm.pass.value;
var passnew1=document.frm.passnew1.value;
var passnew2=document.frm.passnew2.value;

 if(Trim(pass)=="")
 {
	alert("Please enter your old password");
	document.frm.pass.focus();
	return false;
 }
 else if(Trim(passnew1)=="")
 {
	alert("Please enter your new password");
	document.frm.passnew1.focus();
	return false;
 }
 else if(Trim(passnew1).length<6)
 {
 alert("Your password should be minimum six character");
  document.frm.passnew1.select();
  return false;
 }
 else if(!checkSpaces(Trim(passnew1)))
 {
 alert("The password should not contain any spaces.Please re-enter the new password");
  document.frm.passnew1.select();
  return false;
 }
 else if(passnew1!=passnew2)
 {
 alert("Your password did not match.Please retype.");
 document.frm.passnew2.select();
 return false;
 }
 else
 {
	return true;
 }
}
