function changeQueryStr(queryStr,paraName,value) {
   var paraName1="&"+paraName+"=";
   var paraName2=paraName+"=";
   if(queryStr=="") {
   		return paraName2+value;
   }
   var begin1=queryStr.indexOf(paraName1);
   var begin2=queryStr.indexOf(paraName2);
   var end=0;
   if(begin1>0 || begin2==0)	{
   	  if(begin1>0) {
	   	  end=queryStr.indexOf("&",begin1+1);
	   	  if(end>=0)
		   	  queryStr=queryStr.substring(0,begin1)+paraName1+value+queryStr.substring(end);
		  else
		   	  queryStr=queryStr.substring(0,begin1)+paraName1+value;
	   }
	   else if(begin2==0)	{
	   	  end=queryStr.indexOf("&",begin2+1);
	   	  if(end>0)
	   	  	queryStr=paraName2+value+queryStr.substring(end);
	   	  else
	   	  	queryStr=paraName2+value;
	   }
   }
   else
	  queryStr=queryStr+paraName1+value;
   return queryStr;
}


function fieldIsNDigital(fieldObj,bits,errorMsg1,errorMsg2)	{
		if (fieldObj.value=="") {
	  	    alert(errorMsg1);
		    fieldObj.select();
		    fieldObj.focus();
    		    return false;
  		}
		if(fieldObj.value.length!=bits)	{
		    fieldObj.select();
	  	    alert(errorMsg2);
		    fieldObj.focus();
    		    return false;
		}
		else	
	  	  return fieldIsDigital(fieldObj,errorMsg2);
}

function fieldIsDigital(fieldObj,errorMsg)	{
		for(var i=0;i<fieldObj.value.length;i++)	{
			var c=fieldObj.value.charAt(i);
			if(c<'0' || c>'9')	{
		  	    alert(errorMsg);
			    fieldObj.select();
			    fieldObj.focus();
		    	    return false;
			}
		}
		return true;
}

function fieldIsMoney(fieldObj,errorMsg)	{
		for(var i=0;i<fieldObj.value.length;i++)	{
			var c=fieldObj.value.charAt(i);
			if( !((c>='0' && c<='9') || c=='.') )	{
		  	    alert(errorMsg);
			    fieldObj.select();
			    fieldObj.focus();
		    	    return false;
			}
		}
		return true;
}

function removeAllOpts(selectObj)	{
	var sltObj=selectObj;
	for(var i=sltObj.length-1;i>=0;i--)
		sltObj.options[i]=null;
}

function gotoPage(jspStr,queryStr,pageNum)
{
   queryStr=changeQueryStr(queryStr,"page",pageNum);
   location.href=jspStr+"?"+queryStr;
   return true;
}

function setNumEachPage(jspStr,queryStr,field)	{
   queryStr=changeQueryStr(queryStr,"page",1);
   queryStr=changeQueryStr(queryStr,"numEachPage",field.options[field.selectedIndex].value);
   location.href=jspStr+"?"+queryStr;
   return true;
}

function trim(s)
{
  for (var i=0; i<s.length && s.charAt(i)==' '; i++);
  for (var j=s.length; j>0 && s.charAt(j-1)==' '; j--);
  if (i > j-1) return "";
  return s.substring(i,j);
}

function getArrayByStr(str,myArray) {
	str=trim(str);
	if(str.length==0) return myArray;
	while(str.indexOf(",")>=0) {
		 var v = str.substring(0,str.indexOf(","));
		 v=trim(v);
		 if(v.length==0) continue;
		 myArray[myArray.length] = v;
		 str = str.substring(str.indexOf(",")+1);
	}
	myArray[myArray.length] = str;
	return myArray;
	
}

function _checkForm(form)
{
    var isrequiredFields = new Array();
    var isrequiredFieldsDisp = new Array();
    var isrequiredFieldsType = new Array();
    isrequiredFields = getArrayByStr(form.isrequired_fields.value,isrequiredFields);
    isrequiredFieldsDisp = getArrayByStr(form.isrequired_fieldsDisp.value,isrequiredFieldsDisp);
    isrequiredFieldsType = getArrayByStr(form.isrequired_fieldsType.value,isrequiredFieldsType);
    var hasValue = false;
    var elementObj = null;
    var errmsg;
    for(var i=0;i<isrequiredFields.length;i++) {
    	hasValue = true;
    	elementObj = eval("form."+isrequiredFields[i]);
    	if(isrequiredFieldsType[i].toLowerCase() == 'radio' || isrequiredFieldsType[i].toLowerCase() == 'checkbox') {
    		hasValue = false;
    		for(var j=0;j<elementObj.length;j++) {
    			var obj = null;
    			if(elementObj.length==1)
    				obj = eval("form."+isrequiredFields[i]);
    			else 
    				obj = eval("form."+isrequiredFields[i]+"["+j+"]");
    			if(obj.checked) {hasValue = true; break;}
    			errmsg = "Please Choose one '" + isrequiredFieldsDisp[i] + "'";
    		}
    	}
    	else if(isrequiredFieldsType[i].toLowerCase() == 'textbox') {
    		if(trim(elementObj.value)=='') {
			errmsg = "Please enter the '" + isrequiredFieldsDisp[i] + "'";
    			hasValue = false;
    		}
    	}
    	else if(isrequiredFieldsType[i].toLowerCase() == 'pulldown') {
    		if(elementObj.options[elementObj.selectedIndex].value=='') {
    			errmsg = "Please Choose one '" + isrequiredFieldsDisp[i] + "'";
    			hasValue = false;
    		}
    	}
    	
    	if(!hasValue) {
    		alert(errmsg); 
    			if(isrequiredFieldsType[i].toLowerCase() == 'radio' || isrequiredFieldsType[i].toLowerCase() == 'checkbox') {
    			
    			}else     		
    		eval("form."+isrequiredFields[i]).focus();
    		return false;
    	}
    }
    return true;
}


function popUpHelp() {
   var helpcode=arguments[0];
   var winleft=100;var wintop=100;var winwidth=500;var winheight=300;
   var url="https://www.bookdirect.com/HTMLJSP/helpmsg.jsp?helpcode="+helpcode+"&drdr="+Math.ceil(Math.random()*10000000);
   var sAgent = navigator.userAgent.toLowerCase();
   var sAgent1=navigator.appName.toLowerCase();
   var isNetScape=false;
   if(sAgent.indexOf("netscape")>=0 || sAgent1.indexOf("netscape")>=0)
	isNetScape=true;
   if(!isNetScape) {
        showModalDialog(url,"","dialogLeft:"+winleft+"px;dialogTop:"+wintop+"px;dialogWidth:"+winwidth+"px;dialogHeight:"+winheight+"px;status:no;help:no;edge:sunken;scroll:no");
   }
   else {
   	var winobj=open(url,"","left="+winleft+",top="+wintop+",width="+winwidth+",height="+winheight+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0");
   	winobj.focus();
   }
}
