// JavaScript Document

function openZoom(prod)
{
	var newWindow=window.open("zoom.asp?prod="+prod,"","width=770,height=550,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function openZoomFriend(prod)
{
	var newWindow=window.open("zoom-friend.asp?prod=" + prod,"","width=420,height=475,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function openZoomPriceMatch()
{
	var newWindow=window.open("zoom-pricematch.asp","","width=420,height=475,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function openZoomMultiBuy()
{
	var newWindow=window.open("zoom-multibuy.asp","","width=420,height=475,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function openZoomTerms()
{
	var newWindow=window.open("zoom-terms.asp","","width=420,height=475,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function openZoomDelivery()
{
	var newWindow=window.open("zoom-delivery.asp","","width=420,height=475,resizable=0,status=yes,scrollbars=yes,screenX=100,screenY=100,top=100,left=100'");
}

function showDiv(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	var ar = document.getElementsByTagName("div");
		if(el.style.display != "block"){
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="showdivclass")
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}
	}
}

function showDivFilterNav(obj1,obj2){
	if(document.getElementById){
		var el1 = document.getElementById(obj1);
		var el2 = document.getElementById(obj2);
		var ar1 = document.getElementsByTagName("div"); //DynamicDrive.com change
		var ar2 = document.getElementsByTagName("a"); //DynamicDrive.com change
		if(el1.style.display != "block"){ //DynamicDrive.com change
			for (var i=0; i<ar1.length; i++){
				if (ar1[i].className=="filternavclass") //DynamicDrive.com change
					ar1[i].style.display = "none";
			}
			el1.style.display = "block";
		}
		for (var i=0; i<ar2.length; i++){
			if (ar2[i].className=="selected") //DynamicDrive.com change
				ar2[i].className = "small";
		}
		el2.className = "selected";
	}
}

function MM_openBrWindow(theURL, winName, features) { //v2.0
    window.open(theURL, winName, features);
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function MM_jumpMenu(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function evaswap(obj, val){
  obj.src = val;
}

var iCompare = new Number(0);
var aCompare = new Array();
var maxCompare = new Number(5);
for (i=0;i<maxCompare;i++){aCompare[i]='';}
function check_compareclicks(thischeckbox) {
	if (thischeckbox.checked)
	{
		if (iCompare < maxCompare)
		{
			aCompare[iCompare]=thischeckbox.value;
			iCompare++;
		}
		else
		{
			alert('You may only compare up to 5 products at a time.\nTo change your selection please untick a product before ticking another.');
			thischeckbox.checked=false;
		}
		}
		else
		{
		for (i=0;i<maxCompare;i++)
		{
			if (aCompare[i]==thischeckbox.value)
			{
				aCompare[i]='';
				iCompare = iCompare - 1;
			}
		}
	}
}

function check_compareprods(thisform) {
	var checkbox_choices = 0;								
	for (counter = 0; counter < thisform.product_id.length; counter++)
	{
		if (thisform.product_id[counter].checked)
		{ checkbox_choices = checkbox_choices + 1; }								
	}	
	if (checkbox_choices < 2 )
	{
		alert("You must select at least 2 products to compare.")
		return false;
	}
}

function check_search(form) {													
	if (form.criteria.value == ''){
		alert("Please enter your search criteria...");
		form.criteria.focus();
		return false;
	}	
}

function check_giftfinder(form) {													
	if (form.brand.value == ''){
		alert("Please select a brand...");
		form.brand.focus();
		return false;
	}	
	if (form.price.value == ''){
		alert("Please select a price range...");
		form.price.focus();
		return false;
	}
}

function check_delivery(form) {													
	if (form.delivery_id.value == '2' || form.delivery_id.value == '4'){
		if (form.zone_id.value == '3'){
			alert("Next Day Delivery is not available in the zone you selected...");
			form.delivery_id.focus();
			return false;
		}
	}	
}

function check_review(form) {													
	if (form.title.value == ''){
		alert("Please enter your name...");
		form.title.focus();
		return false;
	}	
	if (form.details.value == ''){
		alert("Please enter your review...");
		form.details.focus();
		return false;
	}
}

function check_addtobasket(form) {													
	if (form.option_id.value == ''){
		alert("Please select a colour...");
		form.option_id.focus();
		return false;
	}
	if (form.product_quantity.value == ''){
		alert("Please enter a quantity...");
		form.product_quantity.focus();
		return false;
	}	
}

function check_updateaddress(form) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (form.address1.value == ''){
		alert("Please enter your address...");
		form.address1.focus();
		return false;
	}
	if (form.city.value == ''){
		alert("Please enter your 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...");
		form.country.focus();
		return false;
	}					
}

function check_track(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;	
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}	
	if (form.orderid.value == ''){
		alert("Please enter your Order ID...");
		form.orderid.focus();
		return false;
	}
}

function check_email(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;	
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
}

function check_login(form) 
{
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(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 check_lostpassword(form) 
{
	if (form.username.value == ''){
		alert("Please enter your username...");
		form.email.focus();
		return false;
	}
}

function check_mailing(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	if (form.name.value == ''){
		alert("Please enter your name...");
		form.name.focus();
		return false;
	}
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
}

function check_friend(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	if (form.name.value == ''){
		alert("Please enter your name...");
		form.name.focus();
		return false;
	}
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
	if (form.friend_name.value == ''){
		alert("Please enter your friends name...");
		form.friend_name.focus();
		return false;
	}
	if (form.friend_email.value=="" || form.friend_email.value.match(illegalChars) || !(emailFilter.test(form.friend_email.value))){
		alert("Please enter a valid email address...");
		form.friend_email.focus();
		return false;
	}
}

function check_contact(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	if (form.name.value == ''){
		alert("Please enter your name...");
		form.name.focus();
		return false;
	}
	if (form.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
	if (form.message.value == ''){
		alert("Please enter your enquiry...");
		form.message.focus();
		return false;
	}
}

function check_updateaccount(form) {
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	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.email.value=="" || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
	var stripped = form.telephone.value.replace(/[\(\)\.\-\ ]/g, '');
	if (form.telephone.value=='' || isNaN(parseInt(stripped))) {
		alert("Your telephone number is incomplete or contain invalid characters...");
		form.telephone.focus();
		return false;
	}			
}

function check_updatepassword(form) {
	if (form.oldpassword.value == ''){
		alert("Please enter your current password...");
		form.oldpassword.focus();
		return false;
	}
	if (form.password.value.length < 5){
		alert("Please enter a new password of at least 5 characteres...");
		form.password.focus();
		return false;
	}
	if (form.password.value != form.passwordconf.value){
		alert("Your passwords did not match...");
		form.passwordconf.focus();
		return false;
	}			
}

function check_join(form) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\'\:\\\/\"\[\]]/;
	if (form.company.value == ''){
		alert("Please enter your company name...");
		form.company.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;
	}
	var stripped = form.telephone.value.replace(/[\(\)\.\-\ ]/g, '');
	if (form.telephone.value == '' || isNaN(parseInt(stripped))) {
		alert("Your telephone number is incomplete or contains invalid characters...");
		form.telephone.focus();
		return false;
	}
	var strippedfax = form.fax.value.replace(/[\(\)\.\-\ ]/g, '');
	if (form.fax.value == '' || isNaN(parseInt(strippedfax))) {
		alert("Your fax number is incomplete or contains invalid characters...");
		form.fax.focus();
		return false;
	}
	if (form.email.value == '' || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter a valid email address...");
		form.email.focus();
		return false;
	}
	if (form.email.value != form.emailconf.value){
		alert("Your email did not match...");
		form.emailconf.focus();
		return false;
	}
	if (form.hear_about.value == ''){
		alert("Please tell us how you heard about us...");
		form.hear_about.focus();
		return false;
	}
	if (form.password.value.length < 5){
		alert("Please enter a password of at least 5 characteres...");
		form.password.focus();
		return false;
	}
	if (form.password.value != form.passwordconf.value){
		alert("Your password did not match...");
		form.passwordconf.focus();
		return false;
	}
	if (form.discount_level.value == ''){
		alert("Please select which agent level you wish to apply for...");
		form.discount_level.focus();
		return false;
	}
}

function check_checkout(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	if (form.billingFirstName.value == ''){
		alert("Please enter your first name...");
		form.billingFirstName.focus();
		return false;
	}
	if (form.billingLastName.value == ''){
		alert("Please enter your last name...");
		form.billingLastName.focus();
		return false;
	}									
	if (form.billingAddress1.value == ''){
		alert("Please your billing address...");
		form.billingAddress1.focus();
		return false;
	}
	if (form.billingCity.value == ''){
		alert("Please enter your billing city...");
		form.billingCity.focus();
		return false;
	}
	if (form.billingCounty.value == ''){
		alert("Please enter your billing county...");
		form.billingCounty.focus();
		return false;
	}
	if (form.billingPostcode.value == ''){
		alert("Please enter your billing post code...");
		form.billingPostcode.focus();
		return false;
	}
	var stripped = form.billingTelephone.value.replace(/[\(\)\.\-\ ]/g, '');
	if (form.billingTelephone.value=='' || isNaN(parseInt(stripped))) {
		alert("Your telephone number is incomplete or contain invalid characters...");
		form.billingTelephone.focus();
		return false;
	}
	if (form.billingEmail.value=="" || form.billingEmail.value.match(illegalChars) || !(emailFilter.test(form.billingEmail.value))){
		alert("Please enter a valid email address...");
		form.billingEmail.focus();
		return false;
	}
	if (form.hear_about.value == ''){
		alert("Please tell us how you heard about us...");
		form.hear_about.focus();
		return false;
	}
	if (form.deliveryFirstName.value == ''){
		alert("Please enter your first name...");
		form.deliveryFirstName.focus();
		return false;
	}	
	if (form.deliveryLastName.value == ''){
		alert("Please enter your last name...");
		form.deliveryLastName.focus();
		return false;
	}																
	if (form.deliveryAddress1.value == ''){
		alert("Please your delivery address...");
		form.deliveryAddress1.focus();
		return false;
	}
	if (form.deliveryCity.value == ''){
		alert("Please enter your delivery city...");
		form.deliveryCity.focus();
		return false;
	}
	if (form.deliveryCounty.value == ''){
		alert("Please enter your delivery county...");
		form.deliveryCounty.focus();
		return false;
	}
	if (form.deliveryPostcode.value == ''){
		alert("Please enter your delivery post code...");
		form.deliveryPostcode.focus();
		return false;
	}
	if (form.optin.checked != true){
		alert("Please read and accept our terms & conditions");
		form.optin.focus();
		return false;
	}	
}

function singleSubmit(trgForm)
{
    trgForm.submitButton.disabled = true;
    trgForm.resetButton.disabled = true;
}

function toggleBillingInfo(trgForm)
{
    if (trgForm.SubmitBilling.checked == true)
    {
        trgForm.deliveryFirstName.value = trgForm.billingFirstName.value ;
        trgForm.deliveryLastName.value = trgForm.billingLastName.value ;
        trgForm.deliveryAddress1.value = trgForm.billingAddress1.value ;
        trgForm.deliveryAddress2.value = trgForm.billingAddress2.value ;
        trgForm.deliveryCity.value =  trgForm.billingCity.value ;
		trgForm.deliveryCounty.value =  trgForm.billingCounty.value ;
        trgForm.deliveryPostcode.value = trgForm.billingPostcode.value ;
		trgForm.deliveryCountry.value =  trgForm.billingCountry.value ;
    }
    else
    {
        trgForm.deliveryFirstName.value = "";
        trgForm.deliveryLastName.value = "";
        trgForm.deliveryAddress1.value = "";
        trgForm.deliveryAddress2.value = "";
        trgForm.deliveryCity.value = "";
		trgForm.deliveryCounty.value = "";
        trgForm.deliveryPostcode.value = "";
		trgForm.deliveryCountry.value = "";
    }
}

function resetDynamicFields()
{
	document.cpiForm.OrderId.value=Math.round(Math.random()*10000000000);
	document.cpiForm.TimeStamp.value=new Date().valueOf();
}