// JavaScript Document
/*
	1. trim()


*/

var blnValidityCheck = true;

// function to trim text
function getCurrentDate() {
	
	var m_names = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	
	var d = new Date();
	var x;
	var curr_date = d.getDate();
	
	if(curr_date < 10) {
		curr_date = "0" + curr_date;
	}
	
	var curr_month = d.getMonth();
	var curr_year = d.getFullYear();
	var currDate = curr_date + "-" + m_names[curr_month] + "-" + curr_year;
	
	var array = new Array()
	
	array[1] = "Jan"
	array[2] = "Feb"
	array[3] = "Mar"
	array[4] = "Apr"
	array[5] = "May"
	array[6] = "Jun"
	array[7] = "Jul"
	array[8] = "Aug"
	array[9] = "Sep"
	array[10] = "Oct"
	array[11] = "Nov"
	array[12] = "Dec"
	
	var k = currDate.split("-")
	
	for(i=1;i<13;i++)
	{
		if(k[1]==array[i])
		{
			x = i;
			if(x < 10) {
				x = "0" + x;
			}
			k[1] = x;
			break;
		}
	}
		
	var CurrentDate =  k[0] + "/" +  k[1] + "/" + k[2]
	return CurrentDate;
}


function isValidDate(d,convert) {
	
	//var strDatestyle = "US"; //United States date style
 	var strDatestyle = "EU";  //European date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intDay;
	var intMonth;
	var intYear;
	var booFound = false;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	strDate = d;
	if (strDate.length < 1) {
		return false;
	}
	if (strDate.toLowerCase()=="today" || strDate.toLowerCase()=="now"){return true;}

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length != 3) 
			{
				err = 1;
				return false;
			}
			else 
			{
				strDay = strDateArray[0];
				strMonth = strDateArray[1];
				strYear = strDateArray[2];
			}
			booFound = true;
		}
	}

	if (booFound == false) {
		if (strDate.length>5) {
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
		}
		else
			return false;
	}
	
	// verify year part	2 or 4 digits
	if (strYear.length != 2 && strYear.length != 4) {return false;}
	if (isNaN(strYear)){return false;}
	// US style (swap month and day)
	if (strDatestyle == "US") {
		strTemp = strDay;
		strDay = strMonth;
		strMonth = strTemp;
	}

	// verify 1 or 2 digit integer day
	if (strDay.length<1 || strDay.length>2) {return false;}
	if (isNaN(strDay)){return false;}
	
	// month may be digits of characters, hence following check
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
		for (i = 0;i<12;i++) {
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
			}
		}
		if (isNaN(intMonth)) {
			err = 3;
			return false;
		}
	}

	intDay=parseInt(strDay,10);
	intYear = parseInt(strYear, 10);
	
	if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
	}
	
	// day in month check
	if (intDay < 1 || intDay > 31){return false;}
		
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30)) {
		return false;
	}
	
	if (intMonth == 2) {

		if ( ( (intYear%4==0)&&(intYear%100 != 0) ) || (intYear%400==0) ) { // leap year
			if (intDay > 29){ return false; }
		}
		else { 
			if (intDay > 28) {
				 return false; 
			} 
		}

	/*	if (LeapYear(intYear)) {
			if (intDay > 29) {return false;}
		}
		else 
		{
			if (intDay > 28) {return false;}
		}*/
	}
	
	if (!convert)
		return true;
	else
	{
		if (intYear<=99){intYear=intYear+2000;}
		return intDay+"/"+intMonth+"/"+intYear;
	}
}


function validateDate(str1,str2)
{
   
	   var dt1   = parseInt(str1.substring(0,2),10);

	   var mon1  = parseInt(str1.substring(3,5),10);

	   var yr1   = parseInt(str1.substring(6,10),10);

	   var dt2   = parseInt(str2.substring(0,2),10);


	   var mon2  = parseInt(str2.substring(3,5),10);
	
	   var yr2   = parseInt(str2.substring(6,10),10);
	
	   var date1 = new Date(yr1, mon1, dt1);
	
	   var date2 = new Date(yr2, mon2, dt2); 
		
	   if(date2 < date1)
	   {
			  return false;

	   } 
       return true;
	
}


function trim(s) 
{
  while (s.substring(0,1) == ' ') 
  {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') 
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function echeck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
	{
	   alert("Invalid E-mail ID");
	   return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   alert(" Invalid E-mail ID");
	   return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	    alert("Invalid E-mail ID");
	    return false;
	}
	if (str.indexOf(at,(lat+1))!=-1)
	{
		alert("Invalid E-mail ID");
		return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	{
	    alert("Invalid E-mail ID");
	    return false;
	}
	if (str.indexOf(dot,(lat+2))==-1)
	{
		alert("Invalid E-mail ID");
		return false;
	}
	if (str.substring(str.length-1,str.length)==".")
	{
	    alert("Invalid E-mail ID");
	    return false;
	}
	if (str.indexOf(" ")!=-1)
	{
		alert("Invalid E-mail ID");
		return false;
	}
	return true;					
}

// Function Name: fnInteger
// Description  : this function return only integer values
// example      : onkeypress="return fnInteger(event)"

function fnInteger(objEvent)//this return integer value
{
	  var iKeyCode;
	  iKeyCode = objEvent.keyCode;
	  if(iKeyCode>=48 && iKeyCode<=57) return true;
	  return false;
}

// Function Name: fnFloat
// Description  : this function return only float values
// example      : onkeypress="return fnFloat(event)"

function fnFloat(objEvent)
{
	  var iKeyCode;
	  iKeyCode = objEvent.keyCode;
	  if(iKeyCode>=48 && iKeyCode<=57) return true;
	  if(iKeyCode==46) return true;
	  return false;
}

// Function Name: fnLstSelect
// Description  : this function select an item in a list/Menu
// parameters   : ctlname - control name of the list box
//				  value - value or text of the list box to be selected

function fnLstSelect(ctlname,value)
{
	
	var selObj = document.getElementById(ctlname);
	var len = selObj.length;

	for(i=0;i<len;i++)
	{
		if(selObj.options[i].value == value || selObj.options[i].text == value)
		{
			selObj.selectedIndex = i;
		}
	}
}

function checkValidData(inputText) {
	
	str = inputText.toLowerCase(); 
	
	myRE = new RegExp(/(create |drop |delete |truncate |update )/gi);
	
	if(myRE.test(inputText))
	{
		
		return false;
	}
	else
	{
		
		return true;
	}
		
	//return true;
} 
// Function Name: fnLstMultiSelect()
// Description  : this function select an item in a list/Menu
// parameters   : ctlname - control name of the list box
//				  value - value or text(ex: comma separted) of the list box to be selected
//                sep - seperator 
//example       : fnLstMultiSelect('select','1,2',",");
function fnLstMultiSelect(ctlname,value,sep)
{
	var selObj = document.getElementById(ctlname);
	var arrvalue = value.split(sep);
	var len = selObj.length;
	for(i=0;i<len;i++)
	{
		for(j=0;j<arrvalue.length;j++)
		{
			if(selObj.options[i].value == arrvalue[j] || selObj.options[i].text == arrvalue[j])
			{
			   //selObj.selectedIndex = i;
			   selObj.options[i].selected = true;
			}
		}
	}
}

function isNumeric(sText) {

		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
		if (sText.length <= 0) {
			IsNumber = false;
		}
		for (d = 0; d < sText.length && IsNumber == true; d++) { 
			Char = sText.charAt(d); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
}

function isNumericWithoutDecimal(sText) {

		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char;
		if (sText.length <= 0) {
			IsNumber = false;
		}
		for (d = 0; d < sText.length && IsNumber == true; d++) { 
			Char = sText.charAt(d); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
}

// Function Name: InsertHiddenFromLst
// Description  : this function is insert to hidden field from multi selection list box
// parameters   : lstField - list box name
//				  hdnField - hidden field name

function InsertHiddenFromLst(lstField,hdnField)
{
	var hdn = document.getElementById(hdnField);
	var lst=document.getElementById(lstField);
	var contents="";
	for(var i=0; i< lst.options.length; i++) 
	 {
		if(lst.options[i].selected)
		{
			if(contents!="") contents=contents+","+lst.options[i].value; else contents=lst.options[i].value;
		}
	 }
        hdn.value=contents;
}
// Function Name: lstSelectCount
// Description  : this function is return the count of checked items
// parameters   : lstField - list box name
function lstSelectCount(lstField)
{
	var lst=document.getElementById(lstField);
	var count=0;
	for(var i=0; i< lst.options.length; i++) 
	{
		if(lst.options[i].selected)
		{
				count++;
		}
	}
	return count;
}
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.

function writeCookie(name, value, hours)

{

  var expire = "";

  if(hours != null)

  {

    expire = new Date((new Date()).getTime() + hours * 3600000);

    expire = "; expires=" + expire.toGMTString();

  }

  document.cookie = name + "=" + escape(value) + expire;

}

// Example:

// alert( readCookie("myCookie") );

function readCookie(name)

{

  var cookieValue = "";

  var search = name + "=";

  if(document.cookie.length > 0)

  { 

    offset = document.cookie.indexOf(search);

    if (offset != -1)

    { 

      offset += search.length;

      end = document.cookie.indexOf(";", offset);

      if (end == -1) end = document.cookie.length;

      cookieValue = unescape(document.cookie.substring(offset, end))

    }

  }

  return cookieValue;

}
function checkSpecialCharacters(inputText)
{
		var ss2;
		var ValidChars2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
			
		ss2 = inputText;
			
		for(i=0;i<ss2.length;i++)
		{
			Char = ss2.charAt(i); 
			if (ValidChars2.indexOf(Char) == -1) 
			{
			  return false;
			}
		}
  return true;
}
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
    //this function enabl
    //ex: setCommonActivateText('str_title','str_titletext','Other');

	function setCommonActivateText(FldLst,FldTxt,value)
	{
		var objUserType = document.getElementById(FldLst);
		var objstr_UserType = document.getElementById(FldTxt);
		var text = trim(objUserType.options[objUserType.options.selectedIndex].text);
		if (text == value)
		{
			objstr_UserType.disabled = false;
		}
		else
		{
			objstr_UserType.value = "";
			objstr_UserType.disabled = true;
		}
	}
	
	//new code end
    //this function vlidate enabled text 
    //ex: 
	/*if(setActivateTextValid('lstFindUrl','txt_find_other','Other (please state)','Enter How did you find our URL'))
    {
		return false;
	}*/
    function setActivateTextValid(FldLst,FldTxt,value,msg)
	{
		var objUserType = document.getElementById(FldLst);
		var objstr_UserType = document.getElementById(FldTxt);
		var text = trim(objUserType.options[objUserType.options.selectedIndex].text);
		if (text == value && objstr_UserType.value == "")
		{
			alert(msg);
            objstr_UserType.focus();
            return true;
		}
		
	}
	
	//new code end
	function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function openBrWinCenter(theURL,winName,features, w_width, w_height) { 

		var left = parseInt((screen.width/2) - (w_width/2));
    var top = parseInt((screen.height/2) - (w_height/2));
		
	  window.open(theURL,winName,"left=" + left + ",top=" + top + "," + features);
		
	}
