//allows only decimal point and numeric.
function allow_number_decpt()
{
	if(window.event.keycode>=48 && window.event.keycode<=57)
	{
	}
	else if (window.event.keyCode >= 96 && window.event.keyCode <= 105)
	{
	}
	else if (window.event.keycode==8 || window.event.keycode==46)
	{
	}
	else
	{
		window.event.returnValue = false
	}
}
//allows only date values ie.numeric and "/"
function allow_date()
{
	if(window.event.keyCode<48 || window.event.keyCode>57)
	{
		window.event.returnValue=false;
	}
}
function allow_number()
{
	if(window.event.keyCode==47)
	{
		window.event.returnValue=false;
	}
	else if(window.event.keyCode<46 || window.event.keyCode>57)
	{
		window.event.returnValue=false;
	}
}

function num_keydown(Allow_DecimalPoint)
{
 //if decimal allow then keycode to 190 "." else to"1" whichis allowed
	if (window.event.shiftKey)
	{
		window.event.returnValue = false
	}

	if (Allow_DecimalPoint==true)
	{
		Allow_DecimalPoint=190
		Allow_DecimalPoint1 = 110
	}
	else
	{
		Allow_DecimalPoint=48
		Allow_DecimalPoint1 = 57
	}
	
	if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
	{
	}
	else if (window.event.keyCode == 37 ||window.event.keyCode == 39 ||window.event.keyCode == 8 ||window.event.keyCode == 9 || window.event.keyCode == 46 || window.event.keyCode == 96|| window.event.keyCode==Allow_DecimalPoint || window.event.keyCode == Allow_DecimalPoint1)
	{
	}
	else if (window.event.keyCode >= 96 && window.event.keyCode <= 105)
	{
	}
	else
	{
		window.event.returnValue = false
	}
}
//takes date in dd/mm/yyyy format.

function dateto_mm_dd_yy()
{
	var date=window.event.srcElement.value
	var array_date = new Array()
	array_date = date.split("/")
	alert(array_date[0])
	alert(array_date[1])
	alert(array_date[2])
	return array_date[1]+ "/" + array_date[0] + "/" + array_date[2]
}

// takes date in mm/dd/yyyy format.
function dateto_dd_mm_yy(date)
{
	var date=window.event.srcElement.value
	var array_date = new Array()
	array_date = date.split("/")
	return array_date[1]+ "/" + array_date[0] + "/" + array_date[2]
}

// date keydown evnets
function date_keydown()
{
	if (window.event.shiftKey)
	{
	window.event.returnValue = false
	}
	 
if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
		{
		}
	else if (window.event.keyCode == 8 ||window.event.keyCode == 9 || window.event.keyCode == 46 || window.event.keyCode == 96 || window.event.keyCode == 191 ||window.event.keyCode == 37 ||window.event.keyCode == 39 || window.event.keyCode == 111)
		{
		}
	else if (window.event.keyCode >= 96 && window.event.keyCode <= 105)
		{
		}

	else
		{
		window.event.returnValue = false
		}
}

//new round number
function round_num(num,no_of_dec)
{
var dot_pos 
dot_pos= num.indexOf(".")
if (parseInt(no_of_dec) == 0)
{
	return Math.round(num)
}
if(dot_pos != -1 &&  dot_pos != num.length)
 {
   var value_after_dot = num.substring(dot_pos+1,num.length)
   if(value_after_dot.length<=no_of_dec)
		return num
	else
	{
	 var no =dot_pos + no_of_dec + 1
	 var round_digit = num.substring(no,no+1)
	 var no_to_add = "."
	 for(var i = 0; i<no_of_dec -1; i++)
	 {
	 no_to_add = no_to_add + "0"
	 }
	 
	 no_to_add = no_to_add + "1"
	 	 	 
	 if(round_digit >= 5)
		num = parseFloat(num.substring(0,no+1)) + parseFloat(no_to_add)
	
	 return num.toString().substr(0,no)	
	}
 }
else
	return num 
}
//ondblclick of the text box to select the text
function selecttext()
{
var txt_box = window.event.srcElement
txt_box.select()
window.event.cancelBubble = true
}

//new check number
function check_number(num,is_decimal_allow,no_of_digits_before_dot,no_of_digits_after_dot)
{
 num= "@"+num+"@"
var exp = "@\\d*" //one or more digits
if (is_decimal_allow == true || is_decimal_allow==0)
   exp=exp+"(\.\\d+)?@" // optional . and then one or more digits
else
	 exp=exp+"@"
var regexp = new RegExp(exp)
if(regexp.test(num))
{
		if (num.indexOf(".") != -1 )
		{
		var no_before_dot =  parseInt(num.substring(1,num.indexOf("."))) //start from 1 cos at 0th index @ character is there
		var no_after_dot = parseInt(num.substring(num.indexOf(".")+1,num.length))
		if(no_of_digits_before_dot < no_before_dot.toString().length)
			return -1
		
		else
		if(no_of_digits_after_dot>no_after_dot)
			return 0	//return 0 cos its a valid number. the extra digits after decimal will be rounded.
		} 
		else
		{
		if (num.length-2 > no_of_digits_before_dot)
				return -1
		
		} 
 return 0
 }   
else
   return -1
}
//-------------------------------------------------------------
// this function checks whether the entered doc_date is in open period or not.
function CheckDocDateInOpenPeriod(Start_Date,End_Date,Doc_Date)
{
		var c_Start_Date, c_End_Date, c_Doc_Date
		
		c_Start_Date = to_yyyymmdd (Start_Date)
		c_End_Date = to_yyyymmdd (End_Date)
		c_Doc_Date = to_yyyymmdd (Doc_Date)
				
		var int_startdate = (c_Doc_Date - c_Start_Date)
		var int_enddate = (c_End_Date - c_Doc_Date)
		if ((int_startdate >= 0) && (int_enddate >= 0))
		{
			return true;
		}
		else	
		{
			alert ("Document Date is not in Open Period")
			return false;
		}
		
}
function to_yyyymmdd(dt)
{
	var Arr_dt = new Array()
	Arr_dt=dt.split("/")
	var ReturnDate
	var dd = parseInt(Arr_dt[0])
	var mm = parseInt(Arr_dt[1]) - 1
	var yyyy = parseInt(Arr_dt[2])
	ReturnDate = new Date(yyyy,mm,dd)
	return ReturnDate;
}


// checks whether the date has valid days,months and year.
function chk_date() 
{ 
var dt=window.event.srcElement.value
var dt_id = window.event.srcElement.id
//alert(dt_id)
//alert(dt)
 var mystr = dt;  
 var dd,mm,yyyy,pos,achar,str,j;

    for (var j=0; j != mystr.length; j++) {
		 achar = mystr.substring(j,j+1);
		 if (achar < "0" || achar > "9"){
			if (achar > "9" && achar != "47"){
				alert("Please Enter Date In Numeric Digit InBetween 0 to 9");
			//	return 1 ;
			}	
		}
	}

 pos  =  mystr.indexOf("/");
 dd   =  mystr.substring(0,pos);
 str  =  mystr.substring(pos+1,mystr.length);
 pos  =  str.indexOf("/");
 mm   =  str.substring(0,pos);
 pos  =  str.indexOf("/");
 yyyy =  str.substring(pos+1,str.length);
 
if ((dd == "") || (mm == "" ) || (yyyy == "")) 
{
	alert("Please Enter Valid Date In DD/MM/YYYY Format");
	document.getElementById(dt_id).focus();
	return 1;
}
else
{
 if (yyyy.length != 4) 
 {
     alert("Please Enter Four Digit Year"); 
     document.getElementById(dt_id).focus();
	// return 1;
	}	 
if (mm < 1  || mm >12)
{
	 alert("Please Enter Month 1 to 12"); 
	 document.getElementById(dt_id).focus();
	// return 1;
}
 
 flag = validDate(dd,mm,yyyy);
 
 if (flag == false)
    {	alert("Please Enter Valid Date In DD/MM/YYYY Format");
    document.getElementById(dt_id).focus();
      return 1;
    }
 return 0;
} 
}

function validDate(dd,mm,yyyy)
{
  flag=true;
	if (mm==1 || mm==3 ||mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
    {
      if(dd>31)
        flag=false;
    }     
    else
	{ 
		if (mm==4 || mm==6 ||mm==9 || mm==11)
		  {
		    if(dd>30)
		      flag=false;
		  }     
      else
      {
        if(mm==2) 
        {
          if((yyyy % 4 ==0 && (yyyy % 100 != 0 || yyyy%400 ==0)))
          { 
             if (dd>29)
              flag=false;
          }
        else
          {
             if(dd>28)
               flag=false;
          }      
        } 
      }
    }
   return flag ;
 }      

function chk_edate(sdt,edt) 
{ 
  if(chk_date(sdt)==0 && chk_date(edt)==0)
	{ 					
		 var mystr = sdt;		 		 	                		 
		 pos  =  mystr.indexOf("/");
		 dds   = mystr.substring(0,pos);
		 
		 if (dds.charAt(0)=='0')
		 {
			dds=dds.charAt(1);
		 }
		 dds=parseInt(dds);
		 
		 str  =  mystr.substring(pos+1,mystr.length);
		 pos  =  str.indexOf("/");
		 mms   =  str.substring(0,pos);
		 if (mms.charAt(0)=='0')
		 {
			mms=mms.charAt(1);
		 }
		 mms=parseInt(mms);
		 
		 
		 pos  =  str.indexOf("/");
		 yyyys =  parseInt(str.substring(pos+1,str.length));
			
	     mystr = edt;
	     
		 
  		 pos  =  mystr.indexOf("/");
		 dde   = mystr.substring(0,pos);
		 
			if (dde.charAt(0)=='0')
			{
				dde=dde.charAt(1);
			}
			dde=parseInt(dde);
		 
		 str  =  mystr.substring(pos+1,mystr.length);
		 
		 pos  =  str.indexOf("/");
		 		 
		 mme   =  str.substring(0,pos);
		 
		 	if (mme.charAt(0)=='0')
			{
				mme=mme.charAt(1);
			}
			mme=parseInt(mme);
		 
		 pos  =  str.indexOf("/");
		 yyyye = parseInt(str.substring(pos+1,str.length));
          var valid = false       

		 if (yyyys>yyyye) 
		  {					
			return 0;
		  }		  
		 if (mms>mme && yyyys == yyyye) 
		  {		 								
			 return 0;
		  }	 
		 if (dds>dde && mms==mme && yyyys == yyyye )
		  {					
			 return 0;
		  }		 
		 return 1;	
  }	
}

//This function Will Change color of control at time of focus comes;  For Text Box Value////////////////////////
function onfocuscome()
		{
			var obj
			obj=window.event.srcElement.id
			document.getElementById(obj).className="EntryTextColor";
		//	alert(document.getElementById(obj).cssName);
			document.getElementById(obj).style.color="Red";
			if (obj=="txt_pmt_hno2" || obj=="txt_pst_hno2")
			{
				if(window.event.srcElement.value=="Hno" || window.event.srcElement.value=="HNO")
				{
					window.event.srcElement.value='';
				}
			}
			else if(obj=="txt_pmt_strt" || obj=="txt_pst_strt")
			{
				if(window.event.srcElement.value=="Street" || window.event.srcElement.value=="STREET")
				{
					window.event.srcElement.value='';
				}
			}
			else if(obj=="txt_b_dy" || obj=="txt_w_dy")
			{
				Check_dy_mm_yr()
			}
			else if(obj=="txt_b_mth" || obj=="txt_w_mth")
			{
				Check_dy_mm_yr()
			}
			else if(obj=="txt_b_yr" || obj=="txt_w_yr")
			{
				Check_dy_mm_yr()
			}
		}
		
////////////////////////////////////////////
///This function will reset the color of control when focus come out;/////////
		function focusOut()
		{
			var obj
			var obj_nm 
			//	alert(window.event.srcElement.value)
			obj=window.event.srcElement.id
			obj_nm = obj.substring(0,5)
			document.getElementById(obj).className="EntryTextBox";
			document.getElementById(obj).style.color="Navy";
			if (obj=="txt_pmt_hno2" || obj=="txt_pst_hno2")
			{
				if(window.event.srcElement.value=="")
				{
					window.event.srcElement.value="Hno";
				}
			}
			else if(obj=="txt_pmt_strt" || obj=="txt_pst_strt")
			{
				if(window.event.srcElement.value=="")
				{
					window.event.srcElement.value="Street";
				}
			}
			else if(obj=="txt_w_dy" || obj=="txt_b_dy" || obj_nm=="txt_d" || obj_nm=="txt_G" || obj_nm=="txt_A")
			{
				if(window.event.srcElement.value=="")
				{
					window.event.srcElement.value="DD";
				}
				else if(window.event.srcElement.value>31 || window.event.srcElement.value=='0' || window.event.srcElement.value=='00')
				{
					alert("Provide Days between 1 to 31 !")
					window.event.srcElement.focus();
					window.event.returnValue=false;
					return;
				}
			}
			else if(obj=="txt_b_mth" || obj=="txt_w_mth" || obj_nm=="txt_m" || obj_nm=="txt_H" || obj_nm=="txt_B")
			{
				if(window.event.srcElement.value=="")
				{
					window.event.srcElement.value="MM";
				}
				else if(window.event.srcElement.value>12 || window.event.srcElement.value=='0' || window.event.srcElement.value=='00')
				{
					alert("Month should be between 1 to 12 !")
					window.event.srcElement.focus();
					window.event.returnValue=false;
					return;
				}
			}
			else if(obj=="txt_b_yr" || obj=="txt_w_yr" || obj_nm=="txt_y" || obj_nm=="txt_I" || obj_nm=="txt_C")
			{
				if(window.event.srcElement.value=="")
				{
					window.event.srcElement.value="YYYY";
				}
				else if(window.event.srcElement.value<1910 || window.event.srcElement.value>9999)
				{
					alert("Provide Year in Proper Format !")
					window.event.srcElement.focus();
					window.event.returnValue=false;
					return;
				}
			}
		}
//////////////////////////////////////////////////////////////
function focusOutBtn()
		{
			var obj
			obj=window.event.srcElement.id
			document.getElementById(obj).className="Btn";
		}
///////////
function Check_dy_mm_yr()
{
	if(window.event.srcElement.value=="DD" || window.event.srcElement.value=="MM" || window.event.srcElement.value=="YYYY" )
	{
		window.event.srcElement.value='';
	}
}
