/////////////////////////////////////
// Code for product and part searches 
/////////////////////////////////////
function filter_search(srchVal) {
  // var charFilter = /^-| -|\.\.|[^-+/#)(,?=:_. 0-9A-Za-z]/g;
  // if ( charFilter.test(srchVal) ) {
    // matchArray = charFilter.exec(srchVal);
    // alert("The value '"+RegExp.lastMatch+"' is not allowed in the search string. Please try your search again.");
    // return true;
  // }
  // else return false;
  return false;
}
function quicksearch()
{
	sval = document.getElementById('searchform').partnumber.value;
	if (sval.length < 3 ) {
		alert("Please enter a value at least three characters in length");
		return false;
	}
	else {
		re = /^ */g;
		tstr = sval.replace(re,"");
		sval = tstr;
		re = / *$/g;
		tstr = sval.replace(re,"");
		sval = tstr;
		if (sval.search(" ") != -1 || sval.search("[0-9]") == -1) {
			pmsg="'"+sval+"' does not appear to be a valid HP part number. If you are trying to find part information based on a ";
			pmsg=pmsg+"DESCRIPTION of the part (such as 'Power Cord'), you will need to first identify your HP product using the ";
			pmsg=pmsg+"product lookup functions.";
			alert(pmsg);
			return false;
		}
		else {
			return true;
		}
	}
}
function prod_search()
{
	if (document.getElementById('prodsrch').prodsrch.value.length < 3 ) {
		alert("Please enter a search value at least three characters in length");
		return false;
	}
	else {
		if ( filter_search(document.getElementById('prodsrch').prodsrch.value) ) return false;
		return true;
	}
}
function part_search() {
	sval = document.getElementById('partsrch').partsrch.value;
	if (sval.length < 3 ) {
		alert("Please enter a value at least three characters in length");
		return false;
	}
	else {
		re = /^ */g;
		tstr = sval.replace(re,"");
		sval = tstr;
		re = / *$/g;
		tstr = sval.replace(re,"");
		sval = tstr;
		if (sval.search(" ") != -1 || sval.search("[0-9]") == -1) {
			pmsg="'"+sval+"' does not appear to be a valid HP part number. If you are trying to find part information based on a ";
			pmsg=pmsg+"DESCRIPTION of the part (such as 'Power Cord'), you will need to first identify your HP product using the ";
			pmsg=pmsg+"product lookup functions.";
			alert(pmsg);
			return false;
		}
		else {
			if ( sval.substring(sval.length-1) == "*" ) {
				sval = sval.substring(0,sval.length-1);
				document.getElementById('partsrch').psrchmode.value = "W";
			}
			else {
				document.getElementById('partsrch').psrchmode.value = "";
			}
			if ( filter_search(sval) ) return false;
			return true;
		}
	}
}
function suball () {
	document.getElementById('modform').sel_flg.value = "partlist";
	document.getElementById('modform').plist_styp.value = "flag";
	document.getElementById('modform').plist_sval.value = "ALL";
	document.getElementById('modform').submit();
}
function subsrch () {
	if ( document.getElementById('modform').strsrch.value == "" ) {
		alert("Please enter a search value");
	}
	else if ( document.getElementById('modform').strsrch.value.length <= 1 ) {
		alert("Please enter a search value with more characters than 1");
	}
	else {
		if ( ! filter_search(document.getElementById('modform').strsrch.value) ) {
			document.getElementById('modform').sel_flg.value = "partlist";
			document.getElementById('modform').plist_styp.value = "strsrch";
			document.getElementById('modform').plist_sval.value = document.getElementById('modform').strsrch.value;
			document.getElementById('modform').submit();
		}
	}
}
function subkey () {
	var sx = document.getElementById('modform').keysel.selectedIndex;
	if ( sx < 1 ) {
		alert("Please select a value");
	}
	else {
		kwd_val = document.getElementById('modform').keysel[sx].value;
		pwarn_x = kwd_val.indexOf("|PW");
		if (pwarn_x != -1 ) {
			document.getElementById('modform').plist_sval.value = kwd_val.substring(0,pwarn_x);
			document.getElementById('modform').keysel[sx].value = document.getElementById('modform').plist_sval.value;
			//show_power_warning();
		}
		else {
			document.getElementById('modform').plist_sval.value = kwd_val;
		}
		document.getElementById('modform').sel_flg.value = "partlist";
		document.getElementById('modform').plist_styp.value = "subcat";
		document.getElementById('modform').keyval.value = document.getElementById('modform').keysel[sx].text;
		document.getElementById('modform').submit();
	}
}

function subcat () {
	var sx = document.getElementById('modform').catsel.selectedIndex;
	if ( sx < 1 ) {
		alert("Please select a value");
	}
	else {
		document.getElementById('modform').sel_flg.value = "partlist";
		document.getElementById('modform').plist_styp.value = "catagory";
		document.getElementById('modform').plist_sval.value = document.getElementById('modform').catsel[sx].value;
		document.getElementById('modform').catval.value = document.getElementById('modform').catsel[sx].text;
		document.getElementById('modform').submit();
	}
}
function goPayment()
{
	if(document.getElementById('payment_form'))
	{
		var $res = document.getElementById('payment_form').paymentMethod.selectedIndex;
		if ($res >= 0)
		{
			var $val = document.getElementById('payment_form').paymentMethod[$res].value;
			if($val == "ideal")
			{
				document.getElementById('order_ideal').submit();
				//document.forms['order_ideal'].submit();
			}
			else if($val == "proforma")
			{
				document.getElementById('order_proforma').submit();
			}
			else
			{
				document.getElementById('order_creditcard').submit();
			}
		}
	}
}