var Pgs = new Array();
var crp = -1;
var lstPg;
var onLoading = false;
var tMr = null;

function getVar(url,cnt)
{
	url=url+'#';
	url=url.split('#');
	if (!url[1])
	{
	    window.location.href = '#Content,Home';
	    url = window.location.href;
	}
	url=url[1];
	url=url+',';
	url=url.split(',');
	return url;
}

function loadPage() {
	act = getVar(window.location.href,1);
	if (act && act[1]) {
        LoadContent(act);
	}
}

function urlCheck()
{
	url=window.location.href;
	if (url.indexOf('?') != -1 && url.indexOf('?') < url.indexOf('#')) {
		url_temp = url.split('?');
		clearInterval(interval);
		href = url_temp[0];
		url=url+'#';
		url=url.split('#');
		if (url[1]) window.location.href = href+'#'+url[1];
		return;
	}
	if (url != '')
	{
		loadPage();
	}
}
var interval = null;
function startLoad() {
    $('indicator').y = 5;
    reposition(5);
	interval = setInterval('urlCheck()',100);
}


function showLoading()
{
    onLoading = true;
    Effect.Appear('indicator');
}

function hideLoading()
{
    onLoading = false;
    Effect.Fade('indicator');
    document.title = 'Dai Phat Solutions';
}

var menus = ['Home', 'Intro', 'Product', 'Service', 'MnNews', 'Download', 'Contact', 'Suggest'];
function setMenu(idmenu)
{
    for(var i=0; i < menus.length; i++ )
    {
        $(menus[i]).className = '';
    }
    $(idmenu).className = 'act';
}

function reposition(eY)
{
	var startX = (document.body.clientWidth / 2) - 50;
	var startY;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
    var ftlObj = $('indicator');
	if (document.documentElement && document.documentElement.scrollTop)
		var pY = ns ? pageYOffset : document.documentElement.scrollTop;
	else if (document.body)
		var pY = ns ? pageYOffset : document.body.scrollTop;

	startY = 200;
	
	ftlObj.y += (pY + startY - ftlObj.y)/8;
    Element.setStyle('indicator',{top: ftlObj.y + eY + 'px', left: startX + 'px' });
	tMr = setTimeout("reposition("+eY+")", 15);
}

function setPages(gp)
{
    if(Pgs[crp]==gp) return;
    crp++;
    Pgs[crp]=gp;
}

function LoadTPg(sid)
{
    if(lstPg=='T'+sid || onLoading) return;
    lstPg='T'+sid;
    setPages('0' + '' + sid );
    showLoading();
	new Ajax.Updater({success:"cnt"},"AjT.aspx", {onLoading:function(request){}, onComplete:function(request){hideLoading()}, parameters:sid, evalScripts:true, asynchronous:true});
}

function GetVnCat(id){
    if(lstPg=='NC'+id || onLoading) return;
    lstPg='NC'+id;
    setPages('1' + '' + id );
    showLoading();
	new Ajax.Updater({success:"cnt"},"Vnex.ashx", {onLoading:function(request){}, onComplete:function(request){hideLoading()}, parameters:"vnp"+id, evalScripts:true, asynchronous:true});
}

function GetVnNews(id)
{
    if(lstPg=='ND'+id || onLoading) return;
    lstPg='ND'+id;
    setPages('2' + '' + id );
    if((document.documentElement.scrollTop || document.body.scrollTop)>500)
        Element.scrollTo('News');
    showLoading();
//    if($('vnex').style.display=='none')
//        Effect.toggle('vnex','blind');
	new Ajax.Updater({success:"cnt"},"Vnex.ashx", {onLoading:function(request){}, onComplete:function(request){hideLoading()}, parameters: encodeURIComponent(id), evalScripts:true, asynchronous:true});
}

function ShowDetail(id)
{
    if(lstPg=='DT' + id || onLoading) return;
    setPages('3' + '' + id );
    lstPg='DT' + id;
    showLoading();
	new Ajax.Updater({success:"cnt"},"GetDetail.aspx", {onLoading:function(request){}, onComplete:function(request){hideLoading();}, parameters:id, evalScripts:true, asynchronous:true});

}

function LoadPg(id)
{
    if(lstPg==id || onLoading) return;
    setPages('4' + '' + id );
    lstPg=id;
    showLoading();
	new Ajax.Updater({success:"cnt"},"Aj.ashx", {onLoading:function(request){}, onComplete:function(request){hideLoading();}, parameters:id, evalScripts:true, asynchronous:true});
}

function LoadNPg(id)
{
    if(lstPg==id || onLoading) return;
    setPages('5' + '' + id );
    lstPg=id;
    showLoading();
	new Ajax.Updater({success:"cnt"},"Aj.ashx", {onLoading:function(request){}, onComplete:function(request){hideLoading();}, parameters:'dpsnews' + id, evalScripts:true, asynchronous:true});
}

function LoadCPg(id)
{
    if(lstPg==id || onLoading) return;
    setPages('6' + '' + id );
    lstPg=id;
    showLoading();
	new Ajax.Updater({success:"cnt"},"Aj.ashx", {onLoading:function(request){}, onComplete:function(request){hideLoading();}, parameters:'dpscat' + id, evalScripts:true, asynchronous:true});
}

function ShowNextFolderItem()
{
}

function back()
{
    if(crp==0)
    {
        history.go(-1);
        return;
    }
    crp--;
    var str = Pgs[crp];
    switch(str.split('')[0])
    {
        case '0':
            window.location.href = '#TopPage,' + str.substring(1);
            break;
        case '1':
            window.location.href = '#NewsCat,' + str.substring(1);
            break;
        case '2':
            window.location.href = '#News,' + str.substring(1);
            break;
        case '3':
            window.location.href = '#Detail,' + str.substring(1);
            break;
        case '4':
            window.location.href = '#Content,' + str.substring(1);
            break;
        case '5':
            window.location.href = '#DpsNews,' + str.substring(1);
            break;
        case '6':
            window.location.href = '#DpsCat,' + str.substring(1);
            break;
    }
}

function GetPage(Pid)
{
    switch(Pid.split('')[0])
    {
        case '0':
            LoadTPg(Pid.substring(1));
            break;
        case '1':
            GetVnCat(Pid.substring(1));
            break;
        case '2':
            GetVnNews(Pid.substring(1));
            break;
        case '3':
            ShowDetail(Pid.substring(1));
            break;
        case '4':
            LoadPg(Pid.substring(1));
            break;
        case '5':
            LoadNPg(Pid.substring(1));
            break;
        case '6':
            LoadCPg(Pid.substring(1));
            break;
    }

}

function LoadContent(act)
{
    switch(act[0])
    {
        case 'TopPage':
            LoadTPg(act[1]);
            break;
        case 'NewsCat':
            GetVnCat(act[1]);
            break;
        case 'News':
            GetVnNews(act[1]);
            break;
        case 'Detail':
            ShowDetail(act[1]);
            break;
        case 'Content':
            LoadPg(act[1]);
            break;
        case 'DpsNews':
            LoadNPg(act[1]);
            break;
        case 'DpsCat':
            LoadCPg(act[1]);
            break;
         
    }
}

function PrintSubject()
{

	if(!$('CContainer')) return false;
	w=open('', '_blank', 'width=520, height=500, scrollbars=1');
	w.document.writeln('<html>');
	w.document.writeln('<head>');
	w.document.writeln('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">');
	w.document.writeln('<link href="http://www.dps.com.vn/Css/StyleSheet.css" rel="Stylesheet" type="text/css" />');
	w.document.writeln('</head>');
	w.document.writeln('<body topmargin=3 leftmargin=0 marginheight=3 marginwidth=0>');
	w.document.writeln('<table cellspacing=0 cellpadding=0 border=0 width=500 align=center>');
	w.document.writeln('<tr>');
	w.document.writeln('<td>');
	w.document.writeln($('CContainer').innerHTML);
	w.document.writeln('</td>');
	w.document.writeln('</tr>');
	w.document.writeln('</table>');
	w.document.writeln('</body>');
	w.document.writeln('</html>');
	w.document.title = document.title;
	return false;
}

function EmailSubject(PageID)
{
    alert('Chức năng này sẽ được cập nhật sau.')
	return false;
}

function checkKey(event)
{
    event = event||window.event;
    if(event.keyCode==8 )
    {
    
        el = event.target || event.srcElement;
        if(el.tagName.toLowerCase()=="input" || el.tagName.toLowerCase()=="textarea")
        {
            return true;
        }
        else
        {
            back();
            return false;
        }
    }
        
}

function Scroll(e)
{
    if($(e))
        Element.scrollTo(e);
    return;
}

function CheckDomain(dname, ext)
{
    if(!CheckName(dname))
        return;
    showLoading();
    new Ajax.Request('CheckDomain.aspx',
        {
        method:'get',
        onSuccess: function(transport){
            var response = transport.responseText;
            if(response == '1')
                alert('Tên miền chưa được đăng ký');
            else
                alert('Tên miền đã được đăng ký');
            hideLoading();        
            },
        onFailure: function(){ alert('Không thể kết nối server, vui lòng thử lại sau...');hideLoading(); },
        parameters: 'domain=' + dname + ext }); 
}

function CheckName(domain)
{
	for (i=0; i<domain.length; i++)
		if (!(((domain.charAt(i) >= "0")&&(domain.charAt(i)<="9"))||((domain.charAt(i)>="a")&&(domain.charAt(i)<="z"))||((domain.charAt(i)>="A")&&(domain.charAt(i)<="Z"))||(domain.charAt(i)=="-"))) {
			alert("Tên miền chỉ được bao gồm các ký tự a->z, 0->9 và '-'\nBạn đã nhập ký tự \""+domain.charAt(i)+'\" không phù hợp');
			return false;
		}
	return true;
}

function sendInfor()
{
    if(!CheckInfo())
        return false;
    showLoading();
    $('btnSubmit').disabled="disabled";
    var prs = new Hash(); 
    prs.set("name",Trim($('txtCustomerName').value));
    prs.set("cname",Trim($('txtCompanyName').value));
    prs.set("addr",Trim($('txtAddress').value));
    prs.set("email",Trim($('txtEmail').value));
    prs.set("phone",Trim($('txtPhone').value));
    prs.set("comment",Trim($('txtComment').value));
    new Ajax.Request('Contact.aspx',
        {
        method:'post',
        onSuccess: function(transport){
            var response = transport.responseText;
            if(response == '1')
                alert('Thông tin của bạn đã được gửi đi thành công.');
            if(response == '-1')
                alert('Không thể gửi góp ý, vui lòng kiểm tra lại thông tin.');
            if(response == '-2')
                alert('Góp ý của bạn đã được gửi.');
            hideLoading();
            },
        onFailure: function(){
            alert('Không thể kết nối server, vui lòng thử lại sau...');
            hideLoading();
        },
        parameters: prs }); 
}

Trim = function(s)
{
    
    var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
    
//    var rs = new String();
//    if(!obj || obj.length==0) return '';
//    var st = 0;
//    var end = obj.length - 1;
//    while(obj.charAt(st)==' ' || obj.charAt(st)=='\n'  || obj.charAt(st)=='\t' ) st++;
//    while(obj.charAt(end)==' ' || obj.charAt(st)=='\n'  || obj.charAt(st)=='\t') end--;
//    if(st>end) return '';
//    return obj.substring(st, end+1);
}

function CheckExp(value,exp) {
    if (Trim(value).length == 0)
        return true;
    var rx = new RegExp(exp);
    var matches = rx.exec(value);
    return (matches != null && value == matches[0]);
}

function CheckInfo()
{

    if(!$('txtCustomerName') || !$('txtCompanyName') || !$('txtAddress') || !$('txtEmail') || !$('txtPhone') || !$('txtComment'))
    {
        alert('Yêu cầu không hợp lệ');
        return false;
    }
    
    var rs= true;
    var err = '';
    if(Trim($('txtCustomerName').value)=='')
    {
        err = '\n Họ tên';
        rs = false;
    }
    
    if(Trim($('txtAddress').value)=='')
    {
        err += '\n Địa chỉ';
        rs = false;
    }
    
    if(Trim($('txtEmail').value)=='')
    {
        err += '\n Email';
        rs = false;
    }
    
    if(Trim($('txtPhone').value)=='')
    {
        err += '\n Số điện thoại';
        rs = false;
    }
    
    if(Trim($('txtComment').value)=='')
    {
        err += '\n Nội dung góp ý';
        rs = false;
    }
    
    if(!rs)
    {
        alert('Bạn phải nhập đầy đủ các thông tin:' + err);
        return false;
    }
    
    return rs;
}
