﻿// JScript File
function ConfirmDelete()
    {
	    if (confirm("Bạn có muốn xóa không?") == true )
	    {
	        return true;
	    }
	    else
	    {
	        return false;
	    }
    }
function ConfirmDeleteFile()
    {
	    if (confirm("Bạn có muốn xóa tập tin này không?") == true )
	    {
	        return true;
	    }
	    else
	    {
	        return false;
	    }
    }

      
function ConfirmPublish()
{
        if (confirm("Bạn có chắc muốn thực hiện thao tác này không?") == true)
        {
            return true;
        }
        else
        {
            return false;
        }
}

    
// Ham kiem tra du lieu nhap so

function Check_num11(num)
{
	
	
	if(num=='')
		return "";	
	while (num.indexOf('.') != -1)
	{
		num=num.replace(',','');
	}
	
	// Loc bo dau "tru" khi nhap sp am
	while (num.indexOf('-') != -1)
	{
	    num = num.replace('-','');
	}
	
	num = (num).replace(',','.');

	if(isNaN(num))
		num = 0;
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*1000+0.50000000001);
	cents = num%1000;
	num = Math.floor(num/1000).toString();
	if(cents<10)
		cents = "0" + cents;
	if(cents<100)
		cents = "0" + cents;
	for(var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+
		num.substring(num.length-(4*i+3));
		//return (((sign)?'':'-') +  num + ',' + cents);  
		return (((sign)?'':'-') +  num); 
}


function Check_num(obj)
{
	var so;
	so=(obj.value);
	if(so=='')
	{
		obj.value='0';
		return false;
	}
	while (so.indexOf(' ') != -1)
	{
	   so = so.replace(' ','');   
	   obj.value='0';
	   return false;
	}				
	while (so.indexOf('.')!=-1)
	{
		so=so.replace('.','');
	}
	
	// Loc bo dau "tru" khi nhap sp am
	while (so.indexOf('-') != -1)
	{
	    so = so.replace('-','');
	}
	
	so=(so).replace(',','.');
	if (so*1>9999999999){   
		alert('Số nhập vào không được lớn hơn số 9.999.999.999 !'); 
		obj.value='0';
		obj.focus();	
		return false;
	}		
	if (isNaN(so)){   
		alert('Dữ liệu nhập phải là kiểu số.'); 
		obj.value='0';
		obj.focus();	
		return false;
	}	
	else
	{
		obj.value=convertSoVN(so);
		return true;
	}
}

function Check_Nam_Nhap(obj)
{
	var so;
	so=(obj.value);
	if(so=='')
		return false;

    while (so.indexOf(' ')!=-1)
	{
		so = so.replace(' ','');		   
	}				
	while (so.indexOf('.')!=-1)
	{
		so=so.replace('.','');
	}
	
	// Loc bo dau "tru" khi nhap sp am
	while (so.indexOf('-') != -1)
	{
	    so = so.replace('-','');
	}
	
	if (isNaN(so))
	{   
		alert('Dữ liệu nhập phải là kiểu số.'); 
		obj.value='0';
		obj.focus();	
		return false;
	}
	else
	{
	    obj.value=so;
	    return true;
	}	
	
}

function Check_SoLuong(obj)
{
	var so;
	so=(obj.value);
	if(so=='')
	{
		obj.value='0';
		return false;
	}	
	while (so.indexOf(' ') != -1)
	{
	    so = so.replace(' ','');
	    obj.value='0';
	    return false;	 	
	}					
	while (so.indexOf('.')!=-1)
	{
		so=so.replace('.','');
	}
	
	// Loc bo dau "tru" khi nhap sp am
	while (so.indexOf('-') != -1)
	{
	    so = so.replace('-','');
	}
	
	so=(so).replace(',','.');
	if (so*1>9999){   
		alert('Số nhập vào không được lớn hơn số 9.999 !'); 
		obj.value='0';
		obj.focus();	
		return false;
	}		
	if (isNaN(so)){   
		alert('Dữ liệu nhập phải là kiểu số.'); 
		obj.value='0';
		obj.focus();	
		return false;
	}
	else
	{
		obj.value=convertSoVN(so);
		return true;
	}
	
}


function convertSoVN(so)
{
    var kq;
    
    var nguyen;
    var le;
    var pos;
    kq='';
    pos = so.indexOf('.');

    if (pos == -1) {
		nguyen = so;
        le = '';}
    else {
        nguyen = so.substring(0, pos);
        le = so.substring(pos + 1,so.length);
        }
    
    while (nguyen.length > 3) {
        kq = nguyen.substring(nguyen.length - 3,nguyen.length) + '.' + kq;
        nguyen = nguyen.substring(0, nguyen.length - 3);
    }
    if (nguyen.length > 0) {
		if (kq!='')
			{  
				kq = nguyen + '.' + kq;
			}
		else	
			{ 
			kq = nguyen;
			}
    }
    if (kq.length > 3) {
        kq = kq.substring(0, kq.length - 1);
    }
    
  
     
    return kq;
    
}


function selectBlockGroup1(obj,id,nodeType)
{
	
	var i = 0;
	if (nodeType == "cha")
	{
		var e = document.forms[0].elements;
		for (i = 0 ; i <  e.length ; i++)
		{
			if (e[i].type == "checkbox")
			{
			   var ckh = (e[i].id.substring(0,e[i].id.indexOf("-")));
			   
			    if ( ckh == id)
				 {
					   e[i].checked = obj.checked;					
				 }
			}
		}
	}
	else if(nodeType == "con")
	{
	   var e = document.forms[0].elements;
	   var chk = (id.substring(0,id.indexOf("-")));	   
	   var count = 0;    
		//Dem so control duoc check
		var count = 0;
		for (j = 0 ; j <  e.length ; j++)
        {
            if(e[j].type == "checkbox")
            {
               var chkCon1 = e[j].id.substring(0,e[j].id.indexOf("-"));
               if (chkCon1 == chk)
	             {
	                if(e[j].checked == true)
	                {
	                  count = count + 1;  
	                }
	             }	  
            }
        } 
		for (i = 0 ; i <  e.length ; i++)
		{
			if (e[i].type == "checkbox")
			{	   
			   var chkCon = e[i].id;				   	   			  
			   if (chkCon == chk)
				 {	 
					if(count == 0)
					{
					    e[i].checked = obj.checked;					
					}
					else
					{					    
					    if(e[i].checked == false)
					    {
					        e[i].checked = true;
					    }
					}					
				 }
			}			
		}  
	}
}


function EnableTextBox()
{
    
}	

//Ham chi cho nhap ky la so
function CheckNumber(e,Id)
{
    if (e.keyCode < 48 || e.keyCode > 57)
    {
        alert("Chỉ nhập số");
        return false;
    }
    else
    {
        return true;
    }
}

function ChangeDate(e,txtId)
{
    var txt = document.getElementById(txtId)
    var Date = txt.value.toString();
    var Date2 = Date;
        
 if(Date.length == 8)
 {
    Date = Date2.charAt(0)+ Date2.charAt(1) + "/";
    Date += Date2.charAt(2)+ Date2.charAt(3) + "/"
    Date += Date2.charAt(4)+ Date2.charAt(5)+Date2.charAt(6)+ Date2.charAt(7);
  }
  else
    Date = "";
  txt.value = Date;
  return false;
}
//Kiem tra so nhap vao
//NVKIET
function KiemTraSo(Obj)
{
	var str = Obj.value;
    if (isNaN(str))
    {
	    alert(String.fromCharCode(68,7919,32,108,105,7879,117,32,112,104,7843,105,32,108,224,32,107,105,7875,117,32,115,7889));
	    Obj.value="0";
    }	
}
//Dùng cho tag span
function Display(status)
  {
    if(status=='on')
    {
      Cong.className="off";
      Tru.className="on";			
      Chon.className="on";
    }
    else
    {
      Cong.className="on";
      Tru.className="off";
      Chon.className="off";		
    }
  }
function Display3(status)
  {
    if(status=='on')
    {
      Cong3.className="off";
      Tru3.className="on";
      Chon3.className="on";	  
    }
    else
    {
      Cong3.className="on";
      Tru3.className="off";
      Chon3.className="off";				
    }
  } 
 function ThemMucCha(control,txtSoLuong)
 {
     //var ck = document.getElementById(control.checked);
    // var firstCheck = new getObj(control);
    // if (firstCheck.obj.checked == true)
    //{
      // alert("Hello");
    //}
    if(control.value =="on")    {
       
        txtSoLuong.disible = false;
    }
 }
 
 
function KhongChaNhapChu(e)
{
    if (e.keyCode < 48 || e.keyCode > 57)
    {
        alert("Chỉ nhập số");
        return false;
    }
    else
    {
        return true;
    }
}

function KiemTraHaiNgay(startID, month,endID)
{
    if(! diffDateAndMonth(startID, endID))
    {
        alert("Ngày kết thúc phải lớn hơn ngày bắt đầu");
        return false;
    }    
    else   
    {
        return true;
    }
}
//1: Ngay hop le
//0: Ngày kết thúc phải lớn hơn ngày bắt đầu
//2: Ngày bắt đầu và kết thúc phải nằm trong tháng báo cáo
function diffDateAndMonth(isParent,startID, month ,endID)
{
  	    var start = startID;
		var end = endID;
		
		str = start;
        temp = str.split("/");
        var sy = 1*temp[2];
        var sm = 1*temp[1];
        var sd = 1*temp[0];
		str = end;
        temp = str.split("/");
        var ey = 1*temp[2];
        var em = 1*temp[1];
        var ed = 1*temp[0];

        sj = julianDay(sy,sm,sd);// bat dau
        ej = julianDay(ey,em,ed);// ket thuc
		if(!isParent)
		{
		    if(month == "")
		    {
		        if (sj > ej) {
                  return "0";
                }
		        else if(ej>=sj)
		        {
			        return "1";
		        }
		    }
		    else 
		    {
		        if(month == em && month == sm)
		        {
		            if (sj > ej) 
		            {
                        return "0";
                    }
		            else if(ej>=sj)
		            {
			            return "1";
		            }
		        }
		        else
		        {
		            return "2";
		        }
		    }
		 }
		
}
//1: Ngay hop le
//0: Ngày kết thúc phải lớn hơn ngày bắt đầu
//2: Ngày bắt đầu và kết thúc phải nằm trong tháng báo cáo
function diffDateAndYear(isParent,startID, year ,endID)
{
  	    var start = startID;
		var end = endID;
		
		str = start;
        temp = str.split("/");
        var sy = 1*temp[2];
        var sm = 1*temp[1];
        var sd = 1*temp[0];
		str = end;
        temp = str.split("/");
        var ey = 1*temp[2];
        var em = 1*temp[1];
        var ed = 1*temp[0];

        sj = julianDay(sy,sm,sd);// bat dau
        ej = julianDay(ey,em,ed);// ket thuc
		if(!isParent)
		{
		    if(year == "")
		    {
		        if (sj > ej) {
                  return "0";
                }
		        else if(ej>=sj)
		        {
			        return "1";
		        }
		    }
		    else 
		    {
		        if(year == ey && year == sy)
		        {
		            return "1";
		        }
		        else
		        {
		            return "2";
		        }
		    }
		 }
		
}
function diffDate(startID, endID)
{
  	    var start = startID;
		var end = endID;
		
		str = start;
        temp = str.split("/");
        var sy = 1*temp[2];
        var sm = 1*temp[1];
        var sd = 1*temp[0];
		str = end;
        temp = str.split("/");
        var ey = 1*temp[2];
        var em = 1*temp[1];
        var ed = 1*temp[0];

        sj = julianDay(sy,sm,sd);// bat dau
        ej = julianDay(ey,em,ed);// ket thuc		
		if (sj > ej) {
          return false;
        }
		else if(ej>=sj)
		{
			return true;
		}
}

function julianDay(year,month,day)
{
        var extra = 100.0*year+month-190002.5;
        var julian = 367.0*year;
        julian -= Math.floor(7.0*(year+Math.floor((month+9.0)/12.0))/4.0);
        julian += Math.floor(275.0*month/9.0);
        julian += day;
        julian -= 678985.5;
        julian -= 0.5*extra/Math.abs(extra);

        return julian;
}

function KiemTraChiTieu(isParent,txtPhanKy,startID,month,endID)
{
    if(txtPhanKy.value.trim() == "")
    {
        alert("Vui lòng nhập tên chỉ tiêu");
        txtPhanKy.focus();
        return false;
    }        
    else if(diffDateAndMonth(isParent.checked,startID.value,month.value,endID.value) == 0)
    {
        alert("Đến ngày phải lớn hơn hoặc bằng Từ ngày");
        return false;
    }
    else if(diffDateAndMonth(isParent.checked,startID.value,month.value,endID.value)==2)
    {
        alert("Ngày bắt đầu và kết thúc phải nằm trong tháng báo cáo");
        return false;
    } 
    else
    {
        return true;
    }
}
function KiemTraChiTieuKDK(isParent,txtPhanKy,startID,year,endID)
{
    if(txtPhanKy.value.trim() == "")
    {
        alert("Vui lòng nhập tên chỉ tiêu");
        txtPhanKy.focus();
        return false;
    }        
    else if(diffDateAndYear(isParent.checked,startID.value,year.value,endID.value) == 0)
    {
        alert("Đến ngày phải lớn hơn hoặc bằng Từ ngày");
        return false;
    }
    else if(diffDateAndYear(isParent.checked,startID.value,year.value,endID.value)==2)
    {
        alert("Ngày bắt đầu và kết thúc phải nằm trong năm báo cáo");
        return false;
    } 
    else
    {
        return true;
    }
}
/*
   Hiển thị tooltip
*/

if (typeof document.attachEvent!='undefined') {
   window.attachEvent('onload',init);
   document.attachEvent('onmousemove',moveMouse);
   document.attachEvent('onclick',checkMove); }
else {
   window.addEventListener('load',init,false);
   document.addEventListener('mousemove',moveMouse,false);
   document.addEventListener('click',checkMove,false);
}

var oDv=document.createElement("div");
var dvHdr=document.createElement("div");
var dvBdy=document.createElement("div");
var windowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;
boxOpen=false;
ox=10;
oy=10;
lockX=0;
lockY=0;

function init() {
	oDv.appendChild(dvHdr);
	oDv.appendChild(dvBdy);
	oDv.style.position="absolute";
	oDv.style.visibility='hidden';
	document.body.appendChild(oDv);	
}

function defHdrStyle() {
	dvHdr.innerHTML='<img  style="vertical-align:middle"  src="info.gif">&nbsp;&nbsp;'+dvHdr.innerHTML;
	dvHdr.style.fontWeight='bold';
	dvHdr.style.width='150px';
	dvHdr.style.fontFamily='arial';
	dvHdr.style.border='1px solid #A5CFE9';
	dvHdr.style.padding='3';
	dvHdr.style.fontSize='11';
	dvHdr.style.color='#4B7A98';
	dvHdr.style.background='#D5EBF9';
	dvHdr.style.filter='alpha(opacity=85)'; // IE
	dvHdr.style.opacity='0.85'; // FF
}

function defBdyStyle() {
	dvBdy.style.borderBottom='1px solid #A5CFE9';
	dvBdy.style.borderLeft='1px solid #A5CFE9';
	dvBdy.style.borderRight='1px solid #A5CFE9';
	dvBdy.style.width='150px';
	dvBdy.style.fontFamily='arial';
	dvBdy.style.fontSize='11';
	dvBdy.style.padding='3';
	dvBdy.style.color='#1B4966';
	dvBdy.style.background='#FFFFFF';
	dvBdy.style.filter='alpha(opacity=85)'; // IE
	dvBdy.style.opacity='0.85'; // FF
}

function checkElemBO(txt) {
if (!txt || typeof(txt) != 'string') return false;
if ((txt.indexOf('header')>-1)&&(txt.indexOf('body')>-1)&&(txt.indexOf('[')>-1)&&(txt.indexOf('[')>-1)) 
   return true;
else
   return false;
}

function scanBO(curNode) {
	  if (checkElemBO(curNode.title)) {
         curNode.boHDR=getParam('header',curNode.title);
         curNode.boBDY=getParam('body',curNode.title);
			curNode.boCSSBDY=getParam('cssbody',curNode.title);			
			curNode.boCSSHDR=getParam('cssheader',curNode.title);
			curNode.IEbugfix=(getParam('hideselects',curNode.title)=='on')?true:false;
			curNode.fixX=parseInt(getParam('fixedrelx',curNode.title));
			curNode.fixY=parseInt(getParam('fixedrely',curNode.title));
			curNode.absX=parseInt(getParam('fixedabsx',curNode.title));
			curNode.absY=parseInt(getParam('fixedabsy',curNode.title));
			curNode.offY=(getParam('offsety',curNode.title)!='')?parseInt(getParam('offsety',curNode.title)):10;
			curNode.offX=(getParam('offsetx',curNode.title)!='')?parseInt(getParam('offsetx',curNode.title)):10;
			curNode.fade=(getParam('fade',curNode.title)=='on')?true:false;
			curNode.fadespeed=(getParam('fadespeed',curNode.title)!='')?getParam('fadespeed',curNode.title):0.04;
			curNode.delay=(getParam('delay',curNode.title)!='')?parseInt(getParam('delay',curNode.title)):0;
			if (getParam('requireclick',curNode.title)=='on') {
				curNode.requireclick=true;
				document.all?curNode.attachEvent('onclick',showHideBox):curNode.addEventListener('click',showHideBox,false);
				document.all?curNode.attachEvent('onmouseover',hideBox):curNode.addEventListener('mouseover',hideBox,false);
			}
			else {// Note : if requireclick is on the stop clicks are ignored   			
   			if (getParam('doubleclickstop',curNode.title)!='off') {
   				document.all?curNode.attachEvent('ondblclick',pauseBox):curNode.addEventListener('dblclick',pauseBox,false);
   			}	
   			if (getParam('singleclickstop',curNode.title)=='on') {
   				document.all?curNode.attachEvent('onclick',pauseBox):curNode.addEventListener('click',pauseBox,false);
   			}
   		}
			curNode.windowLock=getParam('windowlock',curNode.title).toLowerCase()=='off'?false:true;
			curNode.title='';
			curNode.hasbox=1;
	   }
	   else
	      curNode.hasbox=2;   
}


function getParam(param,list) {
	var reg = new RegExp('([^a-zA-Z]' + param + '|^' + param + ')\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]');
	var res = reg.exec(list);
	var returnvar;
	if(res)
		return res[2].replace('[[','[').replace(']]',']');
	else
		return '';
}

function Left(elem){	
	var x=0;
	if (elem.calcLeft)
		return elem.calcLeft;
	var oElem=elem;
	while(elem){
		 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&&(x!=0))
		 	x+=parseInt(elem.currentStyle.borderLeftWidth);
		 x+=elem.offsetLeft;
		 elem=elem.offsetParent;
	  } 
	oElem.calcLeft=x;
	return x;
	}

function Top(elem){
	 var x=0;
	 if (elem.calcTop)
	 	return elem.calcTop;
	 var oElem=elem;
	 while(elem){		
	 	 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderTopWidth)))&&(x!=0))
		 	x+=parseInt(elem.currentStyle.borderTopWidth); 
		 x+=elem.offsetTop;
	         elem=elem.offsetParent;
 	 } 
 	 oElem.calcTop=x;
 	 return x;
 	 
}

var ah,ab;
function applyStyles() {
	if(ab)
		oDv.removeChild(dvBdy);
	if (ah)
		oDv.removeChild(dvHdr);
	dvHdr=document.createElement("div");
	dvBdy=document.createElement("div");
	CBE.boCSSBDY?dvBdy.className=CBE.boCSSBDY:defBdyStyle();
	CBE.boCSSHDR?dvHdr.className=CBE.boCSSHDR:defHdrStyle();
	dvHdr.innerHTML=CBE.boHDR;
	dvBdy.innerHTML=CBE.boBDY;
	ah=false;
	ab=false;
	if (CBE.boHDR!='') {		
		oDv.appendChild(dvHdr);
		ah=true;
	}	
	if (CBE.boBDY!=''){
		oDv.appendChild(dvBdy);
		ab=true;
	}	
}

var CSE,iterElem,LSE,CBE,LBE, totalScrollLeft, totalScrollTop, width, height ;
var ini=false;

// Customised function for inner window dimension
function SHW() {
   if (document.body && (document.body.clientWidth !=0)) {
      width=document.body.clientWidth;
      height=document.body.clientHeight;
   }
   if (document.documentElement && (document.documentElement.clientWidth!=0) && (document.body.clientWidth + 20 >= document.documentElement.clientWidth)) {
      width=document.documentElement.clientWidth;   
      height=document.documentElement.clientHeight;   
   }   
   return [width,height];
}


var ID=null;
function moveMouse(e) {
   //boxMove=true;
	e?evt=e:evt=event;
	
	CSE=evt.target?evt.target:evt.srcElement;
	
	if (!CSE.hasbox) {
	   // Note we need to scan up DOM here, some elements like TR don't get triggered as srcElement
	   iElem=CSE;
	   while ((iElem.parentNode) && (!iElem.hasbox)) {
	      scanBO(iElem);
	      iElem=iElem.parentNode;
	   }	   
	}
	
	if ((CSE!=LSE)&&(!isChild(CSE,dvHdr))&&(!isChild(CSE,dvBdy))){		
	   if (!CSE.boxItem) {
			iterElem=CSE;
			while ((iterElem.hasbox==2)&&(iterElem.parentNode))
					iterElem=iterElem.parentNode; 
			CSE.boxItem=iterElem;
			}
		iterElem=CSE.boxItem;
		if (CSE.boxItem&&(CSE.boxItem.hasbox==1))  {
			LBE=CBE;
			CBE=iterElem;
			if (CBE!=LBE) {
				applyStyles();
				if (!CBE.requireclick)
					if (CBE.fade) {
						if (ID!=null)
							clearTimeout(ID);
						ID=setTimeout("fadeIn("+CBE.fadespeed+")",CBE.delay);
					}
					else {
						if (ID!=null)
							clearTimeout(ID);
						COL=1;
						ID=setTimeout("oDv.style.visibility='visible';ID=null;",CBE.delay);						
					}
				if (CBE.IEbugfix) {hideSelects();} 
				fixposx=!isNaN(CBE.fixX)?Left(CBE)+CBE.fixX:CBE.absX;
				fixposy=!isNaN(CBE.fixY)?Top(CBE)+CBE.fixY:CBE.absY;			
				lockX=0;
				lockY=0;
				boxMove=true;
				ox=CBE.offX?CBE.offX:10;
				oy=CBE.offY?CBE.offY:10;
			}
		}
		else if (!isChild(CSE,dvHdr) && !isChild(CSE,dvBdy) && (boxMove))	{
			// The conditional here fixes flickering between tables cells.
			if ((!isChild(CBE,CSE)) || (CSE.tagName!='TABLE')) {   			
   			CBE=null;
   			if (ID!=null)
  					clearTimeout(ID);
   			fadeOut();
   			showSelects();
			}
		}
		LSE=CSE;
	}
	else if (((isChild(CSE,dvHdr) || isChild(CSE,dvBdy))&&(boxMove))) {
		totalScrollLeft=0;
		totalScrollTop=0;
		
		iterElem=CSE;
		while(iterElem) {
			if(!isNaN(parseInt(iterElem.scrollTop)))
				totalScrollTop+=parseInt(iterElem.scrollTop);
			if(!isNaN(parseInt(iterElem.scrollLeft)))
				totalScrollLeft+=parseInt(iterElem.scrollLeft);
			iterElem=iterElem.parentNode;			
		}
		if (CBE!=null) {
			boxLeft=Left(CBE)-totalScrollLeft;
			boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft;
			boxTop=Top(CBE)-totalScrollTop;
			boxBottom=parseInt(Top(CBE)+CBE.offsetHeight)-totalScrollTop;
			doCheck();
		}
	}
	
	if (boxMove&&CBE) {
		// This added to alleviate bug in IE6 w.r.t DOCTYPE
		bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
		bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;
		mouseX=evt.pageX?evt.pageX-bodyScrollLet:evt.clientX-document.body.clientLeft;
		mouseY=evt.pageY?evt.pageY-bodyScrollTop:evt.clientY-document.body.clientTop;
		if ((CBE)&&(CBE.windowLock)) {
			mouseY < -oy?lockY=-mouseY-oy:lockY=0;
			mouseX < -ox?lockX=-mouseX-ox:lockX=0;
			mouseY > (SHW()[1]-oDv.offsetHeight-oy)?lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy:lockY=lockY;
			mouseX > (SHW()[0]-dvBdy.offsetWidth-ox)?lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth:lockX=lockX;			
		}
		oDv.style.left=((fixposx)||(fixposx==0))?fixposx:bodyScrollLet+mouseX+ox+lockX+"px";
		oDv.style.top=((fixposy)||(fixposy==0))?fixposy:bodyScrollTop+mouseY+oy+lockY+"px";		
		
	}
}

function doCheck() {	
	if (   (mouseX < boxLeft)    ||     (mouseX >boxRight)     || (mouseY < boxTop) || (mouseY > boxBottom)) {
		if (!CBE.requireclick)
			fadeOut();
		if (CBE.IEbugfix) {showSelects();}
		CBE=null;
	}
}

function pauseBox(e) {
   e?evt=e:evt=event;
	boxMove=false;
	evt.cancelBubble=true;
}

function showHideBox(e) {
	oDv.style.visibility=(oDv.style.visibility!='visible')?'visible':'hidden';
}

function hideBox(e) {
	oDv.style.visibility='hidden';
}

var COL=0;
var stopfade=false;
function fadeIn(fs) {
		ID=null;
		COL=0;
		oDv.style.visibility='visible';
		fadeIn2(fs);
}

function fadeIn2(fs) {
		COL=COL+fs;
		COL=(COL>1)?1:COL;
		oDv.style.filter='alpha(opacity='+parseInt(100*COL)+')';
		oDv.style.opacity=COL;
		if (COL<1)
		 setTimeout("fadeIn2("+fs+")",20);		
}


function fadeOut() {
	oDv.style.visibility='hidden';
	
}

function isChild(s,d) {
	while(s) {
		if (s==d) 
			return true;
		s=s.parentNode;
	}
	return false;
}

var cSrc;
function checkMove(e) {
	e?evt=e:evt=event;
	cSrc=evt.target?evt.target:evt.srcElement;
	if ((!boxMove)&&(!isChild(cSrc,oDv))) {
		fadeOut();
		if (CBE&&CBE.IEbugfix) {showSelects();}
		boxMove=true;
		CBE=null;
	}
}

function showSelects(){
   var elements = document.getElementsByTagName("select");
   for (i=0;i< elements.length;i++){
      elements[i].style.visibility='visible';
   }
}

function hideSelects(){
   var elements = document.getElementsByTagName("select");
   for (i=0;i< elements.length;i++){
   elements[i].style.visibility='hidden';
   }
}

function numberOnly(pTextBox)
	{
		c = pTextBox.value.substr((pTextBox.value.length-1));
		if(isNaN(c))
		{
			pTextBox.value = pTextBox.value.slice(0,pTextBox.value.length-1);
		}
		s = removeDot(pTextBox.value);
		for(k=1, i=s.length-1; i>=0; i--, k++)
		{
			if(k==4)
			{
				s1 = s.substring(0, i+1);
				s2 = s.substring(i+1, s.length);
				s = s1 + '.' + s2;
				k = 1;
			}
		}
		pTextBox.value = s;
		if(isNaN(removeDot(pTextBox.value)))
		{
			pTextBox.value = "";
		}
	}
	
	function removeDot(pText)
	{
		arr = pText.split('.');
		str = "";
		for(i=0; i<arr.length; i++)
		{
			str += arr[i];
		}
		return str;
	}	
	
	
	function getThoiGianThucHien()
    {
        tuthang=document.getElementById("dnn_ctr398_TM_CapNhat_drpTuThang").value;
        tunam=document.getElementById("dnn_ctr398_TM_CapNhat_drpTuNam").value;
        denthang=document.getElementById("dnn_ctr398_TM_CapNhat_drpDenThang").value;
        dennam=document.getElementById("dnn_ctr398_TM_CapNhat_drpDenNam").value;
        a=(dennam - tunam) *12;
        b= eval(denthang-0+a);
        c=b-tuthang+1;        
        if(c>0)
        {
            document.getElementById("dnn_ctr398_TM_CapNhat_txtThoiGianThucHien").value=c;
        }
        else
        {
            document.getElementById("dnn_ctr398_TM_CapNhat_txtThoiGianThucHien").value="";
        }       
    }
function VNCurrencyFormat(pString, pAcceptOddNumber){
	
	number = '';
	number_only	= pString.replace(/[^0-9,]/g, '').match(/[0-9]+[,]?[0-9]*/);
	
	if(number_only != null){
		
		isIncludeComma		= number_only[0].indexOf(',') != -1 ? true : false;
		groups 				= number_only[0].split(',');
		
		if(groups != null){
			
			for(i = groups[0].length - 1, j = 1; i >= 0; i--, j++){
			
				number = (j%3 == 0 && j < groups[0].length ? '.' : '') + groups[0].charAt(i) + number;
			}
			
			number = number + (pAcceptOddNumber && isIncludeComma ? ',' + (groups[1] != null ? groups[1] : '') : '');
		}
	}

	final_format = number.match(/[0-9.]+[,]?[0-9]{4}/);

	if(final_format != null){
		
		number = final_format[0];
	}
	
	if(number == "")
	{
	    number = 0;
	}
	
	number = NumberFormat(number);
	
	return number;
}
	
//chap nhan so am
function VNCurrencyFormat2(pString, pAcceptOddNumber){
	
	var number = VNCurrencyFormat(pString, pAcceptOddNumber);
	
    if(pString.indexOf('-') == 0)
    {
        number = "-"+number;
    }
    
    return number;
}
//function TinhKinhPhiChuyenKySau(vKinhPhi4,KPTrongKy,KPChuyenDenKySau)
//    {
//	    //vKinhPhi3 = document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiSuDungTrongKy").innerText;
//	    vKinhPhi3 = document.getElementById(KPTrongKy).innerText;
//	    vKinhPhi = eval(ChuyenThanhSoDouble(vKinhPhi3)+"-"+ChuyenThanhSoDouble(vKinhPhi4));
//	    vKinhPhi = TraVeDinhDangChung(vKinhPhi.toString());
//	    //document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiChuyenDenKySau").innerText = VNCurrencyFormat(vKinhPhi, true);
//	    document.getElementById(KPChuyenDenKySau).innerText = VNCurrencyFormat(vKinhPhi, true);
//    }
//function ChuyenThanhSoDouble(vSo)
//{
//    
//    vSo = vSo.replace(/\./g,"");
//    vSo = vSo.replace(/,/g,".");
//    //alert(vSo);
//  return (vSo);
//}
//function TraVeDinhDangChung(vSo)
//{
//    vSo = vSo.replace(/\./g,",");
//    return (vSo);
//}
//function KiemTraSoDeNghiQuyetToan(vSo,KPTrongKy,KPDeNghiQT)
//{
//    //vKinhPhi = document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiSuDungTrongKy").innerText;
//    vKinhPhi = document.getElementById(KPTrongKy).innerText;
//    if(eval(ChuyenThanhSoDouble(vSo)) > eval(ChuyenThanhSoDouble(vKinhPhi)))
//    {
//        //document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_txtKinhPhiDaSuDungDeNghiQuyetToan").value = "0";
//        document.getElementById(KPDeNghiQT).value = "0";
//    }
//}


function TinhKinhPhiChuyenKySau(vKinhPhi4,KPTrongKy,KPChuyenDenKySau)
    {
	    //vKinhPhi3 = document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiSuDungTrongKy").innerHTML;
	    vKinhPhi3 = document.getElementById(KPTrongKy).innerHTML;
	    vKinhPhi = eval(ChuyenThanhSoDouble(vKinhPhi3) +"-"+ ChuyenThanhSoDouble(vKinhPhi4));
	    vKinhPhi = TraVeDinhDangChung(vKinhPhi.toString());
	    //document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiChuyenDenKySau").innerHTML = VNCurrencyFormat(vKinhPhi, true);
	    document.getElementById(KPChuyenDenKySau).innerHTML = VNCurrencyFormat2(vKinhPhi, true);
    }
function ChuyenThanhSoDouble(vSo)
{
    
    vSo = vSo.replace(/\./g,"");
    vSo = vSo.replace(/,/g,".");
    //alert(vSo);
  return (vSo);
}
function TraVeDinhDangChung(vSo)
{
    vSo = vSo.replace(/\./g,",");
    return (vSo);
}
function KiemTraSoDeNghiQuyetToan(vSo,KPTrongKy,KPDeNghiQT)
{
    //vKinhPhi = document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_lblKinhPhiSuDungTrongKy").innerHTML;
    vKinhPhi = document.getElementById(KPTrongKy).innerHTML;
    if(eval(ChuyenThanhSoDouble(vSo)) > eval(ChuyenThanhSoDouble(vKinhPhi)))
    {
        //document.getElementById("dnn_ctr422_BC_CapNhatBaoCaoThucHien_txtKinhPhiDaSuDungDeNghiQuyetToan").value = "0";
        document.getElementById(KPDeNghiQT).value = "0";
        alert("Số đề nghị quyết toán không hợp lệ");
    }
}

function NumberFormat(so)
{	
	var str = (so + "").split(',');
	var result;
	
	if(str.length == 1)
	{
	    if(str[0].length<14)
	    {
		    result = str[0] + ",0000";
		}
		else
		{
		    result=so;
		}
	}
	else
	{
		var thapphan = str[1];
		for(var i=0; i<4; i++)
		{
			if(str[1].charAt(i) == '')
			{
				thapphan += "0";
			}
		}
		result = str[0] + "," + thapphan;
	}
	
	return result;
}

function DotFormat(pString)
{
    sDot = VNCurrencyFormat(pString, true)+"";
    return sDot.substring(0,sDot.indexOf(','));
}
/*
    Kết thúc hiển thị tooltip
*/

//kiểm tra số điện thoại
function PhoneKeyPress(obj, e)
{
    try
    {
	    var key;
	    var keychar;
	    if (window.event) key = window.event.keyCode;
	    else if (e) key = e.which;
	    else return true;
	    keychar = String.fromCharCode(key);
	    if(key==13) 
	    {
	        RightMessage(obj, "Chỉ được nhập số và một dấu chấm phân cách");return false;
	    }
	    if ((key==null) || (key==0) || (key==8) || (key==9) || (key==27)) return true;
	    else if (((".0123456789").indexOf(keychar) > -1)) return true;
	    else 
	    {
	        RightMessage(obj, "Chỉ được nhập số và một dấu chấm phân cách");return false;
	    }
    }
    catch(err){}
}

function PhoneKeyUp(obj)
{
    try
    {
        while (obj.value.indexOf('.') > -1)
        {
            if (((obj.value.indexOf('.') == 3) || (obj.value.indexOf('.') == 4)) && (obj.value.indexOf('.') == obj.value.lastIndexOf('.')))
            {
                break;
            }
            else if (obj.value.indexOf('.') < 3)
            {
                obj.value = obj.value.replace('.','');
            }
            else if ((obj.value.indexOf('.') == 3) || (obj.value.indexOf('.') == 4))
            {
                var s = obj.value;
                obj.value = s.substring(0, (s.indexOf('.')+1)) + s.substring((s.indexOf('.')+1), s.length).replace('.','');
            }
            else
            {
                obj.value = obj.value.replace('.','');
            }
        }
    }
    catch(err){}
}
