// Validation rounites for Advansys eCommerce with CMS
function ValidateCustomerData(form){
	if (form.title.value=='') {alert('Please select a title'); form.title.focus(); return false;}
	if (form.firstname.value=='') {alert('Please enter your first name'); form.firstname.focus(); return false;}
	if (form.lastname.value=='') {alert('Please enter your last name'); form.lastname.focus(); return false;}
	if (form.address1.value=='') {alert('Please enter your address'); form.address1.focus(); return false;}
	if (form.city.value=='') {alert('Please enter your town or city'); form.city.focus(); return false;}
	if (form.county.value=='') {alert('Please enter your county'); form.county.focus(); return false;}
	if (form.postcode.value=='') {alert('Please enter your postcode'); form.postcode.focus(); return false;}
	if (form.country.value=='') {alert('Please select your country of residence'); form.country.focus(); return false;}
	if (form.firstname.value=='') {alert('Please enter your first name'); form.firstname.focus(); return false;}
	if (form.telephone.value=='') {alert('Please enter a contact telephone number'); form.telephone.focus(); return false;}
}
function ValidateChangePassword(form){
	if (form.password.value=='') {alert('Please enter your current password'); form.password.focus(); return false;}
	if (form.newpassword.value=='') {alert('Please enter a new password'); form.newpassword.focus(); return false;}
	if (form.confirmpassword.value=='') {alert('Please confirm your new password'); form.confirmpassword.focus(); return false;}
}
function CheckInteger(Event) {
  if   ((Event.keyCode > 7 && Event.keyCode < 10) || (Event.keyCode > 27 && Event.keyCode < 30) || Event.keyCode > 47 && Event.keyCode < 58)
	{
		Event.returnValue = Event.keyCode ;
	}
	else
	{
		Event.cancelBubble = true ;
		Event.returnValue = false ;
	}
}
function checkSurvey(form) {
	if ((form.ordersSuggestions.value == '') && (form.ordersBrands.value == '') && (form.ordersComments.value == '')) {
		alert('Please fill at least one field');
		return false;
	} else {
		return true;
	}
}
function ValidateCustomerLogin(form){
	if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
	if (form.password.value=='') {alert('Please enter your password'); form.password.focus(); return false;}
}
function CheckSearch(form){
	if (form.search.value.length <=1){alert('Please enter one or more keywords'); return false;}
	return true;
}
function CheckCustomerLogin(form){
	if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
	if (form.password.value=='') {alert('Please enter your password'); form.password.focus(); return false;}
	return true;
}
function CheckSubscribtion(form, type){
	if (type==1){
		if (form.newslettername.value=='') {alert('Please enter your name');form.newslettername.focus(); return false;}
		if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	} else {
		if ((form.email.value=='') || (form.email.value=='Email...')) {alert('Please enter your email address');form.email.focus(); return false;}
	}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
	return true;
}
function CheckCustomerData(form){
	if (form.title.value=='') {alert('Please select a title'); form.title.focus(); return false;}
	if (form.firstname.value=='') {alert('Please enter your first name'); form.firstname.focus(); return false;}
	if (form.lastname.value=='') {alert('Please enter your last name'); form.lastname.focus(); return false;}
	if (form.houseno.value=='') {alert('Please enter your house number/name'); form.houseno.focus(); return false;}
	//if (form.address1.value=='') {alert('Please enter your address'); form.address1.focus(); return false;}
	if (form.city.value=='') {alert('Please enter your town or city'); form.city.focus(); return false;}
	//if (form.county.value=='') {alert('Please enter your county'); form.county.focus(); return false;}
	if (form.postcode.value=='') {alert('Please enter your postcode'); form.postcode.focus(); return false;}
	if (form.country.value=='') {alert('Please select your country of residence'); form.country.focus(); return false;}
	if (form.firstname.value=='') {alert('Please enter your first name'); form.firstname.focus(); return false;}
	if (form.telephone.value=='') {alert('Please enter a contact telephone number'); form.telephone.focus(); return false;}
	if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
	if (form.password.value=='') {alert('Please enter a password');form.password.focus(); return false;}
	return true;
}

function CheckBillingData(form){
	if (form.delname.value==''){alert('Please specify the Delivery Name'); form.delname.focus();return false;}
	if (form.delhouseno.value==''){alert('Please specify the Delivery House number/name');form.delhouseno.focus();return false;}
	//if (form.deladdress1.value==''){alert('Please specify the Delivery Address');form.deladdress1.focus();return false;}
	//if (form.delcounty.value==''){alert('Please specify the County');form.delcounty.focus();return false;}
	if (form.delcity.value==''){alert('Please specify the Delivery City');form.delcity.focus();return false;}
	if (form.delcountrycode.value==''){alert('Please specify the Delivery Country');form.delcountrycode.focus();return false;}
	if (form.deltelephone.value=='') {alert('Please enter a contact telephone number'); form.deltelephone.focus(); return false;}
	if (form.delEmail.value=='') {alert('Please enter your email address');form.delEmail.focus(); return false;}
	if (!CheckEmail(form.delEmail.value)) {alert('Please enter a valid email address');form.delEmail.focus(); return false;}
	return true;
}

function CheckDeliveryData(form){
	if (form.delname.value==''){alert('Please specify the Delivery Name'); form.delname.focus();return false;}
	if (form.delhouseno.value==''){alert('Please specify the Delivery House number/name');form.delhouseno.focus();return false;}
	//if (form.deladdress1.value==''){alert('Please specify the Delivery Address');form.deladdress1.focus();return false;}
	//if (form.delcounty.value==''){alert('Please specify the County');form.delcounty.focus();return false;}
	if (form.delcity.value==''){alert('Please specify the Delivery City');form.delcity.focus();return false;}
	if (form.delcountrycode.value==''){alert('Please specify the Delivery Country');form.delcountrycode.focus();return false;}
	return true;
}
function CheckDeliveryData2(form){
	if (form.delname.value==''){alert('Please specify the Delivery Name'); form.delname.focus();return false;}
	if (form.delhouseno.value==''){alert('Please specify the Delivery House number/name');form.delhouseno.focus();return false;}
	//if (form.deladdress1.value==''){alert('Please specify the Delivery Address');form.deladdress1.focus();return false;}
	//if (form.delcounty.value==''){alert('Please specify the County');form.delcounty.focus();return false;}
	if (form.delcity.value==''){alert('Please specify the Delivery City');form.delcity.focus();return false;}
	if (form.delcountrycode.value==''){alert('Please specify the Delivery Country');form.delcountrycode.focus();return false;}
	//if (form.delemail.value==''){alert('Please enter you email address');form.delemail.focus();return false;}
	return true;
}
function CheckOrder(form){
	if (!form.termsagreed.checked){ alert('You must agree to the terms and conditions before placing an order'); return false;}
	if (form.gvrecemail) {
		if (form.gvrecemail.value!='') {
			form.gvrecemailhidden.value = form.gvrecemail.value;
		}
	}
	if (form.gvrecmessage) {
		if (form.gvrecmessage.value!='') {
			UpdateDiv2('POST', 'gvmessage', '/insertMessage.asp', 'message='+escape(form.gvrecmessage.value)+'');
		}	
	}
	setTimeout('delaySubmit()',500);
	//return true;
}	

function delaySubmit(){
	if(objXMLHttp.GetReadyState()==4){
		return true;
	} else {
		setTimeout('delaySubmit()',500);
	}
}




function CheckEmail(address) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(address)){
	return (true)
	}
	return (false)
}
function CheckIntegerNow(e) {
var isNS4 = (navigator.appName=="Netscape")?1:0;
 if(!isNS4){
  if ((e.keyCode > 7 && e.keyCode < 10) || (e.keyCode > 27 && e.keyCode < 30) || (e.keyCode == 46) || e.keyCode > 47 && e.keyCode < 58)
  {
   e.returnValue = e.keyCode ;
  }
  else
  {
   e.cancelBubble = true ;
   e.returnValue = false ;
  }
 } else {
  if ((e.which > 7 && e.which < 10) || (e.which > 27 && e.which < 30) || (e.which == 46) || e.which > 47 && e.which < 58) {
   return true;
  }
  return false;
 }
}
var oldcolorid="depdesc1"
function changecolor(colorid){
	document.getElementById(oldcolorid).className="depdesc";
	document.getElementById(colorid).className="depdesc_sel";
	oldcolorid=colorid;
}
function CheckForm(form){
if (form.name.value=='') {alert('Please fill in your name'); form.name.focus(); return false}
if (form.email.value=='') {alert('Please fill in your email address'); form.email.focus(); return false}
if (!CheckEmail(form.email.value)) {alert('Invalid email address'); form.email.focus(); return false}
if (form.telephone.value=='') {alert('Please fill in your contact telephone number'); form.telephone.focus(); return false}
if (form.wherefound.value=='') {alert('Please tell us how you found our website'); form.wherefound.focus(); return false}
if (form.message.value=='') {alert('Please enter your message'); form.message.focus(); return false}
}

function CheckContactForm(form){
	if (form.name.value=='') {alert('Please enter your name'); form.name.focus(); return false;}
	if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
	if (form.telephone.value=='') {alert('Please enter a contact telephone number'); form.telephone.focus(); return false;}
	if (form.message.value=='') {alert('Please enter your message'); form.message.focus(); return false;}
	return true;
}
function ValidateEmail(form){
	if (form.email.value=='') {alert('Please enter your email address');form.email.focus(); return false;}
	if (!CheckEmail(form.email.value)) {alert('Please enter a valid email address');form.email.focus(); return false;}
}
function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}
var inputs = new Array(0);
var found = new Boolean();
function clinput(input) {
found = false;
for (x in inputs){
 if (inputs[x] == input.name) {
 found = true;
 }
}
 if (found == false) {
 inputs.push(input.name);
 input.value = '';
 }
 }
 
 function SimpleSwap(el,which,large){
	el.src=which;
	LargeImage=large; 

  return true;
}
function SimpleSwapSetup(){
  var x = document.getElementsByTagName("img");
  for (var i=0;i<x.length;i++){
    var oversrc = x[i].getAttribute("oversrc");
    if (!oversrc) continue;
    x[i].oversrc_img = new Image();
    x[i].oversrc_img.src=oversrc;
    x[i].onmouseover = new Function("SimpleSwap(this,'oversrc');");
    x[i].onmouseout = new Function("SimpleSwap(this);");
    x[i].setAttribute("origsrc",x[i].src);
  }
}
function popImage(imageURL,imageTitle){
	openPopup(imageURL,imageTitle);
}

function openPopup (imageURL, caption) {
  var windowTop = 50;                // Top position of popup
  var windowLeft = 100                // Left position of popup
  var defaultWidth = 730;             // Default width (for browsers that cannot resize)
  var defaultHeight = 532;            // Default height (for browsers that cannot resize)
  var onLoseFocusExit = true;         // Set if window to exit when it loses focus
  var undefined;
  var Options = "width=" + defaultWidth + ",height=" + defaultHeight + ",top=" + windowTop + ",left=" + windowLeft + ",scrollbars=yes,resizable"
  var myScript = "<html>\n" + 
    "<head>\n" + 
	"<title>" + caption + "\</title>\n" +
	"<link href=/css/style.css rel=StyleSheet type=text/css>\n" +     
    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n" +
    "<meta http-equiv=\"Content-Language\" content=\"en-gb\">\n" +
    "<script language=\"JavaScript\" type=\"text/javascript\">\n" +
    "function resizewindow () {\n" +
    "  var width = document.myimage.width;\n" + 
    "  var height = document.myimage.height;\n";
  
  // Netscape  
  if (navigator.appName.indexOf("Netscape") != -1) {  
    myScript = myScript +  "  window.innerHeight = height+30;\n  window.innerWidth = width+20;\n"
  }
   
  // Opera 
  else if (navigator.appName.indexOf("Opera") != -1) {
    myScript = myScript +  "  window.resizeTo (width+20, height+60);\n"
  }
  
  // Microsoft 
  else if (navigator.appName.indexOf("Microsoft") != -1) { 
    //alert(imageURL);
	var img = new Image();
	
	img.src = imageURL;
	//alert(img.src);
	var height = img.height;
	height = img.height;
	//alert(height);
	
	if (height<=500) {
		 myScript = myScript + "  window.resizeTo (width+50, height+75);\n" 
	 } else {
		 myScript = myScript + "  window.resizeTo (width+50, height+75);\n" 
	}
	
  }
  else {
    myScript = myScript + "  window.resizeTo (width+20, height+30);\n"
  }
      
  myScript = myScript + "}\n" + "window.onload = resizewindow;\n" +
    "</script>\n</head>\n" + "<body ";
   
  if (onLoseFocusExit) {myScript = myScript + "onblur=\"self.close()\" ";}
    
  myScript = myScript + "style=\"margin: 5px; padding-right: 5px; padding-bottom: 5px; margin-bottom: 5px;\">\n" +  
	"<p align=center>\n" + 
    "<img src=\"" + imageURL + "\" alt=\"" + caption + "\" title=\"" + caption + "\" name=\"myimage\" style=\"border: solid 1px #3f3f3f\">\n" + 
    "</p></body>\n" +  "</html>\n";
          
  var imageWindow = window.open ("","",Options);
  imageWindow.document.write (myScript)
  imageWindow.document.close ();
  if (window.focus) imageWindow.focus();
  return false;
}

function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}

function findPostCode(type){ 
if (document.getElementById('postcode').value==''){alert('Please enter Post Code to match');document.getElementById('postcode').focus(); return false;} 
UpdateDiv('divAddressDetails', '/findpostcode.asp/x_PostCode='+document.getElementById('postcode').value+'/type='+type);
}

function sIsValidate(e){
	pattern="0123456789"
	var keynum;
	if(window.event){
		keynum = e.keyCode;
	} else {
		if(e.which) {
			keynum = e.which;
		}
	}
	var key=String.fromCharCode(keynum);
	if (keynum == 32){
		if(e.stopPropagation) {
			e.stopPropagation();
		}
		e.cancelBubble=true;
		if(e.preventDefault){
			e.preventDefault();
		}
		e.returnValue=false;
		return false;
	} else 
		if ((e.keyCode > 7 && e.keyCode < 10) || (e.keyCode > 27 && e.keyCode < 30) || (e.keyCode == 46) || e.keyCode > 47 && e.keyCode < 58) {
			window.status = '';
			return true;
		} else {
			if(pattern.indexOf(key)== -1){
				if(e.stopPropagation){
					e.stopPropagation();
				}
				e.cancelBubble=true;
				if(e.preventDefault){
					e.preventDefault();
				}
				e.returnValue=false;
				return false;
			} else {
				e.returnValue=keynum;
				return true;
			}
		}
}