function previewRpt() {
	document.getElementById("prnid").style.display="none";
	if (document.all) {
		var OLECMDID = 7;
		/* OLECMDID values:
		* 6 - print * 7 - print preview * 1 - open window * 4 - Save As
		*/
		var PROMPT = 1; // 2 DONTPROMPTUSER
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(OLECMDID, PROMPT);
		WebBrowser1.outerHTML = "";	
		
		window.close();
	} else {
		window.print();
	}
}

// Non-Leap year Month days..
DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

// Leap year Month days..
lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

//returns date of the date
function getdate(date){
	//alert("In getdate() ");
	if(date.indexOf('-')!=-1)
		return date.substring(0,date.indexOf('-')); 
	else
		return date.substring(0,date.indexOf('/')); 
}



//--------------------------------------------------------------------------------------------------------------------

//returns year of the date
function getyear(date){
//alert("In getyear() ");
	if(date.indexOf('-')!=-1)
		return date.substring(date.lastIndexOf('-')+1,date.length); 
	else
		return date.substring(date.lastIndexOf('/')+1,date.length); 
}

//returns month of the date
function getmonth(date){
	//alert("In getmonth() ");
	if(date.indexOf('-')!=-1)
		return date.substring(date.indexOf('-')+1,date.lastIndexOf('-')); 
	else
		return date.substring(date.indexOf('/')+1,date.lastIndexOf('/')); 
}

function validate(form)
{
	var fName;
	
	
	for(var i = 0;i < form.elements.length;i++)
	 { 
		 var fField = form.elements[i];
		 var fTitle = fField.title;   
		  
		 var fValue = trim(fField.value);   
		 var fType = fField.type;   
		 
		 switch(fType)
		 {
		 case "text":
		 case "password":
		 case "textarea":
			 if(fTitle == "required" && encodeURI(fValue).length < 1)
			 {
			 
			 	 
				 alert(fField.accessKey+' is Mandatory, Please Fill.');    
				 fField.focus();  
				 return false;  
			 } // if
			 break;
			 case "select-one":
				 if(fTitle == "required" && fField.options[fField.selectedIndex].value.length < 1) 
				 {           alert(fField.accessKey+' is Mandatory, Please Select One.'); 
				 fField.focus(); 
				 return false;          
		 } // if 
			break;
			} // switch   
		 } // for 
	 return true;
	} // method   






//Checks is data entered or not
function isValidText(data){
	
	data = trim(data);
	if(data!=''){
		return true; 
	}
	else{
		return false;
	}
}

//--------------------------------------------------------------------------------------------------------------------


//left trim
function ltrim ( str ) 
{ 
 
	
	while (str.charAt(0) == ' ')
    	str = str.substring(1);
    	return str;
} 


//--------------------------------------------------------------------------------------------------------------------

//right trim
function rtrim ( str ) 
{ 
	//return str.replace( /\s+$/, '' ); 
	
	while (str.charAt(str.length - 1) == ' ')
 	str = str.substring(0, str.length - 1);
  	return str;
}


//--------------------------------------------------------------------------------------------------------------------

//Combine the rtrim() and ltrim() functions to make the trim() 
//function, which just wraps both calls together: 
function trim ( str ) 
{ 
	return rtrim(ltrim(str)); 
} 



//--------------------------------------------------------------------------------------------------------------------

function textAreaLimit(form,field,maxlen, fieldName) {
      var tmpMaxLen = parseInt(maxlen)+1;
      if ( ((form.field.value).length) > tmpMaxLen){
             alert(fieldName+' should not be more than '+maxlen+' characters.');
             return;
      }
      if (((form.field.value).length) > parseInt(maxlen)){
             form.field.value = form.field.value.substring(0, maxlen);
             return;
	  }
}


//Checks is decimal point exist or not
function checkDecimal(data){
	if(isValidText(data)){
		if(data.indexOf('.')!=-1){
			return false;
		}
		else{
			return true;
		}
	}
	else{
		return false;
	}
}



//Checks is valid email entered or not
function isValidEmail(data){
	if(!isValidText(data)){
		return false; 
	}
	else{
		if(data.indexOf('@')!=-1 && data.indexOf('@')>1 && data.indexOf('.')!=-1 && data.indexOf('.')>1){
			return true;
		}
		else{
			return false;
		}
	}
}


//--------------------------------------------------------------------------------------------------------------------

function validateEmail(email)
{
	// a very simple email validation checking. 
	// you can add more complex email checking if it helps 
	var splitted = email.match("^(.+)@(.+)$");
	if(splitted == null) return false;
	if(splitted[1] != null )
	{
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,8}$/;
		if(splitted[2].match(regexp_domain) == null) 
		{
		    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
		    if(splitted[2].match(regexp_ip) == null) return false;
		}// if
		return true;
	}
	return false;
}

// a very simple email check validation checking.

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.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

//--------------------------------------------------------------------------------------------------------------------

// Checks validity of phone
/*
* 123-123312-12313
* (112)-12321241
* (+124)-121243215
*/
function isValidPhone(phoneNum)
  {
  	if(phoneNum==''){
  		return true;
  	}else if(phoneNum.indexOf('-')==0){
  		return false;
  	}else if(phoneNum.lastIndexOf('-')==phoneNum.length-1){
  		return false;
  	}else if(phoneNum.indexOf('(')>=0 && phoneNum.indexOf(')')<0){
  		return false;
  	}else if(phoneNum.indexOf('(')<0 && phoneNum.indexOf(')')>=0){
  		return false;
  	}else if(phoneNum.indexOf('(') > phoneNum.indexOf(')')){
  		return false;
  	}else if(phoneNum.indexOf('(')==0 && phoneNum.indexOf(')')==1){
  		return false;
  	}else {
  		for(var x=0;x<phoneNum.length;x++){
  			if(phoneNum.charAt(x)!='+' && phoneNum.charAt(x)!='-' && phoneNum.charAt(x)!='(' && phoneNum.charAt(x)!=')' && isNaN(phoneNum.charAt(x))){
  				return false;
  			}
  		}
  		return true;
  	}
  }

	
// added by kuldeep for ONGC

function checkDecimalAt(data,pos){
	
	if(isValidText(data)){
		if(data.indexOf('.')==pos-1){
			return false;
		}
		else{
			return true;
		}
	}
	else{
		return false;
	}
}	

function checkTwoDecimal(data,pos)
{
	
	if(data.indexOf(".")>0)
	{
		
		var str = data.substring(data.indexOf(".")+1,data.length);
		
		var i = str.length;
		
		if(i>pos)
		{
			return true;
		} 
		return false;
	}
	
	return true;
}
	
function checkTwoDecimalPoint(data)
{
	if(isValidText(data))
	{
		var index=data.indexOf('.');
		var i=data.substring(index+1,data.length);
		if(i.indexOf('.')!=-1)
		{
			return true;
		}
		else 
		{
			return false;
		}
	}
	else
		{
			return false;
		}

}	


function CheckNonNumeric(st1,dec)
{
	var str;
	var st;
	st=st1.value==null?"":st1.value;
	
	if(!(event.keyCode>=48 && event.keyCode<=57) || (event.keyCode==46 && dec>0))
	{
		if(event.keyCode==46)
		{
		 	if(st.indexOf('.')!=-1)
		 	{
		 		event.keyCode=0;
		 	}
		}
		
		if (st!="" && st.indexOf(".")!=-1)
		{
		 	if(st.indexOf(".")+dec+1 <= st.length)
		 	{	
		 	event.keyCode=0;
		 	}
		 }
	}
	else
	{
			event.keyCode=0;
	}
	

}           // End of the function
	
	
	
	
var oLastBtn=0;
bIsMenu = false;


 if (window.Event) 
  document.captureEvents(Event.MOUSEUP); 


function nocontextmenu()
{ 
 event.cancelBubble = true; 
 event.returnValue = false; 
 return false; 
} 


function norightclick(e) 
{ 
 if (window.Event) 
 { 
 if (e.which !=1) 
 return false; 
} 

 else 
 if (event.button !=1) 
 { 
  event.cancelBubble = true; 
  event.returnValue = false; 
  return false; 
 } 
 return true; 
} 

 document.oncontextmenu = nocontextmenu; 
 document.onmousedown = norightclick; 


// Block backspace onKeyDown************



 

function onKeyDown() {

 if ( (event.altKey) || ((event.keyCode == 8) && 
 (event.srcElement.type != "text" &&
  event.srcElement.type != "textarea" &&
  event.srcElement.type != "password")) || 
 ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) || (event.keyCode == 116) ) {
  event.keyCode = 0;
   event.returnValue = false;

 }

}
document.onmousedown=disableRightClick;

function disableRightClick()

{

//Prevent Right Click (Mouse)

//alert("checking");

if(event.button =="2")

{

alert("Right click not allowed on this page");

return false;

}

//Prevent Right Click (Keyboard)

if(event.keyCode =="93")

{

alert("Right click not allowed on this page");

event.keyCode = "";

return false;

}

//Prevent 'f11' Hot Key

if(event.keyCode =="122")

{

alert("Maximize screen not allowed on this page");

event.keyCode = "";

return false;

}

if(event.keyCode =="80")

{

alert("Printing of the page is not allowed.");

event.keyCode = "";

return false;

} 

return true;

}

function checkBetweenNumbers(minNumber,maxNumber,entityNo)
{


var controls=document.getElementsByName("dfcontrol"+entityNo);



minNumber=parseInt(minNumber);
maxNumber=parseInt(maxNumber);
for(i=0;i<controls.length;i++)
{

if(controls[i].value!="" && controls[i].value!=null && controls[i].value!="null")
{

currentNumber=parseInt(controls[i].value);
CheckNumeric(controls[i],1);
if(currentNumber>=minNumber && currentNumber<=maxNumber)
{
return "true";
}
else
{

alert("Number must be in range of::"+minNumber +"...And..."+maxNumber);
controls[i].select();



}

}

}		
}
//***********************************************************************
		//Check Between Numbers ...working
//*************************************************************************


function checkRange(n,document)
{


	for(i=1;i<=n;i++)
	{
		arr = document.getElementsByName("dfcontrol"+i);
	if(arr.length>1)
	{
		for(j=1;j<arr.length;j++)
		{
			document.forms[0].lstMinMax.value=i;
			document.forms[0].lstMandatoryDesc.value=i;	
			if(document.forms[0].lstMinMax.selectedIndex!="-1")
			 {
				if(document.forms[0].lstMinMax.options[document.forms[0].lstMinMax.selectedIndex].text=="1")
				{
						document.forms[0].lstMin.value=i;
						document.forms[0].lstMax.value=i;
						var min=parseInt(document.forms[0].lstMin.options[document.forms[0].lstMin.selectedIndex].text);
						var max=parseInt(document.forms[0].lstMax.options[document.forms[0].lstMax.selectedIndex].text);
						var currentNumber=parseInt(arr[j].value);
						if( !(currentNumber>=min && currentNumber<=max))
						{
							var enDesc=document.forms[0].lstMandatoryDesc.options[document.forms[0].lstMandatoryDesc.selectedIndex].text;
							alert("Number must be in range of::"+min +"...And..."+max +" For >"+enDesc);
							arr[j].select();
							return false;

						}
					}
			}	
		}
	  }
	  else
	  {
	  	for(j=0;j<arr.length;j++)
		{
			document.forms[0].lstMinMax.value=i;
			
			if(document.forms[0].lstMinMax.selectedIndex!="-1")
			 {
				if(document.forms[0].lstMinMax.options[document.forms[0].lstMinMax.selectedIndex].text=="1")
				{
					document.forms[0].lstMin.value=i;
					document.forms[0].lstMax.value=i;
					 min=parseInt(document.forms[0].lstMin.options[document.forms[0].lstMin.selectedIndex].text);
					 max=parseInt(document.forms[0].lstMax.options[document.forms[0].lstMax.selectedIndex].text);
					 currentNumber=parseInt(arr[j].value);
						if( !(currentNumber>=min && currentNumber<=max))
						{
							var enDesc=document.forms[0].lstMandatoryDesc.options[document.forms[0].lstMandatoryDesc.selectedIndex].text;
							alert("Number must be in range of::"+min +"...And..."+max +" For >"+enDesc);
							arr[j].select();
							return false;
	
						}
						
				}
			}	
		}
	  }	

	}
}

 
//***********************************************************************************
function CheckNumeric(st1,dec)
{

	var str;
	var st;
	st=st1.value==null?"":st1.value;
	
	if((event.keyCode>=48 && event.keyCode<=57) || (event.keyCode==46 && dec>0))
	{
		if(event.keyCode==46)
		{
		 	if(st.indexOf('.')!=-1)
		 	{
		 		event.keyCode=0;
		 	
		 	}
		}
		
		if (st!="" && st.indexOf(".")!=-1)
		{
		 	if(st.indexOf(".")+dec+1 <= st.length)
		 	{	
		 	event.keyCode=0;
	
		 	}
		 }
	}
	else
	{
			event.keyCode=0;
	}
	
	//calTotal();
}           // End of the function
function CheckNumeric2(st1,beforeDecimal,dec)
{

	var str;
	var st;
	st=st1.value==null?"":st1.value;
		

	
	if(st1.readOnly!=true)
	{
		if(((event.keyCode>=48 && event.keyCode<=57 && event.keyCode!=16) || (event.keyCode>=96 && event.keyCode<=105) || (event.keyCode==110) || (event.keyCode==17)|| (event.keyCode==13)|| (event.keyCode==9)|| (event.keyCode==46) || (event.keyCode==20)|| (event.keyCode>=33 && event.keyCode<=40 ) || (event.keyCode==9) || (event.keyCode>=112 && event.keyCode<=124)  || event.keyCode==8) || event.keyCode==190 ) 
	         {
	        
		if(event.keyCode==46)
		{
		
		 	if(st.indexOf('.')!=-1)
		 	{
		 		event.keyCode=0;
		 		
		 	}
		}
		
		if (st!="" && st.indexOf(".")!=-1)
		{
		 
		 			
		 	var bd;
		 	var ad;
	
			if(st.indexOf(".") != st.lastIndexOf("."))
			{
					 
				alert('More Than One Decimal Point Not Allowed!');
				event.keyCode=0;
		 		var m = st.lastIndexOf(".");
		 		st1.value= st.substring(0,m);
				
			}
		 	ad = st.substring(st.indexOf(".")+1,st.length)

		 	if(ad.length < dec)
		 	{	
		 	}
		 	else if(ad.length > dec)
		 	{
		 	
		 	
		 		
		 		if(((event.keyCode>=48 && event.keyCode<=57 && event.keyCode!=16) ||  (event.keyCode>=96 && event.keyCode<=105) || (event.keyCode==110)|| (event.keyCode==17)|| (event.keyCode==13)|| (event.keyCode==9)|| (event.keyCode==46) || (event.keyCode==20)|| (event.keyCode>=33 && event.keyCode<=40 ) || (event.keyCode==9) || (event.keyCode>=112 && event.keyCode<=124)  || event.keyCode==8) || event.keyCode==190 ) {
		 		alert("Only "+dec+" Places after Decimal allowed");
		 		event.keyCode=0;
		 		var m = st.indexOf(".");
		 		var k = (parseInt(m)+parseInt(dec)+1);
		 		st1.value= st.substring(0,k);}
		 		else
		 		{
		 			alert("Please Enter Numeric Value Only ");
					st1.value="";
					event.keyCode=0;
		 		}
		 	}

		 	if(st.indexOf(".") > beforeDecimal)
		 	{
		 			
		 		alert("Put "+beforeDecimal+" digits only before Decimal");
		 		event.keyCode=0;
		 		st1.value=st.substring(0,beforeDecimal) + st.substring(st.indexOf("."),st.length)
		 	}
		 	
		 }
		 else
		 { 		
		 
		 	if(st.length > beforeDecimal)
		 	{
		 	alert("Put "+beforeDecimal+" digits only before Decimal");
		 	event.keyCode=0;
		 	st1.value=st.substring(0,beforeDecimal)
		 	//
		   
		 	}
		 	
		 
		 }
	}
	else
	{
			
			
			alert("Please Enter Numeric Value Only ");
			st1.value="";
			event.keyCode=0;
			
			
	}
	}		
} 
 function calcFormFormula()
 {

 		tbl=document.getElementById("tblFormula");
 		r = tbl.rows;

	 	for(i=1;i<r.length;i++)
		{
		
			Base1=document.getElementById("dfcontrol"+ (r[i].cells[1].innerHTML)).value;
			Base2=document.getElementById("dfcontrol"+ (r[i].cells[2].innerHTML)).value;
						
			if(Base1!=null && Base1!="" && Base2!=null && Base2!="")
			{

				Base1=parseFloat(Base1);
				Base2=parseFloat(Base2);
				Operator = r[i].cells[3].innerHTML;
				result = document.getElementById("dfcontrol"+r[i].cells[4].innerHTML);
				temp=0;
				if(Operator=="+")
					temp= Base1 + Base2;
				else if(Operator=="-")
					temp= Base1 - Base2;
				else if(Operator=="*")
					temp= Base1 * Base2;
				else if(Operator=="/")
					temp= Base1 / Base2;
				else if(Operator=="%")
					temp= Base1 * Base2 / 100;
				else if(Operator=="+%")
					temp= Base1 + (Base1 * Base2/100);
				else if(Operator=="-%")
					temp= Base1 - (Base1 * Base2/100);
				

				
				Output = r[i].cells[5].innerHTML;
	
				if(result!=null)		
					result.value=temp;

				if(Output!=null && Output!="")
				{
					document.getElementById("dfcontrol"+Output).value = result.value;
				}
			}
		}
	 	
	 	return 0;
 }

function replaceSpecialChar(text)
{
	var myNewString = text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&#39;').replace(/"/g, '&quot;').replace('/?/', '&frac12;').replace('/?/', '&frac14;').replace('/?/', '&frac34;');
	return (myNewString);
}

	function isKeyPressed(event)
		{
			if (event.shiftKey==1)
			{
				alert('Shift Key Is Not Allowed On This Page');
				return;
			}
		}


	function CheckAreaLimitOnFocusOut(str,maxlen, fieldName) {
	      var tmpMaxLen = parseInt(maxlen);
	      if (((str.value).length) > tmpMaxLen){
	       		str.value = str.value.substring(0, maxlen);
	            alert(fieldName+' should not be more than '+maxlen+' characters.');
	            return;
	      }
	}

	
	function CheckTextAreaLimitOnKeyPress(st1,size){
		var str;
		var st;
		st=st1.value==null?"":st1.value;
		if(size > 0){
			if(st.length > size ){
			    alert(' Maximum allowed '+size+' characters.');
				event.keyCode=0;
			}
		}
		
	}
	
 function CheckNumericDisSlabe(st1,beforeDecimal,dec)
{

	var str;
	var st;
	st=st1.value==null?"":st1.value;
		
		
		
	if(((event.keyCode>=48 && event.keyCode<=57) ||  (event.keyCode>=96 && event.keyCode<=105) || (event.keyCode==46) || (event.keyCode==39) || (event.keyCode==9) || (event.keyCode==110)  || event.keyCode==8) || event.keyCode==190)
	{
		if(event.keyCode==46)
		{
		 	if(st.indexOf('.')!=-1)
		 	{
		 		event.keyCode=0;
		 		
		 	}
		}
		
		if (st!="" && st.indexOf(".")!=-1)
		{
		 
		 	
		 	var bd;
		 	var ad;
			
		 	ad = st.substring(st.indexOf(".")+1,st.length)

		 	if(ad.length < dec)
		 	{	

		 	
		   
		 	}
		 	else if(ad.length > dec)
		 	{
		 		alert("Only "+dec+" Places after Decimal allowed");
		 		event.keyCode=0;
		 		st1.value= st.substring(0,st.indexOf(".")+1+dec);

		 	}

		 	if(st.indexOf(".") > beforeDecimal)
		 	{
		 		alert("Put "+beforeDecimal+" digits only before Decimal");
		 		event.keyCode=0;
		 		st1.value=st.substring(0,beforeDecimal) + st.substring(st.indexOf("."),st.length)
		 	}
		 	
		 }
		 else
		 { 
		 	if(st.length > beforeDecimal)
		 	{
		 	alert("Put "+beforeDecimal+" digits only before Decimal");
		 	event.keyCode=0;
		 	st1.value=st.substring(0,beforeDecimal)

		   
		 	}
		 	
		 
		 }
	}
	else
	{
			
			
			alert("Please Enter Numeric Value Only ");
			st1.value="";
			event.keyCode=0;
			
			
	}
			
	} 
	
	/**
     For Checking special Characters added by sarvesh  14-August 2008 
     This function call by from any jsp/others page with form name, 
     fieldName and Special Characters that want to Prevent.
   */
   function CheckSpecialCharacters(form,fieldName,strSpecialChars){
		  
		  var strText=form.value;
		  var strCheck="0";

		  var iChars = strSpecialChars;
		  for (var i = 0; i <strText.length; i++) {

		     if (iChars.indexOf(strText.charAt(i)) != -1) {
		        strCheck="1";
		       }
		    }
		   if(strCheck=="1")
		     {
		      alert ("Special characters not allowed.\n Please remove them.");
		      return false;
		     }
		     else{
		     return true;
		     }
         }   
       

function isNumeric(data){
	if(isValidText(data)){
		if(isNaN(data)){
			return false;
		}
		else{
			return true;
		}
	}
	else{
		return false;
	}
}

function hasActNoSpecCharacter(data){
	var iChars = "!@#$%^&*()+=[]\\\';.{}|\":<>? ";
	for (var i = 0; i <data.length; i++) {
		
		if (iChars.indexOf(data.charAt(i)) != -1) {
			//alert ("Your username has special characters. \nThese are not allowed.\n Please remove them and try again.");
			
			return false;
		}
	}
	return true;
}

