j(document).ready(function(){
	j('ul.accordion').accordion({
		active: ".selected",
		autoHeight: false,
		header: ".opener",
		collapsible: true,
		event: "click"
	});

	j('ul.accordion2').accordion({
		autoHeight: false,
		header: ".opener",
		collapsible: true,
		fillSpace: true,
		event: "click"
	});
	
	j('a.popupLink').click(function (){
		var url = j(this).attr('href');
		var title = j(this).attr('title');
		window.open(url, title, 'status=0,height=600,width=800,scrollbars=1');
		
		return false;
	});
	
	j('.whats_this').hover(
		function(evt){

			j('#cvvImage').css({'position':'absolute', 'zIndex':100}).show();
		},
		function(evt){
			j('#cvvImage').hide();
		}
	);
});

function goToPage(el){
	if (el.val() != 'Find your contact lenses')
		window.location=el.val();
}

function submitOrderForm(){
	var quantity = Number(jQuery('#LensePackForm_LensePackForm_LeftQuantity').val()) +
		Number(jQuery('#LensePackForm_LensePackForm_RightQuantity').val());
	if (quantity == 0)
	{
		alert("You must order at least one item to continue.");
		return false;
	}
	j('#LensePackForm_LensePackForm_action_addToOrder').trigger('click');
	return false;
};

function submitContactForm(){
	j('#contactLoaderImg').show();
	var data = j('#ContactForm_ContactForm').serializeArray();
	var action = j('#ContactForm_ContactForm').attr('action');
	j('#contactThanks').load(action, data, function(){j('#contactLoaderImg').hide();});
	return false;
};

j('SignupForm_SignupForm_action_processSubscription').click(function(){

	j('#subscribeLoaderImg').show();
	var data = j('#SignupForm_SignupForm').serializeArray();
	var action = j('#SignupForm_SignupForm').attr('action');
	j('#signupThanks').load(action, data, function(){j('#contactLoaderImg').hide();});
	return false;
});


function submitCheckoutOrderForm(form)
{
	j('#OrderForm_OrderForm_error').hide();

	var error = '';
	if (isEmpty(j('#OrderForm_OrderForm_FirstName').val()))
		error = 'Please enter a first name.';
	else if(isEmpty(j('#OrderForm_OrderForm_Surname').val()))
		error = 'Please enter a surname.';
	else if(isEmpty(j('#OrderForm_OrderForm_Address').val()))
		error = 'Please enter an address.';
	else if(isEmpty(j('#OrderForm_OrderForm_Postcode').val()))
		error = 'Please enter a postcode.';
	else if(isEmpty(j('#OrderForm_OrderForm_State').val()))
		error = 'Please select a state.';
	else if(isEmpty(j('#OrderForm_OrderForm_Email').val()))
		error = 'Please enter a valid email address';
	else if (checkEmailAddress(j('#OrderForm_OrderForm_Email').val()) == false)
		error = 'Please enter a valid email address';
	else if(isEmpty(j('#OrderForm_OrderForm_Eway_CreditCardHolderName').val()))
		error = 'Please enter a name for your credit card details';
//	else if(isEmpty(j('#OrderForm_OrderForm_Eway_CreditCardNumber').val()))
//		error = 'Please enter a credit card number';
	else if(isEmpty(j('#OrderForm_OrderForm_Eway_CreditCardCVN').val()))
		error = 'Please enter your CVN';
	else if (j('#termsConditions').attr('checked') == false)
		error = 'You must agree to our terms and conditions to continue.';
	if (error.length > 0)
	{
		j('#OrderForm_OrderForm_error').html(error).show();
		return false;
	}
	else
	{	
		j('#OrderForm_OrderForm_action_confirmOrder').trigger('click');
	}
	return false;
}

function isEmpty(val)
{
	if (val == 'undefined' || val == null)
		return true;
	if (trim(val).length == 0)
		return true;
	return false;
}

function checkEmailAddress(email){
	if (email.match(/^([a-zA-Z0-9_+\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/))
 		return true;
	
	return false;
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function backConfirmForm(){
	j('#OrderForm_OrderForm_action_backToOrder').trigger('click');
}

function submitConfirmForm(){
	j('#OrderForm_OrderForm_action_processOrder').trigger('click');
}

