
function isBlank(formObj) // Check for Blank field
{
	if (formObj==null)
		{return true;}
	
	if ((formObj.value.length==0) || (formObj.value==null))
		{return true;}
	
	// Containing only whitespaces 
	var regExp = /^\s+$/; 
	
	if (formObj.value != "" || regExp.test(formObj.value))
		{return false;}
	
	return true;
}

function isNumber(formObj)
{
	// Containing only digits 
	var regExp = /^\d+$/;
		
	if(isBlank(formObj) || regExp.test(formObj.value))
		{return true;}
	
	return false;
}

function trimtxt(formobj)
 {
	while(formobj.value.charAt(0)==' ')
			formobj.value=text.value.substring
	(1,formobj.value.length )
			while(formobj.value.charAt
	(formobj.value.length-1)==' ')
			formobj.value=text.value.substring
	(0,formobj.value.length-1)
	
	finaltxt = formobj.value;
	return finaltxt;
}

function isCompanyName(obj)
{	
	var regExp = /^[a-zA-Z]/ ;
	
	var sName = obj.value;
	if(regExp.test(sName) == false)
	{ return false; }
	
	return true;
}

function isURL(formObj)
{	
	var objVal = formObj.value;
	
	if(objVal.substring(0,4).toLowerCase() != "http" && objVal.substring(0,1).toLowerCase() != "/")
	{ return false; }
	
	return true;
}

function ErrMsg (theField, s)
{   
	theField.focus();
//   theField.select();  *** select on fields removed.
    alert(s);
    return false;
}

function isEmail(formObj)
{
	var objVal = formObj.value;
	var elength = objVal.length;

	// Standard E-Mail ID format
	var echeck = /^.+\@.+\.[a-zA-Z]+$/; 

	// Contains anything apart from [a-zA-Z0-9],-,_,@,.	
	var alphacheck = /[^\w\@\-\._]/; 
	
   	var a = new Array();
	var i=0;
	var j=0;  
	var b=0;
	var c =0;
	var testchar;
   
	if (isBlank(formObj))
		{ return true; }
	
	// To check that the string does not begin or end with a @ or a .
	testchar = objVal.charAt(0);
	if(testchar == '@' || testchar == '.')
			{ return false; }
	testchar = objVal.charAt(objVal.length - 1);
	if(testchar == '@' || testchar == '.')
			{ return false; }
	
	if (alphacheck.test(objVal))
		{ return false; }
		
	// Checks that string does not have more than one '@'
	for(i=0; i < elength; i++)
	{
		a[i] = objVal.charAt(i);	  
		if (a[i] == '@')
			b=b+1;
	}
	
	if(b>1)
		return false;   
   
//	 Checks that the string does not have a '@' immediately followed 
//	 *  by a '.' or vice versa
	      
	for(i=0; i < elength; i++) {
		a[i] = objVal.charAt(i);	  
		j = objVal.charAt(i+1);
		if((a[i]=='@' || a[i]=='.') && (j=='@' || j=='.') )
			return false;
    }
	
  if (echeck.test(objVal) == false)
  	 return false; 
  
  return true;
}

function isFloat(formObj)
{
	var fVal = formObj.value;
	var regExp = /^[0-9]+\.[0-9]+$/;
	var regExp2 = /^\.[0-9]+$/;
	if(regExp.test(fVal) == false && regExp2.test(fVal) == false )
	{
		return false;
	}
	return true;
}

function isFloatFormat(formObj,nInt,nFrac)
{
	var fVal = formObj.value;
	if(parseInt(nInt)<=0 || parseInt(nFrac)<=0)
	{
		return false;
	}
	var sExp = "^[0-9]{" + 1 + "," + nInt + "}\\\.[0-9]{" + 1 + "," + nFrac + "}$";
	var regExp = new RegExp(sExp);
	var sExp2 = "^\\\.[0-9]{" + 1 + "," + nFrac + "}$";
	var regExp2 = new RegExp(sExp2);
	if(regExp.test(fVal) == false && regExp2.test(fVal) == false )
	{
		return false;
	}
	return true;
}

function returnDate(Obj)
{
	dtVal = Obj.value;
	var yy="";
	var mm="";
	var dd="";
	
	var firstsep=0;
	var lastsep=0;
	var nLen=0;
	var i=0;
	
	firstsep=dtVal.indexOf("/");
	if(firstsep != -1)
	{
		lastsep = dtVal.lastIndexOf("/");
	}
	else
	{
		firstsep=dtVal.indexOf("-");
		lastsep = dtVal.lastIndexOf("-");
	}
	nLen=dtVal.length;
	for(i=0;i<firstsep;i++)
	{
		dd += dtVal.charAt(i);
	}
	for(i=firstsep+1; i<lastsep; i++)
	{
		mm += dtVal.charAt(i);
	}
	mm -= 1;
	for(i=lastsep+1; i<nLen; i++)
	{
		yy += dtVal.charAt(i);
	}
	
	// The following "if" is necessary for Netscape-based sessions
	// if(yy>=0 && yy <=999)
	if(yy <= 999)
	{
		yy += 1900;
	}
	
	var dt = new Date(yy,mm,dd,0,0,0);
	return dt;
}

function isTime(formObj)
{
	var tVal = formObj.value;
	var nLen = tVal.length;
	var regExpHMS = /^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$/;
	var regExpHM = /^[0-9]{1,2}:[0-9]{1,2}$/;
	
	if(regExpHMS.test(tVal) == false)
	{
		if(regExpHM.test(tVal) == false)
		{
			return false;
		}
	}
	
	var hr="";
	var mins="";
	var sec="";
	
	var firstsep = tVal.indexOf(":");
	var lastsep = tVal.lastIndexOf(":");
	var i=0;
	
	for(i=0;i<firstsep;i++)
	{
		hr += tVal.charAt(i);
	}
	if(hr<0 || hr >23)
	{
		return false;
	}
	if(lastsep == firstsep)//Hr:min format
	{
		for(i=firstsep+1; i<nLen; i++)
		{
			mins += tVal.charAt(i);
		}
		sec = 0;
		if(mins<0 || mins>59)
		{
			return false;
		}
	}
	else
	{
		for(i=firstsep+1; i<lastsep; i++)
		{
			mins += tVal.charAt(i);
		}
		if(mins<0 || mins>59)
		{
			return false;
		}
		for(i=lastsep+1; i<nLen; i++)
		{
			sec += tVal.charAt(i);
		}
		if(sec<0 || sec>59)
		{
			return false;
		}
	}	
	return true;
}

function isDateMDY(formObj)
{
	var objVal = formObj.value;
	var regExpDate =/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$/; 
	var regExpDateDash = /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$/; 

	if(regExpDate.test(objVal) == false)
	{
		if(regExpDateDash.test(objVal) == false)
		{
			// alert("Improper format");
			return false;
		}
	}
	var firstsep=0;
	var lastsep=0;
	firstsep = formObj.value.indexOf("/");
	if(firstsep == -1)
	{
		firstsep = formObj.value.indexOf("-");
		lastsep = formObj.value.lastIndexOf("-");
	}
	else
	{
		lastsep = formObj.value.lastIndexOf("/");
	}

	var monthValue  = "";
	var dateValue   = "";
	var yearValue   = "";
	var testChar    = "";
	var nLen = formObj.value.length;o

	for (i=0; i < firstsep; i++)
	{
		testChar = objVal.charAt(i);
		if (testChar < '0' || testChar > '9')
		{
			// alert("date: testChar < '0' || testChar > '9'");
			return false;
		}
		monthValue += objVal.charAt(i);
	}
	
	for (i=firstsep + 1; i < lastsep; i++)
	{
		testChar = objVal.charAt(i);
		if (testChar < '0' || testChar > '9')
		{
			alert("month: testChar < '0' || testChar > '9'");
			return false;
		}
		dateValue += objVal.charAt(i);
	}
	
	for (i=lastsep + 1; i < nLen; i++)
	{
		testChar = objVal.charAt(i);
		if (testChar < '0' || testChar > '9')
		{
			alert("year: testChar < '0' || testChar > '9'");
			return false;
		}
		yearValue += objVal.charAt(i);
	}
	
	var testDate   = new Date(yearValue, monthValue - 1, dateValue);
//  var testDate = new Date(Date.parse(objVal));
	
	var newMonth   = (testDate.getMonth()) + 1;
	var newDate	   = testDate.getDate();
	var newYear	   = (testDate.getYear());// + 1900;
	
	// alert(newDate + "-" + newMonth + "-" + newYear);
	
	if ((monthValue == newMonth) &&
		(dateValue  == newDate) &&
		(yearValue  == newYear))
		return true;
	else
	{
// alert("!((monthValue == newMonth) && (dateValue  == newDate) && (yearValue == newYear))");
		return false;
	}
}

function isNumericFormat(Obj,nInt,nFrac)
{
	if(isNumber(Obj)==true)
	{
		if(Obj.value.length <= nInt)
		{return true;}
		else
		{return false;}
	}
	
	// if isNumber returned false
	if(isFloatFormat(Obj,nInt,nFrac) == true)
	{return true;}
	
	return false;
}

function Remove_Suc_Spaces_InString (formobj)
{   
	trimtxt(formobj);

	if(formobj.value == "")
	{return "";}

	var s = formobj.value;
	var i;
    var whitespace = " \t\n\r";
	var returnString = "";
	var check=0;
	
    // Search through string's characters one by one.
    // If character is not in WhiteSpace, append to returnString.
	for (i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) 
		{
			returnString += c;
			check=0;
		}
		else
		{
			if (check==0)
			{
		    	returnString += c;
				check=1;	
			}	
		}
    }
    return returnString;
}

function isAlphaNumeric(formObj)
{
	trimtxt(formObj);
	var objValk = formObj.value;
	var respc = /^[\s]+$/

	if (respc.test(formObj.value) == true)
	{return false;}

	
	formObj.value = objValk;
	var testChar  = " ";
	var objVal 	  = objValk;
	var valLength = objVal.length;
	
	if (objVal == "")
	{return true;}
	
	for (var i=0; i < valLength; i++)
	{
		testChar = objVal.charAt(i);
		
		if ( (testChar < '0' || testChar > '9') &&
			 (testChar < 'a' || testChar > 'z') &&
			 (testChar < 'A' || testChar > 'Z') )

		{
			return false;
		}
	}
	
	return true;
}

function toggleShowHide(ElementName) {
	if (document.getElementById(ElementName).style.display == "none") {
		document.getElementById(ElementName).style.display="";
	} else {
		document.getElementById(ElementName).style.display="none";
	}
}

var popUpWin=0;
function openWin(linkURL)
{
  if(popUpWin)
  {
  if (popUpWin && popUpWin.open && !popUpWin.closed) popUpWin.close();
  }
  popUpWin = window.open(linkURL, 'detailpage', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=800,height=500,left=30,top=50,screenX=30,screenY=50');
  bringToTop = popUpWin.focus();
}

var popUpWin2=0;
function openPOSWin(linkURL)
{
  if(popUpWin2)
  {
  if (popUpWin2 && popUpWin2.open && !popUpWin2.closed) popUpWin2.close();
  }
  popUpWin2 = window.open(linkURL, 'detailpage', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=900,height=600,left=50,top=50,screenX=50,screenY=50');
  bringToTop = popUpWin2.focus();
}


