﻿try { document.execCommand("BackgroundImageCache", false, true) } catch (e) { }

var Public = {
    Browser: {
        Version: navigator.appVersion,
        IE: !!(window.attachEvent && !window.opera),
        Opera: !!window.opera,
        WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
        Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
        Win: navigator.userAgent.indexOf('Windows') >= 0
    },

    //XPath 
    BrowserFeatures: {
        XPath: !!document.evaluate, // IE cann't support
        ElementExtensions: !!window.HTMLElement, // IE cann't support 
        SpecificElementExtensions: // IE, Opera return false
		  (document.createElement('div').__proto__ !==
		   document.createElement('form').__proto__)
    }
}

//create XMLHttpRequest
Ajax.prototype.CreateXmlHttpObject = function() {
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
    try { return new XMLHttpRequest(); } catch (e) { }
    return null;
}

//GET method
Ajax.prototype.Get = function(IsAsynchronous) {
    //var ResponseString = this.URL + "?timeStamp=" + new Date().getTime() + "&" + this.ResponseContent;
    var ResponseString = "";
    if (this.URL.indexOf("?") > 0)
        ResponseString = this.URL + "&" + this.ResponseContent;
    else
        ResponseString = this.URL + "?" + this.ResponseContent;
    this.XmlHttpObj.open("GET", ResponseString, IsAsynchronous);
    this.XmlHttpObj.send(null);
}

//POST method
Ajax.prototype.Post = function(IsAsynchronous) {
    this.XmlHttpObj.open("POST", this.URL, IsAsynchronous);
    this.XmlHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    this.XmlHttpObj.send(this.ResponseContent);
}

//Ajax
function Ajax(url, ReturnType, strContent, DisposeResultMethod) {
    this.URL = url;
    this.ResponseContent = strContent;
    this.XmlHttpObj = this.CreateXmlHttpObject();

    if (this.XmlHttpObj == null) {
        alert("create xmlHttp object error");
        return;
    }
    var obj = this.XmlHttpObj;
    obj.onreadystatechange = function() { HandleStateChange(obj, ReturnType, DisposeResultMethod) };
}

//State changes
function HandleStateChange(obj, returnType, disposeResultMethod) {
    if (obj.readyState == 4)
        if (obj.status == 200)
        disposeResultMethod(returnType ? obj.responseXML : obj.responseText);
    else
        alert("The page you requested abnormal");
}

function TransferAjax(strUrl, strParameters, DisponseMethod, IsGet) {
    var PageAjax = new Ajax(strUrl, false, strParameters, DisponseMethod);
    if (IsGet)
        PageAjax.Get(true);
    else
        PageAjax.Post(true);
}

/*-------------------------------------------------------------------------------------------------------------------------*/

//获取页面上dom对象
function $(element) {
    if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++)
            elements.push($(arguments[i]));
        return elements;
    }
    if (typeof element == "string")
        element = document.getElementById(element);
    return element;
}

//转化为数组  
function $A(iterable) {
    if (!iterable) return [];
    //if (iterable.toArray) return iterable.toArray();
    if (iterable && !iterable.length) return [iterable];
    else {
        var results = [];
        for (var i = 0, length = iterable.length; i < length; i++)
            results.push(iterable[i]);
        return results;
    }
}

// getElementsByClassName
if (Public.BrowserFeatures.XPath) {
    document._getElementsByXPath = function(expression, parentElement) {
        var results = [];
        var query = document.evaluate(expression, $(parentElement) || document,
			null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var i = 0, length = query.snapshotLength; i < length; i++)
            results.push(query.snapshotItem(i));
        return results;
    };
    document.getElementsByClassName = function(className, parentElement) {
        var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
        return document._getElementsByXPath(q, parentElement);
    };
}
else document.getElementsByClassName = function(className, parentElement) { //IE cann't support Xpath
    var children = ($(parentElement) || document.body).getElementsByTagName('*');
    var elements = [], child, pattern = new RegExp("(^|\\s)" + className + "(\\s|$)");
    for (var i = 0, length = children.length; i < length; i++) {
        child = children[i];
        var elementClassName = child.className;
        if (elementClassName.length == 0) continue;
        if (elementClassName == className || elementClassName.match(pattern))
            elements.push(child);
    }
    return elements;
};


function $C(className, parentNode) {
    return document.getElementsByClassName(className, parentNode);
};

/*--------------------------------------------------------------------------------------------------------------------------*/

//用于扩展对象 destination对象类型,source实例
Object.extend = function(destination, source) {
    for (var property in source) {
        destination[property] = source[property]
    };
    return destination;
}

/*--------------------------------------------------------------------------------------------------------------------------*/
//扩展Function原型
Object.extend(Function.prototype, {
    //
    bind: function() {
        if (arguments.length < 2 && arguments[0] === undefined) return this;
        var __method = this, args = $A(arguments), object = args.shift();
        return function() {
            return __method.apply(object, args.concat($A(arguments)));
        }
    },
    //
    bindAsEventListener: function() {
        var __method = this, args = $A(arguments), object = args.shift();
        return function(event) {
            return __method.apply(object, [event || window.event].concat(args));
        }
    }
});

/*-------------------------------------------------------------------------------------------------------------------------*/

//字符串扩展
Object.extend(String.prototype, {

    //去除首尾空格
    Trim: function() {
        return this.replace(/(^\s+)|(\s+$)|(^　+)|(　+$)/g, "")
    },

    //将所有空格替换为指字的字符串或替换为空
    TrimAll: function(str) {
        str = str ? str : "";
        return this.replace(/(^\s*)|(\s*$)/g, str);
    },

    IsNullOrEmpty: function() {
        return /^\s*$/.test(this) || /^　*$/.test(this) || this == '';
    },

    //去除html标签
    RemoveHtmlTags: function() {
        return this.replace(/<\/?[^>]+>/gi, "");
    },

    //将html标签进行编码
    EscapeHtml: function() {
        var self = arguments.callee;
        self.text.data = this;
        return self.div.innerHTML;
    },

    //对html标签进行解码
    unescapeHTML: function() {
        var div = document.createElement('div');
        div.innerHTML = this.stripTags();
        return div.childNodes[0] ? (div.childNodes.length > 1 ?
			$A(div.childNodes).inject('', function(memo, node) { return memo + node.nodeValue }) :
			div.childNodes[0].nodeValue) : '';
    },

    //验证email格式
    IsEmail: function() {
        return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
    },

    //验证是否包含中文字符
    IsChinese: function() {
        return /[\u4e00-\u9fa5]/.test(this);
    },

    //验证是否包含html标记
    IsHtml: function() {
        return /<[^<]*>/.test(this);
    },

    //验证是否为英文
    IsEnglish: function() {
        return /[a-zA-Z]+$/.test(this);
    },

    IsMoney: function() {
        return /^((([1-9]\d*)|0)(\.\d{1,2})?)$/.test(this);
    },

    //转换为数组 
    toArray: function() {
        return [this];
    },

    IsPwd: function() {
        return /^[a-zA-Z0-9]{6,18}$/.test(this);
    },

    ContainBlank: function() {
        return /\s+$/.test(this);
    },

    IsNum: function() {
        return /^[0-9]+$/.test(this);
    },

    IsImg: function() {
        return /^.*?\.(jpg|jpeg|bmp|gif|png)$/.test(this.toLowerCase());
    },

    IsSimpleName: function() {
        return /^[a-zA-Z0-9_]{4,18}$/.test(this);
    }

})

String.Format = function() {
    if (arguments.length == 0)
        return null;

    var str = arguments[0];
    for (var i = 1; i < arguments.length; i++) {
        var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
}

//Only digital input
function OnlyNumber() {
    var obj = EventUtil.getEvent();

    if (!((obj.keyCode >= 48 && obj.keyCode <= 57) || (obj.keyCode >= 96 && obj.keyCode <= 105) || obj.keyCode == 8 || obj.keyCode == 46 || obj.keyCode == 37 || obj.keyCode == 39 || obj.keyCode == 9 || obj.keyCode == 16)) {
        if (Public.Browser.IE)
            obj.returnValue = false;
        else
            obj.preventDefault();
    }
}

/*--------------------------------------------------------------------------------------------------------------------------*/

//兼容所有Event对象
var EventUtil = {

    //添加事件处理监听函数  oTarget=事件对象 sEventType=事件类型 fnHandler处理事件涵数名
    addEventHandler: function(oTarget, sEventType, fnHandler) {
        if (oTarget.addEventListener) {   //W3C 默认事件处理为冒泡阶段
            oTarget.addEventListener(sEventType, fnHandler, false)
        } else if (oTarget.attachEvent) { // IE
            oTarget.attachEvent("on" + sEventType, fnHandler)
        } else { // Other
            oTarget["on" + sEventType] = fnHandler
        }
    },

    //移除事件处理监听函数
    removeEventHandler: function(oTarget, sEventType, fnHandler) {
        if (oTarget.removeEventListener) { // W3C
            oTarget.removeEventListener(sEventType, fnHandler, false)
        } else if (oTarget.detachEvent) {  //IE 
            oTarget.detachEvent("on" + sEventType, fnHandler)
        } else { // Other
            oTarget["on" + sEventType] = null
        }
    },

    // 格式化 event 对象
    formatEvent: function(oEvent) {

        if (Public.Browser.IE || Public.Browser.Opera) {
            //对于krepress事件为按下按键的Unicode值，对于keyup/keydown事件则为按下按键的数字代号
            oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
        }

        if (Public.Browser.IE && Public.Browser.Win) { //Windows IE 

            //事件阶段 IE仅支持2 冒泡阶段
            oEvent.eventPhase = 2;

            //阻止事件默认行为
            oEvent.preventDefault = function() { // W3C
                this.returnValue = false // IE
            }

            if (oEvent.type == "mouseout") {// relatedTarget 去往何方
                oEvent.relatedTarget = oEvent.toElement;
            } else if (oEvent.type == "mouseover") {// relatedTarget 来自何处
                oEvent.relatedTarget = oEvent.fromElement;
            }

            //阻止事件冒泡
            oEvent.stopPropagation = function() { // DOM
                this.cancelBubble = true //IE
            }

            oEvent.target = oEvent.srcElement;  //引起事件的对象
            oEvent.time = (new Date).getTime(); //事件发生的时间
        }
        return oEvent
    },

    //获得event对象
    getEvent: function(win) {
        win = win || window;
        if (win.event) { // IE Opera WebKit
            return this.formatEvent(win.event);
        }
        else { // Gecko 
            return EventUtil.getEvent.caller.arguments[0];
        }
    }
}

/*--------------------------------------------------------------------------------------------------------------------------*/

// Add Dom Loaded Function
var addDomLoad = (function() {
    // create event function stack
    var load_events = [],
	load_timer,
	script,
	done,
	exec,
	old_onload,
	init = function() {
	    done = true;
	    // kill the timer
	    clearInterval(load_timer);
	    // execute each function in the stack in the order they were added
	    while (exec = load_events.shift())
	        exec();
	    if (script) script.onreadystatechange = '';
	};

    return function(func) {
        // if the init function was already ran, just run this function now and stop
        if (done) return func();

        if (!load_events[0]) {
            // for Mozilla/Opera9
            if (document.addEventListener)
                document.addEventListener("DOMContentLoaded", init, false);
            // for Internet Explorer
            /*@cc_on@*/
            /*@if (@_win32)
            document.write("<script id=__ie_onload defer src=//0><\/scr" + "ipt>");
            script = document.getElementById("__ie_onload");
            script.onreadystatechange = function() {
                if (this.readyState == "complete")
                    init(); // call the onload handler
            };
            /*@end@*/

            // for Safari
            if (/WebKit/i.test(navigator.userAgent)) { // sniff
                load_timer = setInterval(function() {
                    if (/loaded|complete/.test(document.readyState))
                        init(); // call the onload handler
                }, 10);
            }

            // for other browsers set the window.onload, but also execute the old window.onload
            old_onload = window.onload;
            window.onload = function() {
                init();
                if (old_onload) old_onload();
            };
        }
        load_events.push(func);
    }
})();

/*--------------------------------------------------------------------------------------------------------------------------*/

// 扩展Dom对象 
Public.Dom = {

    getDocumentViewHeight: function(doc) {
        var doc = doc || document;
        var height = self.innerHeight; // Safari, Opera
        var mode = doc.compatMode;
        if ((mode || Public.Browser.IE) && !Public.Browser.Opera) { // IE, Gecko
            height = (mode == 'CSS1Compat') ? doc.documentElement.clientHeight : doc.body.clientHeight; // Quirks
        }
        return height;
    },

    getDocumentViewWidth: function(doc) {
        var doc = doc || document;
        var width = self.innerWidth;  // Safari
        var mode = doc.compatMode;
        if (mode || Public.Browser.IE) { // IE, Gecko, Opera
            width = (mode == 'CSS1Compat') ? doc.documentElement.clientWidth : doc.body.clientWidth; // Quirks
        }
        return width;
    },

    getDocumentSize: function(doc) {
        var doc = doc || document;
        var scrolls = (doc.compatMode != 'CSS1Compat') ? [doc.body.scrollWidth, doc.body.scrollHeight] :
		[doc.documentElement.scrollWidth, doc.documentElement.scrollHeight];
        return [Math.max(scrolls[0], this.getDocumentViewWidth(doc)), Math.max(scrolls[1], this.getDocumentViewHeight(doc))];
    },

    // remove a childnode 
    remove: function(el) {
        el.parentNode.removeChild(el);
        return el;
    },

    getNextElement: function(el) {
        do {
            el = el.nextSibling;
        } while (el.nodeType != 1)return el;
    }

}

/*-------------------------------------------------------------------------------------------------------------------------*/

Public.Response = {
    //刷新页面
    refPage: function(old, win) {
        win = win || window; var locHref = win.location.href
        if (old) {
            if (win.location.search) {
                win.location.replace(locHref.substring(0, parseInt(locHref.indexOf("?"))));
            } else win.location.replace(locHref)
        } else win.location.replace(locHref)
    },

    //添加Cookie 
    setCookie: function(sName, sValue, oExpires, sPath, sDomain, bSecure) {
        var sCookie = sName + "=" + encodeURIComponent(sValue);
        if (oExpires) {
            sCookie += "; expires=" + oExpires.toGMTString();
        } if (sPath) {
            sCookie += "; path=" + sPath;
        } if (sDomain) {
            sCookie += "; domain=" + sDomain;
        }else{//sCookie += "; domain=tradetuber.com";
		}
		
		if (bSecure) {
            sCookie += "; secure";
        } document.cookie = sCookie;
    },







    //获得Cookie
    getCookie: function(sName) {
        var sRE = "(?:; )?" + sName + "=([^;]*);?";
        var oRE = new RegExp(sRE);
        if (oRE.test(document.cookie)) {
            return decodeURIComponent(RegExp["$1"]);
        } else return null;
    },

    //删除Cookie
    delCookie: function(sName, sPath, sDomain) {
        var sCookie = sName + "=; expires=" + (new Date(0)).toGMTString();
        if (sPath) {
            sCookie += "; path=" + sPath;
        }
        if (sDomain) {
            sCookie += "; domain=" + sDomain;
        }else{sCookie += "; domain=tradetuber.com";}
        document.cookie = sCookie;
    }
}

/*-------------------------------------------------------------------------------------------------------------------------*/

Public.Form = {
    extendForm: function(doc) {
        var doc = doc || document;
        for (var i = 0, length = doc.forms.length; i < length; i++) {
            Object.extend(doc.forms[i], Form.Methods)
        }
    }
}

var Form = Public.Form;

Form.Methods = {

    //返回表单内所有对象
    getElements: function() {
        return this.elements;
    },

    //获取表单内指定类型的元素集合 typename元素类型 el代表父节点对象  name代指元素
    getInputs: function(typeName, el, name) {

        var inputs = (el || this).getElementsByTagName('input');

        if (!typeName && !name) return $A(inputs);

        for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
            var input = inputs[i];
            if ((typeName && input.type != typeName) || (name && input.name != name)) {
                continue;
            }; matchingInputs.push(input);
        }
        return matchingInputs;
    },

    //获取除按钮,select之外表单内所有元素
    getBoxs: function() {
        var text = this.getInputs('text'),
				password = this.getInputs('password'),
				checkbox = this.getInputs('checkbox'),
				radio = this.getInputs('radio'),
				file = this.getInputs('file'),
        //select = $A(this.getElementsByTagName('select')),
				textarea = $A(this.getElementsByTagName('textarea'));
        return text.concat(password).concat(checkbox).concat(radio).concat(file).concat(textarea); //.concat(select)
    },

    getChkId: function(el) {
        var chkBoxs = this.getInputs('checkbox', el), value = [];
        for (var i = 0, len = chkBoxs.length; i < len; i++) {
            if (chkBoxs[i].checked) value.push(chkBoxs[i].id)
        }
        return value;
    },

    getChkVal: function(el) {
        var chkBoxs = this.getInputs('checkbox', el), value = [];
        for (var i = 0, len = chkBoxs.length; i < len; i++) {
            if (chkBoxs[i].checked) value.push(chkBoxs[i].value)
        }
        return value;
    },

    checkAll: function(ck, boxs) {

        for (var i = 0, length = boxs.length; i < length; i++) {
            boxs[i].onclick = function() {
                if (this.checked) {
                    var count = 0;
                    for (var k = 0; k < length; k++) {
                        if (boxs[k].checked) count++;
                    }
                    if (count == length) ck.checked = true;
                }
                else ck.checked = false;
            }
        }
        ck.onclick = function() {
            var state = this.checked;
            for (var i = 0, length = boxs.length; i < length; i++) {
                if (boxs[i].checked != state) boxs[i].click()
            }
        }

    },

    //获取表单内指定对象的值，除dropdownlist, el代表元素对象
    getInputValue: function(el) {
        if (el.type == "checkbox" || el.type == "radio") {
            return el.checked ? true : false;
        } return el.value;
    },

    //设置表单内指定对象的值，除dropdownlist el代表元素对象 value代表值
    setInputValue: function(el, value) {
        if (el.type == "checkbox" || el.type == "radio") {
            el.checked = value ? true : false;
        } else el.value = value;
    },

    //获取dropdownlist中选中值的索引 el代表dropdownlist对象
    getSelectIndex: function(el) {
        var indexs = [];
        if (!el.multiple) return [el.selectedIndex];
        for (var i = 0, len = el.options.length; i < len; i++) {
            if (el.options[i].selected) indexs.push(i);
        } return indexs;
    },

    //获取表单内指定的dropdownlist的option el代表dropdownlist对象
    getSelectOption: function(el) {
        var indexs = this.getSelectIndex(el), options = [];
        if (!el.multiple) return el.options[el.selectedIndex];
        for (var i = indexs.length - 1; i >= 0; i--) {
            options.push(el.options[indexs[i]])
        } return options;

    },

    //获取表单内指定的dropdownlist选中项的值 el代表dropdownlist对象 any＝1时获取下拉框中所有项的value
    getSelectValue: function(el, any) {
        var values = [];
        if (!any) {
            var indexs = this.getSelectIndex(el), len = indexs.length;
            //if(len==1) return el.options[indexs[0]].value;
            for (var i = 0; i < len; i++) {
                values.push(el.options[indexs[i]].value);
            }
        } else {
            for (var i = 0, len = el.options.length; i < len; i++) {
                values.push(el.options[i].value);
            }
        } return values;
    },


    getSelectText: function(el, any) {
        var values = [];
        if (!any) {
            var indexs = this.getSelectIndex(el), len = indexs.length;
            //if(len==1) return el.options[indexs[0]].text;
            for (var i = 0; i < len; i++) {
                values.push(el.options[indexs[i]].text);
            }
        } else {
            for (var i = 0, len = el.options.length; i < len; i++) {
                values.push(el.options[i].text);
            }
        } return values;
    },


    getSelectContent: function(el, any) {
        var values = this.getSelectValue(el, any),
				texts = this.getSelectText(el, any),
				content = [];

        if (!Object.isArray(values) || !Object.isArray(texts)) return [values, texts];

        for (var i = 0, len = values.length || texts.length; i < len; i++) {
            content.push([values[i], texts[i]])
        } return content;
    },


    removeSelected: function(el) {
        if (!el.multiple) {
            el.remove(el.selectedIndex)
        } else {
            var option = this.getSelectOption(el);
            for (var i = 0, len = option.length; i < len; i++) {
                Public.Dom.remove(option[i])
            }
        }
    },


    listImport: function(el, optValues, optTexts) {
        var eLen = el.options.length, oLen = optValues.length;
        if (optTexts) {
            for (var i = 0; i < oLen; i++, eLen++) {
                el.options[eLen] = new Option(optTexts[i], optValues[i]);
            };
        } else {
            for (var i = 0; i < oLen; i++, eLen++) {
                el.options[eLen] = new Option(optValues[i], optValues[i]);
            }
        }
    },

    listClear: function(el) {
        for (var i = el.options.length - 1; i >= 0; i--) {
            el.remove(i);
        }
    },

    listRemove: function(el, index) {
        el.remove(index);
    },

    firstElement: function() {
        var el = this.getElements();
        for (var i = 0, len = el.length; i < len; i++) {
            if (el[i].type != 'hidden' && el[i].disabled != true) return el[i];
        }
    },

    focusFirst: function() {
        return this.firstElement().focus();
    },

    SelectOption: function(el, value) {
        if (value != "") {
            for (var i = 0; i < el.options.length; i++) {
                if (el.options[i].value == value) {
                    el.options[i].selected = true;
                    return;
                }
            }
        }
    }
};

addDomLoad(function() {
    Form.extendForm();
});


/*-------------------------------------------------------------------------------------------------------------------------*/

function clearFileInput(FileObject) {
    var oInput = document.createElement("input");
    oInput.setAttribute("type", "file");

    var sName = FileObject.getAttribute("name");
    var sID = FileObject.getAttribute("id");
    var sClass = FileObject.className;
    var sMethod = FileObject.getAttribute("onchange");
    var sSize = FileObject.getAttribute("size");
    oInput.setAttribute("name", sName);
    oInput.setAttribute("id", sID);
    oInput.setAttribute("onchange", sMethod);
    oInput.setAttribute("value", "");
    oInput.setAttribute("size", sSize);
    oInput.className = sClass;
    FileObject.parentNode.appendChild(oInput);
    FileObject.parentNode.removeChild(FileObject);
}

function Msg(obj, value, IsDisplay) {
    obj.innerHTML = value;
    if (IsDisplay)
        obj.style.display = "block";
    else
        obj.style.display = "none";
}

function charCount(txt, play, maxcount) {
    var txtbox = $(txt), paly = $(play), aEvent = EventUtil.addEventHandler,
        maxs = parseInt(maxcount, 10), lost, leavings = maxs; paly.innerHTML = maxs;
    aEvent(txtbox, 'keyup', function() {
        lost = maxs - txtbox.value.length; leavings = lost >= 0 ? lost : 0;
        paly.innerHTML = leavings;
        if (lost < 0) txtbox.value = txtbox.value.substring(0, maxcount)
    })
}
//hkm 2010-2-3 added
(function(){
	var Class={create:function(){return function(){this.init.apply(this,arguments);}}};
	var $=function(o){if(typeof o=='string')return document.getElementById(o);return o;};
	window.$H=$;
	$.each=function(obj,fun){
	for(i=0;i<obj.length;i++){
		fun(obj[i],i);
		}
	}
	$.secLoader=Class.create();
	$.secLoader.prototype={
		init:function(p){
			var t=this;
			try{
			t.urlList=p.urlList;
			t.oList=p.oList;
			t.evtList=p.evtList;
			t.eType=p.eType||'click';
			t.active=p.active||false;
			t.loadedNum=new Array(t.evtList.length);
			}catch(e){return;}
			if(t.active)t.load(t.active);
			$.each(t.evtList,function(o,n){
				EventUtil.addEventHandler(o,t.eType,evtFun(n));
				});
			function evtFun(n){var n=n;return function(){t.load(n);}}
			},
		load:function(i){
			var t=this;
			if(t.loadedNum[i])return;
			t.loadedNum[i]=true;
			$.each($(t.oList[i]).getElementsByTagName('img'),function(o,n){
				o.src=t.urlList[i][n];
				});
			}
		};
})();
