﻿var Lindex = {};
Lindex._objFavIds = {};
Lindex._arrItems = [];
Lindex._arrFavIds = [];
Lindex._cookieFav = 'Lindex_FavIds';
Lindex._isLogin = false;
Lindex._divTest = null;
Lindex._netTest = {};
Lindex._msg = null;
Lindex._divAddLink = null;
Lindex._divNewLink = null;
Lindex._ie67 = Lbase.versionIe67();
Lindex.favRef = function (ids) {
    var url = 'back_fav.aspx?idstr=' + ids + (document.all ? ('&rnd=' + Math.random()) : '');
    Lajax.send(Lindex.favLoad, url);
};
Lindex.favSet = function(ids){
    Lindex._objFavIds = {};
    Lindex._arrFavIds = [];
    var arr = ids.split(',');
    var arrId = [];
    var id;
    for(i = 0, l = arr.length; i != l; i++){
        id = arr[i];
        if(!id || parseInt(id) != id){ continue;}
        Lindex._objFavIds[id] = true;
        arrId.push(id);
    }
    ids = arrId.join(',');
    Lindex._arrFavIds = arrId;
    Lindex.favRef(ids);
};
Lindex.favLoad = function(iTxt){
    var ol = $('wMyFavList');
    ol.innerHTML = iTxt;// || '<div class="null">注册收藏夹用户,可以添加自定义网站</div>';
    ol._null = iTxt ? false : true;
    Lindex.favListUpdate(ol,false);
}
Lindex.memberGuest = function(){
    Lindex._cookieFav = 'Lindex_FavGuest';
    var cookie = Lcookie.get(Lindex._cookieFav);
    Lindex.favSet(cookie);
};
Lindex.memberLogin = function (ids, issave, userid) {
    Lindex._isLogin = true;
    Lindex._cookieFav = 'Lindex_FavUser';
    if(userid){
        Lcookie.set(Lindex._cookieFav,ids,10000);
        if(issave != null){Lcookie.set('memberuserid',userid, issave ? 10000 : 0);}
    }else{
        ids = Lcookie.get(Lindex._cookieFav);
    }
    Lindex.favSet(ids);
};
Lindex.memberLogout = function(){
    Lcookie.remove('Lindex_FavUser');
    Lcookie.remove('memberuserid');
    Lindex._cookieFav = 'Lindex_FavGuest';
    Lindex._isLogin = false;
    Lindex.memberGuest();
    return true;
};

Lindex.openTest1 = function (o1) {
    var o = o1.parentNode.parentNode;
    var id = o.id.replace('fav_', '');
    var div = Lindex._divTest;
    if (!div) {
        var div = Lindex._divTest = document.createElement('div');
        var frame = div.frame = document.createElement('div');
        div.innerHTML = '<div class="head"><a onclick="nid=0;parentNode.parentNode.style.visibility=\'hidden\'">X</a><span></span>（站点测速）</div>';
        div.className = 'divTest';
        div.appendChild(frame);
        div.testName = div.childNodes[0].childNodes[1];
        document.body.appendChild(div);
    }
    var src = 'frame_speed.aspx?id=' + id + '&date=' + new Date().getTime();
    div.frame.innerHTML = '<iframe id="wIframeTest" src="' + src + '" onload="Lindex.openTestLoadFrame(this)" frameborder="0"></iframe>';
    div.style.visibility = 'visible';
    div.testName.innerHTML = o._name;
    Lposition.offset(o, div, div, false);
};

Lindex.openTest10 = function (o1) {
    var o = o1.parentNode.parentNode;
    var id = o.id.replace('fav_', '');
    var div = Lindex._divTest;
    if (!div) {
        var div = Lindex._divTest = document.createElement('div');
        var frame = div.frame = document.createElement('div');
        div.innerHTML = '<div class="head"><a onclick="nid=0;parentNode.parentNode.style.visibility=\'hidden\'">X</a><span></span>（站点测速）</div>';
        div.className = 'divTest0';
        div.appendChild(frame);
        div.testName = div.childNodes[0].childNodes[1];
        document.body.appendChild(div);
    }
    var src = 'frame_speed.aspx?id=' + id + '&date=' + new Date().getTime();
    div.frame.innerHTML = '<iframe id="wIframeTest" src="' + src + '" onload="Lindex.openTestLoadFrame0(this)" scrolling="no" frameborder="0"></iframe>';
    div.style.visibility = 'visible';
    div.testName.innerHTML = o._name;
    Lposition.offset(o, div, div, false);
};

Lindex.openTest2 = function (o1) {
    var o = o1;
    var id = o.id.replace('fav_', '');
    var div = Lindex._divTest;
    if (!div) {
        var div = Lindex._divTest = document.createElement('div');
        var frame = div.frame = document.createElement('div');
        div.innerHTML = '<div class="head"><a onclick="nid=0;parentNode.parentNode.style.visibility=\'hidden\'">X</a><span></span>（站点测速）</div>';
        div.className = 'divTest';
        div.appendChild(frame);
        div.testName = div.childNodes[0].childNodes[1];
        document.body.appendChild(div);
    }
    var src = 'frame_speed.aspx?id=' + id + '&date=' + new Date().getTime();
    div.frame.innerHTML = '<iframe id="wIframeTest" src="' + src + '" onload="Lindex.openTestLoadFrame(this)" frameborder="0"></iframe>';
    div.style.visibility = 'visible';
    div.testName.innerHTML = o._name;
    Lposition.offset(o, div, div, false);
};

Lindex.openTest0 = function () {
    var o = this.parentNode.parentNode;
    var id = o.id.replace('fav_', '');
    var div = Lindex._divTest;
    if (!div) {
        var div = Lindex._divTest = document.createElement('div');
        var frame = div.frame = document.createElement('div');
        div.innerHTML = '<div class="head"><a onclick="parentNode.parentNode.style.visibility=\'hidden\'">X</a><span></span>（站点测速）</div>';
        div.className = 'divTest0';
        div.appendChild(frame);
        div.testName = div.childNodes[0].childNodes[1];
        document.body.appendChild(div);
    }
    var src = 'frame_speed.aspx?id=' + id + '&date=' + new Date().getTime();
    div.frame.innerHTML = '<iframe id="wIframeTest" src="' + src + '" onload="Lindex.openTestLoadFrame0(this)" scrolling="no" frameborder="0"></iframe>';
    div.style.visibility = 'visible';
    div.testName.innerHTML = o._name;
    Lposition.offset(o, div, div, false);
};

Lindex.openTest = function(){
    var o = this.parentNode.parentNode;
    var id = o.id.replace('fav_','');
    var div = Lindex._divTest;
    if(!div){
        var div = Lindex._divTest = document.createElement('div');
        var frame = div.frame = document.createElement('div');
        div.innerHTML = '<div class="head"><a onclick="parentNode.parentNode.style.visibility=\'hidden\'">X</a><span></span>（站点测速）</div>';
        div.className = 'divTest';
        div.appendChild(frame);
        div.testName = div.childNodes[0].childNodes[1];
        document.body.appendChild(div);
    }
    var src = 'frame_speed.aspx?id=' + id + '&date='+new Date().getTime();
    div.frame.innerHTML = '<iframe id="wIframeTest" src="' + src + '" onload="Lindex.openTestLoadFrame(this)" frameborder="0"></iframe>';
    div.style.visibility = 'visible';
    div.testName.innerHTML = o._name;
    Lposition.offset(o,div,div,false);
};
Lindex.openTestLoadFrame = function(iframe,doc){
    doc = doc || iframe.Document || iframe.contentDocument;
    var x1 = doc.body.scrollHeight || doc.body.clientHeight;
    var x2 = doc.documentElement.scrollHeight || doc.documentElement.clientHeight;
    var h = x1 > x2 ? x1 : x2;
    iframe.style.height = h + 50 + 'px';
};

Lindex.openTestLoadFrame0 = function (iframe, doc) {
    doc = doc || iframe.Document || iframe.contentDocument;
    var x1 = doc.body.scrollHeight || doc.body.clientHeight;
    var x2 = doc.documentElement.scrollHeight || doc.documentElement.clientHeight;
    var h = x1 > x2 ? x1 : x2;
    iframe.style.height = 270 + 'px';
};


Lindex.openUrl = function(){
    window.open(this._href);
};



Lindex.favListUpdate = function (child, isAdd) {
    var ols = child.getElementsByTagName('li');
    var li;

    for (var i0 = 0, l0 = ols.length; i0 != l0; i0++) {
        li = ols[i0];
        li._sortName = li.title;
        li.removeAttribute('title');

        if (!li.id) {
            if (Lindex._ie67) {
                li.onmouseover = Lindex.linkie6Over;
                li.onmouseout = Lindex.linkie6Out;
            }
            continue;
        }
        var div = li.getElementsByTagName('div')[0];
        if (div) {
            if (li.getAttribute('_test')) {
                var a = li.getElementsByTagName('a')[0];
                li._name = a.innerText || a.textContent;
                if (li._name == "全讯网备用站") {
                    a.onclick = Lindex.openTest0;
                    a.target = '_blank';
                    var aaaa1 = '<a onclick="Lindex.openTest10(this)" style="font-weight:bold">点击打开</a>';
                    div.innerHTML = aaaa1;// +div.innerHTML;
                }
                else {
                    a.onclick = Lindex.openTest;
                    a.target = '_blank';
                    var aaaa1 = '<a onclick="Lindex.openTest1(this)" style="font-weight:bold">点击测速</a>';
                    div.innerHTML = aaaa1 + div.innerHTML;
                }

            }
        } else {
            div = document.createElement('div');
            div.className = 'itemFav';
            li.appendChild(div);
        }
        div.innerHTML += isAdd ? '<a onclick="Lindex.favAdd(this)">加入收藏</a>' : '<a onclick="Lindex.favCancel(this)">取消收藏</a>';
        li._fav = div;
        li.onmouseover = Lindex.favVisible;
        li.onmouseout = Lindex.favHide;
    }
    var k = ols.length;
    if (k == 0) {
        var li = document.createElement('div');
        li.className = 'null';
        li.innerHTML = '注册收藏夹用户,可以添加自定义网站';
        child.appendChild(li);
        return;
    }
    if (!child._null) {
        for (var i0 = k % 7; i0 && i0 != 7; i0++) {
            child.appendChild(document.createElement('li'));
        }
    } else {
        return;
    }
    /*if(k <= 7){
    var li = document.createElement('li');
    li.className = 'space';
    child.appendChild(li);
    }*/
};
Lindex.linkie6Over = function(){
    this.className = 'itemLinkOver';
};
Lindex.linkie6Out = function(){
    this.className = '';
};
Lindex.init = function(){
    Lindex._divAddLink = $('wAddLink');
    var i,l;
    //item
    var divs = document.body.childNodes;
    for(i = 0, l = divs.length; i != l; i++){
        var div = divs[i];
        if(!div.className || !div.id){continue;}
        if(div.id.search(/w.{1,}Item/)!=0){continue;}
        Lindex._arrItems.push(div);
    }

    //cookie
    Lindex._isLogin = Lcookie.get('memberuserid') != '';
    if(Lindex._isLogin){
        Lindex.memberLogin();
    }else{
        Lindex.memberGuest();
    }
    
    //search
    var childByTag = document.getElementsByTagName('h5');
    var child;
    var arrAbc = '显示全部 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9'.split(' ');
    var str1 = '<a onclick="Lindex.itemSearch(this)">';
    var str2 = '</a>';
    for(i = 0, l = childByTag.length; i != l; i++){
        child = childByTag[i];
        if(child.className != 'itemType'){ continue;}
        child._title = child.title;
        child.removeAttribute('title');
       // alert(str1);
        child.innerHTML = str1 + arrAbc.join( (str2 + str1) ) + str2;
    }
    
    //link
    childByTag = document.getElementsByTagName('ol');
    for(i = 0, l = childByTag.length; i != l; i++){
        child = childByTag[i];
        if(child.className != 'itemLink'){ continue;}
        var as = child.getElementsByTagName('a');
        var a;
        for( var i0 = 0, l0 = as.length; i0 != l0; i0++){
            a = as[i0];
            a.target = '_blank';
            a.title = a.innerText || a.textContent;
            if(Lindex._ie67 && !a.href){
                a.onmouseover = Lindex.linkie6Over;
                a.onmouseout  = Lindex.linkie6Out;
            }
        }
        Lindex.favListUpdate(child,true);
        if(child.getAttribute('_order')){
            child.className += ' itemLink2';
            var ols = child.getElementsByTagName('li');
            var li;
            var index = 0;
            for( var i0 = 0, l0 = ols.length; i0 < l0; i0+=8){
                li = document.createElement('li');
                li.className = 'order';
                li.innerHTML = ++index;
                l0++;
                child.insertBefore(li,ols[i0]);
            }
        }
    }
    
    //form search
    childByTag = document.getElementsByTagName('form');
    for(i = 0, l = childByTag.length; i != l; i++){
        child = childByTag[i];
        if(child.className != 'itemSearchForm' || !child.action){ continue;}
        var arrAction = child.action.split(',');
        child.action = 'search.aspx';
        child.method = 'get';
        child.target = '_blank';
        child.innerHTML = '<span class="l">精确查找：</span><input type="text" name="keyword" value="关键字" class="txt" onclick="this.value=\'\'" /><input type="image" src="images/' + (arrAction[1] || 'bx024.gif') + '" />';
    }
    
    //ad
    LindexAd.load();
    
};
Lindex.hidead = function(){
    LindexAd.hide();
}
Lindex.messageHide = function(){
    var msg = Lindex._msg;
    if(!msg._run){msg.style.visibility = 'hidden';}
};
Lindex.messageOpacity = function(){
    var msg = Lindex._msg;
    msg._run = false;
    Lanimation.opacity(msg,100,0,true,Lindex.messageHide);
};
Lindex.message = function(txt,o,focusInput){
    var msg = Lindex._msg;
    if(!msg){
        msg = Lindex._msg = document.createElement('div');
        msg.title = '单击隐藏本提示！';
        msg.className = 'flyMessage';
        msg.onclick = Lindex.messageOpacity;
        document.body.appendChild(msg);
    }
    if(focusInput){
        focusInput.focus();
        txt = '<b style="color:red">' + txt + '</b>';
    }
    msg._run = true;
    clearTimeout(msg._ST);
    msg.innerHTML = txt;
    Lposition.offset(o,msg,msg,true);
    msg.style.filter = msg.style.opacity = null;
    msg.style.visibility = 'visible';
    msg._ST = setTimeout(Lindex.messageOpacity,6000);
};
Lindex.favVisible = function () {
    if (this.getAttribute('_t1') == "1") {
        if (nid == this.id.replace('fav_', '')) {

        }
        else {
            nid = this.id.replace('fav_', '');
            Lindex.openTest2(this);
        }
    }
    else {
        this._fav.style.visibility = 'visible';
        //this._fav.style.display = '';
        this.className = 'itemLinkOver';
        //alert(this._fav.style.display);
    }
};
Lindex.favHide = function(){ 
    this._fav.style.visibility = 'hidden'; 
    this.className = '';
};
Lindex.favAdd = function(o){
    var div = o.parentNode;
    var li = div.parentNode;
    var id = li.id.substr(4);
    var a = li.getElementsByTagName('a')[0];
    if(Lindex._objFavIds[id]){
        Lindex.message('已添加过该网站',li);
        return;
    }
    Lindex._objFavIds[id] = true;
    Lindex._arrFavIds.push(id);
    var ids = Lindex._arrFavIds.join(',');
    //alert(ids);
    Lcookie.set(Lindex._cookieFav,ids,10000);
    Lindex.favRef(ids);
    if(Lindex._isLogin){
        var url = 'favoritesadd.aspx?id=' + id;
        Lajax.send(null,url);
    }
    var name = a.innerText || a.textContent;
    Lindex.message('收藏 <b>『' + name + '』</b> 成功!',li);
};
Lindex.favCancel = function(o){
    var div = o.parentNode;
    var li = div.parentNode;
    var id = li.id.substr(4);
    var name = li.getElementsByTagName('a')[0];
    name = name.innerText || name.textContent;
    delete Lindex._objFavIds[id];
    var arr = [];
    for(var key in Lindex._objFavIds){
        if(key){arr.push(key);}
    }
    Lindex._arrFavIds = arr;
    var ids = arr.join(',');
    Lcookie.set(Lindex._cookieFav,ids,10000);
    
    if(Lindex._isLogin){
        var url = 'favoritesdel.aspx?id=' + id;
        Lajax.send(null,url);
    }
    Lindex.favRef(ids);
    Lindex.message('取消 『' + name + '』 收藏成功',li);
};
Lindex.itemSearch = function(o){
    var key = o.innerHTML;
    
    var div = o.parentNode.parentNode;
   
    var ols = div.getElementsByTagName('ol');
   
    var ol,lis,li;
    var all = key.length > 1;
    var arr = div._arrHide;
    if(arr){
        for(var i =  0, l = arr.length; i < l; i++){
            arr[i].style.display = 'block';
        }
    }
    if(div._sel){ div._sel.className = '';}
    div._sel = o;
    div._sel.className = 'sel';
    for(i = 0, l = ols.length; i != l; i++){
   
        ol = ols[i];
        lis = ol.getElementsByTagName('li');
        var k = 0;
        var isTrue;
       
        for( var i0 = 0, l0 = lis.length; i0 != l0; i0++){
            li = lis[i0];
           
            isTrue = all || li._sortName == key;
            isTrue && k++;
            
            li.style.display = isTrue  ? 'block' : 'none';
        }
        if(!ol._oldClassName){ol._oldClassName = ol.className;}
        ol.className = all ? ol._oldClassName : ( k < 7 ? 'itemLink itemLinkBox' : 'itemLink');
    }
};
Lindex.view = function(o,id){
    var arr = Lindex._arrItems
    var div = o.parentNode;
    if(div._sel){ div._sel.className = '';}
    div._sel = o;
    o.className = 'sel';
    for(i = 0, l = arr.length; i != l; i++){
        div = arr[i];
        div.style.display = !id || div.id == id ? 'block' : 'none';
    }
};
Lindex.netTestHide = function(){
    Lindex._netTest.divNet.style.display = 'none';
};
Lindex.netTestResult = function(iframe,id){
    var o=$('dtest' + id);
    var td = $('dtestlink' + id);
    if(!o || !td){return;}
    var second = ((new Date()- td._startDate)/1000);
    var src = iframe.src;
    src = src.substr(0,src.indexOf('/',src.indexOf('.')));
    o.innerHTML= second +'秒';
    if(Lindex._netTest.second == -1 || second < Lindex._netTest.second){
        Lindex._netTest.second = second;
        if(Lindex._netTest.prevTd){Lindex._netTest.prevTd.className = '';}
        if(Lindex._netTest.prevO){Lindex._netTest.prevO.className = '';}
        td.className = o.className = 'first';
        Lindex._netTest.prevTd = td;
        Lindex._netTest.prevO = o;
        var txt = '';
        if (src == Lindex._netTest.src){
            txt = '您当前使用的是：<strong>' + td._txt + '</strong>，您当前连接到服务的速度是最快的。';
            Lindex.netTestHide();
        }else{
            txt = '测试结果：<strong>' + td._txt + '</strong> 速度最快，建议您使用' + td._txt + '访问本站！';
            setTimeout(Lindex.netTestHide,10000);
        }
        $('dtestmsg').innerHTML = txt;
        Lindex._netTest.hideSecond = $('wNetTestTip');
    }
};
Lindex.netTest = function(netid){
    var divNet = $(netid);
    if(!divNet){return;}
    var src = location.href;
    src = src.substr(0,src.indexOf('/',src.indexOf('.')));
    Lindex._netTest.src = src;
    Lindex._netTest.divNet = divNet;
    divNet.style.display = 'block';
    var tbody = $(netid + 'Grid');
    var links = $(netid + 'Link').getElementsByTagName('a');
    var tr,td;
    function ctd(txt){
        td = document.createElement('td');
        td.innerHTML=txt;
        tr.appendChild(td);
        return td;
    }
    var l = links.length;
    var arr = [];
    Lindex._netTest.second = -1;
    for(var j=0;j!=2;j++){
        tr = document.createElement('tr');
        tbody.appendChild(tr);
        for(var i = 0; i != l; i++){
            if(j == 1){
                ctd('正在测速...').id = "dtest" + i;
            }else{
                var a = links[i];
                ctd('<a href="' + a.href + '">' + a.innerHTML + '</a>').id = "dtestlink" + i;
                td._startDate = new Date();
                td._txt = a.innerHTML;
                arr.push(a.title);
            }
        }
    }
    for(var i = 0,l = arr.length; i != l; i++){
        var div = document.createElement('div');
        div.innerHTML ='<iframe onload="Lindex.netTestResult(this,' + i + ')" src="' + arr[i] + '"></iframe>';
        div.style.display = 'none';
        divNet.appendChild(div);
    }
};
Lindex.addLink = function(o){
    Lindex._divAddLink.style.visibility = 'visible'; 
};
Lindex.addLinkHide = function(){
    Lindex._divAddLink.style.visibility = 'hidden';  
};
Lindex.newLink = function(form){
    var panel = Lindex._divNewLink;
    if(!panel){
        panel = Lindex._divNewLink = {};
        //panel.uri = $('wLinkUri');
        panel.name = $('wLinkName');
        //panel.user = $('wLinkUser');
        //panel.agent = $('wLinkAgent');
    }
    //if(!panel.uri.value){ return Lindex.message('请输入网址！',panel.uri,panel.uri); }
    if(!panel.name.value){ return Lindex.message('请输入名称！',panel.name,panel.name); }
    //if(panel.user.value.split('||').length > 4){ return Lindex.message('最多允许添加4个用户！',panel.user,panel.user); }
    //if(panel.agent.value.split('||').length > 4){ return Lindex.message('最多允许添加4个代理！',panel.agent,panel.agent); }
    form.submit();
};
Lindex.hideItem = function(o){
    var div = o.parentNode;
    div.style.display = 'none';
    var p = div.parentNode;
    var arr = p._arrHide;
    if(!arr){ arr = p._arrHide = [];}
    arr.push(div);
};
function chkform(id){
	if(frm.cls.value == ''){
		alert('请选择网站类型');
		frm.cls.focus();
		return false;
	}
	if(frm.name.value == ''){
		alert('网站名称不能为空');
		frm.name.focus();
		return false;
	}
	if(frm.url.value == ''){
		alert('网站地址不能为空');
		frm.url.focus();
		return false;
	}
	return true;
}
