﻿var expChkAR=new Array("SCRIPT","CREATE","INSERT","SELECT","DELETE","DROP","UPDATE");
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
function chkResWords(strChk)
{
   //Reserved word
	for(i=0;i<expChkAR.length;i++)
	{
		var chk=new RegExp(expChkAR[i]);
		if (strChk.toUpperCase().match(chk))
		{return false;break;}
	}
return true;
}
// JScript File



function checkzero(field){var str1=new String();str1=field.value; if(str1.length==0){field.value="0";}}


//===Field Integer Check=======================================
function validInt(intCheck,intMinLen,intMaxLen,intSign)
{
if (intCheck.length>intMaxLen)
{return false;}
//------------------------------------
if (intCheck.length<intMinLen)
{return false;}
//------------------------------------
validFormatRegExp = /^(\d)?\d*$/;

if (intSign=="-")
{
if ((intCheck=="-1") || validFormatRegExp.test(intCheck)==true)
{return true;}
else
{return false;}

}
else
{
//integer 
return validFormatRegExp.test(intCheck);
}
}




////For Key Press Event-----------------------
//function numbersonly(e)
//{
//var key;
//var keychar;
//if (window.event)
//   key = window.event.keyCode;
//else if (e)
//   key = e.which;
//else
//   return true;
//keychar = String.fromCharCode(key);

//// control keys
//if ((key==null) || (key==0) || (key==8) || 
//    (key==9) || (key==13) || (key==27) )
//   return true;

//// numbers
//else if ((("0123456789").indexOf(keychar) > -1))
//   return true;
//else
//   return false;
//}



//function alphanumericOnly(e)
//{
//var key;
//var keychar;
//if (window.event)
//   key = window.event.keyCode;
//else if (e)
//   key = e.which;
//else
//   return true;
//keychar = String.fromCharCode(key);

//// control keys
//if ((key==null) || (key==0) || (key==8) || 
//    (key==9) || (key==13) || (key==27) )
//   return true;

//// numbers
//else if ((("0123456789Tt").indexOf(keychar) > -1))
//   return true;
//else
//   return false;
//}

function ValidDate(obj, format){
dateBits = DateComponents(obj.value, format);
if (dateBits == null) return false;

day = dateBits[0];
month = dateBits[1];
year = dateBits[2];

if ((month < 1 || month > 12) || (day < 1 || day > 31)) { // check month range 
return false;
} 
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
}
if (month == 2) {
// check for february 29th 
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
if (day>29 || (day==29 && !isleap)) {
return false;
}
} 
return true;
}

function DateComponents(dateStr, format) {
var results = new Array();
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(datePat);

if (matchArray == null) return null; 
// parse date into variables
if (format.charAt(0)=="d"){ //format=dd/mm 
results[0] = matchArray[1];
results[1] = matchArray[3];
} else { 
results[1] = matchArray[1];
results[0] = matchArray[3]; }
results[2] = matchArray[4];
return results;
}



//===========//===========//===========//===========//===========//===========
//Printing Report
//===========//===========//===========//===========//===========//===========
function printMe()
{
show(false,"divPrnt");
print();
show(true,"divPrnt");
}

//For hiding contorls while printing
// quick browser tests
var ns4 = (document.layers) ? true : false;
var ie4 = (document.all && !document.getElementById) ? true : false;
var ie5 = (document.all && document.getElementById) ? true : false;
var ns6 = (!document.all && document.getElementById) ? true : false;

function show(sw,obj) {
	// show/hide the divisions
	if (sw && (ie4 || ie5) ){document.all[obj].style.visibility = 'visible';}
	if (!sw && (ie4 || ie5) ){document.all[obj].style.visibility = 'hidden';}

	if (sw && ns4){ document.layers[obj].visibility = 'visible';}
	if (!sw && ns4){ document.layers[obj].visibility = 'hidden';}
	
}
//===========//===========//===========//===========//===========//===========





//function passBudgetHeadonCLose()
//{
////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblBudgetCode').value = "Arun";// document.getElementById('lblBudgetCode').value;
//alert(document.getElementById('lblBudgetCode').value);

////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblSOECode').value =document.getElementById('lblSOECode').value;
////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblMajorHead').value =document.getElementById('lblMajorHead').value;
////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblSubMajorHead').value =document.getElementById('lblSubMajorHead').value;
////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblMinorHead').value =document.getElementById('lblMinorHead').value;
////window.opener.document.getElementById('ctl00_ContentPlaceHolder1_lblSubMinorHead').value =document.getElementById('lblSubMinorHead').value;
////window.close();
//}
//    
////function getbudgetInit()
////{
////var param1 = "";
////var param2 = "";
////var param3 = "";
////var param4 = "";
////var MyArgs = new Array(param1,param3,param3,param4);
////MyArgs =  window.dialogArguments;
////}



///KeyPress
function KeypressDecimalNumbers(e,field)
{
var countdot=0;
var ctrlvalue=document.getElementById(field).value;
var i=0;
var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
  
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
     return true;
     else if (keychar==".")
        {
        for(i=0;i<ctrlvalue.length;i++){ if(ctrlvalue.substring(i,i+1)=="."){countdot++; }}
        if (countdot>0){return false;}
        return true;
        }
       else
      return false;
}


///KeyPress Decimal with +/- Sign
function KeypressDecimalNumbersSign(e,field)
{
var countdot=0;
var ctrlvalue=document.getElementById(field).value;
var positionof=0;
var i=0;
var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
  
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

        
// numbers
else if ((("0123456789").indexOf(keychar) > -1))
     return true;
     else 
      {
        if (keychar==".")
        {
        for(i=0;i<ctrlvalue.length;i++){ if(ctrlvalue.substring(i,i+1)=="."){countdot++; }}
        if (countdot>0){return false;}
        return true;
        }
       if (keychar=="-")
       {
       positionof=ctrlvalue.indexOf("-");
       if (positionof==-1) {return true;} else {return false;}      
       }
      }
      return false;
}


//To avoid the entry of invalid charachers
function KeyPressAlphanumeric(e,field)
{
var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;
// numbers
else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1))
   return true;
   else
   return false;
}


//To avoid the entry of invalid charachers for Store Indent Backlog
function KeyPressAlphanumericForBackLog(e,field)
{
var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;
// numbers
else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-.").indexOf(keychar) > -1))
   return true;
   else
   return false;
}

//To avoid the entry of invalid charachers
function KeyPressAgreementNumber(e,field)
{
var countdot=0;
var ctrlvalue=document.getElementById(field).value;
var i=0;

var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;
// numbers
// numbers
//else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1))
else if ((("0123456789").indexOf(keychar) > -1))
     return true;
     else if (keychar=="-")
        {
        for(i=0;i<ctrlvalue.length;i++){ if(ctrlvalue.substring(i,i+1)=="-"){countdot++; }}
        if (countdot>0){return false;}
        return true;
        }
       else
      return false;
}



function KeyPressNumbersonly(e)
{
var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;
else
   return false;
}




//To avoid the entry of invalid charachers
function KeyPressSchemeCode(e,field)
{

var key;
var keychar;
if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;
// numbers
else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-").indexOf(keychar) > -1))
     {
//        if (("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)
//        {window.event.keyCode=key - 32;}
     return true;}
   else
   return false;
}

//------------------------------------------------------
//-----Blur

//--function validSchemeCode(field1,minLength,maxLength,fieldname)
function validSchemeCode(field1,fieldname)
{

//Arun : pending
var value1=document.getElementById(field1).value; // Available
if ((value1.length>maxLength) || (value1.length<minLength))
{document.getElementById(field1).focus();return false;}

//validFormatRegExp = /(\d){10}-(\d){0,4}/;
//if (validFormatRegExp.test(value1)==false)
//{ 
//alert("!! Error !! \n Invalid "+fieldname);
//document.getElementById(field1).focus();}
return true;
}


function validMonth(ctrlMonth)
{

if(ctrlMonth.value=="" || ctrlMonth.length==0) {return true;}
var mon=parseInt(ctrlMonth.value);
if (mon<=0 || mon>12){alert("Invalid Month");ctrlMonth.focus();return false;}
return true;
}


function validStartYear(ctrlYear)
{

var d = new Date();
var currDate = d.getDate();
var maxYear = d.getFullYear();
var minYear="1959";
var valYear=ctrlYear.value;

if (valYear<1959 || valYear>maxYear)
{
alert("Invalid year, valid range is "+minYear+"-to-"+maxYear);
ctrlYear.focus();
return false;
}
return true;
}


//--
function validDecimalNumber(ctrlvalue,maxlength,minlength)
{
if (ctrlvalue.length>maxlength){return false;}
if (ctrlvalue.length<minlength){return false;}

if (ctrlvalue==0)
{return true;}
else
{return /^\d*\.{0,2}\d+$/.test(ctrlvalue);}
return true;
}

function integersOnly(field,intMinLen,intMaxLen)
{
var intCheck=document.getElementById(field).value;
if (intCheck.length>intMaxLen)
{return false;}
//------------------------------------
if (intCheck.length<intMinLen)
{return false;}


if (intCheck=="0")
{return false;}
//------------------------------------
validFormatRegExp = /^(\d)?\d*$/;
//integer 
if (validFormatRegExp.test(intCheck)==false)
{document.getElementById(field).focus();}
else{return true;}
}

//--
function validProgressPecentage(fldprogPerTillDate,ctrlvalue,maxlength,minlength)
{
if (ctrlvalue.length>maxlength){return false;}
if (ctrlvalue.length<minlength){return false;}

var ctrlDecValue=parseFloat(ctrlvalue);
  
if (validDecimalNumber(document.getElementById(fldprogPerTillDate).value,5,0)==false)
{document.getElementById(fldprogPerTillDate).focus();return false;}


//if (ctrlDecValue==0)
//{return true;}
//else
//{ 
//    if ((/^\d*\.{0,2}\d+$/.test(ctrlvalue))==false)
//    {
//    document.getElementById(fldprogPerTillDate).focus();
//    return false;
//    }
//    alert('3');
//}

if (ctrlDecValue>100)
{alert('Invalid Work Progress Till Date(It should be less or equal to 100)');
return false;}

return true;

}





//function decimalNumbersOnly(field,maxlength)
//{
//var ctrlvalue=document.getElementById(field).value;
//if (ctrlvalue.length>maxlength){return false;}
//if (ctrlvalue==0 || ctrlvalue=="")
//{return true;}
//else
//{
//if (/^\d*\.{0,2}\d+$/.test(ctrlvalue)==false)
//{document.getElementById(field).focus();}
//}
//return true;

//}
////------------------------------------------------------



//--
function isValidDecimalNumberSign(ctrlvalue,maxlength,minlength)
{
if (ctrlvalue.length>maxlength){return false;}
if (ctrlvalue.length<minlength){return false;}

if (ctrlvalue==0)
{return true;}
else

{return /^[-]\d*\.{0,2}\d+$/.test(ctrlvalue);}
return true;
}
//--
function IsValidString(strChk,fieldName)
{
var errCount=0;
var errMsg=new String();
errMsg="Please Check " +fieldName+" for-->>\n";
//Reserved Words
for(i=0;i<expChk1.length;i++)
{
    var chk=new RegExp(expChk1[i]);
	if (strChk.toUpperCase().match(chk))
	{errCount++;errMsg=errMsg+errCount+". Use synonym of word "+expChk1[i]+"\n";break;}
}
 //==========Invalid Charachers 
var strlen=strChk.length;
var chkStr=/['\\@#$%^*()~!_+=|:;\"{}[]?><`]/;
if (strChk.match(chkStr))
{invalidYN=1;}

 //return false;
if (errCount>0){alert(errMsg);return false;}
}
//--
function isValidAgreementNumber(ctrlvalue,minLength,maxLength)
{
if (ctrlvalue.length<minLength){return false;}
if (ctrlvalue.length>maxLength){return false;}
return true;
}
//--
//-----For Codes of Integer type
function isValidCodeInt(intCheck,intMinLen,intMaxLen)
{

if (intCheck.length>intMaxLen)
{return false;}

//------------------------------------
if (intCheck.length<intMinLen)
{return false;}


if (intCheck=="0")
{return false;}

//------------------------------------
validFormatRegExp = /^(\d)?\d*$/;
return validFormatRegExp.test(intCheck);
}




//function validConsumedQuantity(field1,field2,field3,field4,maxlength)
//{
//if (decimalNumbersOnly(field4,maxlength)==false)
//{return false;}
//else
//{
//   //---
//    var ctrlvalue4=document.getElementById(field4).value;
//    if (ctrlvalue4=="")
//    {document.getElementById(field4).focus();}
//    else
//    {
//       var ctrlvalue1=parseFloat(document.getElementById(field1).value);
//       var ctrlvalue2=parseFloat(document.getElementById(field2).value);
//       var ctrlvalue3=parseFloat(document.getElementById(field3).value);
//       var valueTocompare=parseFloat(ctrlvalue4);
//       
//       var totValue=(ctrlvalue1+ctrlvalue2)-ctrlvalue3;
//       
//       if (ctrlvalue4>totValue)
//        {alert("Invalid value");document.getElementById(field4).focus();return false;}
//    }
// }
//return true;

//}


//function validIndentedQuantityAgForStore(value1,field2,maxlength)
//{
//if (decimalNumbersOnly(field2,maxlength)==false)
//{return false;}
//else
//{
//   //---
//    var ctrlvalue2=document.getElementById(field2).value;
//    if (ctrlvalue2=="")
//    {document.getElementById(field2).focus();}
//    else
//    {
//       //var ctrlvalue1=parseFloat(document.getElementById(field1).value);
//       var totalAvailableValue=parseFloat(value1);
//       var indentedValue=parseFloat(ctrlvalue2);
//                     
//       if (indentedValue>totalAvailableValue)
//        {alert("!! Information !! \n Indented Quantity is greater than the Quantity given in revised schedule");
//         //document.getElementById(field2).focus();
//         return true;}
//    }
// }
//return true;

//}

//function validIndentedQuantityAgForToAgreement(value1,field2,maxlength)
//{
//if (decimalNumbersOnly(field2,maxlength)==false)
//{return false;}
//else
//{
//   //---
//    var ctrlvalue2=document.getElementById(field2).value;
//    if (ctrlvalue2=="")
//    {document.getElementById(field2).focus();}
//    else
//    {
//       //var ctrlvalue1=parseFloat(document.getElementById(field1).value);
//       var totalAvailableValue=parseFloat(value1);
//       var indentedValue=parseFloat(ctrlvalue2);
//                     
//       if (indentedValue>totalAvailableValue)
//        {alert("!! Information !! \n Indented Quantity is greater than the Quantity given in Revised Schedule of Quantity");
//         //document.getElementById(field2).focus();
//         return true;}
//    }
// }
//return true;

//}

//function validIssuedQuantity(field1,field2,maxlength)
//{
//if (decimalNumbersOnly(field2,maxlength)==false)
//{return false;}
//else
//{
//   //---
//    var ctrlvalue1=document.getElementById(field1).value;
//    
//    var ctrlvalue2=document.getElementById(field2).value;
//    if (ctrlvalue2=="")
//    {document.getElementById(field2).focus();}
//    else
//    {
//       //var ctrlvalue1=parseFloat(document.getElementById(field1).value);
//       var totalAvailableValue=parseFloat(ctrlvalue1);
//       var issuedValue=parseFloat(ctrlvalue2);
//                     
//       if (issuedValue>totalAvailableValue)
//        {alert("!! Error !! \n Quantity to be Issued Now is greater than the Quantity Available");
//         document.getElementById(field2).focus();
//         return false;}
//    }
// }
//return true;

//}




//function validAllocatedQuantity(value1,field2,maxlength)//Material Allocation in GRSHEET Entry Module
//{
//if (decimalNumbersOnly(field2,maxlength)==false)
//{return false;}
//else
//{
//   //---
//    var ctrlvalue2=document.getElementById(field2).value;
//    if (ctrlvalue2=="")
//    {document.getElementById(field2).focus();}
//    else
//    {
//       var totalAvailableValue=parseFloat(value1);
//       var qtyToAllocateValue=parseFloat(ctrlvalue2);
//               
//       if (qtyToAllocateValue>totalAvailableValue)
//        {alert("!! Error !! \n Qty. to Allocate is greater than the Qty. Available for Allocation");
//        document.getElementById(field2).focus();}
//    }
// }
//return true;

//}

////4.For printing a page and hiding the button on click and show after print
//// quick browser tests
//var ns4 = (document.layers) ? true : false;
//var ie4 = (document.all && !document.getElementById) ? true : false;
//var ie5 = (document.all && document.getElementById) ? true : false;
//var ns6 = (!document.all && document.getElementById) ? true : false;

//function show(sw,obj) 
//{
//	// show/hide the divisions
//	if (sw && (ie4 || ie5) ){document.all[obj].style.visibility = 'visible';}
//	if (!sw && (ie4 || ie5) ){document.all[obj].style.visibility = 'hidden';}

//	if (sw && ns4){ document.layers[obj].visibility = 'visible';}
//	if (!sw && ns4){ document.layers[obj].visibility = 'hidden';}
//	
//}

//---------------------------------------------------------------------------//
function  md5Auth(seed)
{
 
 
    var userId=document.getElementById("tbLoginID").value;
    var userPass=document.getElementById("tbPassword").value;

    if (validPSWDAR(userPass)==true && validUsrAR(userId)==true)
    {document.getElementById("hidHash").value=MD5(seed+MD5(userPass));}
    else
    {alert("Error--->\nInvalid User ID/Password");}
}

//16.Functions for Login user id & pswd check
function validUsrAR(valChk)
{

    var i=0;var usrID=valChk.trim();
    //1.Blank
    var strlen=usrID.length;
    if (strlen==0) {return false;}
    //2.numeric characters
    //if (isValidCodeInt(valChk,5,5)==false){ return false;}
    //3.reserved word
    if (chkResWords(valChk)==false){return false;}
    return true;
}



//17. for valid password
function validPSWDAR(valChk)
{

    var i;var expChk=/\s/;
    var strChk=valChk.trim();
    //Length Check
    //if (strChk.trim().length>10 || strChk.length<4){return false;}
        if (strChk.trim().length>10 || strChk.length<1){return false;}

    else
    {
    //	//Preceeding/following integer check
    //	if (("0123456789").indexOf(strChk.substr(0,1)) > -1) 
    //	{return false;}
    //	
    //	
    //	if (("0123456789").indexOf(strChk.substr(strChk.length-1,1)) > -1)
    //	{return false;}
    	
    if (strChk.search(expChk)>-1){return false;}
    //reserved word
    if (chkResWords(valChk)==false){return false;}
    }
    return true;
}

function clearMeAR(fieldToClr){fieldToClr.value="";}


////********************************************************//
function ParseDate(str1)
    {
        // Parse the string in DD/MM/YYYY format
        re = /(\d{1,2})\/(\d{1,2})\/(\d{4})/
        var arr = re.exec( str1 );
        return new Date( parseInt(arr[3]), parseInt(arr[2], 10) - 1, parseInt(arr[1], 10) );
 }
 
 
//---------------------------------------------------------------------------------------------


//--------------------------------Used in Consump--------------------------------------
function validConsumedQuantityAgForToAgreement1(field1,field2,field3,maxlength)
{
var value1=parseFloat(document.getElementById(field1).value);
var value2=parseFloat(document.getElementById(field2).value);
var value3=parseFloat(document.getElementById(field3).value);

if (decimalNumbersOnly(field3,maxlength)==false)
{return false;}
else
{
   //---
   if (document.getElementById(field3).value=="")
   {document.getElementById(field3).focus();}
   else
   {
       var totalAvailableValue=(value1-value2);
                     
       if (value3>totalAvailableValue)
        {alert("!! Error !! \n Quantity Consumed Now is greater than the (Quantity Total Received+Quantity Consumed Previously)");
        document.getElementById(field3).focus();
        }
    }
 }
return true;

}
//----------------------------------------------------------------------
function validConsumedQuantityAgForToAgreement2(field1,field2,maxlength)
{
var value1=document.getElementById(field1).value;
if (decimalNumbersOnly(field2,maxlength)==false)
{return false;}
else
{
   //---
    var ctrlvalue2=document.getElementById(field2).value;
    if (ctrlvalue2=="")
    {document.getElementById(field2).focus();}
    else
    {
       var totalAvailableValue=parseFloat(value1);
       var consumedValue=parseFloat(ctrlvalue2);
               
       if (consumedValue>totalAvailableValue)
        {alert("!! Error !! \n Consumed Quantity is greater than the Quantity Total Received");
        document.getElementById(field2).focus();}
    }
 }
return true;
}
//----------------------------------------------------------------

function validConsumedPQuantityAgForToAgreement(field1,field2,maxlength)
{
var value1=parseFloat(document.getElementById(field1).value); // Available
var value2=parseFloat(document.getElementById(field2).value); //prevCon

if (decimalNumbersOnly(field2,maxlength)==false)
{return false;}
else
{
    if (value2>value1)
    {
     alert("!! Error !! \n Quantity Consumed Previously is greater than the Quantity Total Received");
     document.getElementById(field2).focus();
    }
 }
return true;
}

//--For Agreement Number and GR Sheet Number format will be yyyy-12345
function validAgreementNumber(field1,minLength,maxLength,fieldname)
{
var value1=document.getElementById(field1).value; // Available
if ((value1.length>maxLength) || (value1.length<minLength))
{document.getElementById(field1).focus();return false;}

validFormatRegExp = /(\d){4}-(\d){0,4}/;
if (validFormatRegExp.test(value1)==false)
{ 
alert("!! Error !! \n Invalid "+fieldname);
document.getElementById(field1).focus();}
return true;
}





//----------------------------------------------------------------------
function validStorageChargePer(field1,maxlength)
{
var value1=parseFloat(document.getElementById(field1).value);
if (decimalNumbersOnly(field1,maxlength)==false)
{document.getElementById(field1).focus();return false;}
else
{
    if (value1>100)
    {document.getElementById(field1).focus();return false;}
   
}
return true;
}




function changeIndexBudgetType(field)
{
//Check  correct date
if (ValidDate(field,"dd/mm/yyyy")==false){return false;}

var myRBL0 = document.getElementById("ctl00_ContentPlaceHolder1_rblBudgetType_0");
var myRBL1 = document.getElementById("ctl00_ContentPlaceHolder1_rblBudgetType_1");
var myRBL2 = document.getElementById("ctl00_ContentPlaceHolder1_rblBudgetType_2");

myRBL0.checked=false;
myRBL1.checked=false;
myRBL2.checked=false;
var myAmount=document.getElementById("ctl00_ContentPlaceHolder1_tbAmount");
myAmount.value="";
}

function isBrowserClosed()
{
 
var browserWindowWidth = 0;var browserWindowHeight = 0;

// gets the width and height of the browser window
if (parseInt(navigator.appVersion) > 3)
{
if (navigator.appName == "Netscape")
{browserWindowWidth = window.innerWidth;browserWindowHeight = window.innerHeight;}

if (navigator.appName.indexOf("Microsoft") !=- 1)
{browserWindowWidth = top.window.document.body.offsetWidth;browserWindowHeight = top.window.document.body.offsetHeight;
}
}

 

// checks if the X button was closed

// if event.clientY < 0, then click was on the browser menu area

// if event.screenX > (browserWindowWidth - 25), the X button was clicked

// use screenX if working with multiple frames

return (event.clientY < 0 && event.screenX > (browserWindowWidth - 25)) ? true : false;

}

function  validSubHeadMonProgPerValue(fldprogPerTillDate,progPerTillPrevMon)
{
var _progPerTillDate=parseFloat(document.getElementById(fldprogPerTillDate).value);

if (validProgressPecentage(fldprogPerTillDate,document.getElementById(fldprogPerTillDate).value,5,0)==false)
{document.getElementById(fldprogPerTillDate).focus();return false;}

var _progPerTillPrevMon=parseFloat(progPerTillPrevMon);
if (_progPerTillDate<_progPerTillPrevMon)
{
alert('Invalid Work Progress Till Date(It should be greater or equal to than the previous month work progress i.e.'+progPerTillPrevMon+')');
document.getElementById(fldprogPerTillDate).focus();return false;}
else
{return true;}


}


function validSubHeadMonExpValue(fldexpTillDate,expTillPrevMonth)
{
var _expTillDate=parseFloat(document.getElementById(fldexpTillDate).value);
if (validDecimalNumber(document.getElementById(fldexpTillDate).value,12,0)==false)
{document.getElementById(fldexpTillDate).focus();return false;}

var _expTillPrevMonth=parseFloat(expTillPrevMonth);
if (_expTillDate<_expTillPrevMonth)
{
    alert('Invalid Expenditure Till Date(It should be greater than the previous month Expenditure i.e.'+expTillPrevMonth+')');
    document.getElementById(fldexpTillDate).focus();
    return false;
 }
else
{return true;}
}
