// JavaScript Document

function printpage() {
	window.print();  
}
	
function showDiv(obj){
	if(document.getElementById){
		var el = document.getElementById(obj);
		var ar = document.getElementsByTagName("div"); //DynamicDrive.com change
		if(el.style.display != "block"){ //DynamicDrive.com change
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="filterclass") //DynamicDrive.com change
					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=="filterselected") //DynamicDrive.com change
				ar2[i].className = "small";
		}
		el2.className = "filterselected";
	}
}

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){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function evaswap(obj, val){
  obj.src = val;
}

function clearLoginEmail(){
  document.loginformtop.email.value = '';
}

function clearLoginPassword(){
  document.loginformtop.password.value = '';
}

function clearNewsletter(){
  document.newslettertop.email.value = '';
}

function clearVoucher(){
  document.addvoucher.voucher.value = '';
}

function clearEngraving(){
  document.addtobasket.engraving.value = '';
}

function check_search(form) 
{					
	if (form.w.value == ''){
		alert("Please enter your keywords...");
		form.w.focus();
		return false;
	}
}

function check_addtobasket(form) {					
	if (form.products_quantity.value == ''){
		alert("Please enter a quantity of greater than 0...");
		form.products_quantity.focus();
		return false;
	}
	if (form.option_chain_id.value == ''){
		alert("Please select your chain option...");
		form.option_chain_id.focus();
		return false;
	}
	if (form.option_earringback_id.value == ''){
		alert("Please select your earring back...");
		form.option_earringback_id.focus();
		return false;
	}
	if (form.option_ringsize_id.value == ''){
		alert("Please select your ring size...");
		form.option_ringsize_id.focus();
		return false;
	}
	if (form.option_titanium_id.value == ''){
		alert("Please select your finish...");
		form.option_titanium_id.focus();
		return false;
	}
	if (form.option_navalbarlength_id.value == ''){
		alert("Please select your length...");
		form.option_navalbarlength_id.focus();
		return false;
	}
	if (document.getElementById("returnable")){
  		if (document.getElementById("returnable").checked != true){
    		alert("You must accept that this item is non-returnable...");
			return false;
		}
	}
}

function check_addvoucher(form) {					
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (form.name.value == ''){
		alert("Please enter the recipients name...");
		form.name.focus();
		return false;
	}
	if (form.email.value == '' || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter your email address...");
		form.email.focus();
		return false;
	}
	
	var todaysdate = new Date();
	todaysdate.setDate(todaysdate.getDate() + 1);
	var dateToCheck = new Date();
	dateToCheck.setYear(form.deliveryyear.value);
	dateToCheck.setMonth(form.deliverymonth.value-1);
	dateToCheck.setDate(form.deliveryday.value);
	
	if (dateToCheck < todaysdate) {
		alert("You cannot select today's date or a date in the past...");
		form.deliveryday.focus();
		return false;
	}	
	
	if (form.products_quantity.value == ''){
		alert("Please enter a quantity of greater than 0...");
		form.products_quantity.focus();
		return false;
	}

}

function check_delivery(form) {

	if (form.deliveryday.value != '' || form.deliverymonth.value != '' || form.deliveryyear.value != ''){
		var todaysdatecheckout = new Date();
		todaysdatecheckout.setDate(todaysdatecheckout.getDate() + 1);
		var dateToCheckCheckout = new Date();
		dateToCheckCheckout.setYear(form.deliveryyear.value);
		dateToCheckCheckout.setMonth(form.deliverymonth.value-1);
		dateToCheckCheckout.setDate(form.deliveryday.value);
		
		if (dateToCheckCheckout < todaysdatecheckout) {
			alert("You cannot select today's date or a date in the past...");
			form.deliveryday.focus();
			return false;
		}
	}

}

function check_contact(form) {					
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	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 your email address...");
		form.email.focus();
		return false;
	}
	if (form.message.value == ''){
		alert("Please enter a message...");
		form.message.focus();
		return false;
	}
}

function check_login(form) {					
	if (form.email.value == '' || form.email.value == 'email'){
		alert("Please enter your email address...");
		form.email.focus();
		return false;
	}
	if (form.password.value == '' || form.password.value == 'password'){
		alert("Please enter your password...");
		form.password.focus();
		return false;
	}
}

function check_newsletter(form) {					
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (form.email.value=='' || form.email.value.match(illegalChars) || !(emailFilter.test(form.email.value))){
		alert("Please enter your email address...");
		form.email.focus();
		return false;
	}
}

function check_join(form) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	var radio_choice = false;
	for (counter = 0; counter < form.gender.length; counter++)
	{
	if (form.gender[counter].checked)
	radio_choice = true; 
	}	
	if (!radio_choice)
	{
	alert("Please select a gender...")
	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;
	}
	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.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;
	}					
}

function check_updateaccount(form) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	var radio_choice = false;
	for (counter = 0; counter < form.gender.length; counter++)
	{
	if (form.gender[counter].checked)
	radio_choice = true; 
	}	
	if (!radio_choice)
	{
	alert("Please select a gender...")
	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;
	}
	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_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_updateaddress(form) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	var radio_choice = false;
	for (counter = 0; counter < form.gender.length; counter++)
	{
	if (form.gender[counter].checked)
	radio_choice = true; 
	}	
	if (!radio_choice)
	{
	alert("Please select a gender...")
	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.street_address.value == ''){
		alert("Please enter your address...");
		form.street_address.focus();
		return false;
	}
	if (form.city.value == ''){
		alert("Please enter your city...");
		form.city.focus();
		return false;
	}
	if (form.state.value == ''){
		alert("Please enter your county...");
		form.state.focus();
		return false;
	}
	if (form.postcode.value == ''){
		alert("Please enter your postcode...");
		form.postcode.focus();
		return false;
	}
	if (form.country_id.value == ''){
		alert("Please select your country...");
		form.country_id.focus();
		return false;
	}					
}

function check_lostpassword(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_checkout(form) 
{
var emailFilter=/^.+@.+\..{2,3}$/;
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
var re = /\s/;									
	if (form.BillingLastName.value == ''){
		alert("Please enter your surname...");
		form.BillingLastName.focus();
		return false;
	}								
	if (form.BillingFirstName.value == ''){
		alert("Please enter your forename...");
		form.BillingFirstName.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.BillingPostal.value == ''){
		alert("Please enter your billing post code...");
		form.BillingPostal.focus();
		return false;
	}
	var stripped = form.ShopperTel.value.replace(/[\(\)\.\-\ ]/g, '');
	if (form.ShopperTel.value=='' || isNaN(parseInt(stripped))) {
		alert("Your telephone number is incomplete or contain invalid characters...");
		form.ShopperTel.focus();
		return false;
	}
	if (form.ShopperEmail.value=="" || form.ShopperEmail.value.match(illegalChars) || !(emailFilter.test(form.ShopperEmail.value))){
		alert("Please enter a valid email address...");
		form.ShopperEmail.focus();
		return false;
	}
	if (form.ShippingFirstName.value == ''){
		alert("Please enter your surname...");
		form.ShippingFirstName.focus();
		return false;
	}	
	if (form.ShippingLastName.value == ''){
		alert("Please enter your forename...");
		form.ShippingLastName.focus();
		return false;
	}																
	if (form.ShippingAddress1.value == ''){
		alert("Please your shipping address...");
		form.ShippingAddress1.focus();
		return false;
	}
	if (form.ShippingCity.value == ''){
		alert("Please enter your shipping city...");
		form.ShippingCity.focus();
		return false;
	}
	if (form.ShippingCounty.value == ''){
		alert("Please enter your shipping county...");
		form.ShippingCounty.focus();
		return false;
	}
	if (form.ShippingPostal.value == ''){
		alert("Please enter your shipping post code...");
		form.ShippingPostal.focus();
		return false;
	}
}

function singleSubmit(trgForm)
{
    trgForm.submitButton.disabled = true;
    trgForm.resetButton.disabled = true;
}

function toggleBillingInfo(trgForm)
{
    if (trgForm.SubmitBilling.checked == true)
    {
        trgForm.ShippingFirstName.value = trgForm.BillingFirstName.value ;
        trgForm.ShippingLastName.value = trgForm.BillingLastName.value ;
        trgForm.ShippingAddress1.value = trgForm.BillingAddress1.value ;
        trgForm.ShippingAddress2.value = trgForm.BillingAddress2.value ;
        trgForm.ShippingCity.value =  trgForm.BillingCity.value ;
		trgForm.ShippingCounty.value =  trgForm.BillingCounty.value ;
        trgForm.ShippingPostal.value = trgForm.BillingPostal.value ;
    }
    else
    {
        trgForm.ShippingFirstName.value = "";
        trgForm.ShippingLastName.value = "";
        trgForm.ShippingAddress1.value = "";
        trgForm.ShippingAddress2.value = "";
        trgForm.ShippingCity.value = "";
		trgForm.ShippingCounty.value = "";
        trgForm.ShippingPostal.value = "";
    }
}

function resetDynamicFields()
{
	document.cpiForm.OrderId.value=Math.round(Math.random()*10000000000);
	document.cpiForm.TimeStamp.value=new Date().valueOf();
}