function IsNumeric(field,value,msg)
{
	if (isNaN(value))
	{
		alert(msg);		
		field.focus();
		field.select();
		return false;
	}
	else	
		return true;
}

function checkNull(fieldname)
{
	if(deleteExtremeSpaces(fieldname).value == "")
	{
		return true;
	}
	else
	{
		return false;
	}
}

function deleteExtremeSpaces(fieldname)
{
	var i, j;

	for(i=0; i<fieldname.value.length; i++ )
	{
		if (fieldname.value.charAt(i)!=" " && fieldname.value.charAt(i)!="\t" && fieldname.value.charAt(i)!="\n" )
			break;
	}

	for(j=fieldname.value.length-1; j>=0; j-- )
	{
		if (fieldname.value.charAt(j)!=" " && fieldname.value.charAt(j)!="\t" && fieldname.value.charAt(j)!="\n" )
			break;
	}

	if (i > j)
		fieldname.value = "";
	else
		fieldname.value = fieldname.value.substring(i, j+1);

return(fieldname);

}

function roundTo(field,decimal)
{
	if (!(field.value.indexOf(".") == -1 ))
	{
		if (decimal == 0)
			field.value = field.value.substring(0,field.value.indexOf(".")+decimal);
		else
			field.value = field.value.substring(0,field.value.indexOf(".")+decimal+1);
	}

}

function checkStock(field,stockvalue)
{

//alert(field.value + "    " + stockvalue);

	if(stockvalue.length > 0) {
		if(Number(field.value) > Number(stockvalue)) {
			alert("Quantity cannot be greater than " + stockvalue);
			field.select();
			field.focus();
			return false;
		}
	} else {
		alert("Stock not available!!!");
		field.select();
		field.focus();
		return false;
	}

	return true;
}

function checkRange(field,lowerValue,upperValue,nullAllowed, stkrow)
{

	if (arguments.length >= 4)
	{
		if(nullAllowed != 'Y' && deleteExtremeSpaces(field).value == "")
		{
			alert("Field cannot be left blank. Please enter some value.");
			field.value = lowerValue;
			field.select();
			field.focus();
			return false;
		}
		else if(nullAllowed == 'Y' && deleteExtremeSpaces(field).value == "")
		{
			return true;
		}
	}

	roundTo(field,0);

	if (field.value.toUpperCase().indexOf("E") != -1)
	{
		alert("Please enter Numeric Value.");
		field.select();
		field.focus();
		return false;
	}

	if (!(IsNumeric(field,field.value,'Please enter Numeric Value.')))
		return false;

	if ((arguments.length >= 2) && (field.value < lowerValue))
	{
		alert("Please enter value greater than or equal to "+lowerValue+".");
		field.select();
		field.focus();
		return false;
	}

	if (arguments.length >= 3)
	{
		if (upperValue == 0) return true;
		
		if (field.value < lowerValue || field.value > upperValue)
		{
			alert("Please enter value between "+lowerValue+" and "+upperValue+".");
			field.select();
			field.focus();
			return false;
		}
	}
	
	
	if(checkStock(field, (eval("document.viewcartform.prodstkqty"+stkrow)).value))
		return true;
	else
		return false;

return true;

}


function setFormAction(frmname) {
	//frmname.action = "/CheckoutServlet";
	frmname.action = "/SuperServlet";
	return true;
}



function checkLength(fieldname, valuelength)
{

	if(checkNull(fieldname)) return true;
	
	if(Number(fieldname.value.length) != Number(valuelength))
	{
		alert("Please enter a valid value of " +valuelength+ " characters long.");
		fieldname.focus();
		fieldname.select();
		return false;
	}

return true;

}

function checkEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}
	
	
function isOfLegalAge(fieldname) 
{

  var mm = fieldname.value.substring(0,2);
  var dd = fieldname.value.substring(3,5);
  var yyyy = fieldname.value.substring(6,10);

//alert("mm = "+mm+", dd = "+dd+", yyyy = "+yyyy);

  var d = new Date(mm + "/" + dd + "/" + yyyy);
  var t = new Date();
  var diffYears = t.getFullYear() - d.getFullYear();
  var diffMonths = t.getMonth() - d.getMonth();
  var diffDays = t.getDate() - d.getDate();

  return diffYears > 21 ? true : diffYears > 20 && diffMonths > -1 && diffDays > -1;
}

function callImageDisplay(sprodid) {
	newwin = window.open('imagedisplay.jsp?prodid=' + sprodid, 'newwin','scrollbars=yes,resizable=yes,height=365,width=560,top=300,left=400');
}

function callDetailsWin(sprodid) {
	newwin = window.open('productdetail.jsp?prodid=' + sprodid, 'newwin','scrollbars=yes,resizable=no,height=350,width=650,top=100,left=200');
}

function openDisclaimerWin()
{
	newWin = window.open('../html/disclaimer.html', 'newWin','width=550,height=350,top=100,left=100,screenX=100,screenY=100');
}

function openWin(filenm)
{
	if(filenm == "disclaimer") {
		newWin = window.open('disclaimer.html', 'newWin','width=750,height=550,top=100,left=100,screenX=100,screenY=100,scrollbars=auto');
	} else if(filenm == "termsconditions") {
		newWin = window.open('termsandconditions.html', 'newWin','width=700,height=650,top=100,left=100,scrollbars=auto');
	} else if(filenm == "webpurchase") {
		newWin = window.open('webpurchaseagreement.html', 'newWin','width=700,height=650,top=100,left=100,screenX=100,screenY=100,scrollbars=auto');
	} else if(filenm == "privacypolicy") {
		newWin = window.open('privacypolicy.html', 'newWin','width=700,height=650,top=100,left=100,screenX=100,screenY=100,scrollbars=auto');
	}
}

function openLargeImageWin(filenm)
{
	newWin = window.open(filenm, 'orderprint','scrollbars=yes,width=750,height=550,top=100,left=100,screenX=100,screenY=100');
}

function openExhibitionSlideShowWin(filenm)
{	
	newWin = window.open(filenm, 'orderprint','scrollbars=yes,width=750,height=550,top=100,left=100,screenX=100,screenY=100');
}
function openOrderPrintWin()
{
	newWin = window.open('../jsp/orderprint.jsp', 'orderprint','width=500,height=500,top=100,left=100,screenX=100,screenY=100');
}
function callAction(actionflag, recnum) {
	if(actionflag == "DeleteItem") {
		setFormAction(document.viewcartform);
		document.viewcartform.ActionFlag.value = actionflag;
		document.viewcartform.recnum.value = recnum;
		document.viewcartform.submit();
	} else if(actionflag == "AddItem") {
		setFormAction(document.itemform);
		document.itemform.ActionFlag.value = actionflag;
		document.itemform.pkgcode.value = recnum;
		document.itemform.submit();
	} else if(actionflag == "SaveCart") {
		setFormAction(document.viewcartform);
		document.viewcartform.ActionFlag.value = actionflag;
		document.viewcartform.submit();
	} else if(actionflag == "RetrieveCart") {
		ConfirmRetrive = confirm("While retriving the previously saved cart you will lose your currnt products(if any) in the cart. Want to continue?");
		if (ConfirmRetrive == true) {
			setFormAction(document.viewcartform);
			document.viewcartform.ActionFlag.value = actionflag;
			document.viewcartform.submit();
		}
	}else if(actionflag == "ProcessCheckout") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "ApplyPromoCode") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "UpdateItems") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "ShippingInfo") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.shippingform);
		document.shippingform.submit();
	} else if(actionflag == "ReviewOrder") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.revieworderform);
		document.shippingform.submit();
	} else if(actionflag == "S") {
		newwin = window.open("checktax.jsp","newwin","toolbar=no,directories=no,resize=yes,menubar=no,location=no,scrollbars=yes,width=490,height=400,maximize=null,top=70,left=280");
	}

}

function callAuctionAction(actionflag, recnum) {
	//alert("T" + actionflag + "    " + recnum + "T");
	if(actionflag == "DeleteItem") {
		setFormAction(document.viewcartform);
		document.viewcartform.ActionFlag.value = actionflag;
		document.viewcartform.recnum.value = recnum;
		document.viewcartform.submit();
	} else if(actionflag == "AddBid") {
		setFormAction(document.bidform);
		document.bidform.SearchActionFlag.value = actionflag;
		document.bidform.prodid.value = recnum;
		document.bidform.submit();
	} else if(actionflag == "ProcessCheckout") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "ApplyPromoCode") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "UpdateItems") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.viewcartform);
		document.viewcartform.submit();
	} else if(actionflag == "ShippingInfo") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.shippingform);
		document.shippingform.submit();
	} else if(actionflag == "ReviewOrder") {
		document.viewcartform.ActionFlag.value = actionflag;
		setFormAction(document.revieworderform);
		document.shippingform.submit();
	} else if(actionflag == "S") {
		newwin = window.open("checktax.jsp","newwin","toolbar=no,directories=no,resize=yes,menubar=no,location=no,scrollbars=yes,width=490,height=400,maximize=null,top=70,left=280");
	}

}

//functions for simple search validation

var errmsg  = "";
function isValidForm() {
	errmsg = "";
	if (document.frmSearch.searchtext.value!="" 
			&& document.frmSearch.category.value!="") {
			return true;
	} else {
		errmsg = errmsg + "Searchtext cannot be blank.";
		return false;
	}
} 

function fn_simplesearch() {
	if (isValidForm()) {
		
		document.frmSearch.method = "post";
		document.frmSearch.ActionFlag.value = "SimpleSearch";
		document.frmSearch.action = "/SuperServlet";
		document.frmSearch.submit();
	} else {
		alert(errmsg);
		document.frmSearch.searchtext.focus();
	}
}


// functions for image preloader

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//used in login form
function isBlank(val){

    if (val == "") {
        return true;
    }
    
    return false;
}

function checkForm(loginform){

    if (document.frmLogin.LoginId.value=="") {
        alert("Please enter your User ID.")
        document.frmLogin.LoginId.focus()
        return false;
    }
	
    if (document.frmLogin.Passwd.value=="") {
        alert("Please enter your Password.")
        document.frmLogin.Passwd.focus();
        return false;
    }
	
    return true;
}

function fn_checkbox() {
		
		if (document.shippingform.chkShipAddress.checked) {
			document.shippingform.addr1_s.readonly='0';
		} else {
			document.shippingform.addr1_s.readonly='1';
		}
}

function fn_editaccount() {
		document.frmGetAccountInfo.ActionFlag.value="EditAccountInfo";
		document.frmGetAccountInfo.method="post";
		document.frmGetAccountInfo.action="/SuperServlet";
		document.frmGetAccountInfo.submit();
		
}
	
function fn_changepwd() {
		document.frmGetAccountInfo.ActionFlag.value="ChangePassword";
		document.frmGetAccountInfo.method="post";		
		document.frmGetAccountInfo.action="/changepwd.jsp";
		document.frmGetAccountInfo.submit();
}


function checkChgPassForm() {
		
		var errormsg = "";
		var i = 0;
		
		if (document.frmChangePwd.Oldpwd.value=="") {
			i++;
			errormsg = errormsg+i+") Password value cannot be blank.\n";
		}
		if (document.frmChangePwd.Newpwd.value=="") {
			i++;
			errormsg = errormsg+i+") New Password value cannot be blank.\n";
		}
		if (document.frmChangePwd.Confirmpwd.value=="") {
			i++;
			errormsg = errormsg+i+") Confirm Password value cannot be blank.\n";
		}
		
		alert(errormsg);
		if (errormsg!="") {
			errormsg="Following problems are faced while changing password.\n"+errormsg;
			return false;
		}
		else {
			if (confirm("Are you sure you want to continue with registration ?")) {
				return true;
			} else {
				return false;
			}
		}
	}

	
	

	
	
function isNumber(inputStr){
    for (var i = 0; i < inputStr.length; i++){
        var n = inputStr.substring(i, i + 1)
        if (n < "0" || n > "9")
            return false
    }
    return true
}
function checkNextPageForm(pageForm){
	if (pageForm.pageno.value.length < 1){
		alert("Please enter page no.")
		pageForm.pageno.focus()
		return false;
	}
	if (!isNumber(pageForm.pageno.value)){
		alert("Only integers are allowed!")
		pageForm.pageno.focus()
		return false;
	}
	val = parseInt(pageForm.pageno.value)

	return true;
}	
