// JavaScript Document
<!--

/**********************************************************************************
* Function Name		: launch_spyWin
* Author			: Akhilesh Sharma
* Date				: 27th April 2006
* Purpose			: To detect close of main window of application
**********************************************************************************/
function launch_spyWin() {
spyWin = open('spywin.htm','spyWin','width=500,height=500,left=100,top=0,status=0');
spyWin.blur();
}
//onunload = launch_spyWin;



/**********************************************************************************
* Function Name		: disableSelect
* Author			: Akhilesh Sharma
* Date				: 27th April 2006
* Purpose			: Function for disabling selection on pages
**********************************************************************************/

function disableSelect(e)
{
	return false
}

function reEnable()
{
	return true
}

//if IE4+

	document.onselectstart=new Function ("return false")

//if NS6

if (window.sidebar)
{
	document.onmousedown=disableSelect
	document.onclick=reEnable
}


/**********************************************************************************
* Function Name		: rtccheck
* Author			: Akhilesh Sharma
* Date				: 27th April 2006
* Purpose			: Function for disabling right click on webpage.
**********************************************************************************/

var msg = "Copyright - Innovative Business World !";

function rtccheck(kp){
  if (navigator.appName == "Netscape" && kp.which == 3) {
    alert(msg);
    return false;
  }

  if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) {
    alert(msg);
    return false;
  }
}

document.onmousedown = rtccheck	



/*****************************************************************************
* Function Name		: getCurrentDate
* Author			: Akhilesh Sharma
* Date				: 20th April 2006
* Purpose			: Function to get current date in format 12/20/2005 11:04:16 AM 
*****************************************************************************/
function getCurrentDate()
{
	var currentDate = "";
	var ampm = "AM";
	var dt = new Date();
	var curr_date = dt.getDate();
	var curr_month = dt.getMonth() + 1;
	var curr_year = dt.getFullYear();
	var curr_hour = dt.getHours();
	if (curr_hour>12)
	{
		curr_hour = curr_hour - 12;
		ampm = "PM";
	}
	var curr_minute = dt.getMinutes();
	var curr_second = dt.getSeconds();
	//document.write(curr_month + "/" + curr_date + "/" + curr_year + " " + curr_hour + ":" + curr_minute + ":" + curr_second + " " + ampm);
	currentDate = curr_month + "/" + curr_date + "/" + curr_year + " " + curr_hour + ":" + curr_minute + ":" + curr_second + " " + ampm;
	return currentDate;
}


//remove the preceeding and ending spaces from a string.
function trimStr(str)
{var i, pBegin, pEnd, strTemp
 //find the preceeding spaces
 for (i = 0 ; i < String(str).length; i++)
 {if (String(str).charAt(i) != " ")
	{pBegin = i;
	 break;
	}
 }
 
 //find ending spaces
 for (i = String(str).length -1; i >= 0; i--)
 {if (String(str).charAt(i) != " ")
	{pEnd = i;
	 break;
	} 
 }
 
 //the new string.
 strTemp = String(str).substr(pBegin, pEnd - pBegin +1 );
 return (strTemp);
}



/*****************************************************************************
* Function Name		: GridScroll
* Author			: Akhilesh Sharma
* Date				: 28th Nov 2005
* Purpose			: Function to scroll page to edititem location on edit. 	 
*****************************************************************************/
    
function GridScroll()
{
	if (document.all.lblScrollPosition!=null)
	{
		document.all.lblScrollPosition.scrollIntoView();
	}
}


//FUNCTION TO VALIDATE EMAIL
function validateEmail(email)
{
//a valid email would have only one @ and one . after the @ in the string and a value before and after @ and .
 var iAtF = 0;
 var iDotF = 0;
 var iDotL = 0;
 var iSpace = 0;
 var iStrLength = 0; //for length of string

 iAtF = String(email).indexOf("@");
 iAtL = String(email).lastIndexOf("@");
 if (iAtF < 1 )
	return (false);
 if (iAtF != iAtL)
	return(false);
	
 iDotL = String(email).lastIndexOf(".");
 if (iDotL < iAtF + 2)
	return(false);

 iSpace = String(email).indexOf(" ");
 if (iSpace > 0 )
	return(false);

 iStrLength = String(email).length;
 if(iDotL==iStrLength-1 ||iDotL==iStrLength-2) 
	return(false);
		
 return(true);
}



/*08-Nov-2005		Kirti Bhatia		To check passed in value is  a valid currency type*/
function ValidateCurrency(curr)
{
	//curr= new String();
	if (event.keyCode == 46)
		{
		if (curr.indexOf('.') == -1)
			{event.returnValue = true;}
		else
			{event.returnValue = false;}
		}
	if ((event.keyCode < 48 || event.keyCode > 57)&& event.keyCode != 46) event.returnValue = false;
}



/*12-Jan-2006	MKumar		To check whether entered values is valid ObjType:
 *1 for where only Alpha Numeric chracters, percentage sign are allowed.
 *2 for fields where only Alpha Numeric chracters, decimal and hyphens are allowed.
 *3 for fields where only Alpha Numeric chracters, asterisk are allowed.
 *4 for fields where only Alpha Numeric chracters, decimal, hyphen, underscore and @ are allowed.
 *5 for valid currency
*/
function allowValid(keyCode, ObjType)
{
ObjType= ObjType.toUpperCase(); 
//alert(ObjType);
	if (ObjType=='SEARCH')
			{//Allow only Alpha Numeric + Percentage + asterix
				if((keyCode < 48 || keyCode > 57) && (keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 122) && (keyCode != 37) && (keyCode != 32) && (keyCode != 42)) 
				{
					event.returnValue = false;
				}
			
			}	
	
	else if (ObjType=='HUMANNAME')
			{//Allow only Alpha Numeric + Apostrophe + hyphen 
				if((keyCode < 48 || keyCode > 57) && (keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 122) && (keyCode != 32) && (keyCode != 39) && (keyCode != 45))
				{
					event.returnValue = false;
				}
				
			}	
	
	else if (ObjType=='PHONE')
			{//Allow only Numeric + hyphen 
				if((keyCode < 48 || keyCode > 57) && (keyCode != 45))
				{
					event.returnValue = false;
				}
			}
	else if (ObjType=='NUMERIC')
			{//Allow only Numeric
				if((keyCode < 48 || keyCode > 57))
				{
					event.returnValue = false;
				}
				
			}
	else if (ObjType=='CURRENCY')
			{//Allow only Numeric + one Decimal
				var objCtrl;
				objCtrl=document.getElementById(event.srcElement.id);
				//alert(event.srcElement.id);
				ValidateCurrency(objCtrl.value);				
			}	
	else if (ObjType=='GENERALSTRING')
			{//Allow alpha Numeric + hyphen
			
				//Edit by neetu for the space bar on 31-jan-2006
				if((keyCode < 48 || keyCode > 57) && (keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 122) && (keyCode != 45) && (keyCode != 32))
				{
					event.returnValue = false;
				}
			}
	else if (ObjType=='EMAIL')
			{//Allow alpha Numeric + Decimal + hyphen + Underscore + @
				if((keyCode < 48 || keyCode > 57) && (keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 122) && (keyCode != 46) && (keyCode != 45) && (keyCode != 95) && (keyCode != 64))
				{
					event.returnValue = false;
				}
			}		
		
}



/*****************************************************************************
* Function Name		: CompareDates
* Author			: MKumar
* Date				: 20th Feb 2006
* Purpose			: Compare two dates
compareInd  0: Less than	Depricated
compareInd  1: Less than equals to	 Depricated

* 03 May 2006		Akhilesh Sharma		Modified Compare date function
If return value is -1 : First date is smaller then second
If return value is 0  : Dates are equal
If return value is 1  : First date is greater then second
*****************************************************************************/
//function CompareDates(date1, date2, compareInd)
function CompareDates(date1, date2)
{
 var followUp = new Date();
	    var assigned = new Date();
	    var Date1Month = new Date();
	    var Date2Month = new Date();
	    var Date1Year = new Date();
	    var Date2Year = new Date();
	    
	    var Date1Date= new Date(date1);
	    Date1= Date1Date.getDate();
	    Date1Month= Date1Date.getMonth();
	    Date1Year= Date1Date.getFullYear();
	    
    
	    var Date2Date= new Date(date2);
	    Date2= Date2Date.getDate();
	    Date2Month= Date2Date.getMonth();
	    Date2Year= Date2Date.getFullYear();

	    //alert(Date1);
	    //alert(Date2);
	    
		if((Date1Year > Date2Year) || ((Date1Year == Date2Year) && (Date1Month > Date2Month)) || ((Date1Year == Date2Year) && (Date1Month == Date2Month) && (Date1 > Date2)))
		{
			return 1;
		}
		else if((Date1Year > Date2Year) || ((Date1Year == Date2Year) && (Date1Month > Date2Month)) || ((Date1Year == Date2Year) && (Date1Month == Date2Month) && (Date1 == Date2)))
		{
			return 0;
		}
		else
		{
			return -1;
		}
		
/*
		if (compareInd == 0)
		{
			if ((Date1Year < Date2Year)||(Date1Month < Date2Month)||(Date1< Date2))
			{return false;}
		}
		else if (compareInd == 1)
		{
			if ((Date1Year <= Date2Year)||(Date1Month <= Date2Month)||(Date1<= Date2))
			{return false;}
		}
*/
}

/*****************************************************************************
* Function Name		: ValidateDate
* Author			: Avinash Kumar Shukla
* Date				: 01 May 2006
* Purpose			: To validate date field
*****************************************************************************/
//Start

var dtCh= "/";
var minYear=1753;
var maxYear=9999;
var blnTest;
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
       }
    return true;
   }

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){

	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
	{
	if (isInteger(stripCharsInBag(dtStr, dtCh))==false)
	   {
		alert("Please enter a valid numeric date in mm/dd/yyyy format")
		return false
		}
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year")
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function  ValidateDate(objTextbox){
	var dt=objTextbox;
	if (dt.value=="")
	{
    return true;
	}
	else if(isDate(dt.value)==false){
				dt.focus()
		return false;
	}
    return true;
 }

// End Validation   


function pressEnterKey(keyCode,btnId)
{
  if(keyCode==13)
   {
    objButton=document.getElementById(btnId);
    objButton.click();
    return false;
   }
}


-->