// Ben McManus @ Creare
function validateEmail(elementValue){
   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
   return emailPattern.test(elementValue);
 }
 
function isInteger(p_number) {
	return (p_number.toString().search(/^-?[0-9]+$/) == 0);
}

function send_mail(p_str, p_total) {
	/*
	// CRAP... DOES'T FUNCTION IN IE7
	$j.ajax({
		url: "/quote-mailer.php",
		type: "POST",
		data: p_str,
		success: function(){
			$j('.quote-price').html('£'+p_total);
			$j('.form-success').html('Look left to see your quote! A copy has been sent to your email address!');
		}
	});
	*/

	var ajaxRequest;  // The variable that makes Ajax possible!
	var params = p_str ;	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			$j('.quote-price').html('£'+p_total);
			$j('.form-success').html('Look left to see your quote! A copy has been sent to your email address!');
		}
	}
	
	ajaxRequest.open("POST", '/quote-mailer.php', true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Cache-Control", "no-cache");
	ajaxRequest.setRequestHeader("Cache-Control", "must-revalidate");
	ajaxRequest.setRequestHeader("Cache-Control", "no-store");
	ajaxRequest.setRequestHeader("Pragma", "no-cache");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
	
}

$j(document).ready(function(){
	$j('#product-slider ul').bxSlider({
		displaySlideQty: 3,
		moveSlideQty: 1, 
		prevText: 'Previous ',
		nextText: 'Next'              
	});
	
	$j('#quote-doors').keyup(function() {
		var m_key_cards = $j(this).val() * 5;
		$j('#quote-keycards').val(m_key_cards);
	});
	
	$j('button#quote-submit').click(function() {
		var m_lock_price = parseFloat($j('#quote-lock-price').val());
		var m_doors_qty = parseInt($j('input#quote-doors').val());
		var m_key_cards_qty = parseInt($j('input#quote-keycards').val());
		var m_locking_sys = parseFloat($j('select#quote-locking-bundle').val());
		var m_training_fee = parseFloat(400.00);

		// total locks
		var m_total_locks_price = parseFloat(m_doors_qty * m_lock_price);
		
		// keycards cost
		var m_key_card_cost = parseFloat(m_key_cards_qty * 0.85);
		
		// install price
		var m_install_cost;		
		if($j('input:radio[name=check]:checked').val() == 'yes')
			m_install_cost = parseFloat(m_doors_qty * 32.50);
		else
			m_install_cost = parseFloat(0.00);
			
		m_total = parseFloat(m_total_locks_price + m_key_card_cost + m_locking_sys + m_training_fee + m_install_cost);
		
		$j('td.form-error').html('');
		
		var form_ok = 0;
		
		if($j('#quote-lock-model').val() == '') {
			$j('td.form-error').html('Please select a product above</br>');
			return false
		}
		else
			form_ok = form_ok + 1;
		
		if($j('#quote-name').val() == '') {
			$j('td.form-error').html('Name required</br>');
			return false;
		}
		else
			form_ok = form_ok + 1;
			
		if($j('#quote-number').val() == '') {
			$j('td.form-error').html('Number required</br>');
			return false;
		}
		else
			form_ok = form_ok + 1;
			
		if(!isInteger($j('#quote-number').val())) {
			$j('td.form-error').html('Number is invalid</br>');
			return false;	
		}
		else
			form_ok = form_ok + 1;
		
		if($j('#quote-email').val() == '') {
			$j('td.form-error').html('Email required</br>');
			return false;
		}	
		else
			form_ok = form_ok + 1;
			
		if(!validateEmail($j('#quote-email').val())) {
			$j('td.form-error').html('Please enter a valid email</br>');
			return false;
		}
		else
			form_ok = form_ok + 1;
			
			
		if($j('#quote-hotel').val() == '') {
			$j('td.form-error').html('Hotel required</br>');
			return false;
		}
		else
			form_ok = form_ok + 1;
			
		if($j('#quote-location').val() == '') {
			$j('td.form-error').html('Hotel Location required</br>');
			return false;
		}
		else
			form_ok = form_ok + 1;
		
		var str = $j(':input').serialize();
		var bundle_name =  escape($j('#quote-locking-bundle option:selected').text());
		
		str = str + '&total='+m_total+'&bundle='+bundle_name+'&install='+m_install_cost;
		
		if(form_ok >= 8) {
			send_mail(str, m_total);
			
			/*$j.ajax({
				url: "/quote-mailer.php",
				type: "POST",
				data: str,
				success: function(){
					$j('.quote-price').html('£'+m_total);
					$j('.form-success').html('Look left to see your quote! A copy has been sent to your email address!');
				}
			});*/
		}
	});
});

function get_product(p_product_id) {
	$j('.json-product-name').html(json_obj[p_product_id].name);
	$j('.json-product-price').html('£'+parseFloat(json_obj[p_product_id].price));
	$j('#quote-lock-price').val(parseFloat(json_obj[p_product_id].price));
	$j('#quote-lock-model').val(json_obj[p_product_id].name);
	
	// set default keycards
	var m_key_cards = $j('#quote-doors').val() * 5;
	$j('#quote-keycards').val(m_key_cards);
}


