// JavaScript Document

jQuery(document).ready(function($) {
	jQuery('a[rel*=facebox]').facebox({
	loadingImage : '/design/images/shared/loading.gif',
	closeImage   : '/design/images/shared/closelabel.gif'
	}) 
});

function validLogin(loginform) {
	
	if (loginform.loginuser.value == '') {
		alert("Please enter your username");
		loginform.loginuser.focus();
		return false;
	}
	
	if (loginform.loginuser.value == 'Username') {
		alert("Please enter your username");
		loginform.loginuser.focus();
		return false;
	}
	
	if (loginform.loginpass.value == '') {
		alert("Please enter your password");
		loginform.loginpass.focus();
		return false;
	}
	
	if (loginform.loginpass.value == 'Password') {
		alert("Please enter your password");
		loginform.loginpass.focus();
		return false;
	}
	
	return true;
	
}

//  home search

function validSearch(homesearchform) {
	
	if (homesearchform.couplename.value == '') {
		alert("Please enter the couples name");
		homesearchform.couplename.focus();
		return false;
	}
	
	if (homesearchform.couplename.value == 'Couples Name') {
		alert("Please enter the couples name");
		homesearchform.couplename.focus();
		return false;
	}
	
	if (homesearchform.searchmonth.value == '') {
		alert("Please enter the month");
		homesearchform.searchmonth.focus();
		return false;
	}
	
	if (homesearchform.searchmonth.value == 'Month') {
		alert("Please enter the month");
		homesearchform.searchmonth.focus();
		return false;
	}
	
	if (homesearchform.searchyear.value == '') {
		alert("Please enter the year");
		homesearchform.searchyear.focus();
		return false;
	}
	
	if (homesearchform.searchyear.value == 'Year') {
		alert("Please enter the year");
		homesearchform.searchyear.focus();
		return false;
	}
	
	return true;
	
}

//  bridal list

function validBridal(bridalform) {
	
	if (bridalform.brialname.value == '') {
		alert("Please enter the couples name");
		bridalform.brialname.focus();
		return false;
	}
	
	if (bridalform.bridalsurname.value == '') {
		alert("Please enter the couples surname");
		bridalform.bridalsurname.focus();
		return false;
	}
	
	if (bridalform.bridalday.value == 'Day') {
		alert("Please select the day");
		bridalform.bridalday.focus();
		return false;
	}
	
	if (bridalform.bridalmonth.value == 'Month') {
		alert("Please select the month");
		bridalform.bridalmonth.focus();
		return false;
	}
	
	if (bridalform.bridalyear.value == 'Year') {
		alert("Please select the year");
		bridalform.bridalyear.focus();
		return false;
	}
	
	return true;
	
}



/* Contact Us Form ------------------ */
function validContact(contactForm) {
	
	if (contactForm.fullName.value == '') {
		alert("Please enter your name");
		contactForm.fullName.focus();
		return false;
	}
	
	if (contactForm.contactnumber.value == '') {
		alert("Please enter your contact number");
		contactForm.contactnumber.focus();
		return false;
	}

	if (contactForm.emailAddr.value == '') {
		alert("Please enter your email address");
		contactForm.emailAddr.focus();
		return false;
	}
	
	if (!validEmail(contactForm.emailAddr.value)) {
		contactForm.emailAddr.focus();
		return false;
	}

	if (contactForm.faxnumber.value == '') {
		alert("Please enter your fax number");
		contactForm.faxnumber.focus();
		return false;
	}
	
	if (contactForm.bgnames.value == '') {
		alert("Please enter the Bride &amp; Groom Names");
		contactForm.bgnames.focus();
		return false;
	}
	
	if (contactForm.message.value == 'Message') {
		alert("Please enter your message");
		contactForm.message.innerHTML='';
		contactForm.message.focus();
		return false;
	}
	
	return true;
	
}

/* registerform ------------------   */
function validRegister(registerform) {
		 	
	if (registerform.reg_name.value == '') {
		alert("Please enter your your name");
		registerform.reg_name.focus();
		return false;
	}
	
	if (registerform.reg_surname.value == '') {
		alert("Please enter your surame");
		registerform.reg_surname.focus();
		return false;
	}
	
	if (registerform.part_name.value == '') {
		alert("Please enter your partner name");
		registerform.part_name.focus();
		return false;
	}
	
	if (registerform.part_surname.value == '') {
		alert("Please enter your partner surname");
		registerform.part_surname.focus();
		return false;
	}
	
		
	if (registerform.reg_emailAddr.value == '') {
		alert("Please enter your email address");
		registerform.reg_emailAddr.focus();
		return false;
	}
	
		if (registerform.reg_emailAddr.value == '') {
		alert("Please enter your email address");
		registerform.reg_emailAddr.focus();
		return false;
	}

	if (!validEmail(registerform.reg_emailAddr.value)) {
		registerform.reg_emailAddr.focus();
		return false;
	}
	
	if (registerform.reg_pass.value == '') {
		alert("Please enter your password");
		registerform.reg_pass.focus();
		return false;
	}
	
	
	if (registerform.reg_confirm.value == '') {
		alert("Please re-enter your telephone");
		registerform.reg_confirm.focus();
		return false;
	}
		
	if (registerform.reg_confirm.value != registerform.reg_pass.value) {
		alert("Passwords dont match, please try again");
		registerform.reg_pass.focus();
		return false;
	}
	
	
	 if (registerform.registerday.value == 'Day') {
		alert("Please select the day");
		registerform.registerday.focus();
		return false;
	}
	
	if (registerform.registermonth.value == 'Month') {
		alert("Please select the month");
		registerform.registermonth.focus();
		return false;
	}
	
	if (registerform.registeryear.value == 'Year') {
		alert("Please select the year");
		registerform.registeryear.focus();
		return false;
	}
	

	 
 
	
	
	return true;
	
}

function validCheck(checkform) {
	
	if (checkform.card_name.value == '') {
		alert("Please enter Cardholders Full Name");
		checkform.card_name.focus();
		return false;
	}
	
	if (checkform.card_number.value == '') {
		alert("Please enter card number");
		checkform.card_number.focus();
		return false;
	}
	
	if (checkform.card_cvv.value == '') {
		alert("Please enter card number");
		checkform.card_cvv.focus();
		return false;
	}
	

	
	return true;
	
}



/* checkoutform ------------------   */
function validCheckout(checkoutform) {
		 	
	if (checkoutform.check_name.value == '') {
		alert("Please enter your first name");
		checkoutform.check_name.focus();
		return false;
	}
	
	if (checkoutform.check_surname.value == '') {
		alert("Please enter your surame");
		checkoutform.check_surname.focus();
		return false;
	}
	
if (checkoutform.check_email.value == '') {
		alert("Please enter your email address");
		checkoutform.check_email.focus();
		return false;
	}
	
	if (!validEmail(checkoutform.check_email.value)) {
		checkoutform.check_email.focus();
		return false;
	}
	
	
	if (checkoutform.check_contact.value == '') {
		alert("Please enter your contact number");
		checkoutform.check_contact.focus();
		return false;
	}
	
	
	if (checkoutform.check_add.value == '') {
		alert("Please enter your street");
		checkoutform.check_add.focus();
		return false;
	}
		
	if (checkoutform.check_code.value == 'Day') {
		alert("Please enter your postal code");
		checkoutform.check_code.focus();
		return false;
	}
	
 
	

	 
 
	
	
	return true;
	
}

 

// checks for valid telephone characters
function validNum(telno) {
	
	var pattern = "0123456789+-)(. ";
	var i = 0;
	
	do {
		var pos = 0;
		for ( var j = 0 ; j < pattern.length ; j++ )
			if ( telno.charAt(i) == pattern.charAt(j) )
				pos = 1;
		i++;
	}
	while ( pos == 1 && i < telno.length )
	
	if ( pos == 0 ) return false;
	
	return true;
}



// check email address pattern
function validEmail(addr) {
	
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	
	if ( !regex.test(addr) ) {
		alert("Invalid email address");
		return false;
	}
	
	return true;
}

// validation for Send to Friend
function val_send_to_friend(contactForm) {
	if (!validEmail(contactForm.addr.value)) {
		contactForm.addr.value = '';
		contactForm.addr.focus();
		return false;
	}
	return true;
}
 
 // Clear keywords in quick search
function clearKeywords(field){
	if (field.value == "Keywords:")
	{
		field.value="";
	}
}

// Set price on search page
function priceSet(s,sf){
switch(s.options[s.selectedIndex].value){

	case "0":
		sf.priceFrom.value = 0;
		sf.priceUntil.value = 99999999;
	  break;
	
	case "1":
		sf.priceFrom.value = 0;
		sf.priceUntil.value = 14.99;
		break;
	
	case "2":
		sf.priceFrom.value = 15;
		sf.priceUntil.value = 29.99;
		break;
	
	case "3":
		sf.priceFrom.value = 30;
		sf.priceUntil.value = 500;
		break;
		
	default:
		sf.priceFrom.value = 0;
		sf.priceUntil.value = 99999999;
}


}


function updateShippingTotals(selectedOption)
{
	var selectedId = selectedOption.id.replace(/^\D+/, "");
	// Rob 2009/08/20 added logic that if selectedAmount is non-numeric then it must be free and therefore use zero
	var selectedAmount = isNaN(Number($('#ht_'+ selectedId)[0].value)) ? 0 : Number($('#ht_'+ selectedId)[0].value);

	var hiddenTotals = $('.hidden_total');
	for (var i = 0; i < hiddenTotals.length; i ++)
	{
		var ht = hiddenTotals[i];
		var htId = ht.id.replace(/^\D+/, "");
		// Rob 2009/08/20 added logic that if htAmount is non-numeric then it must be free and therefore use zero
		var htAmount = isNaN(Number(ht.value)) ? 0 : Number(ht.value);
		var showAmount;

		if (htId == selectedId)
		{
			$('#sr_'+ htId).addClass('selected');
			$('#st_'+ htId).addClass('strong');
			$('#st_'+ htId).removeClass('lower');
			$('#st_'+ htId).removeClass('higher');
			showAmount = $('#ht_'+ htId)[0].value;
			//showAmount = formatMoney($('#ht_'+ htId)[0].value);
		}
		else
		{
			$('#sr_'+ htId).removeClass('selected');
			$('#st_'+ htId).removeClass('strong');

		    delta = htAmount - selectedAmount
			
			if (delta > 0)
				$('#st_'+ htId).addClass('higher');
			else 
				$('#st_'+ htId).addClass('lower');
			showAmount = formatMoney(Math.abs(delta)) +" "+ ((delta > 0) ? "more" : "less");
		}
		$('#st_'+ htId).html("&pound;"+showAmount)
	}
}

function formatMoney(value)
{
	value = String(value)
	value = ((/\./.test(value)) ? value.replace(/\.\d+$/, "") +"."+ (value.replace(/^.*\./, "") +"00").substring(0, 2) : value + ".00");
	return value;
}