function OpenCertDetails()
{
	thewindow =window.open('https://www.thawte.com/cgi/server/certdetails.exe?code=GBWIDD1-1', 'anew',config='height=500,width=600,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=yes');
}


function openImageWindow(url,name,width,height)
{
	url = "showimage.php?path=" + url;
	
	openWindow(url,name,width,height);
}

function openWindow(url,name,width,height)
{
	props = "width=" + width + ",height=" + height + ",scrollbars";
	window.open(url,name,props);
}

function showGalleryImage(gallery_id)
{
	url = "showgalleryimage.php?gallery_id=" + gallery_id;
  	var win = openWindow(url,"gallery",450,450);
}
    
function checkLogin(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.email.value == "")
    {
        errors += "- account number must be completed.\n";
        valid = false;
    }

    if (f.password.value == "")
    {
        errors += "- password must be completed.\n";
        valid = false;
    }
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}
    
function checkCardDetails(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.cardtype[f.cardtype.selectedIndex].value == "")
    {
        errors += "- cardtype must be completed.\n";
        valid = false;
    }

    if (f.cardno.value == "")
    {
        errors += "- cardno must be completed.\n";
        valid = false;
    }

    if (f.security_no.value == "")
    {
        errors += "- security_no must be completed.\n";
        valid = false;
    }

    if (f.tomonth.value == "" || f.toyear.value == "")
    {
        errors += "- expiry date must be completed.\n";
        valid = false;
    }
   
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}

function checkPaymentCardDetails(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.invoiceno.value == "")
    {
        errors += "- Invoice number must be completed.\n";
        valid = false;
    }

    if (f.amount.value == "")
    {
        errors += "- Invoice amount must be completed.\n";
        valid = false;
    }

	if (parseInt(f.amount.value) == 0 || f.amount.value.match(/[^0-9\.]/)) {

		valid = false;
		errors += "- Invoice amount must be a number greater than zero.\n";

	}

    if (f.cardtype[f.cardtype.selectedIndex].value == "")
    {
        errors += "- cardtype must be completed.\n";
        valid = false;
    }

    if (f.cardno.value == "")
    {
        errors += "- cardno must be completed.\n";
        valid = false;
    }

    if (f.security_no.value == "")
    {
        errors += "- security_no must be completed.\n";
        valid = false;
    }

    if (f.tomonth.value == "" || f.toyear.value == "")
    {
        errors += "- expiry date must be completed.\n";
        valid = false;
    }
   
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}


function checkCustomerDetails(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.contact_name.value == "")
    {
        errors += "- contact_name must be completed.\n";
        valid = false;
    }

    if (f.email.value == "")
    {
        errors += "- email must be completed.\n";
        valid = false;
    }
    else
    {
    	email_errors = validateEmail(f.email.value);
    	if(email_errors != "")
    	{
    		errors += email_errors;
    		valid = false;
    	}
    }
    
    if (f.password.value == "" || f.passwordc.value == "")
    {
         errors += "- password and password confirmation must be completed.\n";
         valid = false;
    }
    else
    {
		if (f.password.value != f.passwordc.value)
		{
        	 errors += "- password and password confirmation do not match.\n";
			valid = false;
		}    
    }
    
    if (f.company_name.value == "")
    {
        errors += "- company_name must be completed.\n";
        valid = false;
    }
       
    if (f.billing_line1.value == "")
    {
        errors += "- billing_line1 must be completed.\n";
        valid = false;
    }
    
    if (f.billing_town.value == "")
    {
        errors += "- billing_town must be completed.\n";
        valid = false;
    }
    
    //if (f.billing_county.value == "")
    //{
    //    errors += "- billing_county must be completed.\n";
    //    valid = false;
    //}
      
    //if (f.billing_postcode.value == "")
    //{
    //    errors += "- billing_postcode must be completed.\n";
    //    valid = false;
    //}

    
    if (f.shipping_line1.value == "")
    {
        errors += "- shipping_line1 must be completed.\n";
        valid = false;
    }
    
    if (f.shipping_town.value == "")
    {
        errors += "- shipping_town must be completed.\n";
        valid = false;
    }
    
   // if (f.shipping_county.value == "")
    //{
    //    errors += "- shipping_county must be completed.\n";
    //    valid = false;
    //}
        
    //if (f.shipping_postcode.value == "")
    //{
    //    errors += "- shipping_postcode must be completed.\n";
    //    valid = false;
    //}
       
    if (f.tel.value == "")
    {
        errors += "- telephone must be completed.\n";
        valid = false;
    }
    
    if ((f.address_type_1.checked == false) && (f.address_type_2.checked == false) && (f.address_type_3.checked == false))
	{
	        errors += "- address type.\n";
	        valid = false;
    }
 
    
    //if(!f.agree_terms.checked)
    //{
    //    errors += "- terms and conditions must be read and agreed to.\n";
    //    valid = false;
    //}
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}

function checkEnquiry(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.name.value == "")
    {
        errors += "- Name must be completed.\n";
        valid = false;
    }
    
    if (f.company.value == "")
    {
        errors += "- Company must be completed.\n";
        valid = false;
    }
    
    if (f.email.value == "")
    {
        errors += "- Email must be completed.\n";
        valid = false;
    } 
    else
    {
    	email_errors = validateEmail(f.email.value);
    	if(email_errors != "")
    	{
    		errors += email_errors;
    		valid = false;
    	}
    }
    
    if (f.telephone.value == "")
    {
        errors += "- Telephone must be completed.\n";
        valid = false;
    }    
    if (f.address.value == "")
    {
        errors += "- Address must be completed.\n";
        valid = false;
    }
        
    if (f.postcode.value == "")
    {
        errors += "- Postcode must be completed.\n";
        valid = false;
    }
    
    if (f.enquiry.value == "")
    {
        errors += "- Enquiry must be completed.\n";
        valid = false;
    }

    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkOrderFrm(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
	if ((!f.printed_before[0].checked) && (!f.printed_before[1].checked) && (!f.printed_before[2].checked))
    {
        errors += "- Have widdups printed the goods before must be completed.\n";
        valid = false;
    }
    
	
	if (f.product_description.value == "")
    {
        errors += "- Product description must be completed.\n";
        valid = false;
    }
    
    if (f.quantity.value == "")
    {
        errors += "- Product quantity must be completed.\n";
        valid = false;
    }
    
    if (f.material_colour.value == "")
    {
        errors += "- Material colour must be completed.\n";
        valid = false;
    }
    
    if (f.size.value == "")
    {
        errors += "- Size must be completed.\n";
        valid = false;
    }
    
    if (f.print_colour.value == "")
    {
        errors += "- SPrint colour(s) must be completed.\n";
        valid = false;
    }

    if (f.name.value == "")
    {
        errors += "- Name must be completed.\n";
        valid = false;
    }
    
    if (f.company.value == "")
    {
        errors += "- Company must be completed.\n";
        valid = false;
    }
    
    if (f.email.value == "")
    {
        errors += "- Email must be completed.\n";
        valid = false;
    } 
    else
    {
    	email_errors = validateEmail(f.email.value);
    	if(email_errors != "")
    	{
    		errors += email_errors;
    		valid = false;
    	}
    }
    
    if (f.telephone.value == "")
    {
        errors += "- Telephone must be completed.\n";
        valid = false;
    }    
    if (f.invoice_address.value == "")
    {
        errors += "- Invoice address must be completed.\n";
        valid = false;
    }
        
    if (f.invoice_postcode.value == "")
    {
        errors += "- Invoice postcode must be completed.\n";
        valid = false;
    }
    
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkFilmRollQuote(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
    contact_errors = checkContactDetailsQuote(f);
    
	if(contact_errors != "")
	{
        errors += contact_errors;
		valid = false;
	}
	
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkPaperRollQuote(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
    contact_errors = checkContactDetailsQuote(f);
    
	if(contact_errors != "")
	{
        errors += contact_errors;
		valid = false;
	}
	
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkPaperSheetsQuote(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
    contact_errors = checkContactDetailsQuote(f);
    
	if(contact_errors != "")
	{
        errors += contact_errors;
		valid = false;
	}
	
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkPaperBagQuote(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
    contact_errors = checkContactDetailsQuote(f);
    
	if(contact_errors != "")
	{
        errors += contact_errors;
		valid = false;
	}

    if (f.Width.value == "")
    {
        errors += "- Width must be completed.\n";
        valid = false;
    }    
    if (f.Height.value == "")
    {
        errors += "- Height must be completed.\n";
        valid = false;
    }
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    
    return valid;
}

function checkContactDetailsQuote(f)
{
	contact_errors = "";

    if (f.name.value == "")
    {
        contact_errors += "- Contact Name must be completed.\n";
    }

    if (f.company.value == "")
    {
        contact_errors += "- Company Name must be completed.\n";
    }
    
    if (f.email.value == "")
    {
        contact_errors += "- Email must be completed.\n";
    } 
    else
    {
    	email_errors = validateEmail(f.email.value);
    	if(email_errors != "")
    	{
    		contact_errors += email_errors;
    	}
    }
    
    if (f.telephone.value == "")
    {
        contact_errors += "- Telephone must be completed.\n";
    }    
    if (f.address.value == "")
    {
        contact_errors += "- Address must be completed.\n";
    }
        
    if (f.postcode.value == "")
    {
        contact_errors += "- Postcode must be completed.\n";
    }
    	
	return contact_errors;
}


function checkMultiQF(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
        
    if (f.address_font.value == "")
    {
        errors += "- Address Font must be completed.\n";
        valid = false;
    }
    
    if (f.name_font.value == "")
    {
        errors += "- Name Font must be completed.\n";
        valid = false;
    }
    
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
 }
 
function checkQF(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
    if (f.name.value == "")
    {
        errors += "- Name must be completed.\n";
        valid = false;
    }
    
    if (f.address.value == "")
    {
        errors += "- Address must be completed.\n";
        valid = false;
    }     
    if (f.postcode.value == "")
    {
        errors += "- postcode must be completed.\n";
        valid = false;
    }    
    if (f.telephone.value == "")
    {
        errors += "- Telephone must be completed.\n";
        valid = false;
    }
        
    if (f.address_font.value == "")
    {
        errors += "- Address Font must be completed.\n";
        valid = false;
    }
    
    if (f.name_font.value == "")
    {
        errors += "- Name Font must be completed.\n";
        valid = false;
    }
    
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
 }

function checkQFMulti(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;
	
	num_items = 0;
	num_form_items = f.length;
	
	for(i=0;i<num_form_items;i++)
	{
		if(f[i].name == "sub_cards[]")
		{
			num_items += f[i].selectedIndex;
		}
	}
	
	if(num_items<10)
	{
      	errors += "- A minimum of 10 packs must be selected.\n";
        valid = false;
    }
	   
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
 }
 
function copyAddress(f)
{
		f.shipping_line1.value = f.billing_line1.value;
		f.shipping_line2.value = f.billing_line2.value;
		f.shipping_line3.value = f.billing_line3.value;
		f.shipping_town.value = f.billing_town.value;
		f.shipping_county.value = f.billing_county.value;
		f.shipping_postcode.value = f.billing_postcode.value;
		f.shipping_country_id.value = f.billing_country_id.value;
}

function checkForgotPass(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.forgot_email.value == "")
    {
        errors += "- Email address must be completed.\n";
        valid = false;
    }
   
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}

function validateEmail(email_addr) 
{
	if (email_addr == '' && man) 
	{
		return '- email_address is mandatory.\n';
	}

	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) 
	{
		if (email_addr.indexOf(invalidChars.charAt(i),0) > -1) 
		{
			return '- email_address contains invalid characters.\n';
		}
	}

	for (i=0; i<email_addr.length; i++) 
	{
		if (email_addr.charCodeAt(i)>127) 
		{
			return "- email_address contains non ascii characters.\n";
		}
	}

	var atPos = email_addr.indexOf('@',0);
	if (atPos == -1) 
	{
		return '- email_address must contain an @\n';
	}
	
	if (atPos == 0) 
	{
		return '- email_address must not start with @\n';
	}
	
	if (email_addr.indexOf('@', atPos + 1) > - 1) 
	{
		return '- email_address must contain only one @\n';
	}
	
	if (email_addr.indexOf('.', atPos) == -1) 
	{
		return '- email_address must contain a period in the domain name\n';
	}
	
	if (email_addr.indexOf('@.',0) != -1) 
	{
		return '- period must not immediately follow @ in email email_address\n';
	}
	
	if (email_addr.indexOf('.@',0) != -1)
	{
		return '- period must not immediately precede @ in email email_address\n';
	}
	
	if (email_addr.indexOf('..',0) != -1) 
	{
		return '- two periods must not be adjacent in email email_address\n';
	}
	
	var suffix = email_addr.substring(email_addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') 
	{
		return '- invalid primary domain in email email_address\n';
	}
	
	return '';
}

old_qty = 0;

function saveQty(fld,pack)
{
	//old_qty = fld.value;
}

function checkQty(fld,pack)
{
	//var qty = fld.value;
	//var mod = qty % pack;
	

	//if(mod != 0 || qty == 0)
	//{
		//alert("Qty must be entered in multiples of " + pack);
		//fld.value = old_qty;
	//}
}

function checkBasketQty(qty,packqty)
{
	var mod = qty % packqty;

	if(mod != 0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function addToBasket(f)
{
	var num_fields = f.length;

	var q = new Array(); // qtys 
	var chk = new Array(); // check qtys
	var n = new Array(); // check names
	var min_qty = new Array();
	
	for(i=0;i<num_fields;i++)
	{
		if(f[i].name=="qtys[]")
		{
			q.push(parseInt(f[i].value));
		}
		
		if(f[i].name=="checkqtys[]")
		{
			chk.push(parseInt(f[i].value));
		}	
		
		if(f[i].name=="names[]")
		{
			n.push(f[i].value);
		}
		
		if(f[i].name=="min_qty[]")
		{
			min_qty.push(parseInt(f[i].value));
		}
					
	}

	var ok = true;
	
	var num_in_array = q.length;
	for(i=0;i<num_in_array;i++)
	{			
		if (q[i]!=0) {
		
			if (min_qty[i] > q[i]) {
				ok = false;
				alert(n[i] + " has a minimum order quantity of " + min_qty[i]);
			}
		}
		
		// changed on 30/10/2006
		if(chk[i]!=0)
		{	
			if(!(checkBasketQty(q[i],chk[i])))
			{
				ok = false;
				
				alert(n[i] + " must be bought in multiples of " + chk[i]);
			}
		}
	}

	if(ok)
	{
		f.submit();
	}
}

function addBasketP1(f)
{

	var qty = parseInt(f.qty.value);
	var chk = parseInt(f.checkqty.value);
	var min_qty = parseInt(f.min_qty.value);
	
	var ok = true;
	if (qty < min_qty) {
		ok = false;
		alert("This product has a minimum order quantity of " + min_qty);
	}
	
	if(!(checkBasketQty(qty,chk)))
	{
		ok = false;
		
		alert("This product must be bought in multiples of " + chk);
	}
	
	var before_ok = false;
	for (var i = 0; i < f.printed_before.length; i++) {
		if (f.printed_before[i].checked) {
			before_ok = true;
		}
	}
	
	if (before_ok == false) {
		ok = false;
		alert("Please specify whether Widdups have printed these before");
	}
	
	
	var artwork_ok = false;
	for (var i = 0; i < f.providing_artwork.length; i++) {
		if (f.providing_artwork[i].checked) {
			artwork_ok = true;
		}
	}
	
	if (artwork_ok == false) {
		ok = false;
		alert("Please specity how you are providing artwork.");
	}

	if (f.instructions.value == '') {
	
		ok = false;
		alert("Printing Instructions is a required field.");
		
	}

	if(ok)
	{
		f.submit();
	}
}

function checkP2(f)
{

	var qty = parseInt(f.qty.value);
	var chk = parseInt(f.checkqty.value);
	var min_qty = parseInt(f.min_qty.value);

	var ok = true;
	
	if (qty < min_qty) {
		ok = false;
		alert("This product has a minimum order quantity of " + min_qty);
	}
	
	if(!(checkBasketQty(qty,chk)))
	{
		ok = false;
		
		alert("This product must be bought in multiples of " + chk);
	}

	if (f.previously_charged.value == 0 || f.previously_charged.value.match(/[^0-9\.]/)) {

		ok = false;
		alert("Price quoted/Previously paid must be a number greater than zero.");

	}

	if (f.previously_charged.value == undefined) {
	
		ok = false;
		alert("Price quoted/Previously paid is a required field.");
		
	}

	if (f.invoiceno.value == undefined) {
	
		ok = false;
		alert("Previously invoice/Quote number is a required field.");
		
	}

	var before_ok = false;
	for (var i = 0; i < f.printed_before.length; i++) {
		if (f.printed_before[i].checked) {
			before_ok = true;
		}
	}
	
	if (before_ok == false) {
		ok = false;
		alert("Please specity whether Widdups have printed these before");
	}
	
	var artwork_ok = false;
	for (var i = 0; i < f.providing_artwork.length; i++) {
		if (f.providing_artwork[i].checked) {
			artwork_ok = true;
		}
	}
	
	if (artwork_ok == false) {
		ok = false;
		alert("Please specity how you are providing artwork.");
	}

	if (f.instructions.value == '') {
	
		ok = false;
		alert("Printing Instructions is a required field.");
		
	}

	if(ok)
	{
		f.submit();
	}
}

function checkP3(f)
{

	var ok = true;
	
	var qty_ok = false;
	for (var i = 0; i < f.qty.length; i++) {
		if (f.qty[i].checked) {
			qty_ok = true;
		}
	}
	
	if (qty_ok == false) {
		ok = false;
		alert("Please specity the quantity you wish to order");
	}
	
	var before_ok = false;
	for (var i = 0; i < f.printed_before.length; i++) {
		if (f.printed_before[i].checked) {
			before_ok = true;
		}
	}
	
	if (before_ok == false) {
		ok = false;
		alert("Please specify whether Widdups have printed these before");
	}	
	
	var artwork_ok = false;
	for (var i = 0; i < f.providing_artwork.length; i++) {
		if (f.providing_artwork[i].checked) {
			artwork_ok = true;
		}
	}
	
	if (artwork_ok == false) {
		ok = false;
		alert("Please specity how you are providing artwork.");
	}

	if (f.instructions.value == '') {
	
		ok = false;
		alert("Printing Instructions is a required field.");
		
	}

	if(ok)
	{
		f.submit();
	}
}

function checkPromo(f)
{
	errors = "The following errors have been found: \n\n";
	valid = true;

    if (f.promo_code.value == "")
    {
        errors += "- promotion code must be completed.\n";
        valid = false;
    }
    
    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }
    else
    {
    	f.submit();
    }
}

/* newsletter bits */

var cleared_once_email = false;
var cleared_once_name = false;

function clearEmail()
{
    if (!cleared_once_email)
    {
        document.all.signupemail.value = "";
        cleared_once_email = true;
    }
}

function clearName()
{
    if (!cleared_once_name)
    {
        document.all.signupname.value = "";
        cleared_once_name = true;
    }
}

function checkSignup(f)
{
    var errmsg = "";
    var formok = true;

    if ( (f.signupname.value == "" || f.signupname.value == " Enter your name") || (f.signupemail.value == "" || f.signupemail.value == " Enter e-mail details" ) )
    {
        errmsg = "Please enter your name and email address";
        formok = false;
    }
    else
    {
        email_errors = validateEmail(f.signupemail.value);
	    if(email_errors != "")
	    {
	    	errmsg += email_errors;
	    	formok = false;
    	}
    }

    if (!formok)
    {
        alert(errmsg);
    }
    else
    {
        f.submit();
    }
}
