//
//	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

function checkid(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.charCodeAt(i);
		//13=Newline,9=Tab,10=Linefeed
		//alert(c);
		if(c==13 || c==9 || c==10)
			substr = str.substring(i+1,str.length)
		else
			break
	}

	lenstr = substr.length
	str = substr
	for (i=lenstr-1;i=0;i--)
	{
		c = str.charCodeAt(i);
		if (c==13 || c==9 || c==10)
			substr = str.substring(0,i-1)
		else
			break
	}

	return substr
}

//Numeric Validation
function isNumeric(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 = 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 isEMail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       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)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
    }

/*function isEMail(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 isURL(str)
{
return true ;
}

//Decimal Validation
function isDecimal(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)
{
  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 ;
}

function isAlphabetic(str)
{
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
  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 ;
}

//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;
}
function CompareDate_DDMMYYYY(ddmmyyyy1,ddmmyyyy2){
    var startDate = new Array();
    var endDate = new Array();
    startDate = ddmmyyyy1.split('-');
    endDate = ddmmyyyy2.split('-');
    var fd = startDate[0];
    var fm = startDate[1];
    var fy = startDate[2];
    var td = endDate[0];
    var tm = endDate[1];
    var ty = endDate[2];
   // alert(fd +"**" + fm +"**" +fy +"**" +td +"**" +tm + "**" +ty);
    return CompareDate(fd,fm,fy,td,tm,ty);

}
//Compare dates
function CompareDate(fd,fm,fy,td,tm,ty)
{
	 // alert("in original One");
	 // fd = parseInt(fd);
   // fm = parseInt(fm);
   // fy = parseInt(fy);

  //  td = parseInt(td);
  //  tm = parseInt(tm);
  //  ty = parseInt(ty);


	 /*var msg = "fd : >> " +fd + "\n";
   msg =  msg + "fm : >> " +fm + "\n";
   msg = msg + "fy : >> " +fy + "\n";

   msg = msg + "td : >> " +td + "\n";
   msg =  msg + "tm : >> " +tm + "\n";
   msg = msg + "ty : >> " +ty + "\n";*/

   var StartDate = fd  + "-" + fm + "-" + fy;
   var EndDate  = td + "-" +tm +"-" +ty;

   if(fy==ty && fm==tm && fd > td){
      alert("End Date Should Greater Then  Start Date");
			//alert(msg);
			// var msg = "Not a Valid Date Range\n";
			/// msg = msg +  StartDate + ">" + EndDate;
			//alert(msg)
			return false;
   }else if(fy==ty && fm > tm){
      alert("End Date Should Greater Then  Start Date");
			//alert(msg);
			//var msg = "Not a Valid Date Range\n";
			// msg = msg +  StartDate + " > " + EndDate;
			//alert(msg)
			return false;
   }else if(fy > ty){
      alert("End Date Should Greater Then  Start Date");
			//alert(msg);
			//var msg = "Not a Valid Date Range\n";
			// msg = msg +  StartDate + ">" + EndDate;
			//alert(msg)
			return false;
   }else{
   	  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() ;
	}
}

function getCurDateDDMMYYYY(){
    	today = new Date();
    	iDate = today.getDate();		//0 - 31
	    iDay = today.getDay();			//index of weekday
	    iMonth = today.getMonth();		//month no.
	    iYear = today.getYear();		//year
      if(iDay < 9)
          iDay = "0" + iDay;
      if(iMonth < 9)
         iMonth = "0" + iMonth;
      return iDate + "-" + iMonth + "-" + iYear;
}
//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 isEmpty(varName){
    if(varName=="")
      return true;
}

function popup(mylink, windowname)
{
    /*if (! window.focus)return true;
    var href;
    alert(mylink);
    if (typeof(mylink) == 'string') {
        alert('In if :' + mylink);
        href=mylink;

    } else
        href=mylink.href;*/
    window.open(mylink, windowname, 'width=400,height=200,scrollbars=yes');
    return true;
}
function ConfirmationMsg(msg) {
     var response = window.confirm(msg);
     if (response) {
          return true;
     }
     return false;
}
var win = null;
function newWindow(mypage,myname,w,h){


	leftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	topPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+topPosition+',left='+leftPosition+',scrollbars=Yes,resizable=no,maximize=no,titlebar=no,toolbar=no,hotkeys=no,location=no,directories=no,menubar=no,status=no,dependent=no'
	win = window.open(mypage,myname,settings)

//	win = window.showModalDialog(mypage,"Dialog Box Arguments # 1", "dialogHeight: "+h+"px; dialogWidth: "+w+"px; edge: Raised; center: Yes; help: No; resizable: No; status: No;");
	win.focus();
	return win;
}

function CallPrint(strid)
{
    var prtContent = document.getElementById(strid);
    var WinPrint =window.open('','','left=0,top=0,width=1,height=1,t oolbar=0,scrollbars=0,status=0');
    WinPrint.document.write(prtContent.innerHTML);
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();
    WinPrint.close();
    prtContent.innerHTML=strOldOne;
}