/* INCLUDES */
/*document.write('<script language="JavaScript" src="api.js" type="text/javascript"></script>');*/

function showModelWindow(dURl,dargs,dWidth,dHeight){
	var strreturn;
	if (trim(dargs).length > 0 )
	{	
		strreturn=window.showModalDialog(dURl,dargs,'status:no;dialogWidth:' + dWidth +';dialogHeight:'+ dHeight +';dialogHide=true;help=no;scroll=no');
		return strreturn;
	}
	else
	{
	strreturn=window.showModalDialog(dURl,'','status:no;dialogWidth:' + dWidth +';dialogHeight:'+ dHeight +';dialogHide=true;help=no;scroll=no');
	return strreturn;
	}
}
function goURL(formName,itemName){
var aURL;
aURL=document.forms[formName].elements[itemName][document.forms[formName].elements[itemName].selectedIndex].value;
	if (aURL.length!=0){
		location.href=aURL;
	}
}

function EntryDropdown(sMsg,sFormName,sFieldName,sFieldName1)
{

var frmIndex	= findFormIndex(sFormName);
	var fieldIndex	= findElementIndex(frmIndex, sFieldName);
	var fieldIndex1 = findElementIndex(frmIndex, sFieldName1);

	var len = document.forms[frmIndex].elements[fieldIndex].length;
	document.forms[frmIndex].elements[fieldIndex].length = len + 1;
		document.forms[frmIndex].elements[fieldIndex].options[len] = new Option(sMsg,sMsg);
		document.forms[frmIndex].elements[fieldIndex].selectedIndex=len;
		document.forms[frmIndex].elements[fieldIndex1].value = sMsg;				
}

function WinEntryPrompt(sMsg,sFormName,sFieldName,sFieldName1)
{
	
	var frmIndex	= findFormIndex(sFormName);
	var fieldIndex	= findElementIndex(frmIndex, sFieldName);
	var fieldIndex1 = findElementIndex(frmIndex, sFieldName1);
	var len = document.forms[frmIndex].elements[fieldIndex].length;
	var flag = true;


		
		document.forms[frmIndex].elements[fieldIndex].length = len + 1;
		document.forms[frmIndex].elements[fieldIndex].options[len] = new Option(p,p);
		document.forms[frmIndex].elements[fieldIndex].selectedIndex=len;
		document.forms[frmIndex].elements[fieldIndex1].value = p;				

	
}

function OpenWin(url,winTitle,winWidth,winHeight)
{ 

 window.open (url, winTitle, 'width=' + winWidth + ',height=' + winHeight + ',toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=yes,top=0,left=0');
 
}
function NewOpenWindow(sUrl,Element,sPath)
	{
		var sDate;
		var FinalURL;
		sDate=document.forms[0].elements[Element].value;
		
		FinalURL = sPath+'Calendar.aspx?Formname='+sUrl+'&Elementname='+ Element + '&sDate='+sDate
		
		//alert(sDate);
		 window.open (FinalURL,'calendar_window','width=200,height=180');
}
	
//to check for valid date

	function isValidTextDate(formName,fieldName)
{
	var returnFlag	= true;
	var frmIndex	= findFormIndex(formName);
	var fieldIndex	= findElementIndex(frmIndex, fieldName);
	
	// getting the values of Date

	var strDate = document.forms[frmIndex].elements[fieldIndex].value;
	var intDateLen = strDate.length;
	if (intDateLen > 0){
		if (intDateLen > 10)
		{
			alert("Invalid Date Entered");
			document.forms[frmIndex].elements[fieldIndex].focus();
			returnFlag = false; 
			return false;
		}

		strDate = strDate.replace('-','/');
		strDate = strDate.replace('-','/');
	
		var arrDate = strDate.split('/');
	
		var dd = arrDate[1]
		var mm = arrDate[0]
		var yy = arrDate[2]

		if (mm==0 || isNaN(mm))
		{
		 alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag = false; 
		 return false;
		 }
		else if(dd==0 || isNaN(dd))
		{
 		 alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag = false; 
		 return false;
		 }
		else if(yy==0 || isNaN(yy))
		{
		 alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag = false; 
 		 return false;
		 }
		else if (yy.length != 4 || yy<1900) 
		{
		 alert('Please Enter the Year in yyyy format e.g (2003)');		
 		 document.forms[frmIndex].elements[fieldIndex].focus();
 		 returnFlag = false; 
		 return false;
		}
		else	// Month Validation
		{

			if(mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
			 	totDays=31;				//	if the month is Jan,Mar,May,July,Aug,Oct and Dec
			else if(mm==4 || mm==6 || mm==9 || mm==11)
			    totDays=30;				//	if the month is Apr,Jun,Sep and Nov
				else if(yy%4==0 && yy%100!=0 || yy%400==0)
					totDays=29;			//	if the year is Leap Year
					else  
					    totDays=28;		//	if the year is not a Leap Year
						   
			if (dd > totDays)
			 {
			 	alert("Please select valid Date");
			 	document.forms[frmIndex].elements[fieldIndex].focus();
			 	returnFlag=false;
			 	return false; 
			 }
			 
			if (mm<1 || mm>12)			//	if the month is not a valid Month
			 {
			 	alert("Please select valid Month");
			 	document.forms[frmIndex].elements[fieldIndex].focus();
			 	returnFlag=false;
			 	return false; 
			 }
	
		}		// end of else for Month Validation
	}
		if(returnFlag==true)
		{
			return true;
		}	
}

function isValidTextDate1(formName,fieldName)
{
	var returnFlag1	= true;
	var frmIndex	= findFormIndex(formName);
	var fieldIndex	= findElementIndex(frmIndex, fieldName);
	
	// getting the values of Date

	var strDate = document.forms[frmIndex].elements[fieldIndex].value;
	var intDateLen = strDate.length;
	if (intDateLen > 0){
		if (intDateLen > 10)
		{
			//alert("Invalid Date Entered");
			document.forms[frmIndex].elements[fieldIndex].focus();
			returnFlag1 = false; 
			return false;
		}

		strDate = strDate.replace('-','/');
		strDate = strDate.replace('-','/');
	
		var arrDate = strDate.split('/');
	
		var dd = arrDate[1]
		var mm = arrDate[0]
		var yy = arrDate[2]

		if (mm==0 || isNaN(mm))
		{
		 //alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag1 = false; 
		 return false;
		 }
		else if(dd==0 || isNaN(dd))
		{
 		 //alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag1 = false; 
		 return false;
		 }
		else if(yy==0 || isNaN(yy))
		{
		 //alert('Please Enter Valid Date');
		 document.forms[frmIndex].elements[fieldIndex].focus();
		 returnFlag1 = false; 
 		 return false;
		 }
		else if (yy.length != 4 || yy<1900) 
		{
		 //alert('Please Enter the Year in yyyy format e.g (2003)');		
 		 document.forms[frmIndex].elements[fieldIndex].focus();
 		 returnFlag1 = false; 
		 return false;
		}
		else	// Month Validation
		{

			if(mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
			 	totDays=31;				//	if the month is Jan,Mar,May,July,Aug,Oct and Dec
			else if(mm==4 || mm==6 || mm==9 || mm==11)
			    totDays=30;				//	if the month is Apr,Jun,Sep and Nov
				else if(yy%4==0 && yy%100!=0 || yy%400==0)
					totDays=29;			//	if the year is Leap Year
					else  
					    totDays=28;		//	if the year is not a Leap Year
						   
			if (dd > totDays)
			 {
			 	//alert("Please select valid Date");
			 	document.forms[frmIndex].elements[fieldIndex].focus();
			 	returnFlag1=false;
			 	return false; 
			 }
			 
			if (mm<1 || mm>12)			//	if the month is not a valid Month
			 {
			 	//alert("Please select valid Month");
			 	document.forms[frmIndex].elements[fieldIndex].focus();
			 	returnFlag1=false;
			 	return false; 
			 }
	
		}		// end of else for Month Validation
	}
		if(returnFlag1==true)
		{
			return true;
		}	
}
//End Checking Valid Date
// ***********    Function to  the find Index of specified Form		***********    
function findFormIndex(formName)
{
	
	var frmLen = document.forms.length ;
	var frmIndex;
	var formFlag = false;
		
	for (var i=0; i<frmLen; i++)
	{	
				
		if(document.forms[i].name == formName)
		{
			
			frmIndex = i;
			formFlag = true;
		}
	}

	if (formFlag == true)
	{		
		return frmIndex;
	}

	else
	{
		 alert('Invalid Form Name');
	    return false;
	}
	    
}		// end of Function  findFormIndex(formName)





// ***********    Function to  the find Index of specified Element		***********    


function findElementIndex(frmIndex, fieldName)
{
	
	var elemLen = document.forms[frmIndex].elements.length;
	var fieldIndex;
	var fieldFlag = false;
	
	for (var i=0; i<elemLen; i++)
	{	
	
		if(document.forms[frmIndex].elements[i].type == 'text'  || 
			document.forms[frmIndex].elements[i].type == 'select-one' || document.forms[frmIndex].elements[i].type == 'select-multiple')
		{	
			if (document.forms[frmIndex].elements[i].name == fieldName)
			{
				fieldIndex = i;
				fieldFlag = true;
			}	
		}
	}
	if (fieldFlag == true)
		return fieldIndex;
	else
	{
	    alert('Invalid Field Name');
	    return false;
	}
	
}		// end of Function findElementIndex(frmIndex, fieldName) 

	
function Trim (String)
	{
		if (String != null)
		{
			var start = 0 ;
			 
			var end = String.length - 1 ;
			 
			while (start < end && (String.charAt(start) == " " || String.charCodeAt(start) == 13 || String.charCodeAt(start) == 10)) start++ ;
			 
			while (end >= 0 && (String.charAt(end) == " " || String.charCodeAt(end) == 13 || String.charCodeAt(end) == 10)) end-- ; 
			 
			if (end < start) return "" ;
			 
			return String.substring(start, (end + 1)) ;
		} 
		else
		{
			return String;
		}
}
function firstFocus(prmtabindex,ispopup){
	//alert(prmtabindex);
	var eleindex;
	var frmlen = document.forms[0].elements.length;		
	var flag=false;	

	
		for(var i=0;i<frmlen;i++){

			if(document.forms[0].elements[i].tabIndex==prmtabindex){	
				//alert(prmtabindex);		
				flag=true;
				eleindex =i;
				break;			
			}		
		}			
		if(flag==true){		
		//alert(eleindex);
			document.forms[0].elements[eleindex].focus();
		}
		if (ispopup=='false')
		{
					funOnLoad();
		}

	
}

//Usage
//disableButton(document.forgotPasswdForm.submitForm);
function disableButton (button) 
{
  	if (document.all || document.getElementById)
	{
    	button.disabled = true;
	}
  	else if (button) 
	{
	    button.oldOnClick = button.onclick;
	    button.onclick = null;
	    button.oldValue = button.value;
	    button.value = 'DISABLED';
  	}
}

//function for Copy to Clipboard
function clipBoard(sFormName,sSpan,sTextArea) 
{	
	document.forms[sFormName].elements[sTextArea].innerText = document.forms[sFormName].elements[sSpan].innerText;
	Copied = document.forms[sFormName].elements[sTextArea].createTextRange();
	Copied.execCommand("Copy");
}

// ***********    Function to Validate the Given Zip		***********    
function isValidZip(formName,fieldName)
{
	var returnFlag	= true;
	var frmIndex	= findFormIndex(formName);
	var fieldIndex	= findElementIndex(frmIndex, fieldName);
	 
	var zipVal=document.forms[frmIndex].elements[fieldIndex].value; 
	
	if (zipVal!=0)	
	{
		if((zipVal.substring(5,6)) != "-")
		{
			/*----Condition to check numeric values in the ZIP Code-------
			if(isNaN(zipVal))
			{
				alert("Enter only Numbers");
				document.forms[frmIndex].elements[fieldIndex].focus();
				document.forms[frmIndex].elements[fieldIndex].value='';
				returnFlag = false;
				return false ;
			}
			----END Condition to check numeric values in the ZIP Code-------*/	 
			
			if( zipVal.charAt(0)=='-')
			{
				alert("Negative Numbers not Allowed");
				document.forms[frmIndex].elements[fieldIndex].focus();
				returnFlag = false;
				return false ;
			}
			else
			{
				if(zipVal.length < 5)
				{
					alert("Zip should be at least 5 Digits");
					document.forms[frmIndex].elements[fieldIndex].focus();
					returnFlag = false;
					return false ;
				}
				else if(zipVal.length > 5)	
					document.forms[frmIndex].elements[fieldIndex].value=
							zipVal.substring(0,5)+"-"+zipVal.substring(5,9);
			}
		}
	}	
  
	if (returnFlag==true)
	{
		 return true;
	}

}		// end of Function

//************* Function to clear the format of zip **************************
function unZip(formName,fieldName)
 {
 	var frmIndex	= findFormIndex(formName);
	var fieldIndex	= findElementIndex(frmIndex, fieldName);
	
	var txtVal	= document.forms[frmIndex].elements[fieldIndex].value;
	for (var i=0;i<txtVal.length;i++)
	{
		chr='';
		chr=txtVal.substring(i,i+1);
		if (isNaN(chr)||chr=='-'||chr=='.')
		{
			txtVal = txtVal.substring(0,i)+''+txtVal.substring(i+1,txtVal.length);
			i=i-1
		}
	}
	document.forms[frmIndex].elements[fieldIndex].value = txtVal;
 }
 
 function WinEntryPrompt(sMsg,sFormName,sFieldName,sFieldName1)
{

	var p=prompt(sMsg,"");	
	var frmIndex	= findFormIndex(sFormName);
		var fieldIndex	= findElementIndex(frmIndex, sFieldName);
	
	var fieldIndex1 = findElementIndex(frmIndex, sFieldName1);
	
	var len = document.forms[frmIndex].elements[fieldIndex].length;
	var flag = true;
	
	if(p!=null && p!="")	{		
		for(i=0;i<len;i++){			
			if(document.forms[frmIndex].elements[fieldIndex].options[i].text.toUpperCase()==trim(p.toUpperCase())){
				alert('Name already Exists,Please choose another');		
				flag = false;						
			}		
		}
	}
	if(p!=null && flag==true && p!="")	{		
		document.forms[frmIndex].elements[fieldIndex].length = len + 1;
		document.forms[frmIndex].elements[fieldIndex].options[len] = new Option(p,p);
		document.forms[frmIndex].elements[fieldIndex].selectedIndex=len;
		document.forms[frmIndex].elements[fieldIndex1].value = p;				
	}
	
}

function WinEntryPrompt(sMsg,sFormName,sFieldName,sFieldName1,DefaultName)

{
	var p=prompt(sMsg,DefaultName);	
	
	var frmIndex	= findFormIndex(sFormName);
		var fieldIndex	= findElementIndex(frmIndex, sFieldName);
	
	var fieldIndex1 = findElementIndex(frmIndex, sFieldName1);
	
	var len = document.forms[frmIndex].elements[fieldIndex].length;
	var flag = true;
	
	if(p!=null && p!="")	{		
		for(i=0;i<len;i++){			
			if(document.forms[frmIndex].elements[fieldIndex].options[i].text.toUpperCase()==trim(p.toUpperCase())){
				alert('Name already Exists,Please choose another');		
				flag = false;						
			}		
		}
	}
	if(p!=null && flag==true && p!="")	{		
		document.forms[frmIndex].elements[fieldIndex].length = len + 1;
		document.forms[frmIndex].elements[fieldIndex].options[len] = new Option(p,p);
		document.forms[frmIndex].elements[fieldIndex].selectedIndex=len;
		document.forms[frmIndex].elements[fieldIndex1].value = p;				
	}
	
}
function trim(str)
{
while (str.charAt(0) == " ") str = str.substring(1);

while (str.charAt(str.length - 1) == " ")  str = str.substring(0, str.length - 1);

return str;

}


// ***********    Function to Validate the Given Number		***********    


function isValidNumber(formName, fieldName,DispName)
{
	var returnFlag	= true;
	var frmIndex	= findFormIndex(formName);
	var fieldIndex	= findElementIndex(frmIndex, fieldName);
	
	var num = document.forms[frmIndex].elements[fieldIndex].value;	
	
	 if  (isNaN(num))
	{	
		alert("Please enter valid number in "+DispName);
		document.forms[frmIndex].elements[fieldIndex].focus();
		document.forms[frmIndex].elements[fieldIndex].value='';
		returnFlag = false;
		return false;
	}
	 if  (num<0)
	{	
		alert("Please enter  number not less than 0 in "+DispName);
		document.forms[frmIndex].elements[fieldIndex].focus();
		document.forms[frmIndex].elements[fieldIndex].value='';
		returnFlag = false;
		return false;
	}
	if(num.indexOf('.')>0)
	{
		alert("Please enter valid number in "+DispName);
		document.forms[frmIndex].elements[fieldIndex].focus();
		document.forms[frmIndex].elements[fieldIndex].value='';
		returnFlag = false;
		return false;
	}
	if(returnFlag==true)
	{
		return true;
	}
}
function ExpandCollapse(bTabExpand)
	{
	
		var bTab='TR';
		var expandcount;
		 var bImg="IMG"
		var intTabCount=5;
		//expandcount=document.getElementById(HdnCount).value
		//alert(expandcount);
		var CurrentTabStyle=document.getElementById(bTab+bTabExpand).style.display;
					
		for(x=1; x<eval(intTabCount); x++){
			if (x==bTabExpand) 
			{
				if (CurrentTabStyle=='none'){
				document.getElementById(bTab+x).style.display = '';
				document.getElementById(bImg+x).src = '../Images/arrow_select.gif';
				}
				else
				{
				document.getElementById(bTab+x).style.display = 'none';
				document.getElementById(bImg+x).src = '../Images/arrow_normal.gif';
				}
			}
		
		}
			
	}

	function isEmail(s) 
	{
		var emailPattern =  /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
		return emailPattern.test(s);
	}
	
	function GetGoValues(formName,fieldName)
	{
		var returnFlag	= true;
		var frmIndex	= findFormIndex(formName);
		var fieldIndex	= findElementIndex(frmIndex, fieldName);

		var searchval = document.forms[frmIndex].elements[fieldIndex].value;	

		for(var i = 0; i < document.forms[frmIndex].elements.length; i++)
		{
			var temp = document.forms[frmIndex].elements[i].type;
			if((temp == "radio") && (document.forms[frmIndex].elements[i].checked)) 
			{ 
				options = document.forms[frmIndex].elements[i].value;
				
				document.forms[frmIndex].action = 'SiteSearch.aspx?scope='+options+ '&' + 'search='+searchval;
				document.forms[frmIndex].submit();
			}
		}
	} 
		
	function funFirstFocus(formName,fieldName)
		{
			
		var frmIndex	= findFormIndex(formName);
		//alert(frmIndex);
		var fieldIndex	= findElementIndex(frmIndex, fieldName);
		
		document.forms[frmIndex].elements[fieldIndex].focus();
		funOnLoad();
	}
	
	function ClickSearchInput(formName,fieldName,oInputDefault) 
	{
		var frmIndex	= findFormIndex(formName);
		var fieldIndex	= findElementIndex(frmIndex, fieldName);
		var searchval = document.forms[frmIndex].elements[fieldIndex].value;	
			if(searchval == oInputDefault)
			{
				searchval = "";
				document.forms[frmIndex].elements[fieldIndex].value=searchval;
				document.forms[frmIndex].elements[fieldIndex].focus();
			}
	}
	function ResetSearchInput(formName,fieldName,oInputDefault) 
	{
		//alert(fieldName);
		//alert(searchval);
		var frmIndex	= findFormIndex(formName);
		var fieldIndex	= findElementIndex(frmIndex, fieldName);
		var searchval = document.forms[frmIndex].elements[fieldIndex].value;	
			if(searchval == "")
			{
				searchval = oInputDefault;
				document.forms[frmIndex].elements[fieldIndex].value=searchval;
				
			}
			else
			if(checkInvalidChrs(document.forms[frmIndex].elements[fieldIndex]))
			document.forms[frmIndex].elements[fieldIndex].value=searchval;
	}
function checkInvalidChrs(fld)
{
		var val=fld.value;
		var dc='"';
		if(val.indexOf("'")!=-1 || val.indexOf("@")!=-1 || val.indexOf("&")!=-1 || val.indexOf("#")!=-1 || val.indexOf("!")!=-1 || val.indexOf("$")!=-1 || val.indexOf("%")!=-1 || val.indexOf("^")!=-1 || val.indexOf("*")!=-1 || val.indexOf("(")!=-1 || val.indexOf(")")!=-1 || val.indexOf("+")!=-1   ||  val.indexOf("|")!=-1 || val.indexOf(",")!=-1 || val.indexOf(">")!=-1  || val.indexOf("<")!=-1  || val.indexOf("?")!=-1 || val.indexOf("/")!=-1 || val.indexOf("=")!=-1 || val.indexOf("_")!=-1 || val.indexOf("`")!=-1 || val.indexOf("~")!=-1 || val.indexOf("\\")!=-1 || val.indexOf(".")!=-1 || val.indexOf(":")!=-1 || val.indexOf(";")!=-1 || val.indexOf("'")!=-1 || val.indexOf(dc)!=-1)
		{
			alert("Invalid Character!")
			fld.focus();
		}		
}
