/*---------------------------- Go help pages with pageid and bookmark ----------------------------*/
function goHelp(url,parameter)
{ 
	var pageid=new Array(100);
	var features="resizable=yes,scrollbars=yes,width=700,height=400";
 	pageid[0]="http://169.254.100.1/help/RF_Help/rf_schedule_10.htm"  ;           		 // Rf_schedule_X
 	pageid[1]="http://169.254.100.1/help/RF_Help/rf_form_v_partnership.htm";     		//  Rf_form_5_inp
 	pageid[2]="http://169.254.100.1/help/RF_Help/rf_form_viii_inp.htm";     		//  Rf_form_viii_inp
	pageid[3]="http://169.254.100.1/help/RF_Help/rf_audit_report.htm";    			//  rf_audit_report.htm
	pageid[4]="http://169.254.100.1/help/RF_Help/rf_form_ii_inp_address.htm";  		// rf_form_ii_inp_address.htm  
 	pageid[5]="http://169.254.100.1/help/RF_Help/rf_form_ii_inp.htm";  		       // rf_form_ii_inp.htm			
      pageid[6]="http://169.254.100.1/help/RF_Help/rf_form_vi_inp.htm"; 

	pageid[7]="http://169.254.100.1/help/RF_Help/rf_form_117_inp.htm";			//shahriar
	pageid[8]="http://169.254.100.1/help/RF_Help/rf_form_117_person_inp.htm";		//shahriar
	pageid[9]="http://169.254.100.1/help/RF_Help/rf_form_xii_inp.htm";			//shahriar
	pageid[10]="http://169.254.100.1/help/RF_Help/rf_form_xii_person_inp.htm";		//shahriar

	pageid[11]="http://169.254.100.1/help/RF_Help/rf_form_vii.htm";				//shahriar
	pageid[12]="http://169.254.100.1/help/RF_Help/rf_form_vii_Person.htm";			//shahriar
	pageid[13]="http://169.254.100.1/help/RF_Help/rf_form_vii_Person1.htm";			//shahriar
	pageid[14]="http://169.254.100.1/help/change_password.htm";			//shahriar

       window.open(pageid[url]+"#"+parameter,"help",features);
}

/*---------------------------- On Enter submitt disable ----------------------------*/


function DisableSubmit(e,a)
{
     var key;
     if(window.event)
	     key=window.event.keyCode;
     else
         key=e.which;
            
     if(key==13)
         return false;
     else
     {
         if(a=="1")
           	return !BlockNumbers(e);
         else if(a=="2")
           	return BlockNumbers(e);
         else
           	return true;
     }            
}
      
function BlockNumbers(e)
{
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /\d/;
    return !reg.test(keychar);
}   

function BlockChar(e)
{
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /\d/;
    return reg.test(keychar);
}  
      
/*---------------------------- GET CURRENT DATE IN DD-MM-YYYY FORMAT ----------------------------*/
function GetDate()
{
    var d = new Date()
    var dt=d.getDate()+"/"+ (d.getMonth() + 1)+"/"+d.getFullYear();
    return dt;
}

/*---------------------------- For highlight an element ----------------------------*/
function highlightRow (element, color) 
{ 
	var temporary; 
	temporary=element; 
	while (element.tagName.toUpperCase() != 'TR' && element != null) 
	element = document.all ? element.parentElement : element.parentNode; 
	if (element) 
	{ 
		if (temporary.checked) 
			element.bgColor = color; 
		else 
			element.bgColor = '#ffffff'; 
	} 
}


function imgover(imgname)
{
	imgname.src = "/image/arrow.gif"
}


function imgout(imgname)
{
	imgname.src = "/image/blank.gif"
}

/*---------------------------- Close browser without message ----------------------------*/
function CloseWindow() 
{
	window.opener=self;
	window.close();
}

/*---------------------------- Comma separator for taka format ----------------------------*/
function CommaSeparatorTaka(num){
	if (num.value=="")
	{
		return;
	}

	var i,j,k,m,n,a,b,len,temp;
	var x=new Array();
	x=num.value.split(".");
	if (x.length>2)
	{
		alert("Invalid number.");
		num.value="";
		num.focus();
		return;
	}
	if (x.length==2)
	{
		if (x[1].length>2)
		{
			alert("Only two decimal points is allowed.");
			num.value="";
			num.focus();
			return;
		}	
	}

	if (x[0].length>0 && parseInt(x[0])>0)
	{
		a=x[0];
		len=a.length;
		var b=new Array();
		j=0;
		m=3;
		n=0;
		for(i=len;i>=1;i=i-m)
		{
			b[j]=a.substring(i,i-m);
			j=j+1;
			n=n+1;

			if (n==1)
			{
				m=2;
				i--;
			}
				
			if (n>=2 && n<3)
			{
				m=2;
			}
			if (n==3)
			{
				m=3;
				n=0;
				i++;
			}
		}
		for (k=b.length-1;k>=0;k--)
		{	
			if (k==(b.length-1))
			{
				temp=b[k];
			}
			else
			{
				temp=temp+","+b[k];
			}
		}
	}
	
	else if ((x[0].length==0) || (x[0].length>0 && parseInt(x[0])==0))
	{
		temp="0";
	}
		
	if (x.length==2)
	{
		if (x[1].length==1)
		{
			temp=temp+"."+x[1]+"0";
		}
		else if(x[1].length==2)
		{
			temp=temp+"."+x[1];
		}
		else if(x[1].length==0)
		{
			temp=temp+"."+"00";
		}
	}
	else if (x.length==1)
	{
		temp=temp+"."+"00";
	}
	num.value=temp;
}

function CommaSeparatorTakaReturn(num){
	if (num=="")
	{
		return;
	}

	var i,j,k,m,n,a,b,len,temp;
	var x=new Array();
	x=num.split(".");

	if (x[0].length>0 && parseInt(x[0])>0)
	{
		a=x[0];
		len=a.length;
		var b=new Array();
		j=0;
		m=3;
		n=0;
		for(i=len;i>=1;i=i-m)
		{
			b[j]=a.substring(i,i-m);
			j=j+1;
			n=n+1;

			if (n==1)
			{
				m=2;
				i--;
			}
				
			if (n>=2 && n<3)
			{
				m=2;
			}
			if (n==3)
			{
				m=3;
				n=0;
				i++;
			}
		}
		for (k=b.length-1;k>=0;k--)
		{	
			if (k==(b.length-1))
			{
				temp=b[k];
			}
			else
			{
				temp=temp+","+b[k];
			}
		}
	}
	
	else if ((x[0].length==0) || (x[0].length>0 && parseInt(x[0])==0))
	{
		temp="0";
	}
		
	if (x.length==2)
	{
		if (x[1].length==1)
		{
			temp=temp+"."+x[1]+"0";
		}
		else if(x[1].length==2)
		{
			temp=temp+"."+x[1];
		}
		else if(x[1].length==0)
		{
			temp=temp+"."+"00";
		}
	}
	else if (x.length==1)
	{
		temp=temp+"."+"00";
	}
	return temp;
}

/*---------------------------- Comma separator for positive integer format ----------------------------*/
function CommaSeparatorInteger(num){
	if (num.value=="")
	{
		return;
	}

	var i,j,k,m,n,a,b,len,temp;
	a=num.value;

	if (a.length>0 && parseInt(a)>0)
	{
		len=a.length;
		var b=new Array();
		j=0;
		m=3;
		n=0;
		for(i=len;i>=1;i=i-m)
		{
			b[j]=a.substring(i,i-m);
			j=j+1;
			n=n+1;

			if (n==1)
			{
				m=2;
				i--;
			}
				
			if (n>=2 && n<3)
			{
				m=2;
			}
			if (n==3)
			{
				m=3;
				n=0;
				i++;
			}
		}
		for (k=b.length-1;k>=0;k--)
		{	
			if (k==(b.length-1))
			{
				temp=b[k];
			}
			else
			{
				temp=temp+","+b[k];
			}
		}
	}
	
	else if ((a.length==0) || (a.length>0 && parseInt(a)==0))
	{
		temp="0";
	}
	num.value=temp;
}

function CommaSeparatorIntegerReturn(num){
	if (num=="")
	{
		return 0;
	}

	var i,j,k,m,n,a,b,len,temp;
	a=num;

	if (a.length>0 && parseInt(a)>0)
	{
		len=a.length;
		var b=new Array();
		j=0;
		m=3;
		n=0;
		for(i=len;i>=1;i=i-m)
		{
			b[j]=a.substring(i,i-m);
			j=j+1;
			n=n+1;

			if (n==1)
			{
				m=2;
				i--;
			}
				
			if (n>=2 && n<3)
			{
				m=2;
			}
			if (n==3)
			{
				m=3;
				n=0;
				i++;
			}
		}
		for (k=b.length-1;k>=0;k--)
		{	
			if (k==(b.length-1))
			{
				temp=b[k];
			}
			else
			{
				temp=temp+","+b[k];
			}
		}
	}
	
	else if ((a.length==0) || (a.length>0 && parseInt(a)==0))
	{
		temp="0";
	}
	return temp;
}

/*---------------------------- Remove comma separator ----------------------------*/
function ReformatNum(a) {
	var str;
	str=a.value;
	for (x=0; x<10; x++) 
	{ 
		str=str.replace(",", "");
	}
	a.value=str;
}


/*---------------------------- Remove comma separator ----------------------------*/
function ReformatNumReturn(a) {
	var str;
	str=a;
	if (a!="")
	{
		for (x=0; x<10; x++) 
		{ 
			str=str.replace(",", "");
		}
	}
	else
	{
		str=0
	}
	return str;
}

/*---------------------------- Chech the length of text area ----------------------------*/
function IsMaxLength(obj,event)
{
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
	return EnterCheck(event);
}

function EnterCheck(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode == 13) {
		
	return false
	}		
	return true
}

/*---------------------------- Numeric Integer Validation ----------------------------*/
function IsInteger(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
	//status = "This field accepts numbers only."
	return false
	}
	status = ""
	return true
}


/*---------------------------- Numeric Double Validation ----------------------------*/
function IsDouble(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode

	if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=46) 
	{
	//status = "This field accepts numbers only."
	return false
	}
	status = ""
	return true
}

/*---------------------------- Removes leading whitespaces ----------------------------*/
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}


/*---------------------------- Removes ending whitespaces ----------------------------*/
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

/*---------------------------- Removes leading and ending whitespaces ----------------------------*/
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

/*---------------------------- Check text/textarear blank , before submit data ----------------------------*/
function IsBlank(that_object,message){
 	var that_object_value;
 	that_object_value=trim(that_object.value);
 		
 	if (that_object_value==""){
 			
 		alert(message);			
 		that_object.focus();
 			
 		return true;		/*----- Input is blank . --*/
 	}
 		
 	return false;			/*----- Input is not blank . --*/
}

/*---------------------------- Check select box blank, before submit data ----------------------------*/
function IsSelectBlank(that_object,message){
 	if (that_object.selectedIndex<=0){
 		alert(message);			
 		that_object.focus();
 		return true;		
 	}
	return false;
}

/*---------------------------- Check email format validation ----------------------------*/
function EmailValidation(entered,alertbox)
{
	//alert("dd");
	if (trim(entered.value)=="")
	{
		return true;
	}
	with (entered)
	{
			apos=trim(value).indexOf("@"); 
			dotpos=trim(value).lastIndexOf(".");
			lastpos=trim(value).length-1;
			if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
			{if (alertbox) {alert(alertbox);} return false;}
			else {return true;}
	}
} 

/*--------------------------- Numeric Tin Validation ---------------------------*/
function IsTinInt(evt) {
	evt = (evt) ? evt : window.event;
	var charCode = (evt.which) ? evt.which : evt.keyCode;
	if (charCode ==45 || charCode==8 || (charCode>=48 && charCode<=57  )) 
	{
	return true;
	}
	return false;
}

/*--------------------------- Numeric Tin Validation for submit ---------------------------*/
function CheckTin(tin_field)
{
	var tin_value,i;
	
	tin_value=trim(tin_field.value);
		
	if (tin_value=="") return false;
	
	if (tin_value.length!=12)
	{
		return true;
	}

	if (tin_value.substr(0,1)=='-' || tin_value.substr(1,1)=='-' || tin_value.substr(2,1)=='-'
		|| tin_value.substr(4,1)=='-' || tin_value.substr(5,1)=='-'	|| tin_value.substr(6,1)=='-'
		|| tin_value.substr(8,1)=='-' || tin_value.substr(9,1)=='-' || tin_value.substr(10,1)=='-'
		|| tin_value.substr(11,1)=='-')
	{
		return true;
	}
	
	if (tin_value.substr(3,1)!='-')
	{
		return true;
	}
	if (tin_value.substr(7,1)!='-')
	{
		return true;
	}
		
	return false;
}   

/*---------------------- Compare between two date, which one greater.--------------------------------*/
/*---------------------- If first date is greater than second date,than return true else true ------------*/
function CompareDate(date1,date2)
{
	var establish_date,current_date;
		
	compare_date1=new Date();
	compare_date2=new Date();
	compare_date1.setYear(date1.substring(6,10));
	compare_date1.setMonth(parseInt(date1.substring(3,5))-1);
	compare_date1.setDate(date1.substring(0,2));
		
	compare_date2.setYear(date2.substring(6,10));
	compare_date2.setMonth(parseInt(date2.substring(3,5))-1);
	compare_date2.setDate(date2.substring(0,2));
	if (compare_date1>compare_date2)
	{
		return true;
	}
	return false;
}

/*---------------------- Calculate total day between two date. --------------------------------*/
function DateDifference(date1,date2)
{
	var m=new Date();
	var n=new Date();

	var days_no;
	
	m.setYear(date1.substring(6,10));
	m.setMonth(parseInt(date1.substring(3,5))-1);
	m.setDate(date1.substring(0,2));
	
	n.setYear(date2.substring(6,10));
	n.setMonth(parseInt(date2.substring(3,5))-1);
	n.setDate(date2.substring(0,2));
	
	days_no=(n-m)/(1000*60*60*24);
	
	return days_no;
}

function ValidTaka(obj)
{   var i;
	var flag=true;
	var val=obj.value;
	
    for (i = 0; i < val.length; i++)
    {   
        var c = val.charAt(i);
        if (!((c==".") || ((c >= "0") && (c <= "9")))) 
        {
 			flag=false; 
 			break;      	
        }
    }
	
	if (flag==false)
	{
		alert("Please enter valid amount.");
		obj.value="";
		obj.focus();
		return;
	}
}

function ValidInteger(obj)
{   var i;
	var flag=true;
	var val=obj.value;
	
    for (i = 0; i < val.length; i++)
    {   
        var c = val.charAt(i);
        if (!((c >= "0") && (c <= "9"))) 
        {
 			flag=false; 
 			break;      	
        }
    }
	
	if (flag==false)
	{
		alert("Please enter valid number.");
		obj.value="";
		obj.focus();
		return;
	}
}

function ValidGridString(obj)
{   var i;
	var flag=true;
	var val=obj.value;
	
    for (i = 0; i < val.length; i++)
    {   
        var c = val.charAt(i);
        if (c=="|") 
        {
 			flag=false; 
 			break;      	
        }
    }
	
	if (flag==false)
	{
		alert("| is a reserved character.");
		obj.value="";
		obj.focus();
		return;
	}
}

function IsValidDate(dateField) 
{
	var dateStr=dateField.value;
	
	if (dateStr=="")
	{
		return true;
	}
	var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) 
	{
		alert("Date is not in a valid format.");
		dateField.value="";
		dateField.focus();
		return false;
	}

	day = matchArray[1]; // parse date into variables
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) 
	{ // check month range
		alert("Month must be between 1 and 12.");
		dateField.value="";
		dateField.focus();		
		return false;
	}
	
	if (day < 1 || day > 31) 
	{
		alert("Day must be between 1 and 31.");
		dateField.value="";
		dateField.focus();
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		alert("Month "+month+" doesn't have 31 days!");
		dateField.value="";
		dateField.focus();		
		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)) 
		{
			alert("February " + year + " doesn't have " + day + " days!");
			dateField.value="";
			dateField.focus();			
			return false;
	   }
	}
	return true;  // date is valid
}

function CheckKeyWords(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode==124)
	{
		return false
	}
	return true
}

function LimitCharacter(obj,len)
{
	if (obj.value.length>parseInt(len))
	{
		alert("Character Length must be equal or less than "+len + ".");
		obj.value="";
		obj.focus();
		return false;
	}
	return true;
}