function search(e)
{
	var keynum;
	var keychar;
	var numcheck;
	var text;
	
	if(window.event) {// IE
		keynum = e.keyCode;
	} else if(e.which){// Netscape/Firefox/Opera
		keynum = e.which;
	}
	if (keynum == '13')
	{
		text = document.getElementById('search').value;
		window.location = "/search/"+text;
	}
}

function search_text(id, action)
{
	if(action == 'focus')
	{
		if (document.getElementById(id).value == 'Search...')
		{
			document.getElementById(id).value = '';
		}
		document.getElementById(id).style.color = '#888';
	}
	else if(action == 'blur')
	{
		if (document.getElementById(id).value == '')
		{
			document.getElementById(id).value = 'Search...';
		}
		document.getElementById(id).style.color = '#0195db';
		
	}
}

function update_hidden (id, avalue, add_remove)
{
	if( add_remove == true )
	{
		document.getElementById(id).value = document.getElementById(id).value+';'+avalue+';';
	} else {
		var regex = new RegExp(';'+avalue+';', "gi");
		document.getElementById(id).value = document.getElementById(id).value.replace(regex, "");
	}
}

function showhide(d) {
	if(document.getElementById(d).style.display == "")
	{
		document.getElementById(d).style.display = "none"
	} else {
		document.getElementById(d).style.display = "";
	}
}

//-->
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function change_border_out (id)
{
	if(document.getElementById(id).type != 'submit')
		document.getElementById(id).style.border = '1px solid #DDDDDD';
	document.getElementById(id).parentNode.parentNode.parentNode.parentNode.parentNode.style.background = '#FFFFFF';
}
function change_border_in (id)
{
	if(document.getElementById(id).type != 'submit')
		document.getElementById(id).style.border = '1px solid #555555';
	document.getElementById(id).parentNode.parentNode.parentNode.parentNode.parentNode.style.background = '#eeffff';
}

function del_update(id)
{
	if(document.getElementById('del_check').checked)
		document.getElementById('del_'+id).value = document.getElementById(id).value;
}

function tc_check(state) {
	if(state)
	{
		document.getElementById('submit_order').disabled = false;
		document.getElementById('submit_order').style.color = "#000000";
	}
	else
	{
		document.getElementById('submit_order').disabled = true;
		document.getElementById('submit_order').style.color = "#aaaaaa";
	}
}

function disable_controls(enable) {
	var frm = document.getElementById('order_info') ;
	var len = frm.elements.length ;
	var cnt = 0 ;
	var color = '#FFF';
	var state = document.getElementById('del_check').checked; 
	var change = false;
	
	if(enable == true)
		state = false;
	
	if(state == true)
	{
		color ='#ece9d8';
	}
	
	
	for ( var i=1; i <= len; i++) {
		var elem = frm.elements[i] ;
		if(elem.id == 'del_name')
			change = true;
		if (elem.type != "hidden" && change == true) {
			elem.disabled = state ;
			elem.style.background = color;
			if(document.getElementById('del_check').checked)
			{
				elem.value = document.getElementById( elem.id.substr(4) ).value;
			}
		}
		if(elem.id =='del_add5')
			change = false;
	}
}

function isempty(aTextField) {
   if ((aTextField.length==0) ||
   (aTextField==null)) {
      return true;
   }
   else { return false; }
}

function show_error( id )
{
	var err_color = '1px solid #F00';
	document.getElementById(id).style.border = err_color;
}

function toNumber(sInput)
{
	var sOutput = "";
	count = 0;
	for (i = 0; i < sInput.length; i++) {
		sChar = sInput.substring(i, i+1);
		if (sChar >= "0" && sChar <= "9"){sOutput += sChar;}
	}
	return sOutput;
}
		
function IsValidCCNumber(sInput)
{
	//Remove padding spaces
	sInput = toNumber(sInput);
	
	//Verify length of card number
	if (sInput.length > 20 || sInput.length < 1)
	{ return (false);}
	
	//Verify with Mod 10 LUHN algorithm
	iSum = 0;
	iMuliplier = 1;
	iLen = sInput.length;
	for (i = 0; i < iLen; i++)
	{
	idigit = sInput.substring(iLen-i-1,iLen-i);
	iCheck = parseInt(idigit ,10)*iMuliplier;
	if (iCheck >= 10){iSum += (iCheck % 10) + 1;}
	else{iSum += iCheck;}
	if (iMuliplier == 1){iMuliplier++;}
	else{iMuliplier--;}
	}
	if ((iSum % 10) == 0){return (true);}
	else{return (false);}
	
	
}


function check_form()
{
	
	var name = document.getElementById('name').value;
	var phone = document.getElementById('phone').value;
	var email = document.getElementById('email').value;
	var add1 = document.getElementById('add1').value;
	var add2 = document.getElementById('add2').value;
	var add4 = document.getElementById('add4').value;
	var add5 = document.getElementById('add5').value;
	var card_name = document.getElementById('card_name').value;
	var card_number = document.getElementById('card_number').value;
	var card_exp_date = document.getElementById('card_exp_date').value;
	var card_cvc = document.getElementById('card_cvc').value;
	
	
	var error = false;
	
	var email_filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (!email.match(email_filter))
	{
		show_error('email');
		error = true;
	}
	if( isempty(name) )
	{
		show_error('name');
		error = true;
	}
	if( isempty(phone) )
	{
		show_error('phone');
		error = true;
	}
	if( isempty(add1) )
	{
		show_error('add1');
		error = true;
	}
	if( isempty(add2) )
	{
		show_error('add2');
		error = true;
	}
	if( isempty(card_name) )
	{
		show_error('card_name');
		error = true;
	}
	if( isempty(card_exp_date) )
	{
		show_error('card_exp_date');
		error = true;
	}
	if( card_cvc.length != 3 || isNaN(card_cvc) )
	{
		show_error('card_cvc');
		error = true;
	}
	if(! IsValidCCNumber(card_number) )
	{
		show_error('card_number');
		error = true;
	}
	
	if(!error)
	{
		disable_controls(true);
		setTimeout("return true;", 500);
	}
	else
	{
		alert(error_msg);
		return false;
	}
	
	
}


function get_country(check_id,show_hide_id)
{
	
	var country = document.getElementById(check_id).value;
	if (country == 'OC')
	{
		document.getElementById(show_hide_id).style.visibility = 'visible';
	}
	else
	{
		document.getElementById(show_hide_id).style.visibility = 'hidden';
	}
}

function get_postcode()
{
	
	var country = document.getElementById('country').value;
	if (country == 'UK')
	{
		document.getElementById('postcode').style.visibility = 'visible';
	}
	else
	{
		document.getElementById('postcode').style.visibility = 'hidden';
	}
}


function testPostCode (field) {
	var myPostCode = document.getElementById(field).value;
	if (checkPostCode (myPostCode)) {
		document.getElementById('post_code_error').style.visibility ='hidden';
		document.getElementById(field).value = checkPostCode (myPostCode);
		document.getElementById('update_cart').click();
	} else {
		document.getElementById('post_code_error').style.visibility ='visible';
	}
};

function star_rating(id) {
	var star = id.substr(5);
	var starp = parseInt(star)+1;
	for(i=1;i<=star;i++)
	{
		document.getElementById('star_'+i).src = "/template_new/star_full.gif";
	}

	for(z=starp;i<6;z++)
	{
		document.getElementById('star_'+z).src = "/template_new/star_empty.gif";
	}
	document.getElementById('rating').value = star;
}

function update_image( area, stock_code )
{
	var url = 'http://images.seabase.eu/images/products/'+stock_code.toUpperCase()+'_cameo1.jpg';
	document.getElementById(area+'prod_image').src = url;
}

var kit_price = new Object();

sum = function(o){
    for(var s = 0, i = o.length; i; s += o[--i]);
    return s;
};

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}
// end of function CurrencyFormatted()


function price(area, price) {
	kit_price[area] = price;
	var temp_val = 0;
	for ( keyVar in kit_price ) {
		temp_val = parseFloat(temp_val) + parseFloat(kit_price[keyVar]);
	}
	document.getElementById('total_kit_price').innerHTML = CurrencyFormatted(temp_val);
}
