
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//	@		Description			: Function IsNumeric checks whether the entered value is a 
//	@											numeric and greater than Zero
//  @		Function Name		: IsNumeric(value)									
//	@		Input Parameters: value to be tested
//	@		Return Value		: 0 - Success	  1 - Failure			
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

function IsNumeric(value)
{
	var validate=/(^\d+$)/
	if ((validate.test(value)) && (value > 0))
		return 0; 
	else
		return 1; 
}
// End of the function IsNumeric(value)

//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//	@		Description			: This function is for submitting the form automatically when user  
//	@											selects a subcategory from list-box.
//  @   Pages Affected  : items, itemdesc
//  @		Function Name		: submitlist()									
//	@		Input Parameters: null
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

function submitlist(sBc)
{
	var value,sCatText;
	value=document.frmList.lstSubCategory.options[document.frmList.lstSubCategory.selectedIndex].value;
	sCatText=document.frmList.lstSubCategory.options[document.frmList.lstSubCategory.selectedIndex].text;
	if(value != "0")
	{
		document.frmList.action = sNonSecurePath + "items.asp?Cc=" + value + "&CatName=" + sCatText + "&Bc=" + sBc + "&BrandName=" + sBrandName + "&Tp=" + sTpCatalog + "&iTpStatus=1";
		document.frmList.submit();
	}
}
// End of the function submitlist()

//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//	@		Description			: This function checks	whether the entered qty is correct or not.
//  @                   : If any related items is checked then it is passed thru hidden 
//  @                   : field called chkitems with ',' as seperator
//  @   Pages Affected  : Itemdesc, Itemmatrix
//  @		Function Name		: preprocess()									
//	@		Input Parameters: Value to be tested									
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


function preprocess(iWishList, iUnits){ 

	var retval, iItemqty, iTotalqty, qty, iIndex, iRelatedQty;
	qty=document.frmAdd.qty.value;
	retval=IsNumeric(qty);
	iRelatedQty = 0;

	if(retval == 1)	{
		alert(getMessage("iValidQuantity"));
		document.frmAdd.qty.value=iUnits;
		document.frmAdd.qty.focus();
		return;
	}
	
	if (iWishList == 0){
		iItemqty = qty*1
		if ((iMaxCount != "") && (bMaxItem.toLowerCase()=="true")){
			iTotalqty = parseInt(sCartItems)
			if (document.frmRelated){
				if(document.frmRelated.chkItems.length > 1){
					for (iIndex = 0; iIndex < document.frmRelated.chkItems.length; iIndex++){
						if (document.frmRelated.chkItems[iIndex].checked){
							iRelatedQty =  iRelatedQty + parseInt(document.frmRelated.chkItems[iIndex].value.split(",")[1]);
						}
					}
				}
				else{
					if (document.frmRelated.chkItems.checked){
						iRelatedQty =  parseInt(document.frmRelated.chkItems.value.split(",")[1]);
					}
				}
				
			document.write (iRelatedQty);
			}
			if((iItemqty + iTotalqty + iRelatedQty)>parseInt(iMaxCount)){
				alert(getMessage("iTotalQtyExceed") + " " + iMaxCount);
				document.frmAdd.qty.value=iUnits;
				document.frmAdd.qty.focus();
				return;
			}
		}
		for (count=0;count<document.forms.length;count++){
				if (document.forms[count].name=="frmRelated"){	
					var sItemList="";
					for(index=0;index<(document.frmRelated.elements.length);index++) {
						if(document.frmRelated.elements[index].checked){
							sItemList+=document.frmRelated.elements[index].value + "," ;
							iItemqty++;				
						}
					}
					sItemList = sItemList.substring(0,sItemList.length-1)
							iItemqty++;			
							
					document.frmAdd.chkItems.value = sItemList;
				}
		}
		
		//sItemList=sItemList+","+document.frmAdd.achkItems.value + "," ;
		document.frmAdd.chkItems.value = sItemList;
		document.frmAdd.submit();
	}
	else{
		document.frmAdd.action = sNonSecurePath + "includes/AddWishitem.asp?Tp=" + sTpCatalog
		document.frmAdd.submit();
	}
}
// End of the function preprocess()


//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//	@		Description			: This function is used to submit the upgrade items form.
//  @   Pages Affected  : Itemdesc
//  @		Function Name		: UpgradeBuy(itemcode)									
//	@		Input Parameters: itemcode = Item Code									
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

function UpgradeBuy(itemcode,iUnits)
{
	iTotalqty = parseInt(sCartItems)
	if ((iMaxCount != "") && (bMaxItem.toLowerCase()=="true")){
		if(iTotalqty >= parseInt(iMaxCount)){
			alert(getMessage("iTotalQtyExceed") + " " + iMaxCount);
			return;
		}
	}
	document.frmUpgrade.ic.value = itemcode;
	document.frmUpgrade.qty.value = iUnits;
	document.frmUpgrade.submit();
}
// End of the function UpgradeBuy(itemcode)

//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//	@		Description			: Validation for EMail									@
//  @		Function Name		: IsEmail()												@
//	@		Input Parameters	: Value to be tested									@
//	@		Return Value		: 0 - Success											@
//	@							  1 - Failure											@
//	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
function IsEmail(strEmail)
{
var intReturn =1;
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>'@,;:\\\\\\\"\\.\\[\\]'"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=strEmail.match(emailPat)
	if (matchArray==null ) {
		alert(getMessage("iValidEmail"));
		return intReturn;
	}
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) {
    alert(getMessage("iValidEmail"));
    return intReturn;
}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert(getMessage("iValidEmail"));
			return intReturn;
			}
		}
		intReturn=0;
		return intReturn;
	}
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert(getMessage("iValidEmail"));
    return intReturn;
}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) {
	alert(getMessage("iValidEmail"));
	return intReturn;
	}
var len=domArr.length	
if (len<2) {
   var errStr = getMessage("iValidEmail");
   alert(errStr)
   return intReturn;
}
intReturn=0;
return intReturn;
}
//	End of the function IsEmail(strEmail)
