function NextPage(obj){
	var mLink = new Array(18);
	var arr = obj.id.split("_")
	mLink[0] = "default.asp"
	mLink[1] = "NewItems.asp"
	mLink[2] = "ArcylicStands.asp"
	mLink[3] = "BasesLids.asp"
	mLink[4] = "ColumnsTubes.asp"
	mLink[5] = "CupLids.asp"
	mLink[6] = "FiguresTrims.asp"
	mLink[7] = "GlassProducts.asp"
	mLink[8] = "Hardware.asp"
	mLink[9] = "Holders.asp"
	mLink[10] = "MarbleBasesLids.asp"
	mLink[11] = "MedalsRibbons.asp"
	mLink[12] = "MetalProducts.asp"
	mLink[13] = "Plaques.asp"
	mLink[14] = "ResinSculputres.asp"
	mLink[15] = "RisersStems.asp"
	mLink[16] = "WoodBasesPlinth.asp"
	mLink[17] = "ContactOrder.asp"
	location.href = mLink[arr[1]];
}

function SetOpaque(bool, obj){
	var s, img;
	s = ""
	if (document.all){
		if (bool){ s = "alpha(opacity=50)" }
		obj.style.filter = s;
	}
}

var key_UpperCase 		= 1;
var key_LowerCase 		= 2;
var key_Letter 			= 4;
var key_Integer			= 8;	//implied positive
var key_Decimal			= 16;
var key_Negative		= 32;
var key_DateDelim		= 64;	//"-" or "/"
var key_PhoneNumDelim	= 128;	//"(" or ")" or "-"
var key_NoCarriageRtn	= 256;
var key_CarriageRtn		= 512;
var key_EmailCharacter	= 1024;	//such as "@", "_", "-", "."

function KeyFilter(srcflag){
//	1.	This function only acts as a filter to limit the users input to some specific keys
// 		and will not do validation on the actual data.
// 	2.	The carriage return is disabled by default.
// 	 	Therefore it is not necessary to include key_NoCarriageRtn in the parameter.
//	3.	This is the developer's responsibility not to put contradicting parameters together.
//	4.	If the field only handles conversion to uppercase or lowercase, then just the parameter of
// 		key_UpperCase and key_LowerCase is enough.  However, if other filters are included, then
// 		the parameter key_Letter has to be included as well.
//	4.	Examples: For a phone no. field, use 8+128.  For postal code, use 1+4+8+32.

	var key = event.keyCode;
	var flag, OK, NOK;

	if (srcflag.length == 0){
		OK = true;
	}else{
		flag = parseInt(srcflag);
	}
	if (flag & key_UpperCase){
		if (key != 13){
			if (key >= 97 && key <= 122) key -= 32;
			if (flag == key_UpperCase){
				OK = true;
			}else if ((flag == key_NoCarriageRtn + key_UpperCase) || (flag == key_CarriageRtn + key_UpperCase)){
				OK = true;
			}
		}
	}
	if (flag & key_LowerCase){
		if (key != 13){
			if (key >= 65 && key <= 90) key += 32;
			if (flag == key_LowerCase){
				OK = true;
			}else if ((flag == key_NoCarriageRtn + key_LowerCase) || (flag == key_CarriageRtn + key_LowerCase)){
				OK = true;
			}
		}
	}
	if (flag & key_Letter){
		if ((key >= 65 && key <= 90) || (key >= 97 && key <= 122)) OK = true;
	}
	if (flag & key_Integer){
		if (key >= 48 && key <= 57) OK = true;
	}
	if (flag & key_Decimal){
		if (key == 46) OK = true;
	}
	if (flag & key_Negative){
		if (key == 45) OK = true;
	}
	if (flag & key_DateDelim){
		if (key == 45 || key == 47) OK = true;
	}
	if (flag & key_PhoneNumDelim){
		if (key == 40 || key == 41 || key == 45) OK = true;
	}
	if (flag & key_NoCarriageRtn){
		if (key == 13){
			NOK = true;
		}else if ((flag == key_NoCarriageRtn) || (flag == key_NoCarriageRtn + key_UpperCase) || (flag == key_NoCarriageRtn + key_LowerCase)){
			OK = true;
		}
	}
	if (flag & key_CarriageRtn){
		if (key == 13){
			OK = true;
		}else if ((flag == key_CarriageRtn) || (flag == key_CarriageRtn + key_UpperCase) || (flag == key_CarriageRtn + key_LowerCase)){
			OK = true;
		}
	}
	if (flag & key_EmailCharacter){
		if (key == 64 || key == 95 || key == 45 || key == 46) OK = true;
	}

	if (NOK) OK = false;
	if (OK){
		event.keyCode = key;
	}else{
		event.returnValue = false;
	}
}

var RsDC_NonBlank = 1;
var RsDC_Num = 2;
var RsDC_PosNum = 4;
var RsDC_Int = 8;
var RsDC_PosInt = 16;
var RsDC_Chk2Decimal = 32;
var RsDC_ChkDate = 64;
var RsDC_ChkSKU = 128;
var RsDC_ChkStr = 256;
var RsDC_Chk3Decimal = 512;
var RsDC_ChkPhn = 1024;
var RsDC_Chk4Decimal = 2048;
var strErrorMsg;

String.prototype.Trim = trim_string;

function formValidate(theForm){
	var form = theForm;
	for (var i=0; i<form.elements.length;i++){
		var obj = form.elements(i)
		if (form.elements(i).getAttribute("Validate")!=null){
			var flag = form.elements(i).getAttribute("Validate");
			if (!funcValidate(obj, flag)){
				alert(strErrorMsg);
				obj.focus();
				return false;
			}
		}
	}
	return true;
}
function fieldValidate(srcField, srcParam){
var objField = srcField;
	var flag = srcParam;
	if (!funcValidate(objField, flag)){
		alert(strErrorMsg);
		objField.focus();
		return false;
	}
	return true;
}
function funcValidate(srcObj, srcFlag){
	var obj = srcObj;
	var flag = srcFlag;
	obj.value = obj.value.Trim();
	if (flag & RsDC_NonBlank){
		if (obj.value.length == 0){
			strErrorMsg = "Field cannot be blank.";
			return false;
		}
	}
	if (flag & RsDC_Num){
		if (obj.value.length > 0){
			var oneDecimal = false;
			for (var i=0; i<obj.value.length; i++){
				var oneChar = obj.value.charAt(i);
				if (i==0 && oneChar=="-"){
					continue;
				}
				if (oneChar=="." && !oneDecimal){
					oneDecimal = true;
					continue;
				}
				if (oneChar <"0" || oneChar > "9"){
					strErrorMsg = "The value entered must be a valid number";
					return false;
				}
			}
		}
	}
	if (flag & RsDC_PosNum){
		if (obj.value.length > 0){
			var oneDecimal = false;
			for (var i=0; i<obj.value.length; i++){
				var oneChar = obj.value.charAt(i);
				if (i==0 && oneChar=="-"){
					strErrorMsg = "The value entered must be a positive number";
					return false;
				}
				if (oneChar=="." && !oneDecimal){
					oneDecimal = true;
					continue;
				}
				if (oneChar <"0" || oneChar > "9"){
					strErrorMsg = "The value entered must be a valid number";
					return false;
				}
			}
		}
	}
	if (flag & RsDC_Int){
		if (obj.value.length > 0){
			for (var i=0; i<obj.value.length; i++){
				var oneChar = obj.value.charAt(i);
				if (i==0 && oneChar=="-"){
					continue;
				}
				if (oneChar < "0" || oneChar > "9"){
					strErrorMsg = "The value entered must be an integer";
					return false;
				}
			}
		}
	}
	if (flag & RsDC_PosInt){
		if (obj.value.length > 0){
			for (var i=0; i<obj.value.length; i++){
				var oneChar = obj.value.charAt(i);
				if (oneChar < "0" || oneChar > "9"){
					strErrorMsg = "The value entered must be a positive integer";
					return false;
				}
			}
		}
	}
	if (flag & RsDC_Chk2Decimal){
		if (obj.value.length > 0){
			var MAXNUM = 2;
			if (obj.value.indexOf(".")==-1){
				return true;
			}
			else if (obj.value.lastIndexOf(".")==obj.value.indexOf(".") && obj.value.indexOf(".")+MAXNUM+1>=obj.value.length){
				return true;
			}
			else {
				strErrorMsg = "Field must be 2 digits after decimal only.";
				return false;
			}
		}
	}
	if (flag & RsDC_Chk3Decimal){
		if (obj.value.length > 0){
			var MAXNUM = 3;
			if (obj.value.indexOf(".")==-1){
				return true;
			}
			else if (obj.value.lastIndexOf(".")==obj.value.indexOf(".") && obj.value.indexOf(".")+MAXNUM+1>=obj.value.length){
				return true;
			}
			else {
				strErrorMsg = "Field max 4 digits after decimal only.";
				return false;
			}
		}
	}
	if (flag & RsDC_Chk4Decimal){
		if (obj.value.length > 0){
			var MAXNUM = 4;
			if (obj.value.indexOf(".")==-1){
				return true;
			}
			else if (obj.value.lastIndexOf(".")==obj.value.indexOf(".") && obj.value.indexOf(".")+MAXNUM+1>=obj.value.length){
				return true;
			}
			else {
				strErrorMsg = "Field max 3 digits after decimal only.";
				return false;
			}
		}
	}
	if (flag & RsDC_ChkDate){
		if (obj.value.length > 0){
			var pattern = /^((((0?[1,3-9])|(1[0-2]))\/((0?[1-9])|([1-2][0-9])|([3][0-1])))|((0?[2])\/((0?[1-9])|([1-2][0-9]))))\/(19|20)?(\d{2})$/
			if (!pattern.test(obj.value)){
				strErrorMsg = "Field must be a valid date.";
				return false;
			}
		}
	}
	if (flag & RsDC_ChkSKU){
		if (obj.value.length > 0){
			var pattern1 = /^((\d{3})|([A-Z]\d{2}))(\d{4})([A-Z]?)$/
			var pattern2 = /^((\d{2,3})|([A-Z]\d{1,2}))[\.-](\d{1,4})([A-Z]?)$/
			obj.value = obj.value.toUpperCase();
			if (!pattern1.test(obj.value) && !pattern2.test(obj.value)){
				strErrorMsg = "Field must be a valid SKU.";
				return false;
			}
		}
	}
	if (flag & RsDC_ChkStr){
		if (obj.value.length > 0){
			var pattern1 = /^(05-?)?([05678]\d{3})$/
			var pattern2 = /^(23-?)?([0CTB]\d{3})$/
			var pattern3 = /^(05-?)?((CS|ES|MP|RA|RB|SA|SB)\d{2})$/
			obj.value = obj.value.toUpperCase();
			if (!pattern1.test(obj.value) && !pattern2.test(obj.value) && !pattern3.test(obj.value)){
				strErrorMsg = "Field must be a valid Store.";
				return false;
			}
		}
	}
	if (flag & RsDC_ChkPhn){
		if (obj.value.length > 0){
			var pattern = /^\(?(\d{3})\)?[\-. ]?(\d{3})[\-. ]?(\d{4})$/
			if (!pattern.test(obj.value)){
				strErrorMsg = "Field must be a valid Phone Number.";
				return false;
			}
		}
	}
	return true;
}
function trim_string() {
	var ichar, icount;
	var strValue = this;
	ichar = strValue.length - 1;
	icount = -1;
	while (strValue.charAt(ichar)==' ' && ichar > icount)
		--ichar;
	if (ichar!=(strValue.length-1))
	strValue = strValue.slice(0,ichar+1);
	ichar = 0;
	icount = strValue.length - 1;
	while (strValue.charAt(ichar)==' ' && ichar < icount)
		++ichar;
	if (ichar!=0)
		strValue = strValue.slice(ichar,strValue.length);
	return strValue;
}

function CancelEnter(){
	el = event.srcElement;
	if (event.keyCode == 13){
		return false;
	}
	return true;
}

function SetRadioButton(src){
	switch (src){
		case "rdoDelivery":
			document.getElementById("txtPickupDate").value = "";
			document.getElementById("txtDeliveryDate").focus();
			break;
		case "txtDeliveryDate":
			document.getElementById("txtPickupDate").value = "";
			document.getElementById("rdoDelivery").checked = true;
			break;
		case "rdoPickup":
			document.getElementById("txtDeliveryDate").value = "";
			document.getElementById("txtPickupDate").focus();
			break;
		case "txtPickupDate":
			document.getElementById("txtDeliveryDate").value = "";
			document.getElementById("rdoPickup").checked = true;
			break;
	}
}

function getPage(src){
	location.href = src;
}

