//<![CDATA[

function getElement(e,f){
    if(document.layers){
        f=(f)?f:self;
        if(f.document.layers[e]) {
            return f.document.layers[e];
        }
        for(W=0;i<f.document.layers.length;W++) {
            return(getElement(e,fdocument.layers[W]));
        }
    }
    if(document.all) {
        return document.all[e];
    }
    return document.getElementById(e);
}


function Toggle(item) {
	var obj;
	if ( document.getElementById ) 
		{
		obj=document.getElementById(item);
	} else {
		obj = document.all[item];
	}
	var key;
		if ( document.getElementById ) 
		{
		key=document.getElementById("x" + item);
	} else {
		key = document.all['x' +item];
	}	

	if (obj != undefined) {
		var visible = ( obj.style.display != 'none');
		if (visible) {
			obj.style.display="none";
			key.innerHTML="";
		} else {
			obj.style.display="block";
			key.innerHTML="";
		}
	}
	
}

function Expand() {
	 if (document.getElementById) {
			divs=document.getElementsByTagName("DIV");
	} else {		
		divs = document.all['DIV'];
	}

	 for (i=0;i<divs.length;i++) {
		 divs[i].style.display="block";
		 key=document.getElementById("x" + divs[i].id);
		 key.innerHTML="";
	 }
}

function Collapse() {
	if (document.getElementById) {
			divs=document.getElementsByTagName("DIV");
	} else {		
		divs = document.all['DIV'];
	}
	 
	 for (i=0;i<divs.length;i++) {
		 divs[i].style.display="none";
		 key=document.getElementById("x" + divs[i].id);
		 key.innerHTML="";
	 }
}


		function set_qty(iQty)
		{
		document.getElementById('qty').value = iQty;
		your_quote();
		}


		function IsNumeric(strString)
			 //  check for valid numeric strings	
			 {
			 var strValidChars = "0123456789.-";
			 var strChar;
			 var blnResult = true;
		
			 if (strString.length == 0) return false;
		
			 //  test strString consists of valid characters listed above
			 for (i = 0; i < strString.length && blnResult == true; i++)
					{
					strChar = strString.charAt(i);
					if (strValidChars.indexOf(strChar) == -1)
						 {
						 blnResult = false;
						 }
					}
			 return blnResult;
		}


		function validatefrm()
		{
		if (IsNumeric(document.getElementById('qty').value) == false)
			{
			alert("Please select a quantity.");
			document.getElementById('qty').focus();
			return false;
			}
		else if (document.getElementById('colour').value == "")
			{
			alert("Please select a colour.");
			document.getElementById('colour').focus();
			return false;
			}
		}
   function switchLargeImage(iStopLight) {
				if (iStopLight == '1') {
	        document.getElementById('product_detail').style.display = 'none';
  	      document.getElementById('product_detail_large_image').style.display = 'block';
					}
				else {
	        document.getElementById('product_detail').style.display = 'block';
  	      document.getElementById('product_detail_large_image').style.display = 'none';
					}
    }




function update_line(basketitem_id)
		{
			this_element = eval("document.change_basket_form.quantity_" + basketitem_id);
			new_qty = this_element.value;
		
			location.href='basket.asp?action=update_line&basketitem_id=' + basketitem_id + '&new_qty=' + new_qty;
		}
		
		function confirm_clear_cart()
		{
			if(confirm("Clear your shopping cart?"))
			{
				location.href = 'basket.asp?action=clear_cart';
			}
		}

function change_print_colours(this_location)
		{
			this_qty = eval("document.product_form_detail.qty");
			qty = this_qty.value;

			this_col = eval("document.product_form_detail.colour");
			col = this_col.value;

			this_print_col = eval("document.product_form_detail.no_of_colours");
			print_col = this_print_col.value;

			location.href = this_location + 'qty=' + qty + '&colour=' + col + '&print_colours=' + print_col;
		}








		function checkform_01()
		{
		var form_01 = document.getElementById('register_form');

		if(form_01.user_fname.value == "")
		{
			alert("Please enter First Name.");
			form_01.user_fname.focus();
			return false;
		}
		else if (form_01.user_sname.value == "")
			{
			alert("Please enter Surname.");
			form_01.user_sname.focus();
			return false;
			}
		else if (form_01.user_inv_address_01.value == "")
			{
			alert("Please enter Address 1.");
			form_01.user_inv_address_01.focus();
			return false;
			}
		else if (form_01.user_inv_address_04.value == "")
			{
			alert("Please enter Town.");
			form_01.user_inv_address_04.focus();
			return false;
			}
		else if (form_01.user_inv_post_code.value == "")
			{
			alert("Please enter Post Code.");
			form_01.user_inv_post_code.focus();
			return false;
			}
		else if (form_01.user_inv_country_code.value == "")
			{
			alert("Please enter Country.");
			form_01.user_inv_country_code.focus();
			return false;
			}
		else if (form_01.user_username.value == "")
			{
			alert("Please enter Email Address.");
			form_01.user_username.focus();
			return false;
			}

		else if (emailCheck(form_01.user_username.value) == false)
			{
			//alert("Please enter valid Email Address.");
			form_01.user_username.focus();
			return false;
			}
		else if (form_01.user_password.value == "")
			{
			alert("Please enter Password.");
			form_01.user_password.focus();
			return false;
			}
		else if (form_01.user_confirm_password.value == "")
			{
			alert("Please enter Confirm Password.");
			form_01.user_confirm_password.focus();
			return false;
			}
		else if (form_01.user_password.value != form_01.user_confirm_password.value)
			{
			alert("The two Passwords are not the same.");
			form_01.user_confirm_password.focus();
			return false;
			}
		else
			{
			return true;
			}
		}


		function checkform_02()
		{
		var form_01 = document.getElementById('register_form');

		if(form_01.user_fname.value == "")
		{
			alert("Please enter First Name.");
			form_01.user_fname.focus();
			return false;
		}
		else if (form_01.user_sname.value == "")
			{
			alert("Please enter Surname.");
			form_01.user_sname.focus();
			return false;
			}
		else if (form_01.user_inv_address_01.value == "")
			{
			alert("Please enter Address 1.");
			form_01.user_inv_address_01.focus();
			return false;
			}
		else if (form_01.user_inv_address_04.value == "")
			{
			alert("Please enter Town.");
			form_01.user_inv_address_04.focus();
			return false;
			}
		else if (form_01.user_inv_post_code.value == "")
			{
			alert("Please enter Post Code.");
			form_01.user_inv_post_code.focus();
			return false;
			}
		else if (form_01.user_inv_country_code.value == "")
			{
			alert("Please enter Country.");
			form_01.user_inv_country_code.focus();
			return false;
			}
		else if (form_01.user_username.value == "")
			{
			alert("Please enter Email Address.");
			form_01.user_username.focus();
			return false;
			}
		else if (emailCheck(form_01.user_username.value) == false)
			{
			//alert("Please enter valid Email Address.");
			form_01.user_username.focus();
			return false;
			}
		else if (form_01.user_password.value == "")
			{
			alert("Please enter Password.");
			form_01.user_password.focus();
			return false;
			}
		else if (form_01.user_confirm_password.value == "")
			{
			alert("Please enter Confirm Password.");
			form_01.user_confirm_password.focus();
			return false;
			}
		else if (form_01.user_password.value != form_01.user_confirm_password.value)
			{
			alert("The two Passwords are not the same.");
			form_01.user_confirm_password.focus();
			return false;
			}

		else if(form_01.user_del_name.value == "")
		{
			alert("Please enter Delivery First Name and Surname.");
			form_01.user_del_name.focus();
			return false;
		}
		else if (form_01.user_del_address_01.value == "")
			{
			alert("Please enter Delivery Address 1.");
			form_01.user_del_address_01.focus();
			return false;
			}
		else if (form_01.user_del_address_04.value == "")
			{
			alert("Please enter Delivery Town.");
			form_01.user_del_address_04.focus();
			return false;
			}
		else if (form_01.user_del_post_code.value == "")
			{
			alert("Please enter Delivery Post Code.");
			form_01.user_del_post_code.focus();
			return false;
			}
		else if (form_01.user_del_country_code.value == "")
			{
			alert("Please enter Delivery Country.");
			form_01.user_del_country_code.focus();
			return false;
			}
		else
			{
			return true;
			}
		}


function populate_del_address()
{
			var form_01 = document.getElementById('register_form');
			
			form_01.user_del_name.value = form_01.user_fname.value + ' ' + form_01.user_sname.value;
			form_01.user_del_address_01.value = form_01.user_inv_address_01.value;
			form_01.user_del_address_02.value = form_01.user_inv_address_02.value;
			form_01.user_del_address_03.value = form_01.user_inv_address_03.value;
			form_01.user_del_address_04.value = form_01.user_inv_address_04.value;
			form_01.user_del_post_code.value = form_01.user_inv_post_code.value;
			form_01.user_del_country_code.selectedIndex = form_01.user_inv_country_code.selectedIndex;
			form_01.same_address.checked = false;
}


function checkform_02()
{
		var form_01 = document.getElementById('checkout_form');

		if(form_01.user_inv_name.value == "")
		{
			alert("Please enter Invoice First Name and Surname.");
			form_01.user_inv_name.focus();
			return false;
		}
		else if (form_01.user_inv_address_01.value == "")
			{
			alert("Please enter Address 1.");
			form_01.user_inv_address_01.focus();
			return false;
			}
		else if (form_01.user_inv_address_04.value == "")
			{
			alert("Please enter Town.");
			form_01.user_inv_address_04.focus();
			return false;
			}
		else if (form_01.user_inv_post_code.value == "")
			{
			alert("Please enter Post Code.");
			form_01.user_inv_post_code.focus();
			return false;
			}
		else if (form_01.user_inv_country_code.value == "")
			{
			alert("Please enter Country.");
			form_01.user_inv_country_code.focus();
			return false;
			}

		else if(form_01.user_del_name.value == "")
		{
			alert("Please enter Delivery First Name and Surname.");
			form_01.user_del_name.focus();
			return false;
		}
		else if (form_01.user_del_address_01.value == "")
			{
			alert("Please enter Delivery Address 1.");
			form_01.user_del_address_01.focus();
			return false;
			}
		else if (form_01.user_del_address_04.value == "")
			{
			alert("Please enter Delivery Town.");
			form_01.user_del_address_04.focus();
			return false;
			}
		else if (form_01.user_del_post_code.value == "")
			{
			alert("Please enter Delivery Post Code.");
			form_01.user_del_post_code.focus();
			return false;
			}
		else if (form_01.user_del_country_code.value == "")
			{
			alert("Please enter Delivery Country.");
			form_01.user_del_country_code.focus();
			return false;
			}
		else
			{
			return true;
			}
}


function populate_del_address()
		{
			var form_01 = document.getElementById('checkout_form');
			
			form_01.user_del_name.value = form_01.user_inv_name.value;
			form_01.user_del_address_01.value = form_01.user_inv_address_01.value;
			form_01.user_del_address_02.value = form_01.user_inv_address_02.value;
			form_01.user_del_address_03.value = form_01.user_inv_address_03.value;
			form_01.user_del_address_04.value = form_01.user_inv_address_04.value;
			form_01.user_del_post_code.value = form_01.user_inv_post_code.value;
			form_01.user_del_country_code.selectedIndex = form_01.user_inv_country_code.selectedIndex;
			form_01.same_address.checked = false;
}



/* validate email */



function emailCheck (emailStr) {
		/* The following pattern is used to check if the entered e-mail address
			 fits the user@domain format.  It also is used to separate the username
			 from the domain. */
		var emailPat=/^(.+)@(.+)$/
		/* The following string represents the pattern for matching all special
			 characters.  We don't want to allow special characters in the address. 
			 These characters include ( ) < > @ , ; : \ " . [ ]    */
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		/* The following string represents the range of characters allowed in a 
			 username or domainname.  It really states which chars aren't allowed. */
		var validChars="\[^\\s" + specialChars + "\]"
		/* The following pattern applies if the "user" is a quoted string (in
			 which case, there are no rules about which characters are allowed
			 and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
			 is a legal e-mail address. */
		var quotedUser="(\"[^\"]*\")"
		/* The following pattern applies for domains that are IP addresses,
			 rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
			 e-mail address. NOTE: The square brackets are required. */
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		/* The following string represents an atom (basically a series of
			 non-special characters.) */
		var atom=validChars + '+'
		/* The following string represents one word in the typical username.
			 For example, in john.doe@somewhere.com, john and doe are words.
			 Basically, a word is either an atom or quoted string. */
		var word="(" + atom + "|" + quotedUser + ")"
		// The following pattern describes the structure of the user
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		/* The following pattern describes the structure of a normal symbolic
			 domain, as opposed to ipDomainPat, shown above. */
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
		
		/* Finally, let's start trying to figure out if the supplied address is
			 valid. */
		
		/* Begin with the coarse pattern to simply break up user@domain into
			 different pieces that are easy to analyze. */
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {
			/* Too many/few @'s or something; basically, this address doesn't
			 even fit the general mould of a valid e-mail address. */
			alert("Email address seems incorrect (check @ and .'s)")
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]
		
		// See if "user" is valid 
		if (user.match(userPat)==null) {
			// user is not valid
			alert("Email username address doesn't seem to be valid.")
			return false
		}
		
		/* if the e-mail address is at an IP address (as opposed to a symbolic
			 host name) make sure the IP address is valid. */
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			// this is an IP address
				for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					alert("Email destination IP address is invalid!")
				return false
				}
			}
			return true
		}
		
		// Domain is symbolic name
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			alert("Email address domain name doesn't seem to be valid.")
			return false
		}
		
		/* domain name seems valid, but now make sure that it ends in a
			 three-letter word (like com, edu, gov) or a two-letter word,
			 representing country (uk, nl), and that there's a hostname preceding 
			 the domain or country. */
		
		/* Now we need to break up the domain to get a count of how many atoms
			 it consists of. */
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || 
			domArr[domArr.length-1].length>3) {
			 // the address must end in a two letter or three letter word.
			 alert("Email address must end in a three-letter domain, or two letter country.")
			 return false
		}
		

		// Make sure there's a host name preceding the domain.
		if (len<2) {
			 var errStr="Email address is missing a hostname!"
			 alert(errStr)
			 return false
	
		}
		
		// If we've gotten this far, everything's valid!
		return true;
}



function zoomOpen(imagepath) {
	
	AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','width','750','height','450','id','zoomMovie','flashvars','zoomifyImagePath='+imagepath,'src','plugins/dowlisDynamicViewer','menu','FALSE','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','name','zoomMovie' );
	getElement('zoomWindow').style.display='block';
}

function zoomClose() {
	getElement('zoomWindow').style.display='none';

}




//]]>