var searchFieldDefault = "looking for something?";
var loginUserFieldDefault = "Username";

function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

function isValidEmail(strEmail) {
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if(!filter.test(strEmail))
		return false;
	return true;
}

function maxTAChars(Object,MaxLen) {
	return (Object.value.length <= MaxLen);
}

function enableTorderPeriod() {
	document.getElementById('from_month').disabled = false;
	document.getElementById('from_day').disabled = false;
	document.getElementById('from_year').disabled = false;
	document.getElementById('through_month').disabled = false;
	document.getElementById('through_day').disabled = false;
	document.getElementById('through_year').disabled = false;
}

function disableTorderPeriod() {
	document.getElementById('from_month').disabled = true;
	document.getElementById('from_day').disabled = true;
	document.getElementById('from_year').disabled = true;
	document.getElementById('through_month').disabled = true;
	document.getElementById('through_day').disabled = true;
	document.getElementById('through_year').disabled = true;
}

function torderAdvSearch() {
	if(document.getElementById('advanced').value == 'no') {
		document.getElementById('adv_torder_search').style.display = 'block';
		document.getElementById('advanced').value = 'yes';
	} else if(document.getElementById('advanced').value == 'yes') {
		document.getElementById('adv_torder_search').style.display = 'none';
		document.getElementById('advanced').value = 'no';
		document.getElementById('orderid').value = '';
		document.getElementById('order_status').selectedIndex = 0;
	}
}

function loginUserFieldFocus(tf) {
	if (tf.value == loginUserFieldDefault) {
		tf.value = "";
	}
}

function loginUserFieldBlur(tf) {
	if (tf.value == "" || tf.value == null) {
		tf.value = loginUserFieldDefault;
	}
}

function searchFieldFocus(tf) {
	if (tf.value == searchFieldDefault) {
		tf.value = "";
	}
}

function searchFieldBlur(tf) {
	if (tf.value == "" || tf.value == null) {
		tf.value = searchFieldDefault;
	}
}

function checkCartForm() {
	var frm = document.forms['cart'];
	var i=0;
	var good = true;
	while(frm['qty'+i] != undefined && good) {
		if(frm['qty'+i].value == '') {
			alert('You have to specify the quantity');
			good = false;
		}
		i++;
	}
		
	return good;
}

function checkShippingPaymentForm(snum,pnum) {
	var checked = false;
	for(i=0;i<snum;i++)
		if(document.getElementById('shipping_method'+i).checked == true)
			checked = true;
	if(!checked) {
		alert('You have to select a shipping method');
		return false;
	}
	
	checked = false;
	for(i=0;i<pnum;i++)
		if(document.getElementById('payment_method'+i).checked == true)
			checked = true;
	if(!checked) {
		alert('You have to select a payment method');
		return false;
	}

	return true;
}

function checkPersInfoForm() {
	var frm = document.forms['persinfo'];
	if(frm['b_firstname'].value == '')
		alert('You have to specify your first name');
	else if(frm['b_lastname'].value == '')
		alert('You have to specify your last name');
	else if(frm['b_address'].value == '')
		alert('You have to specify the address');
	else if(frm['b_city'].value == '')
		alert('You have to specify the city');
	else if(frm['b_state'].value == '')
		alert('You have to specify the state');
	else if(frm['b_country'].value == '')
		alert('You have to specify the country');
	else if(frm['b_zipcode'].value == '')
		alert('You have to specify the zip/postal code');
	else if(frm['saddr'].value == 'yes' && frm['s_firstname'].value == '')
		alert('You have to specify your first name');
	else if(frm['saddr'].value == 'yes' && frm['s_lastname'].value == '')
		alert('You have to specify your last name');
	else if(frm['saddr'].value == 'yes' && frm['s_address'].value == '')
		alert('You have to specify the address');
	else if(frm['saddr'].value == 'yes' && frm['s_city'].value == '')
		alert('You have to specify the city');
	else if(frm['saddr'].value == 'yes' && frm['s_state'].value == '')
		alert('You have to specify the state');
	else if(frm['saddr'].value == 'yes' && frm['s_country'].value == '')
		alert('You have to specify the country');
	else if(frm['saddr'].value == 'yes' && frm['s_zipcode'].value == '')
		alert('You have to specify the zip/postal code');
	else if(frm['phone'].value == '')
		alert('You have to specify the phone');
	else if(frm['email'].value == '')
		alert('You have to specify the e-mail');
	else if(!isValidEmail(frm['email'].value))
		alert('The email address you have entered is not valid');
	else
		return true;
	return false;
}

function isNonnegativeInteger (s) {
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if(anum.test(s))
		return true;
	return false;
}

function checkRegisterForm() {
	var frm = document.forms['register'];
	if(frm['login'].value == '')
		alert('You have to specify login name');
	else if(frm['password'].value == '')
		alert('You have to specify the password');
	else if(frm['password_confirm'].value == '')
		alert('You have to specify the password confirm');
	else if(frm['password'].value != frm['password_confirm'].value)
		alert('The passwords you have inserted do not correspond');
	else if(frm['password_hint'].value == '')
		alert('You have to specify the password recovery question');
	else if(frm['password_hint_answer'].value == '')
		alert('You have to specify the password recovery answer');
	else if(frm['b_firstname'].value == '')
		alert('You have to specify your first name');
	else if(frm['b_lastname'].value == '')
		alert('You have to specify your last name');
	else if(frm['b_address'].value == '')
		alert('You have to specify the address');
	else if(frm['b_city'].value == '')
		alert('You have to specify the city');
	else if(frm['b_state'].value == '')
		alert('You have to specify the state');
	else if(frm['b_country'].value == '')
		alert('You have to specify the country');
	else if(frm['b_zipcode'].value == '')
		alert('You have to specify the zip/postal code');
	else if(frm['saddr'].value == 'yes' && frm['s_firstname'].value == '')
		alert('You have to specify your first name');
	else if(frm['saddr'].value == 'yes' && frm['s_lastname'].value == '')
		alert('You have to specify your last name');
	else if(frm['saddr'].value == 'yes' && frm['s_address'].value == '')
		alert('You have to specify the address');
	else if(frm['saddr'].value == 'yes' && frm['s_city'].value == '')
		alert('You have to specify the city');
	else if(frm['saddr'].value == 'yes' && frm['s_state'].value == '')
		alert('You have to specify the state');
	else if(frm['saddr'].value == 'yes' && frm['s_country'].value == '')
		alert('You have to specify the country');
	else if(frm['saddr'].value == 'yes' && frm['s_zipcode'].value == '')
		alert('You have to specify the zip/postal code');
	else if(frm['phone'].value == '')
		alert('You have to specify the phone');
	else if(frm['email'].value == '')
		alert('You have to specify the e-mail');
	else if(!isValidEmail(frm['email'].value))
		alert('The email address you have entered is not valid');
	else
		return true;
	return false;
}

function checkContactForm() {
	var frm = document.forms['contact'];
	if(frm['firstname'].value == '')
		alert('You have to specify your first name');
	else if(frm['lastname'].value == '')
		alert('You have to specify your last name');
	else if(frm['address'].value == '')
		alert('You have to specify the address');
	else if(frm['city'].value == '')
		alert('You have to specify the city');
	else if(frm['state'].value == '')
		alert('You have to specify the state');
	else if(frm['country'].value == '')
		alert('You have to specify the country');
	else if(frm['zipcode'].value == '')
		alert('You have to specify the zip/postal code');
	else if(frm['phone'].value == '')
		alert('You have to specify the phone');
	else if(frm['email'].value == '')
		alert('You have to specify the e-mail');
	else if(!isValidEmail(frm['email'].value))
		alert('The email address you have entered is not valid');
	else
		return true;
	return false;
}

function editShippingAltAddress() {
	document.getElementById('esa_edit').style.display = 'none';
	document.getElementById('esa_title').style.display = 'block';
	document.getElementById('esa').style.display = 'block';
	document.getElementById('saddr').value = 'yes';
}

function editBillingAddress() {
	document.getElementById('billing_address_readonly').style.display = 'none';
	document.getElementById('billing_address').style.display = 'block';
}

function editShippingAddress() {
	document.getElementById('shipping_address_readonly').style.display = 'none';
	document.getElementById('shipping_address').style.display = 'block';
}

function editGiftMessage() {
	document.getElementById('gift_message_edit_btn').style.display = 'none';
	document.getElementById('gift_message_lbl').style.display = 'none';
	document.getElementById('gift_message_edit').style.display = 'block';
}

function updateShippingAddress() {
	if(document.getElementById('s_firstname').value == '') {
		alert('You have to specify the first name');
		return false;
	} else if(document.getElementById('s_lastname').value == '') {
		alert('You have to specify the last name');
		return false;
	} else if(document.getElementById('s_address').value == '') {
		alert('You have to specify the address');
		return false;
	} else if(document.getElementById('s_city').value == '') {
		alert('You have to specify the city');
		return false;
	} else if(document.getElementById('s_state').value == '') {
		alert('You have to specify the state');
		return false;
	} else if(document.getElementById('s_country').value == '') {
		alert('You have to specify the country');
		return false;
	} else if(document.getElementById('s_zipcode').value == '') {
		alert('You have to specify the zip code');
		return false;
	}
	
	satext = document.getElementById('s_firstname').value+'<br/>'
		+ document.getElementById('s_lastname').value+'<br/>'
		+ document.getElementById('s_address').value+'<br/>'
		+ document.getElementById('s_city').value+'<br/>';
	if(document.getElementById('s_country').value == 'US')
		satext += document.getElementById('s_state').value+'<br/>';
	satext += document.getElementById('s_country').value
		+ document.getElementById('s_zipcode').value;
	document.getElementById('shipping_address_label').innerHTML = satext;
	document.getElementById('shipping_address_readonly').style.display = 'block';
	document.getElementById('shipping_address').style.display = 'none';
}

function updateBillingAddress() {
	if(document.getElementById('b_firstname').value == '') {
		alert('You have to specify the first name');
		return false;
	} else if(document.getElementById('b_lastname').value == '') {
		alert('You have to specify the last name');
		return false;
	} else if(document.getElementById('b_address').value == '') {
		alert('You have to specify the address');
		return false;
	} else if(document.getElementById('b_city').value == '') {
		alert('You have to specify the city');
		return false;
	} else if(document.getElementById('b_state').value == '') {
		alert('You have to specify the state');
		return false;
	} else if(document.getElementById('b_country').value == '') {
		alert('You have to specify the country');
		return false;
	} else if(document.getElementById('b_zipcode').value == '') {
		alert('You have to specify the zip code');
		return false;
	}

	batext = document.getElementById('b_firstname').value+'<br/>'
		+ document.getElementById('b_lastname').value+'<br/>'
		+ document.getElementById('b_address').value+'<br/>'
		+ document.getElementById('b_city').value+'<br/>';
	if(document.getElementById('b_country').value == 'US')
		batext += document.getElementById('b_state').value+'<br/>';
	batext += document.getElementById('b_country').value
		+ document.getElementById('b_zipcode').value;
	document.getElementById('billing_address_label').innerHTML = batext;
	document.getElementById('billing_address_readonly').style.display = 'block';
	document.getElementById('billing_address').style.display = 'none';
}

function updateGiftMessage() {
	document.getElementById('gift_message_lbl').innerHTML = document.getElementById('gift_message').value;
	document.getElementById('gift_message_edit_btn').style.display = 'block';
	document.getElementById('gift_message_lbl').style.display = 'block';
	document.getElementById('gift_message_edit').style.display = 'none';
}

function viewAdvSearchParams() {
	if(document.getElementById('adv_searchp_view').value == 'no') {
		document.getElementById('adv_searchp_view').value = 'yes';
		document.getElementById('adv_searchp').style.display = 'block';
		document.getElementById('adv_searchp_icon').src = 'imgs/sqminus.gif';
	} else if(document.getElementById('adv_searchp_view').value == 'yes') {
		document.getElementById('adv_searchp_view').value = 'no';
		document.getElementById('adv_searchp').style.display = 'none';
		document.getElementById('adv_searchp_icon').src = 'imgs/sqplus.gif';
		document.getElementById('category').selectedIndex = 0;
		document.getElementById('price_min').value = '';
		document.getElementById('price_max').value = '';
		document.getElementById('weight_min').value = '';
		document.getElementById('weight_max').value = '';
	}
}

function viewLargeImage(name,img) {
        var w = 712;
	var h = 396;
	var l = Math.floor((screen.width-w)/2);
	var t = Math.floor((screen.height-h)/2);
	window.open('large_image.php?name='+name+'&img='+img,'MODO_Shop',
          'width='+w+',height='+h+',top='+t+',left='+l+'directories=no,'
          +'location=no,menubar=no,resizable=no,scrollbars=no,status=no,'
          +'toolbar=no');
}

function viewCVV2Help() {
        var w = 712;
	var h = 396;
	var l = Math.floor((screen.width-w)/2);
	var t = Math.floor((screen.height-h)/2);
	window.open('cvv2help.php','MODO Shop',
          'width='+w+',height='+h+',top='+t+',left='+l+'directories=no,'
          +'location=no,menubar=no,resizable=no,scrollbars=no,status=no,'
          +'toolbar=no');
}

function sCountryChanged() {
	if(document.getElementById('s_country').value == 'US') {
		document.getElementById('s_state').style.display = 'block';
		document.getElementById('no_s_state').style.display = 'none';
	} else {
		document.getElementById('s_state').style.display = 'none';
		document.getElementById('no_s_state').style.display = 'block';
	}
}

function bCountryChanged() {
	if(document.getElementById('b_country').value == 'US') {
		document.getElementById('b_state').style.display = 'block';
		document.getElementById('no_b_state').style.display = 'none';
	} else {
		document.getElementById('b_state').style.display = 'none';
		document.getElementById('no_b_state').style.display = 'block';
	}
}

function noreturn(e) {
	if(window.event)
		return !(window.event.keyCode == 13);
	else
		return !(e.keyCode == 13);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
