﻿
function Ajax() { this._create = function() { var _p; try { _p = new XMLHttpRequest(); } catch (e) { var r = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); for (var i = 0; i < r.length && !_p; i++) { try { _p = new ActiveXObject(r[i]); if (_p) { break; } } catch (e) { } } } if (!_p) { alert('Fail to init Ajax.'); } else { return _p; } }; this.Request = function(A) { var parm = A.data || null; var method = A.method || 'POST'; var url = A.url; var async = A.async || true; var func = A.success || null; var cache = A.cache || false; var t = ''; if (parm != null) { for (var key in parm) { t += '&' + key + '=' + encodeURIComponent(parm[key]); } if (t != '') { t = t.substring(1); } if (t != '' && !cache) { t += '&' + Date(); } } method = method.toLowerCase(); var B = this._create(); if (B) { try { if (method == 'get') { if (t != '') { url += '?' + t; } parm = null; } B.open(method, url, async); if (!cache) { B.setRequestHeader('cache-control', 'no-cache'); } if (method == 'post') { B.setRequestHeader('content-type', 'application/x-www-form-urlencoded; charset=utf-8'); parm = t; } B.onreadystatechange = function() { if (B.readyState == 4) { if (B.status == 200) { if (func != null) { func(B); } B = null; } } }; B.send(parm); } catch (e) { alert(e.toString()); } } } }
function $(idstr) { if (idstr != null && idstr != '') { var element = document.getElementById(idstr); return element; } return false; }
function $N(namestr){if(namestr!=null&&namestr!=''){var elements=new Array();elements=document.getElementsByName(namestr);return elements;}return false;}
function $T(namestr){if(namestr!=null){var elements=new Array();elements=document.getElementsByTagName(namestr);return elements;}return false;}

var xy = {};
xy.version='1.0.0.1';xy.author='tiger';xy.lastupdate='2009-06-02 21:00:00';
xy.checkAll=function(e,name){var sub = $N(name);for(var i=0;i<sub.length;i++){if(!sub.item(i).disabled) sub.item(i).checked=e.checked;}}
xy.getAllChecked=function(name,split){var sub=$N(name);var tmp='';split=split||',';for(var i=0;i<sub.length;i++){if (sub.item(i).checked) tmp+=split+sub.item(i).value;}if(tmp!='') tmp=tmp.substring(split.length);return tmp;}
xy.getAllCheckBox=function(name,split){var sub=$N(name);var tmp='';split=split||',';for(var i=0;i<sub.length;i++){tmp+=split+sub.item(i).value;}if(tmp!='') tmp=tmp.substring(split.length);return tmp;}
xy.borderFocus=function(e,c){if(e==null)return;if(c==null)c='#239fe3';e.style.border='solid 1px '+c;}
xy.borderBlur=function(e,c){if(e==null)return;if(c==null)c='#cecece';e.style.border='solid 1px '+c;}
xy.setBGColor=function(e,c){e.style.background=c;}
xy.dateCompare=function(d1,d2){var d11=new Date(d1.replace(/\-/g,'/'));var d22=new Date(d2.replace(/\-/g,'/'));return d11>=d22;}
xy.checkInputBox=function(e,inorout){if(!inorout){if(e.value==''){e.value=e.defaultValue;e.style.color='#ccc';}else{e.style.color='#000';}}else{if(e.value==e.defaultValue){e.value='';}e.style.color='#000';}}

xy.set_visible=function(on,n){n=n||1;var tab_id='tab_down'+n;var tab=document.getElementById(tab_id);if(on){tab.style.visibility='visible';}else{tab.style.visibility='hidden';}}
xy.for_keydown=function(e,ev,tab_id){tab_id=tab_id||'tab_down';var tab=document.getElementById(tab_id);var touch=ev.keyCode;if(touch==38||touch==40){var i=-1;var s_tr=xy.get_tr_on(tab);if(s_tr!=null){i=s_tr.rowIndex;}if(touch==40){if(i==tab.rows.length-2){i=0;}else{i++}}else{if(i<=0){i=tab.rows.length-2;}else{i--;}}xy.set_tr_on(i,tab);var str =tab.rows[i].cells[0].innerHTML;tab.value=str;}}
xy.set_tr_on_only=function(tr){xy.set_tr_on(tr.rowIndex,tr.parentNode.parentNode)}
xy.set_tr_on=function(index,tab){for(var i=0;i<tab.rows.length;i++){if(index==i){xy.tr_seton(tab.rows[i])}else{xy.tr_setoff(tab.rows[i])}}}
xy.get_tr_on=function(tab){var tr;for(var i=0;i<tab.rows.length;i++){if(xy.tr_ison(tab.rows[i])){tr=tab.rows[i];}}return tr;}
xy.tr_ison=function (tr){return tr.style.backgroundColor!=""}
xy.tr_seton=function(tr){tr.style.backgroundColor="#ecf7fe";}
xy.tr_setoff=function(tr){tr.style.backgroundColor=""}

xy.setDate=function(e,even){even=even||window.event;var t='';if(even.keyCode!=8&&even.keyCode!=46){if(e.value.match(/^20[0-9]{2}$/g)){t=e.value+'-';e.value=t;}else{if(!e.value.match(/^20[0-9]{2}\-$/g)){if(e.value.length==4){t='';e.value=t;}}}if(e.value.match(/^20[0-9]{2}\-(?:[0-9])$/g)){var d=e.value.split('-');var d1=parseInt(d[1],10);if(d1>=2){t=d[0]+'-'+'0'+d1+'-';e.value=t;}}if(e.value.match(/^20[0-9]{2}\-(?:[0-1][0-9])$/g)){var d=e.value.split('-');var d1=parseInt(d[1],10);if(d1==0){t=d[0]+'-0';e.value=t;}else{if(d1<=12){t=e.value+'-';}else{t=e.value.substring(0,6);}e.value=t;}}if(!e.value.match(/^20[0-9]{2}\-(?:[0-1][0-9])\-(?:[1-31])$/g)){var d=e.value.split('-');var d1=parseInt(d[2],10);if(d1.length==1){e.value=d[0]+'-'+d[1]+'-'+'0'+d1;}else{if(d1>=32){if(d1.length>=3){t=e.value.substring(0,10);}else{t=e.value.substring(0,9);}e.value=t;}}}}}
xy.trim=function(s){if(s.match(/^\s*$/g)) return s;s=s.replace(/^\s*|\s*$/g,'');return s;}

xy.showSimpleDiv = function(ev, obj, width, height, text) {
    width = width || 100;
    var baseText = null;
    var popUp = document.getElementById(obj);
    if (text != null) popUp.innerHTML = text;
    ev = ev || window.event;
    var wsc = document.body.offsetWidth;
    var ileft = ev.clientX + width + 50 > wsc ? wsc - width - 50 : ev.clientX; //ev.clientX;
    var itop = ev.clientY;
    popUp.style.cssText = 'position: absolute; visibility: hidden; overflow: hidden; background-color:#F9F9F9; border:1px solid #ccc; padding: 5px;';
    popUp.style.top = itop + 'px';
    popUp.style.left = ileft + 'px';
    if (width != null) popUp.style.width = width + 'px';
    if (height != null) popUp.style.height = height + 'px';
    if (baseText == null) baseText = popUp.innerHTML;
    if (document.getElementById('statusbar') == null) popUp.innerHTML = baseText + '<div id="statusbar" style="padding-top: 10px;"><span style="float: right;"><a href="javascript:;" onclick="xy.hideSimpleDiv(\'' + obj + '\')">关闭</a></span></div>';
    popUp.style.visibility = 'visible';
}
xy.hideSimpleDiv=function(obj) {
    var popUp = document.getElementById(obj); popUp.style.visibility = 'hidden';
}
xy.selColor=function(ev,e) {
    var c = xy.getColorTable(e);

    var width = 160;
    var height = 90;

    var baseText = null;
    if (!document.getElementById('_______color_______')) {
        var ___color___ = document.createElement('div');
        ___color___.id = '_______color_______';
        document.body.appendChild(___color___);
    }
    var popUp = document.getElementById('_______color_______');
    popUp.innerHTML = c;
    ev = ev || window.event;
    var wsc = document.body.offsetWidth;
    var ileft = ev.clientX + width + 50 > wsc ? wsc - width - 50 : ev.clientX; //ev.clientX;
    var itop = ev.clientY;
    popUp.style.cssText = 'position: absolute; visibility: hidden; overflow: hidden; background-color:#F9F9F9; border:1px solid #ccc;';
    popUp.style.top = itop + 'px';
    popUp.style.left = ileft + 'px';
    popUp.style.width = width + 'px';
    popUp.style.height = height + 'px';
    if (baseText == null) baseText = popUp.innerHTML;
    if (document.getElementById('statusbar') == null) popUp.innerHTML = baseText + '<div id="statusbar" style="padding-top: 5px; padding-right: 5px; padding-left: 5px;"><span id="__colorvalue__" style="float: left;"></span><span style="float: right;"><a href="javascript:;" onclick="xy.hideSimpleDiv(\'_______color_______\')">关闭</a></span></div>';
    popUp.style.visibility = 'visible';
}
xy.getColorTable = function(e) {
    var _c = ['000000', '993300', '333300', '003300', '003366', '000080', '333399', '333333', '800000', 'FF6600', '808000', '808080', '008080', '0000FF', '666699', '808080', 'FF0000', 'FF9900', '99CC00', '339966', '33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF', '993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', '99CCFF', 'CC99FF', 'FFFFFF'];

    var s = '<iframe src="javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100%; z-index:-1;filter:alpha(opacity=0);-moz-opacity:0;"></iframe>';
    s += '<table border="0" cellspacing="0" cellpadding="0">';
    var x = 0;
    for (var i = 0; i < 5; i++) {
        if (x >= 40) break;
        s += '<tr>';
        for (var j = 0; j < 8; j++) {
            if (x >= 40) break;
            s += '<td style="background-color: #' + rgbToHex(_c[x]) + '; width: 20px; height: 10px;" onmouseover="document.getElementById(\'__colorvalue__\').innerHTML=\'#' + rgbToHex(_c[x]) + '\';" onclick="document.getElementById(\'' + e.id + '\').value=\'#' + rgbToHex(_c[x]) + '\';xy.hideSimpleDiv(\'_______color_______\');">&nbsp;</td>';
            x++;
        }
        s += '</tr>';
    }
    s += '</table>';
    delete _c;
    return s;
}

function rgbToHex(hex) {
    if (hex.indexOf('rgb') != -1) {
        hex = hex.replace('rgb(', '');
        hex = hex.replace(')', '');
        hex = hex.split(',');
        var r = parseInt(hex[0]);
        var g = parseInt(hex[1]);
        var b = parseInt(hex[2]);
        r = r.toString(16);
        if (r.length == 1) r = '0' + r;
        g = g.toString(16);
        if (g.length == 1) g = '0' + g;
        b = b.toString(16);
        if (b.length == 1) b = '0' + b;
        return ('#' + r + g + b).toLowerCase();
    } else {
        return hex.toLowerCase();
    }
}

function loadSortedUrl(e, param, checkKey) {
    var kv = '';
    if ($('key')) {
        kv = $('key').value;
        if ($('key').defaultValue == kv) kv = '';
        if (e == null && kv == '' && checkKey) return;
        if (kv != '') kv = encodeURIComponent(kv);
    }

    if (e == null) e = $('_' + _list_sort_by);
    var sort = (e.id).substring(1);
    var dir = e.src.match(/up/gi) ? "DESC" : "ASC";

    var purl = '?sortby=' + sort + '&dir=' + dir + '&key=' + kv;
    if (param != null) {
        for (var p in param) {
            purl += '&' + p + '=' + param[p];
        }
    }

    purl += '&page=' + _list_sort_page;
    self.location.href = purl;
}

function setListSort(sortby) {
    if (_list_sort_by == '') _list_sort_by = sortby;
    if (_list_sort_dir == '') _list_sort_dir = 'DESC';

    var e = $('_' + _list_sort_by);
    var path = _admin_img_path;
    var d_n = 'down_now.gif';
    var d = 'down.gif';
    var u_n = 'up_now.gif';

    var x = $('list_head').getElementsByTagName('img');
    var re = new RegExp('down', 'gi');

    for (var i = 0; i < x.length; i++) {
        if (x.item(i).id == e.id) {
            if (_list_sort_dir == 'ASC') {
                e.src = path + u_n;
            } else {
                e.src = path + d_n;
            }
        } else {
            x.item(i).src = path + d;
        }
    }
}