/*
	This is common function javascript document created at : 21 OCT 2007
	For supper pages web application ver : 1.0
	
	developed by Humayun Usman

*/
/*=============================================================================================================*/

function CheckForm(frmNo)
{
	frmNo = parseInt(frmNo);
	//alert(frmNo)
	var frmEle = document.forms[frmNo].elements.length;
	for(var arr = 0; arr<frmEle; arr++)
	{
		//alert(document.forms[frmNo].elements[arr].type)
		var chkinputName = TrimString(document.forms[frmNo].elements[arr].id.substr(0,3));
		var namestrlen = parseInt(document.forms[frmNo].elements[arr].name.length);
		var namestr = document.forms[frmNo].elements[arr].name.substr(3,namestrlen)
		
		if(chkinputName != "" && chkinputName == "txt" || chkinputName == "sel")
		{	
				var arrnamestr = namestr.split("_");
				if(TrimString(arrnamestr[0]) && arrnamestr[0] != "")
					 firstName = arrnamestr[0];
				else
					 firstName = "";
				if(TrimString(arrnamestr[1]) && arrnamestr[1] != "")
					 middleName = arrnamestr[1];
				else
					middleName = "";
				var namestr = firstName+" "+middleName;			
		}
		//alert(document.forms[frmNo].elements[arr].type + "---" + chkinputName)
		if(chkinputName != "" && chkinputName == "txt")
		{	
			if(document.forms[frmNo].elements[arr].type == "text" && document.forms[frmNo].elements[arr].disabled == false)
			{
					
					if(TrimString(document.forms[frmNo].elements[arr].value) == "")
					{
						alert("Please enter " + namestr + ".")
						document.forms[frmNo].elements[arr].value = "";
						document.forms[frmNo].elements[arr].focus();
						return false;
					}
			}
		}
		if(chkinputName != "" && chkinputName == "sel")
		{	
			if(document.forms[frmNo].elements[arr].type == "select-one")
			{
				if(TrimString(document.forms[frmNo].elements[arr].value) == "")
				{
					alert("Please select " + namestr + ".")
					//document.forms[frmNo].elements[arr].value = "";
					document.forms[frmNo].elements[arr].focus();
					return false;
				}
			}
			if(document.forms[frmNo].elements[arr].type == "select")
			{
				if(TrimString(document.forms[frmNo].elements[arr].value) == "")
				{
					alert("Please select " + namestr + ".")
					//document.forms[frmNo].elements[arr].value = "";
					document.forms[frmNo].elements[arr].focus();
					return false;
				}
			}
			
		}
	}
	return  true;
}
/*=============================================================================================================*/
function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}
function submitPaging(frm,page)
{
	document.frmPaging.pageNo.value = page;
	document.frmPaging.submit();
}
function DeleteRecord()
{
	var delCount=document.getElementById("chkDelIds").value;
	var cCounter=false;
	for(loopStart=3; loopStart<=delCount; loopStart++)
	{
		if(document.getElementById("chkDelete"+loopStart).checked)
		{
			cCounter=true;	
		}
	}
	if(cCounter == true)
	{
		var obtainRes = confirm("Are you sure you want to delete the records.");
		if(obtainRes == true)
		{
			document.getElementById("frmListing").submit();
			return true;
		}	
	}	
	else
	{
		alert("Must select at least one record for deletion .");
	}	
}
function DelRecord(act)
{
	var delCount=document.getElementById("chkDelIds").value;
	var cCounter=false;
	for(loopStart=3; loopStart<=delCount; loopStart++)
	{
		if(document.getElementById("chkDelete"+loopStart).checked)
		{
			cCounter=true;	
		}
	}
	if(cCounter == true)
	{
		var obtainRes = confirm("Are you sure you want to delete the records.");
		if(obtainRes == true)
		{
			document.getElementById("frmListing").action = act;
			document.getElementById("frmListing").submit();
			return true;
		}	
	}	
	else
	{
		alert("Must select at least one record for deletion .");
	}	
}
function CheckBoxChecked(optName,chkNameID)
{
	var delCount=document.getElementById("chkDelIds").value;
	var cCounter=false;
	for(loopStart=3; loopStart<=delCount; loopStart++)
	{
		if(document.getElementById(chkNameID+loopStart).checked)
		{
			cCounter=true;	
		}
	}
	if(cCounter == true)
	{
			return true;
	}	
	else
	{
		alert("Must select at least one  "+optName);
	}	
}
function IsCheckBoxChecked(optName,chkNameID)
{
	var delCount = document.getElementById("chkDelIds").value;
	var cCounter = false;
	for(loopStart=3; loopStart<=delCount; loopStart++)
	{
		if(document.getElementById(chkNameID+loopStart).checked)
		{
			cCounter=true;	
		}
	}
	if(cCounter == true)
	{
			return true;
	}	
	else
	{
		alert("Must select at least one  "+optName);
		return false;
	}	
}
function deleteRecordCheck()
{
	var pollchecks = document.getElementsByTagName("INPUT");
	var _return = false;	 
	for (var i = 0; i < pollchecks.length; i++)
	{			
		if(pollchecks[i].type == "checkbox" && pollchecks[i].checked == true )
		{
			_return = true;
			break;				
		}
	}
	if (_return == false)
	{
		alert('Please select at least one to remove.');
	}
	else
	{
		document.getElementById("frmListing").submit();
		//return true;
	}
	//return _return;
}

function CheckboxesCheckedDoSubmit(optName,chkNameID)
{
	var delCount = document.getElementById("checkboxDelete").value;
	var cCounter = false;
	for(loopStart = 1; loopStart<=delCount; loopStart++)
	{
		//alert(document.getElementById(chkNameID+loopStart).checked + delCount)
		if(document.getElementById(chkNameID+loopStart).checked)
		{
			cCounter=true;	
		}
	}
	if(cCounter == true)
	{
		document.getElementById("frmListing").submit();
		return true;
	}	
	else
	{
		alert("Must select at least one  "+optName);
	}	
}


function CheckIsNuneric(Obj,name)
{	
	pricepattern = /^[1-9][0-9]*\.?[0-9]*$/; //define patteren for valide user input entry 
	if(pricepattern.test(Obj.value) == false)
	{
	 //alert("Please enter valid entry for "+name);
	 Obj.value="";
	 Obj.focus();
	 return false;
	}
}
function openWin(filename,title,width,height)
{
	window.open(filename,title,'location=0,status=1,scrollbars=1,left=100,top=100,width='+width+',height='+height);
}
function ResetForm(frmNo)
{
	frmNo = parseInt(frmNo);
	//alert(frmNo)
	var frmEle = document.forms[frmNo].elements.length;
	for(var arr = 0; arr<frmEle; arr++)
	{
		//alert(document.forms[frmNo].elements[arr].type)
		if(document.forms[frmNo].elements[arr].type == "text" && document.forms[frmNo].elements[arr].disabled == false)
		{
			document.forms[frmNo].elements[arr].value = "";
		}
		if(document.forms[frmNo].elements[arr].type == "select-one" && document.forms[frmNo].elements[arr].disabled == false)
		{
			document.forms[frmNo].elements[arr].value = "";
		}
		
	}
	return false;
}
function CheckNumbers(Obj,name)
{	
   sText = Obj.value;
   var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12345667890_";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
   	      	IsNumber = false;
         }
      }
   
   if(IsNumber == false)
   {
		 //alert("Please enter valid characters entry for "+name);
		 Obj.value="";
		 Obj.focus();
   }
	return true;
}
function CheckPhoneNo(Obj,name)
{	
   sText = Obj.value;
   var ValidChars = "12345667890)(-";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
   	      	IsNumber = false;
         }
      }
   
 
   if(IsNumber == false)
   {
		 //alert("Please enter valid characters entry for "+name);
		 Obj.value="";
		 Obj.focus();
   }
	return true;
}
function formSubmit(frmID)
{
	//alert(frmID)
	document.getElementById(frmID).submit();
}
function CharatersEntry(sText,obj)
{
	
	
	 var str = "";			  
	 var flag = 0;
	  for (i = 0; i < sText.length; i++) 
      { 
			if(sText.charAt(i) == ")")
			{
				flag = 1;	
				break;
			}
	  }
	 
	 if(flag == 0)
	 {
		  str = "(";
		  for (i = 0; i < sText.length; i++) 
		  { 
				if(i == 0 && sText.charAt(i) == "(")
				{
					str += sText.charAt(i) + ")"; 
					str = "";
				}

		
				if(i == 3 && sText.charAt(i) != ")")
				{
					str += sText.charAt(i) + ")"; 
				}
				else
				{
					str += sText.charAt(i); 
				}
		  }
		  obj.value = "";
		  obj.value = str;
		 
	 }
}
function redirPage(frmID,frmAct)
{
	//frmID = new String(frmID);
	//frmAct = new String(frmAct);
	document.getElementById(frmID).action = frmAct;
	document.getElementById(frmID).submit();
	return true;
}
function checkTypedEmail(emailStr) {

/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
	alert("Email address seems incorrect (check @ and .'s)")
	//document.getElementById("error_html").innerHTML = "Email address seems incorrect (check @ and .'s)";
	
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
  	 alert("The username doesn't seem to be valid.")
	//document.getElementById("error_html").innerHTML = "The username doesn't seem to be valid.";
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
			//document.getElementById("error_html").innerHTML = "Destination IP address is invalid!";
	        alert("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	//document.getElementById("error_html").innerHTML = "The domain name doesn't seem to be valid.";
	alert("The domain name doesn't seem to be valid.")
    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   // the address must end in a two letter or three letter word.
   alert("The address must end in a three-letter domain, or two letter country.")
   //document.getElementById("error_html").innerHTML = "The address must end in a three-letter domain, or two letter country.";
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
   //document.getElementById("error_html").innerHTML = "This address is missing a hostname!";
   alert(errStr)
   return false
}


return true;
}
function ShowInfo(iD,innerHtm)
{
	document.getElementById(iD).innerHTML = innerHtm;
}
function ShowDisplay()
{
	document.getElementById("btnPhone").disabled=true;
	document.getElementById("divph").style.display ="inline";
}
	function ShowList(obj)
	{
		var flg = 0;
		if(obj.checked)
		{
			parObj = obj.parentNode.parentNode.parentNode.parentNode;
			optName = parObj.rows[0].cells[1].innerHTML;
			str = new String(optName);

			for(var opt1 = 0; opt1 < document.getElementById("optionList").options.length; opt1++)
			{
				if(document.getElementById("optionList").options[opt1].text == str)				
				{
					flg = 1;
					break;
				}
			}
			if(flg == 0)
			{
				opt = new Option();
				opt.text = parObj.rows[0].cells[1].innerHTML;
				opt.value = parObj.rows[0].cells[1].innerHTML;
				document.getElementById("optionList").options.add(opt);
			}
		}
		else
		{
			parObj = obj.parentNode.parentNode.parentNode.parentNode;
			optName = parObj.rows[0].cells[1].innerHTML;
			str = new String(optName);

			for(var opt1 = 0; opt1 < document.getElementById("optionList").options.length; opt1++)
			{
				if(document.getElementById("optionList").options[opt1].text == str)				
				{
					document.getElementById("optionList").remove(opt1);
					break;
				}
			}
		}
	}

function ShortString(StrNew,ID)
{
	str = new String(StrNew);
	strlen = str.length
	if(strlen > 255)
	{
		StrNew = str.substr(0,255);
	}
	document.getElementById(ID).value = StrNew;
}
function DropLayer()
{
	document.getElementById("Layer1").style.display = "inline";
}	

function closeDiv()
{
	document.getElementById("Layer1").style.display = "none";
}

function CheckURL(strURL,ID)
{
	if(isURL(strURL) ==  false)
	{
		//document.getElementById(ID).focus();
		document.getElementById(ID).value ="";
		
	}
}

function isURL(urlStr)
{
/*	if (urlStr.indexOf(" ")!=-1){alert("Spaces are not allowed in a URL");return false;}if(urlStr==""||urlStr==null){return false;}urlStr=urlStr.toLowerCase();var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s" + specialChars + "\]";var atom=validChars + '+';var urlPat=/^http:\/\/(\w*)\.([\-\+a-z0-9]*)\.(\w*)/;var matchArray=urlStr.match(urlPat);if (matchArray==null){alert("The URL seems incorrect \ncheck it begins with http://\n and it has 2 .'s");return false;}var user=matchArray[2];var domain=matchArray[3];for (i=0; i<user.length; i++) {if (user.charCodeAt(i)>127) {alert("This domain contains invalid characters.");return false;}}for (i=0; i<domain.length; i++) {if (domain.charCodeAt(i)>127) {alert("This domain name contains invalid characters.");return false;}}var atomPat=new RegExp("^" + atom + "$");var domArr=domain.split(".");var len=domArr.length;for (i=0;i<len;i++) {if (domArr[i].search(atomPat)==-1) {alert("The domain name does not seem to be valid.");return false;}}if (domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {alert("The address must end in a well-known domain or two letter " + "country.");
	return false;
}*/
return true;
}

function CheckEmpty(frmNo)
{

	var setflag = 0;
	frmNo = parseInt(frmNo);
	var frmEle = document.forms[frmNo].elements.length;
	for(var arr = 0; arr<frmEle; arr++)
	{
		
		//alert(document.forms[frmNo].elements[arr].type + alert(document.forms[frmNo].elements[arr].value))
			if(document.forms[frmNo].elements[arr].type == "text" && document.forms[frmNo].elements[arr].disabled == false)
			{
				if(TrimString(document.forms[frmNo].elements[arr].value) != "")
				{
					setflag = 1;
					return true;
					break;
				}
			}
			if(document.forms[frmNo].elements[arr].type == "select-one")
			{
				if(TrimString(document.forms[frmNo].elements[arr].value) != "")
				{
					setflag = 1;
					return true;
					break;
				}
			}
			if(document.forms[frmNo].elements[arr].type == "select")
			{
				if(TrimString(document.forms[frmNo].elements[arr].value) != "")
				{
					setflag = 1;
					return true;
					break;
				}
			}
	}
	

	if(setflag == 0)
	{
		document.getElementById("err").style.display="inline";
		return  false;
	}
	if(setflag == 1)
	{
		document.getElementById("err").style.display="none";
		return  true;
	}
	
}
function CheckdateComp(field1,field2,message)
{
//		alert(field1)
//		alert(field2);
		var startdate = field1.split('/');
		var currentdate =   field2.split('/');
		//alert(startdate+' ' +currentdate);
		
		var startyear = startdate[2];

		var startmonth = startdate[1];
		var startday = startdate[0];

		//alert(startyear+''+startmonth+''+startday);
		var currentyear = currentdate[2];
		var currentmonth = currentdate[1];
		var currentday = currentdate[0];
	
		//10 year back================
		
		//var tenYearBack = tenYearBack;
		
		var iStartDate = new Date(startyear,startmonth-1,startday);
		
		var icurrentDate = new Date(currentyear,currentmonth-1,currentday);
		
		
		
		var iDaySeconds = 1000 * 60 * 60 * 24;
		var startSeconds = iStartDate.getTime();
		var currentSeconds = icurrentDate.getTime();
		
		setDay1 = Math.ceil(startSeconds/iDaySeconds);
		setDay2 = Math.ceil(currentSeconds/iDaySeconds);
		//alert(setDay1 )
		//alert(setDay2 )
		if(setDay2 < setDay1)
		{
								
				alert(message)
				return false;
		}
		else
			return true;
}
function Clear()
{
	document.getElementById("txtDateFrom").value = "";	
	document.getElementById("txtDateTo").value = "";	
}
function CheckDates()
{
	var dateFrm = document.getElementById("txtDateFrom").value;	
	var dateTo  = document.getElementById("txtDateTo").value;	
	if(dateFrm != "" && dateTo == "") 
	{
		alert("Please enter date to.");	
		return  false;
	}
	if(dateFrm == "" && dateTo != "") 
	{
		alert("Please enter date from.");	
		return  false;
	}
	if(CheckdateComp(dateFrm,dateTo,"Date from must be less than to To date if you want to search.") == false)
	{
		return false;
	}
	return true;		
}		
function showDIV(ID)
{
	document.getElementById(ID).style.display = 'inline';
}
function SetLocation(state,city)
{
	document.getElementById(state).value = "";
	document.getElementById(city).value = "";
	
}

