function checkReferral(element) {
	//var ajax = new Ajax2();
	
	if (element.value != '') {
		//ajax.request('general.php?module=details&action=checkreferral&code=' + element.value, 'GET', {}, function(result, xml, text) {
		new Ajax2({url: 'general.php?module=details&action=checkreferral&code=' + element.value,
				   method: 'GET',
				   resultMode: Ajax2.RESULT_TEXT,
				   callback: function(text) {
		
			if (text == '1') document.getElementById('referral').style.display = 'block';
			else if (text == '2') document.getElementById('referralloworder').style.display = 'block';
			else {
				document.getElementById('referral').style.display = 'none';
				document.getElementById('referralloworder').style.display = 'none';
			}
		}
		});
	}	
}

/*
	Following JavaScript assumes the usage of Prototype JavaScript framework, version 1.6.0.3
*/

function in_array(needle, haystack) {
    for (var i = 0; i < haystack.length; i++) {
        if (haystack[i] == needle) {
            return true;
        }
    }
    return false;
}

function selectSampleSelect() {
	var el = document.createElement('div');
	
	el.style.backgroundColor = 'white';
	el.style.border = '1px solid black';
	
}


function onlyNumbers(ev) {
	ev = ev || window.event;
	var k = ev.keyCode || ev.which;

	
	//Non numeric keypresses to allow
	var controlChars = new Array(8,  //Backspace
								 9,  //Tab
							 	 37, //Left arrow
							 	 39, //Right arrow
						 	 	 46, //Delete
							 	 190, 110, //Dot
							 	 109	//minus
							 	 );

	return ((k >= 48 && k <= 57) || (k >= 96 && k <= 105) || in_array(k, controlChars));
}


function showSampleBox() {
	var container = new $e('div');
	container.className =  this.cssPrefix + 'fader';
	container.id = 'fader';

	if (window.innerHeight != null && window.scrollMaxY != null) var pageHeight = window.innerHeight + window.scrollMaxY;  
	else if (document.documentElement.clientHeight > document.body.offsetHeight) var pageHeight = document.documentElement.clientHeight; 
	else if(document.body.scrollHeight > document.body.offsetHeight) var pageHeight = document.body.scrollHeight;  
	else var pageHeight = document.body.offsetHeight;
	
	container.style.height = pageHeight + 'px';
	container.style.position = 'absolute';
	container.style.top = '0';
	container.style.left = '0';
	container.style.width = '100%';
	container.style.backgroundColor = '#333';
	container.style.zIndex = '1';
	
	
	$(container).setOpacity(0.5);
	document.body.appendChild(container);
	
	document.getElementById('samplebox').style.display = 'block';
}


function addCatSample() {
	var box = document.getElementById('samplebox');
	var inputs = box.getElementsByTagName('input');
	
	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].name == 'catsample') {
			if (inputs[i].checked) {
				addItems(inputs[i].value);
				break;
			}
		}
	}
	
}

function addItems(product_id) {
	var max_prices = 10;
	var price_name, quantity_name;
	var json_values, json_string = '{ ';
	var eval_JSON = false;

	for(var i = 0; i < max_prices; i++){
		code_name = 'pc_' + i + '_' + product_id;
		size_name = 'ps_' + i + '_' + product_id;
		quantity_name = 'pq_' + i + '_' + product_id;
		if($(size_name) && $(quantity_name)){
			if($(quantity_name).value != '' && $(quantity_name).value > 0){
				eval_JSON = true;
				json_string += '"' + quantity_name + '" : "' + product_id + ',' + $(size_name).value + ',' + $(quantity_name).value + ',' + ',' + $(code_name).value + '",';
			}
		} else {
			break;
		}
	}
	if(eval_JSON){
		json_string = json_string.substr(0, json_string.length - 1);
		json_string += '}';
		json_values =  json_string.evalJSON();
		new Ajax.Request('_add_to_basket.php',
			{
				method: 'get',
				parameters: json_values,
				onSuccess: function(transport){
			/*		var values = transport.responseJSON;
					var fields = values.keys.split(',');

					if(fields.length > 0){
						for(var i = 0; i < fields.length; i++){
							$(fields[i]).value = '';
						}
					}
					$('basket_order').innerHTML = values.prods;
					$('basket_price').innerHTML = '£' + values.money;
					$('basket_msg').innerHTML = values.basket_msg;
					*/

					window.location.href = 'basket.php'
				}
			}
		);
	}
	else alert('Please enter a quantity.');
}

function setTask(task, transfer){
	if($('task')){
		$('task').value = task;
		if(transfer){
			$('symply_frm').submit();
		}
	}
}

function deleteItem(id, size){
	name = 'q_' + id + '_' + size;
	if($(name)){
		$(name).value = 0;
		$('task').value = 'update';
		$('symply_frm').submit();
	}
}

function check_redeem(){
	var order_total = parseFloat($('basket_total').firstChild.nodeValue);
	
	if ($('credit_amount').value > redeem_max) $('credit_amount').value = redeem_max.toFixed(2);
	if ($('credit_amount').value > order_total) $('credit_amount').value = order_total.toFixed(2);
	
	$('invoice_total').firstChild.nodeValue = parseFloat(order_total - parseFloat($('credit_amount').value)).toFixed(2);
	
	
	new Ajax.Request('_change_redeem_credit.php',
			{
				method: 'get',
				parameters: {'credit_amount': $('credit_amount').value},
				onSuccess: function(transport){
				
				}
			}
		);	
	
	return;
	var num_value;
	var json_string, json_values;

	if(Number($('credit_amount').value) > redeem_max){
		$('credit_amount').value = redeem_max;
	}

	json_string = '{ "credit_amount" : "' + $('credit_amount').value + '" }';
	json_values = json_string.evalJSON();
	
}

function check_postcode(){
	var postcode;
	if($('dpcode').value == ''){
		if($('pcode').value == ''){
			$('postcode_message').style.display = 'none';
		} else {
			postcode = trim($('pcode').value);
			if(postcode.substr(0, 2).toUpperCase() == 'HS' || postcode.substr(0, 2).toUpperCase() == 'IM' || postcode.substr(0, 2).toUpperCase() == 'BT'){
				$('postcode_message').style.display = 'block';
			} else {
				$('postcode_message').style.display = 'none';
			}
		}
	} else {
			postcode = trim($('dpcode').value);
			if(postcode.substr(0, 2).toUpperCase() == 'HS' || postcode.substr(0, 2).toUpperCase() == 'IM' || postcode.substr(0, 2).toUpperCase() == 'BT'){
				$('postcode_message').style.display = 'block';
			} else {
				$('postcode_message').style.display = 'none';
			}
	}
}
//Keep my options open
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"), "");
}


atom.ready(function() {
	if (atom('nav h2') && atom('nav h2').count() > 0) {
		atom('nav h2').addEvent('click', function() {
			var item = atom(this.parentNode.getElementsByTagName('ul')[0]);
			var slide = new Effect_Slide();
			slide.element = item;
			slide.toggle();
		});
	}	
});


function incrementQuantity(element, inc) {
	element.value = parseInt(element.value) + inc;
	setTask('update', true);
}


function expandVoucher(img) {	
	var el = document.getElementById('voucherredeem');
	if (el.offsetHeight == 0) img.src = 'img/basket/minusg.png';
	else img.src = 'img/basket/plusg.png';
	var effect = new Effect_Slide(el);
	effect.element = el;
	effect.toggle();	
}


function expandPetProfessional(img) {
	var el = document.getElementById('petprof');
	if (el.offsetHeight == 0) img.src = 'img/basket/minusg.png';
	else img.src = 'img/basket/plusg.png';
	var effect = new Effect_Slide(el);
	effect.element = el;
	effect.toggle();
}

function changeAddress(type) {
	window.addresstype = type;	
	document.getElementById('addresslist').style.display = 'block';
	
	if (type == 2) document.getElementById('addresslist').style.marginLeft = '250px';
	else document.getElementById('addresslist').style.marginLeft = '0px';
}



function setAddress(type, id) {
	if (type == 1) {
		window.location.href = window.location.href.replace(/&daddress=[0-9]+/g, '') + '&daddress=' + id;
	}
	else if (type == 2) {
		window.location.href = window.location.href.replace(/&baddress=[0-9]+/g, '') + '&baddress=' + id;
	}
}


function openAddAddress() {
	document.getElementById('addressform').style.display = 'block';
}

function closeAddAddress() {
	document.getElementById('addressform').style.display = 'none';
}

function incrementQuantity2(element, inc) {
	var element = element.parentNode.getElementsByTagName('input')[0];
	element.value = parseInt(element.value) + inc;
	if (element.value < 0) element.value = 0;
}


function proceedToCheckout() {
	//alert(window.loggedIn);
	if (!window.loggedIn) document.getElementById('voucherbox').style.display = 'block';
	else {
		document.getElementById('symply_frm').action = '/general.php?module=details';
		document.getElementById('symply_frm').submit();	
	}
}

function doLogin() {
	document.getElementById('basketbackto').value = 'basket';
	document.getElementById('symply_frm').action = '/general.php?module=details';
	document.getElementById('symply_frm').submit();
}

function setVoucher() {
	if (window.loggedIn) setTask('update', true); 
	else document.getElementById('voucherbox').style.display = 'block';
}

function voucherRegister() {
	document.getElementById('basketbackto').value = 'basket';
	document.getElementById('symply_frm').action = '/general.php?module=details';
	var inputs = document.getElementById('voucherbox').getElementsByTagName('input');
	for (var i = 0; i < inputs.length; i++) {
		inputs[i].value = ''
	}
	document.getElementById('symply_frm').submit();	
}


function breederEmailCheck(email) {
	if (email == '') return;
	new Ajax2({url: 'general.php?module=breederapply&action=checkemail&email=' + email,
		  method: 'GET',
		  resultMode: Ajax2.RESULT_TEXT,
		  callback: function(text) {
			   var num = parseInt(text);
			   if (num > 0) {
				   //alert('That email address already exists in our system');
				   document.getElementById('existingcustomer').style.display = 'block';
				   document.getElementById('newcustomerfields').style.display = 'none';
			   }
			   else {
				   document.getElementById('existingcustomer').style.display = 'none';
				   document.getElementById('newcustomerfields').style.display = 'block';
			   }
		  }
	});
}
