/*Function to check-uncheck all desired checkboxes*/function CheckAll(objFrmChk, objChk)
{	if (objChk.checked){		if (objFrmChk.length!=null){					for(var i=0; i<objFrmChk.length;i++){
				objFrmChk[i].checked=true;
			}
		}
		else{
			objFrmChk.checked=true;
		}	}			else{		if (objFrmChk.length!=null){					for(var i=0; i<objFrmChk.length;i++){
				objFrmChk[i].checked=false;
			}		}	
		else{
			objFrmChk.checked=false;
		}	}
}
/*To show/hide Admin Leftbar in application page*/
function ShowHide(objDiv,objImg)
{
	thisProcedure = objDiv;
	thisImage = objImg;
	if (thisProcedure.display == "none"){
		thisProcedure.display = "block";
		objImg.src = "images/CNHide.gif";
		objImg.align = "right";
	}
	else{
		thisProcedure.display = "none";
		objImg.src = "images/CNShow.gif";
		objImg.align = "left";
	}
}

function convert(obj1,obj2)
{
   var originalString1,originalString2;
   var myString1,myString2;
   
   myString1 = obj1.options[obj1.selectedIndex].value; 
   myString2 = obj2.options[obj2.selectedIndex].value; 
		   
   originalString1 = myString1;
   originalString2 = myString2;
	
   if (((myString1=="0") && (myString2=="N/A")) || ((myString1=="N/A") && (myString2=="0")) || ((myString1=="0") && (myString2=="0")) || ((myString1=="N/A") && (myString2!="0") && (myString2!="N/A")) ) 
   {	
		return false; 
   }
   
   if ((myString1=="N/A") && (myString2=="N/A")) 
   {	
		return true; 
   }
   else
   {     	 	
		myString1 = myString1.replace(",","");
		myString1 = myString1.replace("$","");
		myString1 = myString1.replace("Million","");
		myString1 = myString1.replace("+","");
			   
		myString2 = myString2.replace(",","");
		myString2 = myString2.replace("$","");
		myString2 = myString2.replace("Million","");
		myString2 = myString2.replace("+","");

		var result = compareValues(myString1,myString2);
		return CheckSmaller(originalString1,originalString2,result);
   }
}

function compareValues(v1, v2) 
{
  var f1, f2;
  f1 = parseFloat(v1);
  f2 = parseFloat(v2);
  if (!isNaN(f1) && !isNaN(f2)) {
    v1 = f1;
    v2 = f2;
  }

  if (v1 == v2)
  {return 0;}
	  
  if (v1 > v2)
	{return 1;}
  else
	{return -1;}
}

function CheckSmaller(myString1,myString2,result)
{
	if ((myString1.indexOf("Million")==-1) && (myString2.indexOf("Million")==-1))
	{	
		if (result==0)
			return 2;
		if (result==1)		
			return 3;
		if (result==-1)
			return 2;		
	}

	if ((myString1.indexOf("Million")==-1) && (myString2.indexOf("Million")!=-1))
	{	
		return 2;
	}

	if ((myString1.indexOf("Million")!=-1) && (myString2.indexOf("Million")==-1))
	{	
		return 3;
	}
		
	if ((myString1.indexOf("Million")!=-1) && (myString2.indexOf("Million")!=-1))
	{	
		if (result==0)
			return 2;
		if (result==1)		
			return 3;
		if (result==-1)
			return 2;		
	}	
}	

function CheckOptionsSelected(obj)
{
	var strField = obj;
	var bSelected = false;
	var count =0;
	for(var i=0; i<strField.length; i++){
		if(strField.options[i].selected) 
		{count++;}
		if(strField.selectedIndex=="") 	
		{bSelected = true;}
	}
	if(bSelected){	
		if(count>1)
			{return false;}	
		else
			{return true;}	
	}
	else{
		if(count>=1)
			{return true;}	
	}	
}

function CheckLength(obj,sMaxLength)
{
	var strVal,iLength;	strVal = new String(obj);	iLength = strVal.length;
	if(parseInt(sMaxLength) <= parseInt(iLength)){
		return false;
	}
	return true;
	
}

function FieldExists(objFrm,strFieldName)
{
	//alert(strFieldName);	
	var blnval = false;
	intTotElementsNum=objFrm.length ;
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		//alert(strElementName + "  :  " + objFrm.elements[intElementNum].name)
		//alert(strElementName.search(strFieldName))
		//return true only when teh whole string is found and taht too right on first position
		if(strElementName.search(strFieldName)==0)
		{
			blnval=true
			break;
		}
		else
		{
			blnval=false
		}
	}
	//alert(blnval);
	return (blnval);
}
function IsEmpty(obj)
 {
	var s = new String(obj);
	var blnEmpty = true;
	var strSpace = " ";
	var i,j;
	if(s.length!=0)
	{	
		for(i=0;i<s.length;i++)
		{	
			if(s.charAt(i)!= strSpace)
			{	
				blnEmpty = false;
			}
		}
	}			
	return(blnEmpty);		
}
function IsEmptyMultipleFields(objFrm,strFieldName)
{	
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(IsEmpty(objFrm.elements[intElementNum].value))
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;
}
function IsNumeric(obj) {
	var s = new String(obj);
	var blnNum = true;
	var str = "0123456789.,";
	var i,j;

	for (i=0;i<s.length;i++)
		if(str.indexOf(s.charAt(i))== -1)
			blnNum = false;
	return(blnNum);		
}

function IsNumericMultipleFields(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(IsNumeric(objFrm.elements[intElementNum].value)==false)
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;
}
function IsWholeNumber(obj) {
	var s = new String(obj);
	var blnNum = true;
	var str = "0123456789";
	var i,j;

	for (i=0;i<s.length;i++)
		if(str.indexOf(s.charAt(i))== -1)
			blnNum = false;
	return(blnNum);		
}
function IsWholeNumberMultipleFields(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(IsWholeNumber(objFrm.elements[intElementNum].value)==false)
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;
}
function CheckInvalidChars(strpString)
{
	//---check for invalid characters
	chr1='"';
	chr2="'";
	//chr3=" ";
	//badChars=chr1 + chr2 + chr3;
	badChars=chr1 + chr2;
	for(j=0;j<strpString.length;j++)
	{
		if(badChars.indexOf(strpString.charAt(j),0) != -1)
		{
			return false;
		}
	}
	return true;
}
function CheckInvalidCharsMultipleFields(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(CheckInvalidChars(objFrm.elements[intElementNum].value)==false)
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;
}
function CheckCombo(obj)
{
	var blnval=true;
	var strComboValue;
	strComboValue=obj.options[obj.selectedIndex].value;
	if(strComboValue=='--Select--' || strComboValue=='')
    {
		blnval=false;
    }
    return blnval;
}
function CheckHrCombo(obj)
{
	var blnval=true;
	var strComboValue;
	strComboValue=obj.options[obj.selectedIndex].value;
	if(strComboValue=='HR')
    {
		blnval=false;
    }
    return blnval;
}
function CheckMinCombo(obj)
{
	var blnval=true;
	var strComboValue;
	strComboValue=obj.options[obj.selectedIndex].value;
	if(strComboValue=='MIN')
    {
		blnval=false;
    }
    return blnval;
}
function CheckComboMultipleFields(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(CheckCombo(objFrm.elements[intElementNum].value)==false)
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;

}
function IsRdoChkBlank(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(objFrm.elements[intElementNum].checked==true)
			{
				blnval=false;
			}
		}
	}
	return blnval;
}
function IsRdoChkBlankMultipleFields(objFrm,strFieldName)
{
	var blnval=true;
	var intElementNum;
	var strElementName="";
	var intTotElementsNum=parseInt(objFrm.length);
	for(ctr=0;ctr<intTotElementsNum;ctr++)
	{
		intElementNum=parseInt(ctr);
		strElementName=objFrm.elements[intElementNum].name;
		if(strElementName.indexOf(strFieldName)==0)
		{
			if(IsRdoChkBlank(objFrm.elements[intElementNum].value,strFieldName)==false)
			{
				blnval=false;
			}
		}
		if(blnval==false)
		{
			objFrm.elements[intElementNum].focus();
			break;
		}
	}
	return blnval;

}
function CheckForDigit(theField)
{
  var checkOK = "0123456789.";
  var checkStr = theField.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  var intNo = 0;

  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    window.alert("Please enter only numeric value");
    theField.focus();
    return(false);
  }
	return(true);
}

function CheckEmail(txtField)
	{	
		var test1='@';
		var test2='.';
		check=0
		var varStr = txtField.value;
		varLen = varStr.length;
		flag=0;
		flag1=0;
		flag2=1;
		if(flag2 == 1)
		{
			for(i=0;i<varLen;i++)
			{
				if( test1 == varStr.charAt(i))  
				{
					if(varStr.length==1)
					{
						check=1
					}
					flag=1;		
				}
				if(test2 == varStr.charAt(i))
				{
					if(varStr.charAt(i-1)==test2)
					{
						check=1
					}					
					flag1=1;
				}
				if(i==(varLen-1))
				{	
					if( ((flag==0) & (flag1==0)) | ((flag==1) & (flag1==0)) | ((flag==0) & (flag1==1)) | (check==1))
					{
						return false;
	//					window.alert("Wrong E-MAIL Address, Please re-enter.");	
	//					txtField.focus();
						break;
					}
					else
					{
						return true;
					}
				}
			}
		}		
	}
function IsDate(strpDate)
	{
		var strDate,strSep,intPos1,intPos2,strYear,intYear
		var goodChars="0123456789";
		
		//---Find out separator character
		if (strpDate.indexOf("/")>0)
		{
			strSep="/";
		}
		else if(strpDate.indexOf("-")>0)
		{
			strSep="-";
		}
		else
		{
			return false;
		}	
		
		
		//---find out positions of separators
		intPos1=strpDate.indexOf(strSep)+1;
		
		if(intPos1==0)
		{
			return false;
		}
		
		intPos2=strpDate.indexOf(strSep,intPos1)+1;
		if(intPos2==0)
		{
			return false;
		}
		
		
		//---find out year
		strYear=strpDate.substring(intPos2);
		
		if(strYear=="")
		{
			return false;
		}
		

		//---check for year to be numeric		
		for(i=0;i<strYear.length;i++)
		{
			if(goodChars.indexOf(strYear.charAt(i),0) == -1)	
			{
				return false;
			}
		}
		
		intYear=parseInt(strYear);
		
		//---check for range of the year
		if(intYear<1000 || intYear>9999)
			return false;
				
		//---check for leap year
		if((intYear % 4)== 0)
			if(intYear % 100 == 0)
				if(intYear % 400 == 0)
					IsLeapYear=true;
				else
					IsLeapYear=false;
			else
				IsLeapYear=true;
		else
			IsLeapYear=false;
		
		//////////////////////////////////////////////////////////////////////////////////////////////
		
		//---find out month
		strMonth=strpDate.substring(intPos1,intPos2-1);
		if(strMonth=="")
		{
			return false;
		}
		
		//---check for month to be numeric		
		for(i=0;i<strMonth.length;i++)
			if(goodChars.indexOf(strMonth.charAt(i),0) == -1)	
				return false;
		
		intMonth=parseInt(strMonth);
		//---check for range of the month
		if(intMonth < 1 || intMonth > 12)
		{
			return false;
		}
		
		///////////////////////////////////////////////////////////////////////////////////////////////

		//---find out day
		strDay=strpDate.substring(0,intPos1-1);
		if(strDay=="")
		{
			return false;
		}
		
		//---check for day to be numeric		
		for(i=0;i<strDay.length;i++)
		{
			if(goodChars.indexOf(strDay.charAt(i),0) == -1)	
			{
				return false;
			}
		}
		intDay=parseInt(strDay);
		
		//---Check for day range
		if(intMonth==1 || intMonth==3 || intMonth==5 || intMonth==7 || intMonth==8 || intMonth==10 || intMonth==12)
		{
			if(intDay<1 || intDay>31)
			{
				return false;
			}
		}
		else if(intMonth==4 || intMonth==6 || intMonth==9 || intMonth==11)
		{
			if(intDay<1 || intDay>30)
			{
				return false;
			}
		}
		else if(intMonth==2)
		{
			if(IsLeapYear==true)
			{
				if(intDay<1 || intDay>29)
				{
					return false;
				}
			}
			else
			{
				if(intDay<1 || intDay>28)
				{
					return false;
				}
			}
		}

	return true;	
	}
	
	function PopupWindow(strpAction, strpTarget, intpWidth, intpHeight)
	{
		var intWidth=0;
		var intHeight=0;
		var strDimensions='';
		if (intpWidth==0)
		{
		  intWidth=screen.width;
		}
		else
		{
		  intWidth=intpWidth;
		}
		if (intpHeight==0)
		{
		  intHeight=screen.height;
		}
		else
		{
		  intHeight=intpHeight;
		}
		strDimensions = 'left=0,top=0,width=' + intWidth + ',height=' + intHeight + ',vscroll=yes,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes';
		open(strpAction, strpTarget, strDimensions);
	}

function Trim(obj) {
	var s = new String(obj);
	var str = ""
	var strSpace = " ";
	var i,j;
	
	for (i=0;i<s.length && s.charAt(i) == strSpace;i++);
	for (j=s.length; j>=0 && s.charAt(j - 1) == strSpace; j--);

	for (;i<j;i++)
		str = str + s.charAt(i);
	return (str)		
}

function LTrim(obj) {
	var s = new String(obj);
	var str = ""
	var strSpace = " ";
	var i,j;

	for (i=0;i<s.length && s.charAt(i) == strSpace;i++);
	for (;i<s.length;i++)
		str = str + s.charAt(i);
	return (str)		
}

function RTrim(obj) {
	var s = new String(obj);
	var str = ""
	var strSpace = " ";
	var i,j;

	for (j=s.length; j>=0 && s.charAt(j - 1) == strSpace; j--);

	for (i=0;i<j;i++)
		str = str + s.charAt(i);
	return (str)		
}

function UpperCase(theField)
{
	var str = theField.value;
	str = str.toUpperCase();
	theField.value = str;
	return;
}
function FormatNumberAfterDecimal(Number,NumDecimal)
{
	var pos=0;
	var strTemp1='';
	var strTemp2='';
	var strTemp3='';
	var strNumber='';

	strNumber=Number.toString();	
	
	if(isNaN(Number)==false)
	{
		pos=strNumber.indexOf(".");
		if(pos==-1)
		{	
			//adding decimal if there are'nt any decimals in teh number
			
			strNumber=strNumber + "."
			for(i=0;i<NumDecimal;i++)
			{
				strNumber=strNumber + "0"
			} 
		}
		else
		{
			strTemp1=strNumber.substr(0,pos)
			strTemp2=strNumber.substr(pos+1,strNumber.Length)
			strTemp3=strTemp2.substr(0,NumDecimal)
			strNumber=strTemp1 + "." + strTemp3
		}
	}
	return (strNumber);
}
function FormatNumberBeforeDecimal(strNumber,NumDecimal)
{
	var pos=0;
	var strTemp1='';
	var strTemp2='';
	var strTemp3='';
	
	if(isNaN(strNumber)==false)
	{
		pos=strNumber.indexOf(".");
		if(pos==-1)
		{
			if(strNumber.length<NumDecimal)
			{
				for(i=0;i<=(NumDecimal-strNumber.length);i++)
				{		strNumber= "0" + strNumber		}		
			}
		}
		else
		{
			strTemp1=strNumber.substr(0,pos)
			strTemp2=strNumber.substr(pos,strNumber.Length)
			if(strTemp1.length<NumDecimal)
			{
				for(i=0;i<=(NumDecimal-strTemp1.length);i++)
				{	strTemp1= "0" + strTemp1		}		
			}
			strNumber=strTemp1 + strTemp2
		}
	}
	return (strNumber);
}

function OpenWin(strpURL)
{
    window.open(strpURL,'details','toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes');
}

function RollOver(ImgId,ImgSrc)
{
	for(i=0;i<document.images.length ;i++)
	{	if(document.images[i].id==ImgId)
		{
			document.images[i].src=ImgSrc;
		}
	}
}
function RollOut(ImgId,ImgSrc)
{
	for(i=0;i<document.images.length ;i++)
	{	if(document.images[i].id==ImgId)
		{
			document.images[i].src=ImgSrc;
		}
	}
}
function checkDateBetween(startday,startMonth,startYear,EndDay,EndMonth,EndYear)
{
	if(parseInt(startYear)>parseInt(EndYear))
	{
		return false;
	}
	else
	{
		if(parseInt(startYear)==parseInt(EndYear))
		{
			if(parseInt(startMonth)>parseInt(EndMonth))
			{
				return false;
			}
			else
			{
				if(parseInt(startMonth)==parseInt(EndMonth))
				{
					if(parseInt(startday)>parseInt(EndDay))
					{
						return false;
					}
				}
		
			}
		}
		return true;	
	}
}