﻿function $(id){ return document.getElementById(id);}
var Lcookie = {
    set:function(name,value,day,hour,minute,path){
	    var expires=new Date();
	    if(typeof(day)=="number"){expires.setDate(expires.getDate()+day);}
	    if(typeof(hour)=="number"){expires.setHours(expires.getHours()+hour);}
	    if(typeof(minute)=="number"){expires.setMinutes(expires.getMinutes()+minute);}
	    document.cookie=name+"="+escape(value)+";"+(day||hour||minute? " expires="+expires.toGMTString():"") +((path==null) ? "" : "; path="+path);
    },
    get:function(name,dv){
	    var arr=document.cookie.split("; ");
	    var l=arr.length;
	    for(var i=0; i< l; i++){var kv=arr[i].split("=");if(name==kv[0]){return unescape(kv[1]);}}
	    return dv;
    },
    remove:function(name){document.cookie=name+"=; expires=Fri, 31 Dec 1000 23:59:59 GMT;";},
    keys:function(name,isInt){
        var objKey = {};
        var cookie = Lcookie.get(name,null);
        if(!cookie){ return objKey;}
        var arr = cookie.split(';');
        for( var i = 0,l = arr.length; i < l; i++){
            var d = arr[i].split('=');
            objKey[d[0]] = isInt ? parseInt(d[1] || 0) : (d[1] || '');
        }
        return objKey;
    },
    value:function(objs,name,dv){
        var v = objs[name];
        if(v == undefined){ return dv;}
        switch(typeof dv){
            case 'number':
                return parseFloat(v);
            case 'boolean':
                return v != '';
            default :
                return v;
        }
    }
};
var Lbase = {};
Lbase.addfavorite = function () {
    if (document.all) {
        window.external.addFavorite(location.href, document.title);
    } else if (window.sidebar) {
        window.sidebar.addPanel(document.title, location.href, "");
    }
};
Lbase.sethome = function () {
    if (document.all) {
        document.body.style.behavior = ' url(#default#homepage) ';
        document.body.setHomePage(location.href);
    } else if (window.sidebar) {
        if (window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege(" UniversalXPConnect "); } catch (e) { return; } }
        var prefs = Components.classes[' @mozilla.org/preferences-service;1 '].getService(Components.interfaces.nsIPrefBranch);
        prefs.setCharPref(' browser.startup.homepage ', location.href);
    }
};
Lbase.version = function(name){ return window.navigator.userAgent.indexOf(name || 'MSIE 6') != -1; };
Lbase.versionIe67 = function(){ return document.all && ( Lbase.version() || Lbase.version('MSIE 7') ); };
Lbase.event = function(o,name,call){
    if(window.attachEvent){
        o.attachEvent(name,call);
        return;
    }
    if(window.addEventListener){
        o.addEventListener(name.substr(2),call,false);
        return;
    }
    o[name] = call;
};
Lbase.removeEvent = function(o,name,call){
    if(window.detachEvent){
        o.detachEvent(name,call);
        return;
    }
    if(window.removeEventListener){
        o.removeEventListener(name,call,false);
        return;
    }
    o[name] = null;
};
var Lsearch = {};
Lsearch.exists = function(txt,name){
    var arr = txt ? txt.split(' ') : [];
    for( var i = 0,l = arr.length; i != l; i++){
        if(arr[i] == name){return true;}
    }
    return false;
};
Lsearch.insert = function(txt,name,delnames){
    var arrNew = [];
    var objDel = {};
    var arr = name ? name.replace(/\s+/g,' ').split(' ') : [];
    for( var i = 0,l = arr.length; i != l; i++){
        objDel[arr[i]] = true;
    }
    if(delnames){
        var arrDel = delnames.replace(/\s+/g,' ').split(' ');
        for(var i = 0,l = arrDel.length; i != l; i++){
            objDel[arrDel[i]] = true;
        }
    }
    txt = txt || '';
    arr = txt.replace(/\s+/g,' ').split(' ');
    for( var i = 0,l = arr.length; i != l; i++){
        if(!objDel[arr[i]]){ arrNew.push(arr[i]);}
    }
    if(name){ arrNew.push(name); }
    return arrNew.join(' ');
};
Lsearch.del = function(txt,names){
    var arr = names.replace(/\s+/g,' ').split(' ');
    var objDel = {};
    var arrNew = [];
    for( var i = 0,l = arr.length; i != l; i++){
        objDel[arr[i]] = true;
    }
    arr = txt.replace(/\s+/g,' ').split(' ');
    for( var i = 0,l = arr.length; i != l; i++){
        if(!objDel[arr[i]]){ arrNew.push(arr[i]);}
    }
    return arrNew.join(' ');
};
Lsearch.cssExists = function (obj, name) {
    if (!obj.className) { return false; }
    return Lsearch.exists(obj.className, name);
};
Lsearch.cssInsert = function(obj,name,delnames){
    obj.className = Lsearch.insert(obj.className,name,delnames);
};
Lsearch.cssDel = function(obj,names){
    obj.className = Lsearch.del(obj.className,names);
};
Lsearch.getPar = function(name,uri){
    if(!uri){ uri = location.href.toLowerCase();}
    uri = uri.split('?')[1]; if(!uri){return '';}
    uri = uri.split('&'); if(!uri){ return '';} 
    name = name.toLowerCase();
    for(var i = 0 ,l = uri.length ; i < l; i++){
        if(uri[i].length < 2){continue;}
        var arr = uri[i].split('=');
        if(arr[0].length < 1){continue;}
        if(arr[0] != name){continue;}
        return arr[1];
    }
    return '';
};
Lsearch.replacePar = function(name,value,uri){
    uri = uri || location.href;
    var par = name + '=' + value;
    var link = uri.split('?')[1]; if(!link){return uri + '?' + par;}
    var d = link.split('&'); 
    for(var i = 0 ,l = d.length ; i < l; i++){
        if(d[i].length < 2){continue;}
        var arr = d[i].split('=');
        if(arr[0].length < 1){continue;}
        if(arr[0] != name){continue;}
        return uri.replace(d[i],par);
    }
    return uri + '&' + par;
};
var Lsys = {};
Lsys.hashOut = {};
Lsys.delTimeout = function(name){
    var obj = Lsys.hashOut[name];
    if(obj){
        window.clearTimeout(obj.id);
    }
    delete Lsys.hashOut[name];
};
Lsys.newTimeout = function(name,id){
    Lsys.delTimeout(name);
    Lsys.hashOut[name] = {'id':id,'area':Lsys.area};
};

var Lad = { _ads : {}, _listAd : [], _txtAdPar : {},_isBind : false};
Lad.append = function(id,type,uri,html,style){
    var arr = Lad._ads[id];
    if(!arr){Lad._ads[id] = arr = [];}
    arr.push({'uri': uri, 'html': html, 'type': type, 'style': style});
};
Lad.parameter = function(par){
    var arr = Lad._ads[par.id];
    if(!arr){Lad._ads[par.id] = arr = [];}
    arr._count = par.count;
    arr._skippar = par.txtList;
    arr._fly = par.fly;
    arr._style = par.style;
};
Lad.analy = function(ad,type,style){
    var txt = '';
    var obj = type ? document.createElement(type) : null;
    style = ad.style || style;
    switch(ad.type){
        case 'txt': case 'img':
            txt = ad.type == 'txt' ? ad.html : '<img src="' + ad.html + '" ' + ( style ? 'style="' + style + '"' : '') + ' />'; 
            if(obj){
                var str = '<a target="_blank" ';
                if(ad.uri){
                    str += 'href="' + ad.uri + '"';
                }
                str += '>'+ txt + '</a>';
                txt = str;
            }else{
                obj = document.createElement('a');
                if(ad.uri){obj.href = ad.uri;}
                obj.target = '_blank';
                if(style){ 
                    obj.setAttribute('style',style);
                }
            }
            obj.innerHTML = txt;
            break;
        case 'swf':
            txt  = '<embed src="'+ ad.uri +'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent" ' + ( style ? 'style="' + style + '"' : '') + '></embed>';
           if(!obj){ obj = document.createElement('span');}
           obj.innerHTML = txt;
           break;
    }
    return obj;
};
Lad.load = function(){
    var objAd = Lad._ads,count;
    var divId = null;
    function append(obj,index){
        obj.className = 'col-' + i;
        divId.appendChild(obj);
    }
    var adcount = 0;
    for(var id in objAd){
        adcount++;
        if(typeof objAd[id] != 'object'){ continue;}
        divId = $(id);
        if(!divId){ continue;}
        var arr = objAd[id];
        if(arr._skippar){
            Lad.txtInit(arr,id);
            continue;
        }
        delete Lad._ads[id];
        divId.innerHTML = '';
        var nodeName = divId.nodeName;
        var index = 0;
        var type = '';
        switch(nodeName){
            case 'UL': case 'OL':
                type = 'li';break;
            case 'TR':
                type = 'td';break;
            case 'DL':
                type = 'dd';break;
        }
		count = arr.length;
        for(var i = 0, l = arr.length; i < l; i++){
            var ad = arr[i];
            var obj = Lad.analy(ad, type,arr._style);
            if(!obj){ continue;}
            append(obj,index++);
        }
        count = arr._count;
		if(!count && !l){ divId.style.display = 'none';}
        if(!count || index >= count || !Lad._defaultTxt){continue;}
        var nullAd = {'uri': null, 'html': Lad._defaultTxt, 'type': 'txt'};
        for(i = index;i < count; i++){
            var obj = Lad.analy(nullAd, type,arr._style);
            if(!obj){ continue;}
            append(obj,i);
        }
    }
    if(!adcount){
         Lsys.newTimeout('reloadAd',setTimeout(Lad.load,1000)); //广告有可能加载慢
         return;
    }
    //Lbf.adFixed();
};
var Lposition = {x:0,y:0};
Lposition.cursor = function (evt) {
    evt = evt ? evt : (window.event ? window.event : null);
    var ml = evt ? document.body.scrollLeft : document.documentElement.scrollLeft;
    var mt = evt ? document.body.scrollTop : document.documentElement.scrollTop;
    evt = evt ? evt : (window.event ? window.event : null);
    var x = evt.x != undefined ? evt.clientX : evt.pageX;
    var y = evt.y != undefined ? evt.clientY : evt.pageY;
    Lposition.x = x + ml;
    Lposition.y = y + mt;
    return { 'x': Lposition.x, 'y': Lposition.y };
};
Lposition.offset = function(o,o2,div,topAlign,offX,offY){
    var oo = o;
    var x = y = x2 = y2 = 0; 
    do{ x += o.offsetLeft || 0;y += o.offsetTop  || 0;o  = o.offsetParent;}while(o);
    if(o2){
        var w = o2.clientWidth;
        var h = o2.clientHeight;
        var dw = document.body.clientWidth;
        x2 = ((x + w > dw) ? dw - w : x);
        if(topAlign){
            y2 = (y - h < 1 ) ? 0 : y - h;
        }else{
            y2 = y + oo.clientHeight;
        }
        x2 ++;
    }else{
        x2 = x;
        y2 = y;
    }
    offX && (x2 += offX);
    offY && (y2 += offY);
    if(div){
        div.style.left = x2 + 'px';
        div.style.top = (y2 + 4) + 'px';
    }
    return {"x" : x, "y" : y , 'x2' : x2, 'y2' : y2};
};
var LimgPlay = {};
LimgPlay.insert = function(id,imgarr,reservation,inttime){
    //imgarr.push({url:'www.abc.com',txt:'hello,world!',img:'/i/abc.jpg'});
    var div = document.getElementById(id);
    var current,bimg,img,a,aindex = 0;
    if(!imgarr){
        var imgs = div.getElementsByTagName('a');
        imgarr = [];
        for(var i = 0;a = imgs[i++];){
            imgarr.push({url:a.href,txt:a.innerText || a.textContent,img:a.getElementsByTagName('img')[0].src});
        }
    }
    var count = imgarr.length - 1;
    if(count < 0){return;}
    if( !reservation){
        for(var i in imgarr){ img = imgarr[i]; break;}
        div.innerHTML = '<div class="imgPlayBig"><a href=" ' + img.url + '" target="_blank"><img class="imgPlayBimg" ' + (document.all ? 'style="filter: revealTrans(duration=1,transition=5);"' : '') + ' src="' + img.img + '"  title="' + img.txt + '" /></a></div><div class="imgPlayFlip"><div class="imgPlayTxtBg"></div><div class="imgPlayTxt"></div><div class="imgPlayLinks"></div></div>';
    }
    var ds = div.getElementsByTagName('div');
    var bigimg = ds[0],links = ds[4],bigtxt = ds[3];
    var _pause = false;
    bigimg._a = bigimg.getElementsByTagName('a')[0];
    bigimg._img = bigimg.getElementsByTagName('img')[0];
    function RePlay(){ _pause = false; }
    function NextPlay(temp,index){
        if(_pause){return;}
        aindex = index != undefined ? index : (aindex < count ? ++aindex : 0);
        img = imgarr[aindex];
        a = img._a;
        current && (current.className = '');
        a.className = 'sel';
        current = a;
        bigimg._a.href = img.url;
        bimg = bigimg._img;
        bimg.src = img.img;
        bimg.title = img.txt;
        bigtxt.innerHTML = img.txt;
        if(document.all){
		    bimg.filters.revealTrans.Transition=23;
		    bimg.filters.revealTrans.apply();
		    try{bimg.filters.revealTrans.play();}catch(ex){}
        }
    }
    function ChangeImg(){
        if(current == this){return;}
        NextPlay(0,this._index);
        _pause = true;
    }
    for(var i = 0,img; img = imgarr[i++];){
        a = document.createElement('a');
        a.innerHTML = i;
        a.onmouseover = ChangeImg;
        a.onmouseout = RePlay;
        a._index = i-1;
        links.appendChild(a);
        img._a = a;
    }
    NextPlay();
    setInterval(NextPlay,inttime || 5000);
};
var LtagPanel = {_stop:false};
LtagPanel.panelOver = function(){
	var a = this;
	var tag = a._tag;
	if(a == tag._current){ return;}
	tag._current.className = '';
	a.className = 'sel';
	tag._current._obj && (tag._current._obj.style.display = 'none');
	a._obj && (a._obj.style.display = '');
	tag._current = a;
};
LtagPanel.autoLoad = function(){
	if(LtagPanel._stop){return;}
	var index,tags,id;
	function append(name){
		tags = document.getElementsByTagName(name);
		for(var i = 0,tag; tag = tags[i++];){
			if(!tag.id){ continue;}
			id = tag.id;
			var as = tag.getElementsByTagName('a');
			index = 0;
			for(var j = 0,a; a = as[j++];){
				a.onmouseover = LtagPanel.panelOver;
				a._index = index;
				a._obj = $(id + '-' + index);
				a._tag = tag;
				!tag._current && (tag._current = a);
				index++;
			}
		}
	}
	var arr = 'ol'.split(',');
	for(var i = 0,tag;tag = arr[i++];){
		append(tag);
	}
};
LtagPanel.init = function(){
	LtagPanel.autoLoad();
	LtagPanel._stop = true;
};
var Lpanel = { _sel: null, _outid: null };
Lpanel.selectReset = function () {
    var li = Lpanel._reset;
    if (!li) { return; }
    var n = li.parentNode;
    n._current = n._resetpanel;
    n._resetpanel._panel.style.display = '';
    li._panel.style.display = 'none';
    Lsearch.cssInsert(n._resetpanel, 'sel');
    Lsearch.cssDel(li, 'sel');
};
Lpanel.selectCancel = function () {
    if (Lpanel._outid) {
        clearTimeout(Lpanel._outid);
        Lpanel._outid = null;
    }
    var li = this._li || this;
    var n = li.parentNode;
    if (!n._resetpanel || li == n._resetpanel) { return; }
    Lpanel._outid2 = setTimeout(Lpanel.selectReset, 3000);
    Lpanel._reset = li;
};
Lpanel.selectVisible = function(){  
    var li = Lpanel._sel;
    var ul = li.parentNode;
    var cur = ul._current;
    cur._panel.style.display = 'none';
    Lsearch.cssDel(cur,'sel');
    li._panel.style.display = '';
    Lsearch.cssInsert(li,'sel');
    ul._current = li;
};
Lpanel.selectTag = function () {
    Lpanel._sel = this._li || this;
    Lpanel._outid = setTimeout(Lpanel.selectVisible, 120);
    clearTimeout(Lpanel._outid2);
};
Lpanel.init = function (dmenu) {
    var d = document.body;
    var isreset = false;
    if (!dmenu) {
        dmenu = $('_HWL_DEFAULTMENU');
        dmenu && (dmenu = dmenu.value);
    } else {
        isreset = true;
    }
    function append(name, name2) {
        var ns = d.getElementsByTagName(name);
		var nid;
        for (var i = 0, n; n = ns[i++]; ) {
            if (n._bind || !n.className || !Lsearch.cssExists(n, 'HWL_PANEL')) { continue; }
            n._bind = true;
            var ns2 = n.getElementsByTagName(name2);
            var index = 0, left = 0 ,p;
            var current, firstn2;
            var nwidth = n.offsetWidth;
            var offset = Lposition.offset(n);
            var x1 = offset.x;
            var pars = {left:0,columnspace:0};
            if(n.title){
                    pars = eval('({' + n.title + '})');
                try{
                }catch(ex){}
                n.removeAttribute('title');
            }
			nid = n.id || '';
            for (var i2 = 0, n2; n2 = ns2[i2++]; ) {
                if (n2.title == '') { continue; }
                n2._panel = p = $(nid + n2.title);
				if(!p){continue;}
                n2._panel.onmouseover = n2.onmouseover = Lpanel.selectTag;
                n2._panel.onmouseout = n2.onmouseout = Lpanel.selectCancel;
                n2._panel._li = n2;
                if (index++ == 0) {
                    current = firstn2 = n2;
                }
                if (dmenu == n2.title) {
                    current = n2;
                }
                n2.removeAttribute('title');
                n2._panel.style.cssText += ';height:1px;display:block;position:absolute;';
                var width = p.offsetWidth;
                offset = Lposition.offset(n2);
                var x = parseInt(offset.x + (n2.offsetWidth / 2) +  parseInt(pars.columnspace) - x1 - (width / 2)) ;
                x = nwidth - x > width ? x : nwidth - width;
                (x < 1 || !x) && (x = pars.left);
                n2._panel.style.cssText += ';height:auto;display:none;position:static;padding-left:' + x + 'px';
            }
            if (current) {
                n._current = current;
                isreset && (n._resetpanel = current);
                current._panel.style.display = '';
                Lsearch.cssInsert(current, 'sel');
            }
            current != firstn2 && (firstn2._panel.style.display = 'none');
        }
    }
    append('h2', 'span');
};
var Lwindow = {
    _arrFun : [],
    _isonload : false,
    onload : function(){ for( var i = 0,l = arguments.length; i != l; i++){ Lwindow._arrFun.push(arguments[i]); } },
    onloading : function(){ 
        if(Lwindow._isonload){return;}
        Lwindow._isonload = true;
        var arr = Lwindow._arrFun; for( var i = 0,l = arr.length; i < l; i++){ arr[i](); } 
    }
};
window.onload = Lwindow.onloading;
Lwindow.onload(Lad.load);
Lwindow.onload(LtagPanel.init);
Lwindow.onload(Lpanel.init);
Lwindow.onload(pageInit);

function pageInit(){
    //if(!Lbase.versionIe67()){ return; }
    if(!document.all){return;}
    var adfly = $('wAdFly'); 
    if(!adfly){return;}
    adfly.style.visibility = 'visible';
    var _waitOut;
    function waitResetAdFly(){
        var top = document.body.scrollTop || document.documentElement.scrollTop;
        top += document.body.clientHeight -2;
        adfly.style.top = top + 'px';
    }
    function resetAdFly(){
        clearTimeout(_waitOut);
        _waitOut = setTimeout(waitResetAdFly,20);
        document.body.style.backgroundColor="white";
    }
    Lbase.event(window,'onscroll',resetAdFly);
    Lbase.event(window,'onresize',resetAdFly);
    resetAdFly();
}
