/* Basket Functions */

function BasketRemove(product_id) {
 document.basket._action.value='remove';
 document.basket.product_id.value=product_id;
 document.basket.submit();
}

function BasketAdd(product_id){
document.basket.product_id.value=product_id;
document.basket.submit();
}

/* Wish List */

function WishRemove(product_id) {
 document.wish._action.value='remove';
 document.wish.product_id.value=product_id;
 document.wish.submit();
}

function WishAdd(product_id){
document.wish.product_id.value=product_id;
document.wish.submit();
}

/* Label Tracking */

function LabelAdd(){
	document.flabel.label.value=document.flabel.slabel[document.flabel.slabel.selectedIndex].text;
	document.flabel._action.value='add';
	document.flabel.submit();
}

function LabelRemove(label){
	document.flabel.label.value=label;
	document.flabel._action.value='remove';
	document.flabel.submit();
}

/* Search Page Functions */

function pages(pages,page) {
	for(var p=1;p<=pages;p++) {
 		document.write('<option '+((page==p)?' selected':'')+'>'+p+'</option>');
	}
}

/* Checkout Functions */

function help(dir) {
	window.open('/help/'+dir+'/index.html',dir,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=480,height=400');
}

function setRecorded(c) {
	document.order.recorded.value = c?1:0;
	document.order.submit();
}

function setInsurance(c) {
	document.order.insurance.value = c?1:0;
	document.order.submit();
}

function setCardFields(card) {
	if (card == 'SWITCH' || card == 'SOLO') {
  	document.getElementById('IssueNumber').style.display = '';
	} else {
  	document.getElementById('IssueNumber').style.display = 'none';
	}
 	if (card == 'SWITCH' || card == 'SOLO' || card == 'AMEX') {
		document.getElementById('StartDate').style.display = '';
	} else {
  	document.getElementById('StartDate').style.display = 'none';
	}
}

function numbersOnly(obj){
	reg = /[^0-9]/g;
	obj.value =  obj.value.replace(reg,"");
}

function checkOrderForm(f) {

	var card = f.CardType[f.CardType.selectedIndex].value;

	if (card == '' || f.CardType.selectedIndex == 0) {
  	alert('Please select a Card');
  	return false;
 	}
 	if (f.CardHolder.value == '') {
  	alert('Please enter the Card Holder');
  	return false;
 	}
 	if (f.CardNumber.value == '') {
  	alert('Card Number is required');
  	return false;
 	}
 	if (f.CardNumber.value.length < 12) {
  	alert('Card Number must contain between 12 and 20 digits');
  	return false;
 	}
 	if (f.CV2.value == '') {
  	alert('Please enter the Security Code');
  	return false;
 	}
 	if (f.CV2.value.length != 3 && card != 'AMEX') {
  	alert('Please enter the 3 Security Code digits on the reverse of your card');
  	return false;
 	} else if (f.CV2.value.length != 4 && card == 'AMEX') {
  	alert('Please enter the 4 Security Code digits on the reverse of your card');
  	return false;
 	}
 	if (card == 'SWITCH' || card == 'SOLO') {
  	if (f.IssueNumber == '') {
   	alert('Please enter the Issue Number');
   	return false;
  	}
 	}
/*
	var now = new Date();
	var mm = now.getMonth()+1;
	var yy = now.getFullYear() - 2000;
*/
	expiry_yy = f.ExpiryDate_year[f.ExpiryDate_year.selectedIndex].value;
	expiry_mm = f.ExpiryDate_month[f.ExpiryDate_month.selectedIndex].value; 
/*
	if (expiry_yy < yy) {
		alert('Expiry Year incorrect');
		return false;
	} else if (expiry_mm < mm) {
		alert('Expiry Month incorrect');
		return false;
	}
*/
	if (card == 'SWITCH' || card == 'SOLO' || card == 'AMEX') {

		start_yy = f.StartDate_year[f.StartDate_year.selectedIndex].value;
		start_mm = f.StartDate_month[f.StartDate_month.selectedIndex].value;
/*
		if ((start_yy > yy) || ((start_yy == yy) && (start_mm > mm))) {
			alert('Start/Expiry Date Incorrect');
	 		return false;
		} else if (start_yy > expiry_yy) {
	 		alert('Start/Expiry Date Incorrect');
	 		return false;
		} else if ((start_yy == expiry_yy) && (start_mm >= expiry_mm)) {
	 		alert('Start/Expiry Date Incorrect');
	 		return false;
		}
*/
		f.StartDate.value = start_mm + '' + start_yy;
	}
	f.ExpiryDate.value = expiry_mm + '' + expiry_yy;
}

function checkSecurePayment(f)
{
	if (checkOrderForm(f) == false) return false;
 	if (f.DeliveryAddress.value == '') {
  	alert('Please enter the Deliver Address');
  	return false;
 	}
 	if (f.DeliveryPostCode.value == '')
 	{
  	alert('Please enter your Postcode');
  	return false;
	}
 	if (f.c.selectedIndex == 0)
 	{
  	alert('Please select your Country');
  	return false;
	}
 	if (f.CustomerEMail.value == '') {
  	alert('Please enter your EMail Address');
  	return false;
 	} else if (f.CustomerEMail.value != '' && !checkEmail(f.CustomerEMail.value)) {
  	alert('Your EMail Address is incorrect, please amend');
  	return false;
	}
	return true;
}
/* Member Functions */
function MemberUpdate()
{
 if (document.dbform.passwd.value != document.dbform.confirmation.value) {
  alert('Passwords do not match');
  return false;
 }
 if (document.dbform.passwd.value.length > 0 && document.dbform.passwd.value.length < 6) {
  alert('Minimum Password Length is 6 characters');
  return false;
 }
 if (formCheck(document.dbform)) {
  document.dbform.submit();
  return true;
 }
 return false;
}

function MemberRegister()
{
 if (document.dbform.passwd.value != document.dbform.confirmation.value) {
  alert('Passwords do not match');
  return false;
 }
 if (document.dbform.passwd.value.length > 0 && document.dbform.passwd.value.length < 6) {
  alert('Minimum Password Length is 6 characters');
  return false;
 }
 if (formCheck(document.dbform)) {
  document.dbform.submit();
  return true;
 }
 return false;
}

/* Login Functions */

function checkEmail(str){
	var expression = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/
	if (expression.exec(str))
		return true
	else 
		return false
}

function emailPassword() {
	if (!checkEmail(document.login.email.value)) {
 		alert('Please enter your valid email address');
	} else {
 		location.href = '/login/password.phtml?email='+escape(document.login.email.value);
	}
}
