﻿// CVH=CustomValidatorHelper
var CVH={
createFunction: function(validationFunction, extParamData) {
    var originalFunction = validationFunction;
    var extParam = extParamData;
    return function(src, args) {
        // Proxy the call...
        return originalFunction(src, args, extParam);
    }
}
};
var CustomValidatorHelper=CVH;

var thongtinhople = false;

//Giới hạn chữ
function textCounter(field, wordCountfield, lineCountfield, maxlimit, maxPerLine, maxLine) 
{
    if (field.value.length > maxlimit)
    {
       field.value = field.value.substring(0, maxlimit);
    }
//    if (field.value.length > 0 && field.value.length <= maxPerLine )
//    {
//         lineCountfield.innerText = maxLine - 1;
//    }
//    else if (field.value.length == 0)
//    {
//        lineCountfield.innerText = maxLine;
//    }
//    else if ( parseInt(field.value.length / maxPerLine) < maxLine)
//    {
//        lineCountfield.innerText = (maxLine - 1) - parseInt((field.value.length / maxPerLine));
//    }
//    wordCountfield.innerText = maxlimit - field.value.length;
}

function Error(sender, args)  
{  
    sender.focus();  
}

//End

function bindData(id)
{
    var values = document.getElementById(id);
    GoiServer(values.options[values.selectedIndex].text, "");
}

function NhanDuLieu(rValue)
{   
    var target = document.getElementById(rValue.split('@')[0] + 'drQuanHuyen');
    target.length = 0;
    var thanhpho = document.getElementById(rValue.split('@')[0] + 'drThanhPho');
    var holdData = document.getElementById(rValue.split('@')[0] + 'thongtinTinhThanh');
    var sourceLength = rValue.split('@')[1].split('|');
    
    for(var i=0; i<sourceLength.length;i++) 
    {
        if (sourceLength[i] != null && sourceLength[i] != '')
        {
            if(i == 0)
            {
                holdData.value = thanhpho.options[thanhpho.selectedIndex].text + "|" + sourceLength[i].split('#')[1];
            }
            var newOption = new Option(); // Create a new instance of ListItem
            newOption.text = sourceLength[i].split('#')[1];
            newOption.value = sourceLength[i].split(';')[0];
            target.options[target.length] = newOption;
        }
    }
}

function luachonQH(prefix)
{
     var thanhpho = document.getElementById(prefix + 'drThanhPho');
     var quanhuyen = document.getElementById(prefix + 'drQuanHuyen');
     var holdData = document.getElementById(prefix + 'thongtinTinhThanh');
     holdData.value = thanhpho.options[thanhpho.selectedIndex].text + "|" + quanhuyen.options[quanhuyen.selectedIndex].text;
     //alert(holdData.value);
}

//Chuyen trang thai
function showControl(type, preClientID, status, color1, color2,cleardata)
{
    if ( type != 'services' )
    {
        document.getElementById(preClientID + 'txtMaKhachHang').style.backgroundColor = color1;
        document.getElementById(preClientID + 'txtTenDoanhNghiep').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtDiaChi').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtMaSoThue').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtTaiKhoan').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtDienThoai').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtNguoiLienHe').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtEmail').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtChucDanh').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtDTDD').style.backgroundColor = color2;
        
        document.getElementById(preClientID + 'txtMaKhachHang').disabled = !status;
        
        document.getElementById(preClientID + 'btnXacNhan').disabled = !status;
        document.getElementById(preClientID + 'txtTenDoanhNghiep').disabled = status;
        document.getElementById(preClientID + 'txtDiaChi').disabled = status;
        document.getElementById(preClientID + 'txtMaSoThue').disabled = status;
        document.getElementById(preClientID + 'txtTaiKhoan').disabled = status;
        document.getElementById(preClientID + 'txtDienThoai').disabled = status;
        document.getElementById(preClientID + 'txtNguoiLienHe').disabled = status;
        document.getElementById(preClientID + 'txtEmail').disabled = status;
        document.getElementById(preClientID + 'txtChucDanh').disabled = status;
        document.getElementById(preClientID + 'txtDTDD').disabled = status;
    }
    else {
        document.getElementById(preClientID + 'txtMaKhachHang').style.backgroundColor = color1;
        document.getElementById(preClientID + 'txtNguoiLienHe').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtEmail').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtChucDanh').style.backgroundColor = color2;
        document.getElementById(preClientID + 'txtDTDD').style.backgroundColor = color2;
        
        document.getElementById(preClientID + 'txtMaKhachHang').disabled = !status;
        document.getElementById(preClientID + 'btnXacNhan').disabled = !status;
        document.getElementById(preClientID + 'txtNguoiLienHe').disabled = status;
        document.getElementById(preClientID + 'txtEmail').disabled = status;
        document.getElementById(preClientID + 'txtChucDanh').disabled = status;
        document.getElementById(preClientID + 'txtDTDD').disabled = status;
    }
    
    if(status)
    {
        thongtinhople = false;
        document.getElementById(preClientID + 'txtMaKhachHang').value = '';
    }
    else
    {
        thongtinhople = true;
        document.getElementById('thongbaoMKH').style.display = 'none';
        if (cleardata)
        {
            if (type != "services")
            {
                document.getElementById(preClientID + 'txtTenDoanhNghiep').value = '';
                document.getElementById(preClientID + 'txtDiaChi').value = '';
                document.getElementById(preClientID + 'txtMaSoThue').value = '';
                document.getElementById(preClientID + 'txtTaiKhoan').value = '';
                document.getElementById(preClientID + 'txtDienThoai').value = '';
            }
            document.getElementById(preClientID + 'idKhachHang').value = '';
            document.getElementById(preClientID + 'txtNguoiLienHe').value = '';
            document.getElementById(preClientID + 'txtEmail').value = '';
            document.getElementById(preClientID + 'txtChucDanh').value = '';
            document.getElementById(preClientID + 'txtDTDD').value = '';
        }
    }
    if(document.getElementById(preClientID + 'idKhachHang').value != '')
    {
        document.getElementById(preClientID + 'txtMaKhachHang').value = document.getElementById(preClientID + 'idKhachHang').value;
    }
}

function setFocus(id, status)
{
    document.getElementById(id).focus();
    thongtinhople = status;
}
//end

//CheckBox check
function checkAll(act, idchuyenmuc) 
{ 
    var action = act; 
    
    var frm = document.getElementById('chuyenmuc').childNodes;
    
    document.getElementById(idchuyenmuc).value = '';
    for (i=0;i<frm.length;i++) 
    {
        frm[i].getElementsByTagName('input')[0].checked = document.getElementById(act).checked;
        if (document.getElementById(act).checked && document.getElementById(act).id != frm[i].getElementsByTagName('input')[0].id)
        {
            document.getElementById(idchuyenmuc).value += frm[i].getElementsByTagName('input')[0].id.split('|')[2] + ';#' + frm[i].getElementsByTagName('input')[0].id.split('|')[1] + '|';  
        }
    }  
}

function checkVitri(currentItem, idchuyenmuc)
{
    if(document.getElementById(currentItem).checked)
    {
       document.getElementById(idchuyenmuc).value += document.getElementById(currentItem).id.split('|')[2] + ';#' + document.getElementById(currentItem).id.split('|')[1] + '|';  
    }
    else {
        var chuoi = document.getElementById(currentItem).id.split('|')[2] + ';#' + document.getElementById(currentItem).id.split('|')[1] + '|';
        document.getElementById(idchuyenmuc).value = document.getElementById(idchuyenmuc).value.replace(chuoi, "");
    }
}

function checkSelect(act, currentItem, idchuyenmuc) 
{ 
    var check = true; 
    var frm = document.getElementById('chuyenmuc').childNodes;
    for (i=0;i<frm.length;i++) 
    { 
        if (frm[i].getElementsByTagName('input')[0].id != act && frm[i].getElementsByTagName('input')[0].checked == false) 
        { 
            check = false;
            break;
        }
    }
    
    if(document.getElementById(currentItem).checked)
    {
       document.getElementById(idchuyenmuc).value += document.getElementById(currentItem).id.split('|')[2] + ';#' + document.getElementById(currentItem).id.split('|')[1] + '|';  
    }
    else {
        var chuoi = document.getElementById(currentItem).id.split('|')[2] + ';#' + document.getElementById(currentItem).id.split('|')[1] + '|';
        document.getElementById(idchuyenmuc).value = document.getElementById(idchuyenmuc).value.replace(chuoi, "");
    }
    document.getElementById(act).checked = check;
} 

function checkSelectVitri(sender, args, id)
{
    var check = false; 
    var frm = document.getElementById(id).childNodes;
    for (i=0;i<frm.length;i++) 
    { 
        if (frm[i].getElementsByTagName('input')[0].checked == true) 
        { 
            check = true;
            break;
        }
    } 
    if (!check)
    {
        frm[0].getElementsByTagName('input')[0].focus();
    }
    args.IsValid = check;     
}

function checkNhapMaSo(sender, args, id)
{
    if (document.getElementById(id + 'cbKhachHangCu').checked != true)
    {
        document.getElementById('makhachhang-message').innerText = '';
        document.getElementById('makhachhang-message').style.display = 'none';
        args.IsValid = true;
    }
    else 
    {
        if (document.getElementById(id + 'txtMaKhachHang').value == '')
        {
            document.getElementById('makhachhang-message').style.display = 'block';
            document.getElementById('makhachhang-message').innerText = 'Vui lòng nhập mã số khách hàng.';
            //document.getElementById(id + 'txtMaKhachHang').focus();
            args.IsValid = false;
        }
        else if (document.getElementById(id + 'thongtinKhachHang').value == 'False')
        {
            document.getElementById('makhachhang-message').style.display = 'block';
            document.getElementById('makhachhang-message').innerText = 'Không tìm thấy thông tin khách hàng này.';
            //document.getElementById(id + 'txtMaKhachHang').focus();
            args.IsValid = false;
        }
        else {
            args.IsValid = true;
        }
    }
    //args.IsValid = true;
}


//End

//Check Date
function compareDate(sender, args, id)
{
        var startDate = new Array();
        var endDate = new Array();
        
        var valueFrom = document.getElementById(id + "DateFrom").value; 
        var valueTo = document.getElementById(id + "DateTo").value; 
        
        startDate = valueFrom.split('-');
        endDate = valueTo.split('-');
 
        var ngaytu = new Date(startDate[0],startDate[1]-1,startDate[2]);
        var ngaytoi = new Date(endDate[0],endDate[1]-1,endDate[2]);
        
        if ( ((ngaytoi - ngaytu)/(60*60*24*1000)) < 1 )
        {
            args.IsValid = false;
        }
        else {
            args.IsValid  = true;
        }
}
//End

//Move item giữa 2 listbox
function MoveItem(prefix, listSource, listTarget, action) 
{
        var Source = document.getElementById(prefix + listSource);
        var Target = document.getElementById(prefix + listTarget);
        var hidden = document.getElementById(prefix + 'itemDuocChon');

        if ((Source != null) && (Target != null)) 
        {
              var idMove = new Array();
              for(var i = 0; i < Source.length; i++)
              {
                    if (Source.options[i].selected)
                    {
                        idMove[i] = Source.options[i].text;
                        var newOption = new Option(); // Create a new instance of ListItem
                        newOption.text = Source.options[i].text;
                        newOption.value = Source.options[i].value;
                        Target.options[Target.length] = newOption; //Append the item in Target
                        
                        var chuoi = Source.options[i].value + ";#" + Source.options[i].text + "|";
                        
                        if ( action == 'add')
                        {
                            hidden.value += chuoi;
                        }
                        else {
                            hidden.value = hidden.value.replace(chuoi, "");
                        }
                    }
              }
              
              for (var j=0; j < idMove.length; j++)
              {
                    for(var k = 0; k < Source.length; k++)
                    {
                        if(Source.options[k].text == idMove[j])
                        {
                           Source.remove(Source.options[k].index); 
                        }
                    } 
              }
        }
}
//End

//Hiển thị tên khách hàng
function showCustomerData(type, preClientID)
{
    var data = document.getElementById(preClientID + 'thongtinKhachHang');
    
    if (data.value != 'False')
    {
        data = data.value.split('|');
        
        document.getElementById('makhachhang-message').style.display = 'none';
        
        if ( type != "services")
        {
            document.getElementById(preClientID + 'txtMaSoThue').value = data[7];
            document.getElementById(preClientID + 'txtTaiKhoan').value= data[8];
        }
        else 
        {
            document.getElementById(preClientID + 'txtDichVuKhac').value = data[11];
            document.getElementById(preClientID + 'txtFaxDN').value = data[14];
            document.getElementById(preClientID + 'txtEmailDN').value = data[15];
            document.getElementById(preClientID + 'txtSiteDN').value = data[16];
            setIndex(preClientID,data[12].split('#')[1]);
            setThongTinQuanHuyen(preClientID);
            setIndex(preClientID,data[13].split('#')[1]);
        }
        document.getElementById(preClientID + 'txtTenDoanhNghiep').value = data[5];
        document.getElementById(preClientID + 'txtDiaChi').value= data[1];
        document.getElementById(preClientID + 'txtDienThoai').value = data[6];
        document.getElementById(preClientID + 'txtNguoiLienHe').value = data[1];
        document.getElementById(preClientID + 'txtEmail').value = data[2];
        document.getElementById(preClientID + 'txtChucDanh').value = data[3];
        document.getElementById(preClientID + 'txtDTDD').value= data[4];
        
        thongtinhople = true;
    }
    else {
        thongtinhople = false;
        document.getElementById('makhachhang-message').style.display = "block";
        document.getElementById('makhachhang-message').innerText = 'Không tìm thấy thông tin khách hàng này.';
        document.getElementById(preClientID + 'txtMaKhachHang').focus();
        
        if ( type != "services")
        {
            document.getElementById(preClientID + 'txtMaSoThue').value = '';
            document.getElementById(preClientID + 'txtTaiKhoan').value= '';
        }
        else {
            document.getElementById(preClientID + 'txtFaxDN').value = '';
            document.getElementById(preClientID + 'txtEmailDN').value = '';
            document.getElementById(preClientID + 'txtSiteDN').value = '';
        }
        document.getElementById(preClientID + 'txtTenDoanhNghiep').value = '';
        document.getElementById(preClientID + 'txtDiaChi').value= '';
        document.getElementById(preClientID + 'txtDienThoai').value = '';
        document.getElementById(preClientID + 'txtNguoiLienHe').value = '';
        document.getElementById(preClientID + 'txtEmail').value = '';
        document.getElementById(preClientID + 'txtChucDanh').value = '';
        document.getElementById(preClientID + 'txtDTDD').value= '';
    }
}

function setIndex(preClientID, values)
{
    var dropdown = document.getElementById(preClientID + 'drThanhPho');
    var count1 = dropdown.options;
    for(var i=0; i<count1.length;i++) 
    {
        
        if(dropdown.options[i].text == values)
        {
          dropdown.options[i].selected = true;
          break;
        }
    }
}

function setThongTinQuanHuyen(prefix)
{
    var source = document.getElementById(prefix + 'drThanhPho');
    var target = document.getElementById(prefix + 'drQuanHuyen');
    target.length = 0;
    
    var sourceLength = document.getElementById(prefix + 'drThanhPho').options;
    
    for(var i=0; i<sourceLength.length;i++) 
    {
        if(source.options[i].text == source.options[source.selectedIndex].text)
        {
            var items = source.options[i].value.split('|');
            if (items != null)
            {
                for(var j=0; j<items.length;j++) 
                {
                    if (items[j] != null && items[j] != '')
                    {
                        var newOption = new Option(); // Create a new instance of ListItem
                        newOption.text = items[j].split(';')[1];
                        newOption.value = items[j].split(';')[0];
                        target.options[target.length] = newOption;
                    }
                }
            }
        }
    }
}


function checkDichVu(sender, args, prefix)
{
    var hidden = document.getElementById(prefix + 'itemDuocChon');
    var dichvukhac = document.getElementById(prefix + 'txtDichVuKhac');
    if (hidden.value == "" && dichvukhac.value == "")
    {
         args.IsValid = false;
    }
    else 
    {
        args.IsValid  = true;
    }
}
//End


//----------------------Upload File---------------------------------------------
var Id = 0;
var MAX = 5;
var DivFiles;
var DivListBox;
var BtnAdd;
var fileName;

function HoldDataUpload()
{
    if(fileName.value != '')
    {
        var files = fileName.value.split('|');
        for(var i = 0; i < files.length; i++)
        {
            if (files[i] != '')
            {
                DivListBox.appendChild(CreateItem(files[i],1));
            }
        }
    }
}

function Add()
{
	var IpFile = GetTopFile();
	if(IpFile == null || IpFile.value == null || IpFile.value.length == 0)
	{
		alert('Vui lòng chọn file để upload.');
		return;
	}
	
	var NewIpFile = CreateFile();
	DivFiles.insertBefore(NewIpFile,IpFile);
	if(MAX != 0 && GetTotalFiles() - 1 == MAX)
	{
    	NewIpFile.disabled = true;
    	BtnAdd.disabled = true;
	}
	IpFile.style.display = 'none';
	
	DivListBox.appendChild(CreateItem(IpFile,0));
}

function GetTopFile()
{
    //alert(DivFiles);
    var Inputs = DivFiles.getElementsByTagName('input');
    var IpFile = null;
    for(var n = 0; n < Inputs.length && Inputs[n].type == 'file'; ++n)
    {
        IpFile = Inputs[n];
        break;
    }
    return IpFile;
}

function CreateFile()
{
    var IpFile = document.createElement('input');
    IpFile.id = IpFile.name = 'IpFile_' + Id++;
    IpFile.type = 'file';
    //IpFile.width = '397';
    return IpFile;
}

function CreateItem(IpFile, type)
{
    var Item = document.createElement('div');
    Item.style.backgroundColor = '#ffffff';
    Item.style.fontWeight = 'normal';
    Item.style.textAlign = 'left';
    Item.style.verticalAlign = 'middle'; 
    Item.style.cursor = 'default';
    //Item.style.height = 20 + 'px';
    if (type == 0)
    {
        var Splits = IpFile.value.split('\\\\');
        Item.innerHTML = Splits[Splits.length - 1] + '&nbsp;';
        fileName.value = fileName.value + Splits[Splits.length - 1] + "|";
        Item.value = IpFile.id;
        Item.title = IpFile.value;
    }
    else {
        Item.innerHTML = IpFile + '&nbsp;';
        Item.value = IpFile;
        Item.title = IpFile;
    }
    
    var A = document.createElement('a');
    A.innerHTML = 'Xóa';
    A.id = 'A_' + Id++;
    A.href = 'javascript:void(0);';
    A.style.color = 'blue';
	A.onclick = function()
				{
			        var tam = this.parentNode.innerHTML.split('&nbsp;')[0] + "|";
			        fileName.value = fileName.value.replace(tam,"");
					if (type == 0 )
			        {
			            DivFiles.removeChild(document.getElementById(this.parentNode.value));
			        }
			        DivListBox.removeChild(this.parentNode);
					if(MAX != 0 && GetTotalFiles() - 1 < MAX)
					{
				        GetTopFile().disabled = false;
				        BtnAdd.disabled = false;
					}
				}
	Item.appendChild(A);
//	Item.onmouseover = 	function()
//						{
//					        Item.bgColor = Item.style.backgroundColor;
//					        Item.fColor = Item.style.color;
//					        Item.style.backgroundColor = '#C6790B';
//					        Item.style.color = '#ffffff';
//					        Item.style.fontWeight = 'bold';
//						}
//    Item.onmouseout = 	function()
//				        {
//					        Item.style.backgroundColor = Item.bgColor;
//					        Item.style.color = Item.fColor;
//					        Item.style.fontWeight = 'normal';
//				        }
    return Item;
}

function GetTotalFiles()
{
    var Inputs = DivFiles.getElementsByTagName('input');
    var Counter = 0;
    for(var n = 0; n < Inputs.length && Inputs[n].type == 'file'; ++n)
    Counter++;
    return Counter;
}

function GetTotalItems()
{
    var Items = DivListBox.getElementsByTagName('div');
    return Items.length;
}

function DisableTop()
{
    if(GetTotalItems() == 0)
    {
        alert('Please browse at least one file to upload.');
        return false;
	}
    GetTopFile().disabled = true;
	return true;
}
//----------------------End Upload File------------------------------------------