﻿// JScript File

//mode variables: các mode này đồng bộ với các biến của server
var isNEW = "0";
var NEW = "1";
var REF = "2";
var REF_NEW = "3";
var MODIFY = "4";
var DELETE = "5";  

//database update variables: các biến này đồng bộ với các biến của server
var INSERT_SUCCESS = "1";
var INSERT_FAIL = "2";
var UPDATE_SUCCESS = "3";
var UPDATE_FAIL = "4";
var DELETE_SUCCESS = "5";
var DELETE_FAIL = "6";
var SEARCH_SUCCESS = "7";
        
//compare 2 dates variables:
var DATE1equalDATE2 = 1;
var DATE1moreDATE2 = 2;
var DATE1lessDATE2 = 3;
//srcImageNopic
var srcImageNopic = "../../Images/CommonUI/nopic.gif";
//
/*..GridView RowFocus*/
var Onclick = "#9fdae0";
var Unclick = "#FFFFFF";
var mouseOver = "#efefef";
var MouseOut = "#FFFFFF";
/*..GridView RowFocus*/

	/*-----------------------------------------------------------------*/	
   /*----Params	: Characters										--*/
  /*-----Process: Cut blanks at begin and end position of Characters-*/
 /*------Output : characters have cut blanks					  --*/
/*-----------------------------------------------------------------*/
function Trim(str) {
    var strReturn ;
	str = str + "";
	strReturn = "";			
	for(var i=0; i < str.length; i++)  {
		if (str.charAt(i) != " ") {
			strReturn = str.substring(i,str.length);				    break;
		}
	}
	str = strReturn;
	for(var i=str.length - 1; i >= 0 ; i--)	{
		if (str.charAt(i) != " ") {
		str = str.substring(0,i + 1);
		strReturn = str;
		break;
	    }
	}		
	return strReturn;
}

	    /*-----------------------------------------------------------------*/	
       /*----Params	: date1,date2 (dd/MM/yyyy or ...)										--*/
  /*-----Process: compare 2 dates-*/
 /*------Output : "1": date1 = date2; "2": date1 > date2; "3": date1 < date2 --*/
/*-----------------------------------------------------------------*/
function Compare2Date(date1,date2){
    var StartDate = Date.parse(date1);
    var ExpireDate = Date.parse(date2);
    if(StartDate == ExpireDate){
        return DATE1equalDATE2;
    }else{
        if (StartDate > ExpireDate){
            return DATE1moreDATE2;
        }else{
            return DATE1lessDATE2;        
        }
    }
}

function calpopup(Ink){
    window.open(Ink,"calendar","height=250,width=250,scrollbars=no")
}

var encN=1;

// DECODES AND UNESCAPES ALL TEXT.
function decodeTxt(s){
    var s1=unescape(s.substr(0,s.length-1));
    var t='';
    for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));
    return unescape(t);
}

// ENCODES, IN UNICODE FORMAT, ALL TEXT AND THEN ESCAPES THE OUTPUT
function encodeTxt(s){
    s=escape(s);
    var ta=new Array();
    for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+encN;
    return ""+escape(eval("String.fromCharCode("+ta+")"))+encN;
}


// CONVERTS *ALL* CHARACTERS INTO ESCAPED VERSIONS.
function escapeTxt(os){
    var ns='';
    var t;
    var chr='';
    var cc='';
    var tn='';
    for(i=0;i<256;i++){
    tn=i.toString(16);
    if(tn.length<2)tn="0"+tn;
    cc+=tn;
    chr+=unescape('%'+tn);
    }
    cc=cc.toUpperCase();
    os.replace(String.fromCharCode(13)+'',"%13");
    for(q=0;q<os.length;q++){
    t=os.substr(q,1);
    for(i=0;i<chr.length;i++){
    if(t==chr.substr(i,1)){
    t=t.replace(chr.substr(i,1),"%"+cc.substr(i*2,2));
    i=chr.length;
    }}
    ns+=t;
    }
    return ns;
}

// id: Tên control;     Isvisible: 'none'=Visible; 'inline'=Invisible
function VisibleControl(id,IsVisible)
{
    document.all[id].style.display = IsVisible;
}

/*
//mở cửa sổ window
function OpenWindow(params) {
	var url = ""
	var myHeight = 200;
	var myWidth = 300;
	var myTop = 0;
	var myLeft = 0;
	var myStatus="no";
	var myToolbar="no";
	var myMenubar="no";
	var myLocation="no";
	var myScrollbars="yes";
	var myResizable="no";
	
	var rootPath;
	var afterCloseWindow;
	var pageName;
	var pageTitle;
	
	if (params.myHeight != null){
	    myHeight = params.myHeight;
	}
	if (params.myWidth != null){
	    myWidth = params.myWidth;
	}
	if (params.myStatus != null){
	    myStatus = params.myStatus;
	}
	if (params.myToolbar != null){
	    myToolbar = params.myToolbar;
	}
	if (params.myMenubar != null){
	    myMenubar = params.myMenubar;
	}
	if (params.myLocation != null){
	    myLocation = params.myLocation;
	}
	if (params.myScrollbars != null){
	    myScrollbars = params.myScrollbars;
	}
	if (params.myResizable != null){
	    myResizable = params.myResizable;
	}
	
	if (params.align == "center"){
	    var myTop = (window.screen.height - myHeight) / 2;
	    var myLeft = (window.screen.width - myWidth) / 2;	  
	}
	rootPath = params.rootPath;
	pageName = params.pathName;	
	afterCloseWindow = params.afterCloseWindow;
    pageTitle = params.pageTitle;	
	//fncDisableAllCombos();	 
	//fncDisableAll(pathName);  
    url += rootPath + pageName;
    url += "?afterCloseWindow=" + afterCloseWindow + ",";
    
    var myParams += "width=" + myWidth + ",";
    myParams += "height=" + myHeight + ",";
    myParams += "top=" + myTop + ",";
    myParams += "left=" + myLeft + ",";
    myParams += "menubar=" + myMenubar + ",";
    myParams += "toolbar=" + myToolbar + ",";
    myParams += "location=" + myLocation + ",";
    myParams += "status=" + myStatus + ",";
    myParams += "scrollbars=" +  myScrollbars + ",";
    myParams += "resizable=" + myResizable;
    
	return window.open(url,pageTitle,myParams);
}*/

    /*-----------------------------------------------------------------*/	
       /*----Params	: lang: vn, en										--*/
  /*-----Process: change tab
/*-----------------------------------------------------------------*/
function vn_Click()
{
    var vnTab = document.getElementById("vnTab");
    var enTab = document.getElementById("enTab");
    enTab.style.display = "none";
    vnTab.style.display = "inline";
    
    var div1 = document.getElementById("div1");
    var div2 = document.getElementById("div2");
    div1.style.display = "inline";
    div2.style.display = "none"; 
}
function en_Click()
{
    var vnTab = document.getElementById("vnTab");
    var enTab = document.getElementById("enTab");
    vnTab.style.display = "none";
    enTab.style.visibility = "visible";
    enTab.style.display = "inline";
    
    var div1 = document.getElementById("div1");
    var div2 = document.getElementById("div2");
    div1.style.display = "none";
    div2.style.display = "inline";
}

function ChangeTab(lang)
{
    var TabIndex;
    if(lang == "vn")
    {
        vn_Click();
    }
    else if(lang == "en")
    {
        en_Click();
    }
}
///////////end tab/////////////////
function ValidateStringFile(sender,e,valuedefault)
{
    var bExist= true;
   var str = sender.value;
   var i =0;
    var notword ="\ \r\n#,\\;.:-()<>+-*/=?!\"$%{}[]\'~|^\@\&\t";
    
 
   for(i=0;i<str.length;i++)
   {
     var strTemp = str.substring(i,i+1);
    if (notword.indexOf(strTemp)>=0)
    {
       bExist= false;
       break;
    }
     if (strTemp == " ")
     {
        bExist= false;
        break;
     }

   }
   if (str=="select" ||str=="delete"||str=="update"||str=="insert")
   {
      bExist= false;
   }
  
   if (bExist== false)
   {
     e.returnValue = false;
        e.cancel = true;
        return false;
   } 
}


function returnValidStringFile(sender,e,valuedefault)
{ 
    var bExist= true;
   var str = sender.value;
   var i =0;
    var notword ="\ \r\n#,\\;.:-()<>+-*/=?!\"$%{}[]\'~|^\@\&\t";
    
   for(i=0;i<str.length;i++)
   {
     var strTemp = str.substring(i,i+1);
    if (notword.indexOf(strTemp)>=0)
    {
       bExist= false;
       break;
    }
     if (strTemp == " ")
     {
        bExist= false;
        break;
     }

   }
   
   if (str=="select" ||str=="delete"||str=="update"||str=="insert")
   {
      bExist= false;
   }
  
   if (bExist== false)
   {
     sender.value= valuedefault;
     alert("Vui lòng không nhập khoảng trống hoặc số \n hoặc nhập chuỗi là 'select' hay 'delete' hay 'insert' hay 'update' \n hoặc kí tự lạ" );
   } 
}

function ValidateInteger(e)
{
    if ((e.keyCode < 33 && e.keyCode != 8 && e.keyCode != 9) || (e.keyCode > 40 && e.keyCode != 46 && e.keyCode < 48) || (e.keyCode > 57 && e.keyCode < 96) || e.keyCode > 105)
    {
        e.returnValue = false;
        e.cancel = true;
    }
}
function ValidateFloat(sender,e)
{
    if (e.keyCode == 110 || e.keyCode == 190)
    {
        if (sender.value.length > 0 && sender.value.indexOf(".") == -1){}
        else{e.returnValue = false; e.cancel = true;}
    }
    else
    {
        if ((e.keyCode < 33 && e.keyCode != 8 && e.keyCode != 9) || (e.keyCode > 40 && e.keyCode != 46 && e.keyCode < 48) || (e.keyCode > 57 && e.keyCode < 96) || e.keyCode > 105)
        {
            e.returnValue = false;
            e.cancel = true;
        }
    }
}
function SetDefaultInteger(sender,value)
{
    var num = parseInt(sender.value);

    if (num == 0 || isNaN(num)){sender.value = value;}
    else{sender.value = num;}
}
function SetDefaultFloat(sender,value)
{
    var num = parseFloat(sender.value);

    if (num == 0 || isNaN(num)){sender.value = value;}
    else{sender.value = num;}
}

isCollapse = true;
function fncExpand()
{
    var vn_divFCK = document.getElementById("vn_divFCK");
    var vn_divExpand = document.getElementById("vn_divExpand");
    var vn_divCollapse = document.getElementById("vn_divCollapse");

    if(isCollapse == false)
    {
        vn_divExpand.style.display = "inline";
        vn_divCollapse.style.display = "none";
        vn_divFCK.style.display = "none";
        isCollapse = true;
    }
    else
    {
        vn_divExpand.style.display = "none";
        vn_divCollapse.style.display = "inline";
        vn_divFCK.style.display = "inline";
        isCollapse = false;            
    }
}
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					
}

    function getCurrentDate()
    {
        var d = new Date();
        var currentDate;
        var month = parseInt(d.getMonth());
        month += 1;
        currentDate = d.getDate() + "/" + month + "/" + d.getFullYear();
        if(parseInt(d.getMonth()) < 10)
        {
            currentDate = d.getDate() + "/0" + month + "/" + d.getFullYear();
        }
        return currentDate;
    }
    
    ///nhung ham dung trong frame List
        function SetGlobalVaribles()
        {
           SelectedRow = null;
           SuccessUPageLoad = false;
           IDom = null; 
        }
        
        //Get IFrame document reference
        function GetIFrameDomReference(IFrameID)
        {
            var returnDom = document.getElementById(IFrameID).contentDocument;
     
            if (returnDom == undefined || returnDom == null)
            {
                returnDom = document.getElementById(IFrameID).contentWindow.document; 
            }

            
            return returnDom;
        }
        
        //Get IFrame element reference
        function GetIFrameElement(ElementID,IFrameID)
        {
            var returnElement = null;
            var tempDom = null;            
            tempDom = GetIFrameDomReference(IFrameID);
            returnElement = tempDom.getElementById(ElementID);
            return returnElement;
        }
        
        function fncOnMouseover(objLabel)
        {
        //Get current row 
            var CurrentRow = objLabel.parentNode.parentNode;
            
            //Change the color of current row if it is not the selected row
            if (SelectedRow != null)
            {
                if (SelectedRow != CurrentRow)
                {
                    CurrentRow.style.backgroundColor = '#efefef';
                }
            }
            else
            {
                CurrentRow.style.backgroundColor = '#efefef';
            }
        }
        function fncOnMouseout(objLabel)
        {
          var CurrentRow = objLabel.parentNode.parentNode;
            
            //Change the color of current row to background colot if it is not the selected row
            if (SelectedRow != null)
            {
                if (SelectedRow != CurrentRow)
                {
                    CurrentRow.style.backgroundColor = '#FFFFFF';
                }
            }
            else
            {
                CurrentRow.style.backgroundColor = '#FFFFFF';
            }
        }
        
function removeRightClick(sender,e)
{
    if (e.keyCode == 110 || e.keyCode == 190)
    {
        if (sender.value.length > 0 && sender.value.indexOf(".") == -1){}
        else{e.returnValue = false; e.cancel = true;}
    }
    else
    {
        if ((e.keyCode < 33 && e.keyCode != 8 && e.keyCode != 9) || (e.keyCode > 40 && e.keyCode != 46 && e.keyCode < 48) || (e.keyCode > 57 && e.keyCode < 96) || e.keyCode > 105)
        {
            e.returnValue = false;
            e.cancel = true;
        }
    }
}

///open popup window
function doOpenLinkToPopupWindow(url,title,width,height)
{
   if (window.showModalDialog) {
     window.showModalDialog(url, title,"dialogWidth:" + width +"px;dialogHeight:" + height + "px");
   }
   else
   {
     window.open(url,title,"height=" + height +",width=" + width+ ",status=yes,toolbar=no,menubar=no,location=no",false);
   }
}

///alert when load Page
function doAlert()
{
if (document.getElementById){
document.getElementById('prepage').style.visibility='hidden';
}else{
if (document.layers){ //NS4
document.prepage.visibility = 'hidden';
}
else { //IE4
document.all.prepage.style.visibility = 'hidden';
}
}
    window.status = "Page is loading";
}

function IsPositive(strString)
//  check for valid positive integer strings	
{
var strValidChars = "0123456789";
var strChar;
var blnResult = true;

if (strString.length == 0) return false;

//  test strString consists of valid characters listed above
for (i = 0; i < strString.length && blnResult == true; i++)
  {
  strChar = strString.charAt(i);
  if (strValidChars.indexOf(strChar) == -1)
     {
     blnResult = false;
     }
  }
return blnResult;
}


function cleanInnerHTML(value)           
{
    return value == '&nbsp;' ? "" : value;
}

//mo inline popup 
function inlinePopup(container_id, title)
{
    
    var overlay_id = 'pop_overlay'; 
    var closebutton_id = container_id + '_pop_closebutton';
    var overlay = document.getElementById(overlay_id);    
    var container = document.getElementById(container_id);
    
    if( !overlay )
    {                       
        overlay = document.createElement('div');
        overlay.className = 'pop_overlay';
        overlay.id = overlay_id;
        document.body.appendChild(overlay);
    }
    
    var table = document.getElementById(container_id + 'pop_tablepop');
    
    if( !table )
    {    
        var table_html = "<table cellpadding='0' cellspacing='0' id='"+ container_id +"pop_tablepop' class='pop_container'><tr ><td class='title_bar'  nowrap><div style='float:left;padding-right:5px;'>"+ title +"</div><div style='float:right'><img src='images/close.gif' alt='close' style='background:white no-repeat center right;' width='14' height='14' border='1' onclick='inlinePopup(\"" + container_id + "\",\"" + title + "\")' /></div></td></tr> <tr><td  id='"+ container_id +"pop_tabletd'></td></tr></table>";

        var div = document.createElement('div');
        div.innerHTML = table_html;
        table = div.childNodes[0];
        document.forms[0].appendChild(div);
        
        var td = document.getElementById(container_id + 'pop_tabletd');
        td.appendChild(document.getElementById(container_id));
                
    }      
    
    
  var check= table.style.display;
  
  if(check=='none' || check=='' )
  {            
            overlay.style.display='block';
            container.style.display='block';
            table.style.display='block';

            
            table.style.left = (screen.width - table.clientWidth)/2 + 'px';
            table.style.top = (screen.height - table.clientHeight)/2 + 'px';                  
  }
  else
  {
            overlay.style.display='none';
            container.style.display='none';
            table.style.display='none';
            
  }
}

///--get Query string above URL 
function getArgs() {
var args = new Object();
var query = location.search.substring(1);
var pairs = query.split("&");
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
if (pos == -1) continue;
var argname = pairs[i].substring(0,pos);
var value = pairs[i].substring(pos+1);
args[argname] = unescape(value);
}
return args;
} 
//method using function above to get query string in current URL
//	var args = getArgs();
//	if (args.id ==6)
//	{
//	   document.getElementById("cboSkin").selectedIndex=1;
//	}
//	else
//	{
//           document.getElementById("cboSkin").selectedIndex=0;
//	}

function showElement(elementID)
{
	if( document.getElementById ) // IE5+ & Gecko
		document.getElementById(elementID).style.visibility = "visible";
	else if( document.all ) // IE4
		document.all[elementID].style.visibility = "visible";
	else if( document.layers ) // Netscape 4
		document.layers[elementID].visibility = "show";
}

function hideElement(elementID)
{
	if( document.getElementById ) // IE5+ & Gecko
		document.getElementById(elementID).style.visibility = "hidden";
	else if( document.all ) // IE4
		document.all[elementID].style.visibility = "hidden";
	else if( document.layers ) // Netscape 4
		document.layers[elementID].visibility = "hide";
}

function toggleElementVisibility(elementID)
{
	if( document.getElementById ) // IE5+ & Gecko
	{
		if( document.getElementById(elementID).style.visibility=="visible" )
			document.getElementById(elementID).style.visibility = "hidden";
		else
			document.getElementById(elementID).style.visibility = "visible";
	}
	else if( document.all ) // IE4
	{
		if( document.all[elementID].style.visibility=="visible" )
			document.all[elementID].style.visibility = "hidden";
		else
			document.all[elementID].style.visibility = "visible";
	}
	else if( document.layers ) // Netscape 4
	{
		if( document.layers[elementID].visibility=="show" )
			document.layers[elementID].visibility = "hide";
		else
			document.layers[elementID].visibility = "show";
	}
}

/*
 
 Date validate expression string (dd/MM/yyyy)
 
 (((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))
 
 */
 
 /*
 
 Email validate expresion string 
 
 ^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$
 
 */
 
 function GetFCKValue(idFCK)
{
    try
    {
        var oEditor = FCKeditorAPI.GetInstance(idFCK);        
        
        return oEditor.GetHTML(oEditor.FormatOutput);
        
        //alert(txthidden.value);
     }catch(err)
     {
        
     }   
    return true;
}