function checkAccount()
{
    if (document.getElementById('func'))
    {
        var func = document.getElementById('func').value;
    }
    if (document.getElementById('giftid'))
    {
        var giftid = document.getElementById('giftid').value;
    }
    if(document.getElementById('emailaddress').value == "")
    {
		showaccountDiv2()
		return false;
    }
    if(window.XMLHttpRequest){
		oRequest = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
		oRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
				
	oRequest.open("POST", "/ajax/ajax-account.asp", true);
	oRequest.onreadystatechange = function(){showaccountDiv('')};
		
	oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oRequest.send("giftid=" + giftid + "&func=" + func + "&strCmd=checkaccount&strEmail=" + document.getElementById('emailaddress').value);
	


}

function showaccountDiv(){
		
	if(oRequest.readyState == 4){
		if(oRequest.status == 200){
			//alert(oRequest.responseText);
			
			if(oRequest.responseText == 'continue')
			{
				window.location.href='create_account.asp';
			}
			else
			{
			document.getElementById('accmsgdiv').innerHTML = oRequest.responseText;
			$('#accmsgdiv').slideDown();
			setTimeout("$('#accmsgdiv').slideUp();",5000);
			}
		}
		else{
			//alert(oRequest.responseText);
			document.getElementById('accmsgdiv').innerHTML = oRequest.responseText;
		}
	}
	
}

function showaccountDiv2(){
		
	document.getElementById('accmsgdiv').innerHTML = "Please enter your email address and click on the 'create account' button.";
	$('#accmsgdiv').slideDown();
	setTimeout("$('#accmsgdiv').slideUp();",5000);

}

function validateNewsletterform(){
    fade("errmessage",true);
    document.getElementById('errmessage').style.visibility = 'hidden';
    var emptymessage = "";
    var errmessage = "";
	var errormessage=new Boolean(false);
	
	if (document.getElementById('terms').checked == false){
		emptymessage = emptymessage + "<div>Terms & Conditions Acceptance</div>";
	}
	
	if (emptymessage != ""){
		errmessage = errmessage + "<u>The following fields need to be completed</u>:<br />" + emptymessage
		errormessage = true
	}
	
    if(echeck(document.getElementById('emailaddress').value) == false){
		errmessage = errmessage + "<br /><br />The email address is invalid<br />"
		errormessage = true
	}    
    if (errormessage == true){
		document.getElementById('errmsg').innerHTML = errmessage;
		document.getElementById('errmessage').style.visibility = 'visible';
		return false;
	}
	
	document.getElementById('errmessage').style.visibility = 'hidden';
	document.signupform.submit(); 

}
function validateAccountform(){

	fade("errmessage",true);
	var emptymessage = "";
	var matchmessage = "";
	var invalidmessage = "";
	var errmessage = "";
	var errormessage=new Boolean(false);
	
		if (document.getElementById('title').value == ""){
			emptymessage = emptymessage + "<div>Title</div>";
		}
		if (document.getElementById('firstname').value == ""){
			emptymessage = emptymessage + "<div>First Name</div>";
		}
		if (document.getElementById('lastname').value == ""){
			emptymessage = emptymessage + "<div>Last Name</div>";
		}
		if (document.getElementById('emailaddress').value == ""){
			emptymessage = emptymessage + "<div>Email Address</div>";
		}
		if (document.getElementById('confirmemail').value == ""){
			emptymessage = emptymessage + "<div>Confirm Email Address</div>";
		}
		if (document.getElementById('password').value == ""){
			emptymessage = emptymessage + "<div>Password</div>";
		}
		if (document.getElementById('confirmpassword').value == ""){
			emptymessage = emptymessage + "<div>Confirm Password</div>";
		}
		if (document.getElementById('address1').value == ""){
			emptymessage = emptymessage + "<div>Address 1</div>";
		}
		if (document.getElementById('town').value == ""){
			emptymessage = emptymessage + "<div>Town/City</div>";
		}
		if (document.getElementById('postcode').value == ""){
			emptymessage = emptymessage + "<div>Postcode</div>";
		}
		if (document.getElementById('telephone').value == ""){
			emptymessage = emptymessage + "<div>Telephone</div>";
		}
		if (document.getElementById('terms').checked == false){
			emptymessage = emptymessage + "<div>Terms & Conditions Acceptance</div>";
		}
		
		if(document.getElementById('emailaddress').value != document.getElementById('confirmemail').value){
			matchmessage = matchmessage + "<div>Email address and Confirm Email Address</div>";
		}
		if(document.getElementById('password').value != document.getElementById('confirmpassword').value){
			matchmessage = matchmessage + "<div>Password and Confirm Password</div>";
		}
		
		
				
		if (emptymessage != ""){
			errmessage = errmessage + "<u>The following fields need to be completed</u>:<br />" + emptymessage
			errormessage = true
		}
		if (matchmessage != ""){
			errmessage = errmessage + "<br /><br /><u>The following fields do not match</u><br />" + matchmessage
			errormessage = true
		}
		if(echeck(document.getElementById('emailaddress').value) == false){
			errmessage = errmessage + "<br /><br />The email address is invalid<br />" + invalidmessage
			errormessage = true
		}
		
		if(passCheck('password') == false){
			errmessage = errmessage + "<br /><br />Your password must contain at least 1 letter, at least 1 number and be between 6 and 12 characters long<br />" + invalidmessage
			errormessage = true
		}
		
		if (IsNumeric(document.getElementById('telephone').value) == false)
		{
		    errmessage = errmessage + "<br />Telephone number must be numeric only<br />";
		    errormessage = true
		}
		
		if (errormessage == true){
			document.getElementById('errmsg').innerHTML = errmessage;
			document.getElementById('errmessage').style.visibility = 'visible';
			return false;
		}
		
			
		document.getElementById('errmessage').style.visibility = 'hidden';
		//document.accountform.submit(); 
		return true;
		
	}


    function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}
	
	
	
	function validateCard(){

	fade("errmessage",true);
	var emptymessage = "";
	var invalidmessage = "";
	var errmessage = "";
	var errormessage=new Boolean(false);
	
		if (document.getElementById('card_holder_name').value == ""){
			emptymessage = emptymessage + "<div>Cardholder Name</div>";
		}
		if (document.getElementById('card_number').value == ""){
			emptymessage = emptymessage + "<div>Card Number</div>";
		}
		if (document.getElementById('card_type').value == "-1"){
			emptymessage = emptymessage + "<div>Card Type</div>";
		}
		if (document.getElementById('expiry_month').value == "-1"){
			emptymessage = emptymessage + "<div>Expiry Month</div>";
		}
		if (document.getElementById('expiry_year').value == "-1"){
			emptymessage = emptymessage + "<div>Expiry Year</div>";
		}
		if (document.getElementById('card_cvv').value == ""){
			emptymessage = emptymessage + "<div>Security Number</div>";
		}		
		if (emptymessage != ""){
			errmessage = errmessage + "<u>The following fields need to be completed</u>:<br /><br />" + emptymessage
			errormessage = true
		}
		
		if (IsNumeric(document.getElementById('card_number').value) == false)
		{
		    invalidmessage = invalidmessage + "Card Number is Invalid";
		}
		
		if (IsNumeric(document.getElementById('card_cvv').value) == false)
		{
		    invalidmessage = invalidmessage + "Security Number is Invalid";
		}
		if (invalidmessage != ""){
			errmessage = errmessage + "<br /><u>Please check the following:</u>:<br /><br />" + invalidmessage
			errormessage = true
		}
		if (errormessage == true){
			document.getElementById('errmsg').innerHTML = errmessage;
			document.getElementById('errmessage').style.visibility = 'visible';
			return false;
		}
		
		
		
			
		document.getElementById('errmessage').style.visibility = 'hidden';
		//document.cardform.submit(); 
		return true;
		
	}
	
	function IsNumeric(sText)

    {
       var ValidChars = "0123456789 ";
       var IsNumber=true;
       var Char;

     
       for (i = 0; i < sText.length && IsNumber == true; i++) 
          { 
          Char = sText.charAt(i); 
          if (ValidChars.indexOf(Char) == -1) 
             {
             IsNumber = false;
             }
          }
       return IsNumber;
       
    }
    
    function passCheck(nField) {
        var userInput = document.getElementById(nField).value;
        
        if ((userInput.length>=6) && (userInput.length<=12) && (!/\W/.test(userInput)) /// minimum of 6 alphanumeric characters only
        && userInput.match(/\d/g) != null
        && userInput.match(/\d/g).length >= 1 /// at least one number
        && userInput.match(/[a-z]/gi) != null
        && userInput.match(/[a-z]/gi).length >= 1 ) { /// at least one letter (ignoring case)
        return true;
        } else {
        return false;
        }
    }