//
//	This function changes the state of all the checkboxes in the form
//	Arguments:	FormName		: Name of the form
//				CheckboxName	: Name of checkboxes. All must have the same name.
//				CheckUncheck	: The value 0 or 1. ( To be checked or not).
//
//Trim spaces 
// Added by Nirav Date 10/13/2006 3:46PM for avoiding sql injection
//Email 
function isAlphaNumericEmail(str)
{
	str=Trim(str);
	
	if(str=="")
	{
		alert("Please enter email");
		return false;
	0}
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_@.-";
  var checkStr = str;
  var allValid = true;
  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 (!allValid)
  {    
  		alert("Please enter valid email");
    	return false;
  }
  if(!isEMailValid(str))
  {
    alert("Please enter valid email");
    	return false;
  }
	return true ;
}
//Boolean 
function ValidBool(dData)
{
	if(Trim(dData.toLowerCase())!=="true" && Trim(dData.toLowerCase())!=="false")
	{
		return false;
	}
	return true;
}
function checkid(str)
{ 
	str=Trim(str);
 lenstr = str.length
 for (i=0;i<lenstr;i++)
 {
	c = str.charAt(i);	
	if(c == ' ' || c == '\n'  || c == '\r')
	{
		alert("Enter valid member id");
		return false;
		break   
	}	
 }
}

function Trim(str)
{ 
	
 lenstr = str.length
 substr = str
 for (i=0;i<lenstr;i++)
 {
	c = str.charAt(i);	
	if(c == ' ' || c == '\n'  || c == '\r')
		substr = str.substring(i+1,str.length)
	else
		break   
 }

 lenstr = substr.length
 str = substr 
 //alert(lenstr);
 for(i=(lenstr)-1;i>=0;i--)
 {
	c = str.charAt(i);
	//alert("hello")
	if (c == ' ' || c == '\n' || c == '\r')
	{
		substr = str.substring(0,i);		
	}
	else
	{
		break;
	}
 } 
 return substr	
}
// Added by Pradip 21/01/2005
function isValidChars(str, chars)
{
  var checkOK = chars;
  var checkStr = str;
  var allValid = true;
  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 (!allValid)
  {    
    return false;
  }
	return true ;
}
// Added by Pradip 21/01/2005
function isAlphaNumericWith(str, extra)
{
	//UnCommented by Pradip on 02/04/2005
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_" + extra;
	return isValidChars(str, chars);
	//
	//Commented by Pradip on 02/04/2005
	//return !isSpecialChars(str, extra); //Modified by Pradip on 14/02/2005
}
//Numeric Validation
function isNumeric(str)
{
	str=Trim(str);
  var checkOK = "0123456789";
  var checkStr = str;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  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;
    }
    allNum += ch;
  }
  if (!allValid)
  {    
    return (false);
  }
	return (true) ;
}

//Phone Validation
function isPhoneFax(str)
{  
	
  var checkOK = "0123456789-()";
  var checkStr = Trim(str);
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  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;
    }
    allNum += ch;
  }
  if (!allValid)
  {    
    return (false);
  }
	return (true) ;
}

function isEMailValid(str)
{
	lenstr = Trim(str).length;
	nAtr = str.indexOf("@");
	nDot = str.indexOf(".",nAtr);
	nAtr2 = str.indexOf("@",nAtr+1);
	nfDot = str.indexOf(".");
	nlDot = str.indexOf(".",lenstr-1);
	nDDot = str.indexOf("..");

	if (lenstr>4 &&  nAtr>0 && nDot>(nAtr+1) && nAtr2==-1 && nDot<lenstr-1 && nfDot>0 && nlDot==-1 && nDDot==-1)
		return true;
	else
		return false;
return true ;
 
}
function isEMail(str)
{
		return isAlphaNumericEmail(str);
}

function isURL(str)
{  
return true ;
}

//Decimal Validation
function isDecimal(str)
{ 
	str=Trim(str); 
  var checkOK = "0123456789.";
  var checkStr = str;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  var deccnt = 0
  for (iCount = 0;  iCount < checkStr.length;  iCount++)
  {
    ch = checkStr.charAt(iCount);    
    for (jCount = 0;  jCount < checkOK.length;  jCount++)
      if (ch == checkOK.charAt(jCount))
        {	  
		  if (ch=='.')	
		    deccnt=deccnt+1		    
          break;
        } 
    if (jCount == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }  
   if (!allValid || deccnt>1)
  {    
    return false;
  }
	return true ;
}


//Alpha Numeric Validation
function isAlphaNumeric(str)
{
	str=Trim(str);
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
  var checkStr = str;
  var allValid = true;
  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 (!allValid)
  {    
    return false;
  }
	return true ;
}

//Alpha Numeric Validation with Hyphen
function isAlphaNumericWithHyphen(str)
{
	str=Trim(str);
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
  var checkStr = str;
  var allValid = true;
  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 (!allValid)
  {    
    return false;
  }
	return true ;
}

// UserName Validator when Register user
function UserNameValidator(strUserName)
{
		
		strUserName=Trim(strUserName);
		// Rescrited UserName List Array
		arrRecUserName = new Array();
		arrRecUserName[0]="system";
		arrRecUserName[1]="test";
		arrRecUserName[2]="demo";
		arrRecUserName[3]="username";
		arrRecUserName[4]="name";
		arrRecUserName[5]="admin";
		arrRecUserName[6]="guest";
		var iCount=0;
		//Blank User Name
		if(strUserName == "")
		{
			alert("Please enter your user Name");	
			return false;
		}
		//UseerName Length Check
		if(strUserName.length > 20 || strUserName.length < 4)
		{
			alert("User name must be between 4 to 20 characters");			
			return false;
		}
		//Valid UserNAme Input
		if(!isAlphaNumeric(strUserName))
		{
			alert("Invalid username.\n username field should contain characters from the following groups.\n captial letter (A-Z),\n small letter (a-z) \n numeric Character (0-9)\n please re-enter \"username\".");	
			return false;
		}
		// Check for Some Restricated User Name
		for(iCount=0;iCount<arrRecUserName.length;iCount++)
		{
			if(strUserName.toLowerCase()==arrRecUserName[iCount])
			{	
					alert("Invalid username. please enter another username");								
					return false;
					break;
			}
		}
		return true;
}

//function is used for validate Login information for login
// Return Value Type
//1 - Error for Username
//2 - Error for Password
//0 - Successful
function ValidLoginInfo(strUserName,strPassword,bUserNameCheck,bPasswordCheck)
{
	strUserName= Trim(strUserName);
	strPassword=Trim(strPassword);
		//valid UserName Input		
		if(bUserNameCheck)
		{
		
					if(strUserName == "")
					{
						alert("Please enter your user Name");	
						return 1;
					}
				
	
					if(!isAlphaNumeric(strUserName))
					{
						alert("Please enter valid value for \"username\" .");	 
						return 1;
					}
		}
		if(bPasswordCheck)
		{
					// Password Input Validation		
					var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_!$%^&*(;:@#)~";		
			  	var checkStr = strPassword;
			  	var allValid = true;        
			  	// Passsword is Blank
					if(checkStr=="")
					{
						alert("Please enter your password");	
							return 2;
					}  
					
					// Password Characters validations
				  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 (!allValid)
				  {   
				  	alert("Please enter valid value for \"password\" .");	 
				    return 2;
				  }
		 }
		return 0;
}
//Password Field characher Validation
// Password Validation
function PasswordValidator(str,strUserName)
{	
	str= Trim(str);
	strUserName= Trim(strUserName);	
	if(str == "")
	{
		alert("Please enter valid value for \"password\" .");
		return false;
	}
	if(str.length < 8 || str.length > 20 )
	{
		//alert("\n Invalid password value\n The password field must contain at least one character from each of these groups: \n capital letter (A-Z), lower case letter (a-z), a numeric character (0-9) and a special character (!-*) \n Please re-enter \"password\".");
		alert("\n Invalid password value <br>The password field must be contain atleast One character (a-z) and numeric Character (0-9) \n please re-enter password");
		//alert("\n Invalid password value \n password field must be contain atleast one character from each group of  \n captial letter (A-Z), small letter (a-z) \n numeric character (0-9), special character(" + checkOK4 + ")\n please re-enter \"password\".");	
		return false;
	}
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var checkOK2 = "0123456789";
  var checkOK3= "abcdefghijklmnopqrstuvwxyz";
  var checkOK4= "_!$%^&*(;:@#)~";
  var checkStr = str;
  var allValid = true;
  var iCount=0;
  var IcountCap=0;
  var ICountSmall=0;
  var ICountSpecial=0;
  var ICountNum=0;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
    {  if (ch == checkOK.charAt(j))
    		{
    			IcountCap=1;			
        	break;
        }
    }  
    for (p = 0; p < checkOK2.length;  p++)
    {  if (ch == checkOK2.charAt(p))
    	 {
    			ICountNum=1; 		
        	break;
       }
    } 
    for (q = 0; q < checkOK3.length;  q++)
    {  if (ch == checkOK3.charAt(q))
    	 {
    			ICountSmall=1;
        	break;
       }
    }
    for (u = 0; u < checkOK4.length;  u++)
    {  if (ch == checkOK4.charAt(u))
    	 {
    			ICountSpecial=1;
        	break;
       }
    }  
    if ((j+p+q+u) == (checkOK.length + checkOK2.length + checkOK3.length + checkOK4.length))
    //if ((p+q) == (checkOK2.length + checkOK3.length))
    {
    	allValid = false;
      break;
    }
  }
  if (!allValid)
  {   
  	alert("Please enter valid value for \"password\" .");	 
    return false;
  }
  //check for Atleast one Character must be Capital Letter
  /*if(IcountCap==0)
  {  	  	
		alert("\n Atleast One character in the \"Password\" should be Captial letter between A-Z letters\n Please re-enter \"Password\" .");	
  	return false;
  }
  */
  //check for Atleast one Character must be Small Letter
  if(ICountSmall==0)
  {  	  	
		alert("\n Atleast One character in the \"Password\" should be Small letter between a-z letters\n Please re-enter \"Password\" .");	
  	return false;
  }
  //check for Atleast one Character must be Numeric
  if(ICountNum==0)
  {  	
  	alert("\n Atleast One character in the \"Password\" should be Numeric\n Please re-enter \"Password\" .");	
  	return false;
  }
  /*
  //check for Atleast one Character must be Special Character
  if(ICountSpecial==0)
  {  	  	
		alert("\n Atleast One character in the \"Password\" should be Special charecter from (" + checkOK4 + ")\n Please re-enter \"Password\" .");	
  	return false;
  }*/
  if (ICountNum==0 ||ICountSmall==0 )
  {
	
  	//alert("\n Invalid password value \n The password field must be contain atleast one character from each group of  \n captial letter (A-Z), small letter (a-z) \n numeric character (0-9), special character(" + checkOK4 + ")\n please re-enter \"password\".");	
  	alert("\n Invalid password value <br>The password field must be contain atleast One character (a-z) and numeric Character (0-9) \n please re-enter password");
  	return false;
  }
  
  //added By Nirav Patel 10/5/2006 3:23PM
	//The UserName and Password Not Same
	if(strUserName!="")
	{
		if((str).toLowerCase()==(strUserName).toLowerCase())
		{		
			alert(" Password must not be same as username");			
				return false;
		}
	}
	return true;
}

//Date Validation
function isDate(fd,fm,fy)
{
	fd = parseInt(fd);
	fm = parseInt(fm);
	fy = parseInt(fy);
	
	lipyr=false;	
	div = (fy%4);
	days=28;
	
	if(div==0)
	{
		lipyr=true;
		days = 29;
	}
	if(fm==2 && fd>days)
	{
		return false;
	}
	if((fm==4 || fm==6 || fm==9 || fm==11) && fd==31)
	{
		return false;
	}
	return true;
}

//Compare dates
function CompareDate(fd,fm,fy,td,tm,ty)
{
	fd = parseInt(fd);
    fm = parseInt(fm);
    fy = parseInt(fy);
   
    td = parseInt(td);
    tm = parseInt(tm);
    ty = parseInt(ty);
	
	if(fy == ty)
	{
		if(fm == tm && parseInt(fd)>parseInt(td))
		{
			alert("Please Enter valid date range.");				
			return false;
		}					
		else
		{
			if(parseInt(fm) > parseInt(tm))
			{
				alert("Please Enter valid date range.");				
				return false;
			}
		}	
	}
	else
	{
		if(parseInt(fy) > parseInt(ty))
		{
			alert("Please Enter valid date range.");				
			return false;
		}
	}
	return true;
}

function fCheckAll(oCheckBox,bChecked)
{
	if(oCheckBox)
	{
		if (oCheckBox.length >= 0) 
			for(i=0;i<oCheckBox.length;i++)
				oCheckBox[i].checked = bChecked ;
		else
			oCheckBox.checked = bChecked ;
	}
}

function CheckAll(oCheckBox,bChecked)
{
	if (oCheckBox.length >= 0) 
	{
		for(i=0;i<oCheckBox.length;i++)
		{
		oCheckBox[i].checked = bChecked ;
		}
	}
	else
	{
		oCheckBox.checked = bChecked ;
	}
}

//check wheather checkbox is selected or not
//frmchkname : formname.checkboxname
function IsCheckboxSelected(frmchkname)
{
	if(frmchkname){
		if(frmchkname.length >= 0)
		{	
			for(i=0;i<frmchkname.length;i++)
			{
				if(frmchkname[i].checked)			
					return true;		
			}		
		}
		else
		{
			if(frmchkname.checked)
				return true;
		}			
		alert("Please Check atleast one value !");
	}
	return false;
}

function IsCheckboxSelected11(FormName, CheckboxName)
{
	formContainer = eval("document." + FormName);
	len = formContainer.elements.length;
	for(i = 0 ; i < len; i++)
	{
		ele = formContainer.elements[i];
		var elename = ele.name
		elename = elename.substring(0,CheckboxName.length)
		if(elename == CheckboxName)
		{
			if(ele.checked == true)
				return true;
		}
	}
	return false;
}

function createRadioButton(bIsColumn, strControl, strSlot, strAddress)
{
//	var strCBName = "cbGroup" + strGroup + strText;

/*	if(bIsColumn)
		if(iRCount > 0)
			return;
		else
			iRCount ++;
	else if(iCCount > 0)
		return;
	else
		iCCount ++;
*/
		
	var strCBName = "cbGroupSelect";
	var strOut = "";
	strOut += "<INPUT TYPE=\'CheckBox\' VALUE=\'ON\' ";
	strOut += " name=\'" + strCBName + "\' ";
	if(bIsColumn)
		strOut += "onclick = 'selectColumn(";
	else
		strOut += "onclick = 'selectRow(";
	strOut += " this.form,\"" + strControl + "\"";
	strOut += ", \"" + strSlot + "\",\"" + strAddress + "\"";
	strOut += ",this.checked ";
	strOut += ");\'";
	strOut += " >";

	document.write(strOut);

}

function selectValue(formName, fieldName, value)
{
	comboBox = eval("document."+formName+"."+fieldName);

	if(comboBox != null)
	{
		len = comboBox.options.length;
		for(i=0;i<len;i++)
		{
			val = comboBox.options[i].value;
			if(val == value)
			{
				comboBox.options[i].selected = true;
				return;
			}
		}
	}
}

function selectRadio(formName, radioName, value)
{
	containerForm = eval(formName);
	for(i=0;i<containerForm.elements.length;i++)
	{
		ele = containerForm.elements[i];
		if(ele.name == radioName && ele.value == value)
		{
			ele.checked = true;
			return;
		}
	}
}



//Set Selected value in appropriate Combo
function fselected(sColumn,sId,sName)
{
	nLength = eval("document.forms[0]."+sColumn+".length") ;
	eval("document.forms[0]."+sColumn+".options[nLength] = new Option(sName,sId)") ;
	eval("document.forms[0]."+sColumn+".value = \""+sId+"\"") ;
}

function ftoupper(objId,e)
{
	if (event.keyCode >= 65 && event.keyCode <= 90)
	{
		sId = objId.value;
		objId.value = sId.toUpperCase() ;
	}
}


//displays current date as Sunday, January 01, 2001.
function getDate()
{
	var day = "";
	var month = "";

	today = new Date();
	iDate = today.getDate();		//0 - 31
	iDay = today.getDay();			//index of weekday
	iMonth = today.getMonth();		//month no.
	iYear = today.getYear();		//year

	switch(iDay)
	{
		case 0:		day = "Sunday";			break;
		case 1:		day = "Monday";			break;
		case 2:		day = "Tuesday";		break;
		case 3:		day = "Wednesday";		break;
		case 4:		day = "Thursday";		break;
		case 5:		day = "Friday";			break;
		case 6:		day = "Satureday";		break;
	}
	switch(iMonth)
	{
		case 0:		month = "January";		break;
		case 1:		month = "February";		break;
		case 2:		month = "March";		break;
		case 3:		month = "April";		break;
		case 4:		month = "May";			break;
		case 5:		month = "June";			break;
		case 6:		month = "July";			break;
		case 7:		month = "August";		break;
		case 8:		month = "September";	break;
		case 9:		month = "October";		break;
		case 10:	month = "November";		break;
		case 11:	month = "December";		break;
	}
	return(day + ', ' + month + ' ' + iDate + ', ' + iYear);
}

//displays current time as 10.25 pm
function getTime()
{

	var ampm="";
	var ampmhour="";
	var myminutes="";


	iHours = today.getHours();
	ampm = (iHours >= 12) ? 'pm' : 'am';
	iHours = (iHours > 12) ? iHours - 12 : iHours;

	iMinutes = today.getMinutes();
	iMinutes = ((iMinutes < 10) ? ':0' : ':') + iMinutes;
	
	return(iHours + iMinutes + ' ' + ampm);
}

/*-----------------------------------------------------------
Creator : Biraj(27-March-2002)
purpose : function checks maximum no. of characters u can enter in a textarea
Arguments : 
	oFrmName : form name (eg.this)
	nLength : No. of characters u want to restrict
return :	true/false
*/
function fTACheckLength(oFrmName,nLength)
{	
	for (i=0;i<oFrmName.elements.length;i++)
	{	
		if(oFrmName.elements[i].type=="textarea")
		{
			nLen=oFrmName.elements[i].value.length;			
			if(parseInt(nLen) > parseInt(nLength))
			{	
				alert("Enter maximum " + nLength + " characters only");
				oFrmName.elements[i].focus();
				return false;
			}			
		}
	}
	return true;
}

/*-----------------------------------------------------------
Creator : Biraj(2-April-2002)
purpose : function adds an item as first item from left to right
Arguments : 
	oListBoxOnRight : name of listbox on right
	sNewText : text of a string which u want to add from left to right
	sNewValue : value of a string which u want to add from left to right
return :	nothing
*/
function fAddFirst(oListBoxOnRight,sNewText,sNewValue)
{
	iLen = oListBoxOnRight.length;

	if(iLen>0)
	{
		sText = oListBoxOnRight[iLen-1].text;
		sVal = oListBoxOnRight[iLen-1].value;
		oListBoxOnRight.options[iLen] = new Option(sText,sVal);
		
		for(iLST=iLen-1;iLST>=0;iLST--)
		{
			if(iLST==0)
			{
				oListBoxOnRight[iLST].text = sNewText; 
				oListBoxOnRight[iLST].value = sNewValue; 
				break;
			}
			
			oListBoxOnRight[iLST].text = oListBoxOnRight[iLST-1].text ; 
			oListBoxOnRight[iLST].value = oListBoxOnRight[iLST-1].value ; 
		}
	}
	else	
		oListBoxOnRight.options[iLen] = new Option(sNewText,sNewValue);
		
}

/*-----------------------------------------------------------
Creator : Biraj(10-April-2002)
purpose : function shows message to admin 
Arguments : None
return :	nothing
*/
function fMessage(len)
{
	if(len==1)
		return true;
		
	var msg = "Only first selected value will be saved.\n";
	msg += "Do you want to continue?"
	if(confirm(msg))
		return true;
	else
		return false;	
}

/*-----------------------------------------------------------
Creator   : Umesh(19-April-2002)
purpose   : function Set the focus on first control
Arguments : name of object
return    :	nothing
*/
function SetFocus(element)
{
	if(element)
	{
		element.focus();
	}	
}

  function clrField(which) {
    var elem = document.getElementById(which)
    elem.value = "";
    elem.focus()
  }

  function valSrch(which,testval) {
    var elem = document.getElementById(which)
    if ((elem.value == testval) || (elem.value == "")){
      alert ("You must enter some keywords before clicking go.");
      elem.focus()
      return false;
    }
    return true;
  }

  function reset() {
    var max = 14
    for(var i = 1;i < max;i++) {
      var elem = top.document.getElementById("tpBtn"+i); 
      elem.style.color='white';      
      var elem = top.document.getElementById("cell"+i);
      elem.style.border='outset 2px rgb(206,214,223)';
    }
  }

  function btnon(which) {
    reset();
    var elem = document.getElementById("tpBtn"+which) 
    elem.style.color='black';    
    var elem = document.getElementById("cell"+which);
    elem.style.border='inset 1px silver';
  }

function fSurvey(sURL)
{
	if(sURL!="")
		location.href = sURL;
}
function fHlink(ii)
{
	fHlinkReset();
	var action = "";
	var elem = document.getElementById("li"+ii) 
	elem.style.color='#FFFF00';
	elem.style.font='bolder 8pt Verdana';
}

function fHlinkReset() {
    var max = 8;
    for(var i = 1;i < max;i++) {
      var elem = document.getElementById("li"+i); 
      elem.style.color='black';      
    }
  }
//Checking for leap year and validating date
function leapyear(Day,Month,Year)
{

	
	if((Year%4 == 0) && ((Year%100 != 0) || (Year%400 == 0)))
	{
		
		if (Month == 2)
		{
			if (Day > 29)
			{
				return false;
			}
		}
	}
	else
	{
		if (Month == 2)
		{
			if (Day > 28)
			{
				return false;
			}
		}
	}
	return true;
}


	function DateDiff( start, end,interval,rounding)
{

    var iOut = 0;

    var startMsg = "Check the start date and end date\n"
        startMsg += "must be a valid date format.\n\n"
        startMsg += "Please try again." ;
		
    var intervalMsg = "Sorry the dateadd function only accepts\n"
        intervalMsg += "d, h, m OR s intervals.\n\n"
        intervalMsg += "Please try again." ;

    var bufferA = Date.parse( start ) ;
    var bufferB = Date.parse( end ) ;
    	
    
    if ( isNaN (bufferA) || isNaN (bufferB) ) {
        alert( startMsg ) ;
        return null ;
    }
	
    
    if ( interval.charAt == 'undefined' ) {
        alert( intervalMsg ) ;
        return null;
    }
    
    var number = bufferB-bufferA ;
    
    switch(interval.charAt(0))
    {
        case 'd': case 'D': 
            iOut = parseInt(number / 86400000) ;
            if(rounding) iOut += parseInt((number % 86400000)/43200001) ;
            break;
        case 'h': case 'H':
            iOut = parseInt(number / 3600000 ) ;
            if(rounding) iOut += parseInt((number % 3600000)/1800001) ;
            break ;
        case 'm': case 'M':
            iOut = parseInt(number / 60000 ) ;
            if(rounding) iOut += parseInt((number % 60000)/30001) ;
            break ;
        case 's': case 'S':
            iOut = parseInt(number / 1000 ) ;
            if(rounding) iOut += parseInt((number % 1000)/501) ;
            break ;
        default:
        
        // didn't meet the d,h,m,s criteria.  Handle
        // the error.</KBD> 		
        alert(intervalMsg) ;
        return null ;
    }
    return iOut ;
}



function CompareDate1(fd,fm,fy,td,tm,ty)
{
	fd = parseInt(fd);
    fm = parseInt(fm);
    fy = parseInt(fy);
   
    td = parseInt(td);
    tm = parseInt(tm);
    ty = parseInt(ty);
	
	if(fy == ty)
	{
		if(fm == tm && fd>td)
		{
			alert("Please enter valid date range.");				
			return false;
		}					
		else
		{
			if(parseInt(fm) > parseInt(tm))
			{
				alert("Please enter valid date range.");				
				return false;
			}
		}	
	}
	else
	{
		if(parseInt(fy) > parseInt(ty))
		{
			alert("Please enter valid date range.");						
			return false;
		}
	}
	return true;
}



//* This is added by santosh for w3c validation*//

	function fopenHelpWin(url)
	{
		var surl = url + "static/help.asp";
		window.open(surl,"HELPPAGE","scrollbars=0,top=50,left=50,height=541,width=520,resizable=No")
	}
	function fInviteColl(sstr)
	{
		sstr=sstr+"static/invitepopup.asp";
		//alert(sstr);
		window.open(sstr,null,'width=562,height=460,resizable=no,top=50,left=125,menubar=no,scrollbars=no,status=0,titlebar=yes,toolbar=0');
	}
	
	function fopen(sUrl)
	{
		sStr = sUrl;
		sStr = sStr+"static/invitepopup.asp";
		//alert(sStr);
		window.open(sStr,null,'width=562,height=600,resizable=no,top=30,left=125,menubar=no,scrollbars=yes,status=0,titlebar=yes,toolbar=0');
		return false
	}
	
//* end of block *//