﻿///<reference path="jquery.js" />
var useripaddress;
var kissclasslist = [];
var lastkisslistobj = null;
var lastkisslistclassid = 0;
var viplevel = 0;
function MenuToggle(t, m) {
    var c, c1, c2;
    if (m) {
        c1 = "btnwhite"; c2 = "btnred"; c = "";
    } else {
        c1 = "btnred"; c2 = "btnwhite"; c = "";
    }
    if (Element.hasClassName(t, c1)) {
        c = c1; c1 = c2; c2 = c;
    }
    Element.removeClassName(t, c2);
    Element.addClassName(t, c1);
}
function SetMenuNoSelect(o) {
    Element.removeClassName(o, "btnred");
    Element.addClassName(o, "btnwhite");
    o.onmouseout = function () { };
    o.onmouseover = function () { };
}
function SendMessage() {
    var fbtn, sbtn;
    if (viplevel > 0) {
        fbtn = GetButton(sendmail_button_message_fav, { onclick: GetMessageFav }, { "id": "messagefavbutton" });
        sbtn = GetButton(sendmail_button_message_save, { onclick: SaveMessageFav });
    }
    else {
        fbtn = GetButton(sendmail_button_message_fav, { "target": "_blank", "href": "/user/updatelevelchina.aspx", "onclick": NotVip });
        sbtn = GetButton(sendmail_button_message_save, { "target": "_blank", "href": "/user/updatelevelchina.aspx", "onclick": NotVip });
    }
    var d = CreateElement("div", { className: "mail" }, [
                CreateElement("h3", { innerHTML: sendmail_subject }),
                CreateElement("p", { innerHTML: "<input type=\"text\" style=\"width: 98%;\" id=\"subject\" name=\"subject\" />" }),
                CreateElement("h3", { innerHTML: sendmail_content }),
                CreateElement("p", { innerHTML: "<textarea id=\"content\" style=\"width: 98%;\" name=\"content\" rows=\"8\"></textarea>" }),
                CreateElement("div", { className: "app" },
                    CreateElement("ul", { className: "clearboth" }, [
                            CreateElement("li", {}, GetButton(sendmail_button_send, { onclick: SendMessageEvent })),
                            CreateElement("li", {}, GetButton(sendmail_button_file, { href: "/user/sendmail.aspx?userid=" + displayid + "&returnurl=/display.aspx?id=" + displayid })),
                            CreateElement("li", {}, fbtn),
                            CreateElement("li", {}, sbtn),
                            CreateElement("li", {}, GetButton(sendmail_button_close, { onclick: NewWindow.Hide }))
                        ]
                    )
                ),
                CreateElement("div", { "id": "kkbac_messagelist", "className": "maillist" })
            ]
        );
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: sendmail_title, width: 800, content: d, top: 5, notmovewithpage: true });
}
function SaveMessageFav() {
    var s = $F("subject").strip();
    var c = $F("content").strip();
    var url = "/ajax.aspx?action=savemessagefav&d=" + new Date();
    var pars = "titles=" + encodeURIComponent(s) + "&contents=" + encodeURIComponent(c);
    new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: SaveMessageFavReturn });
}
function SaveMessageFavReturn(originalRequest) {
    $("kkbac_messagelist").innerHTML = "";
    Element.show($("kkbac_messagelist"));
    var obj = $("messagefavbutton");
    obj.className = "tablebtn";
    obj.onmouseover = function () { this.className = 'tablebtnover'; };
    obj.onmouseout = function () { this.className = 'tablebtn'; };
    alert(originalRequest.responseText);
}
function GetMessageFav() {
    var ml = $("kkbac_messagelist");
    if (ml.innerHTML.blank()) {
        var url = "/ajax.aspx?action=getmailfav&userid=" + displayid + "&d=" + new Date();
        new Ajax.Request(url, { method: 'post', onComplete: GetMessageFavReturn });
    } else {
        Element.toggle(ml);
    }
    var obj = $("messagefavbutton");
    if (!Element.visible($("kkbac_messagelist"))) {
        obj.className = "tablebtn";
        obj.onmouseover = function () { this.className = 'tablebtnover'; };
        obj.onmouseout = function () { this.className = 'tablebtn'; };
    } else {
        obj.className = "tablebtnover";
        obj.onmouseover = function () { this.className = 'tablebtnover'; };
        obj.onmouseout = function () { this.className = 'tablebtnover'; };
    }
}
function GetMessageFavReturn(originalRequest) {
    var d = originalRequest.responseXML.getElementsByTagName("list");
    var ul = CreateElement("ul", {});
    for (var i = 0, len = d.length; i < len; i++) {
        ul.appendChild(CreateElement("li", { "onclick": SetMessage }, [
            CreateElement("span", { "innerHTML": d[i].getAttribute("titles") }),
            CreateElement("a", { "innerHTML": d[i].getAttribute("delete"),
                "href": "javascript:;", "className": "del",
                onclick: DeleteMessageFav,
                "id": "amessagefav_" + d[i].getAttribute("pkid")
            }),
            CreateElement("div", { "innerHTML": d[i].getAttribute("contents") })
        ]));
    }
    $("kkbac_messagelist").appendChild(ul);
}
function DeleteMessageFav() {
    var id = this.id.replace("amessagefav_", "");
    var s = this.innerHTML;
    if (confirm(s + "?")) {
        var url = "/ajax.aspx?action=deletemessagefav&pkid=" + id + "&d=" + new Date();
        new Ajax.Request(url, { method: 'post', onComplete: DeleteMessageFavReturn });
    }
    else {
        return false;
    }
}
function DeleteMessageFavReturn(originalRequest) {
    $("kkbac_messagelist").innerHTML = "";
    Element.show($("kkbac_messagelist"));
    var obj = $("messagefavbutton");
    obj.className = "tablebtn";
    obj.onmouseover = function () { this.className = 'tablebtnover'; };
    obj.onmouseout = function () { this.className = 'tablebtn'; };
    alert(originalRequest.responseText);
}
function SetMessage() {
    var t = Element.select(this, "span")[0].innerHTML;
    var c = Element.select(this, "div")[0].innerHTML;
    $("subject").value = t;
    $("content").value = c;
}
function SendMessageEvent() {
    var s = $F("subject").strip();
    var c = $F("content").strip();
    if (s.blank()) {
        alert(sendmail_message_subjectnull);
        $("subject").focus();
        return;
    }
    else if (c.blank()) {
        alert(sendmail_message_contentnull);
        $("content").focus();
        return;
    }
    else {
        var url = "/ajax.aspx?action=sendmail&d=" + new Date();
        var pars = "userid=" + displayid + "&subject=" + encodeURIComponent(s) + "&content=" + encodeURIComponent(c);
        new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: SendMessageEventReturn });
        var d = CreateElement("div", {}, GetLoadingIcon());
        NewWindow.MiddleDiv(true, NewWindow.Hide);
        NewWindow.Bind(true, { title: sendmail_title, content: d, notmovewithpage: true });
    }
}
function SendMessageEventReturn(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    var imsg = 0;
    if (dataArray.length > 0) {
        imsg = parseInt(dataArray[0].getAttribute("value"));
        if (imsg == 1) {
            alert(send_message_success);
            NewWindow.Hide();
            return;
        }
        else {
            alert(GetSendMessageReturnError(imsg));
            NewWindow.Hide();
            return;
        }
    }
}
function GetSendMessageReturnError(i) {
    var s;
    switch (i) {
        case 0:
            s = send_message_fail;
            break;
        case 1:
            s = send_message_success;
            break;
        case 2:
            s = send_message_login;
            break;
        case 3:
            s = send_message_inputnull;
            break;
        case 4:
            s = send_message_nofind1;
            break;
        case 5:
            s = send_message_noyourself;
            break;
        case 6:
            s = send_message_noapproved;
            break;
        case 7:
            s = send_message_maxmess;
            break;
        case 8:
            s = send_message_minmess;
            break;
        case 9:
            s = send_message_nofind2;
            break;
        case 10:
            s = send_message_black;
            break;
        case 11:
            s = send_message_sames;
            break;
        default:
            s = i;
            break;
    }
    return s;
}

function GetKiss() {
    var d = CreateElement("div", { className: "kiss" },
        CreateElement("div", { id: "kkbac_kisslist" }, GetLoadingIcon())
    );
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: sendkiss_title, content: d, width: 900, top: 5, notmovewithpage: true });
    var url = "/ajax.aspx?action=getkiss&d=" + new Date();
    new Ajax.Request(url, { method: 'get', onComplete: GetKissListReturn });
}
function GetKissListReturn(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    var dataArrayList = originalRequest.responseXML.getElementsByTagName("listlist");
    var dataArrayClassid = originalRequest.responseXML.getElementsByTagName("classid");
    var ull = GetKissListByData(dataArray);
    var lista = CreateElement("ul", { "className": "clearboth" });
    for (var i = 0, len = dataArrayList.length; i < len; i++) {
        if (viplevel > 0) {
            lista.appendChild(CreateElement("li", {}, GetButton(
                dataArrayList[i].getAttribute("content"),
                { "onclick": GetKissAjax, "id": "akissclass_" + dataArrayList[i].getAttribute("value") },
                { "id": "bottonkissclass_" + dataArrayList[i].getAttribute("value") }
            )));
        }
        else {
            if (dataArrayList[i].getAttribute("value") == 0) {
                lista.appendChild(CreateElement("li", {}, GetButton(
                    dataArrayList[i].getAttribute("content"),
                    { "id": "akissclass_" + dataArrayList[i].getAttribute("value"), "target": "_blank", "href": "/user/updatelevelchina.aspx", "onclick": NotVip },
                    { "id": "bottonkissclass_" + dataArrayList[i].getAttribute("value") }
                )));
            }
            else {
                lista.appendChild(CreateElement("li", {}, GetButton(
                    dataArrayList[i].getAttribute("content"),
                    { "onclick": GetKissAjax, "id": "akissclass_" + dataArrayList[i].getAttribute("value") },
                    { "id": "bottonkissclass_" + dataArrayList[i].getAttribute("value") }
                )));
            }
        }
    }
    var dlist = CreateElement("div", { "className": "app" }, lista);
    var d = $("kkbac_kisslist");
    d.innerHTML = "";
    d.appendChild(dlist);
    d.appendChild(CreateElement("div", { "id": "kkbac_kisslist_view" }, ull));
    d.appendChild(CreateElement("div", { className: "app" },
            CreateElement("ul", { className: "clearboth" }, [
                CreateElement("li", {}, GetButton(sendkiss_title, { onclick: SendKiss })),
                CreateElement("li", {}, GetButton(sendmail_button_close, { onclick: NewWindow.Hide }))
                ]
            )
        )
    );
    SetKissListBotton(dataArrayClassid[0].getAttribute("value"))
}
function SetKissListBotton(id) {
    if (lastkisslistobj) {
        lastkisslistobj.className = "tablebtn";
        lastkisslistobj.onmouseover = function () { this.className = 'tablebtnover'; };
        lastkisslistobj.onmouseout = function () { this.className = 'tablebtn'; };
    }
    var objthisbotton = $("bottonkissclass_" + id);
    objthisbotton.className = "tablebtnover";
    objthisbotton.onmouseover = function () { this.className = 'tablebtnover'; };
    objthisbotton.onmouseout = function () { this.className = 'tablebtnover'; };
    lastkisslistobj = objthisbotton;
    lastkisslistclassid = id;
}
function GetKissAjax() {
    var id = Element.readAttribute(this, "id").replace("akissclass_", "");
    GetKissByClassid(id);
}
function GetKissByClassid(id) {
    SetKissListBotton(id);
    var m = kissclasslist[id];
    if (m) {
        SetKissList(m);
    }
    else {
        var url = "/ajax.aspx?action=getkissbyclassid&c=" + id + "&d=" + new Date();
        new Ajax.Request(url, { method: 'get', onComplete: GetKissByClassidReturn });
    }
}
function GetKissByClassidReturn(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    var classid = originalRequest.responseXML.getElementsByTagName("classid")[0].getAttribute("value");
    kissclasslist[classid] = dataArray;
    SetKissList(dataArray);
}
function SetKissList(d) {
    $("kkbac_kisslist_view").innerHTML = "";
    $("kkbac_kisslist_view").appendChild(GetKissListByData(d));
}
function GetKissListByData(d) {
    var hasfav = 0;
    var vtext = "";
    var atext = "";
    var span = null;
    var a = null;
    var ull = CreateElement("ul");
    var ihtml = "";
    for (var i = 0, len = d.length; i < len; i++) {
        hasfav = d[i].getAttribute("hasfav");
        vtext = d[i].getAttribute("vtext");
        atext = d[i].getAttribute("atext");
        //        span = CreateElement("span", { "innerHTML": vtext, "className": "hasfav" + hasfav });
        //        if (hasfav == 0)
        //            a = CreateElement("a", { "href": "javascript:;", "id": "kkbac_kisslist_a_" + d[i].getAttribute("value"), "innerHTML": atext, "onclick": function () { if (confirm(this.innerHTML + "?")) { SetKissFav(this); } } });
        //        else
        //            a = CreateElement("a", { "href": "javascript:;", "id": "kkbac_kisslist_a_" + d[i].getAttribute("value"), "innerHTML": atext, "onclick": function () { if (confirm(this.innerHTML + "?")) { DeleteKissFav(this); } } });
        //        ull.appendChild(CreateElement("li", {}, [
        //                    GetInput("kkbac_kisslist", "radio", { "id": "kkbac_kisslist" + i, "value": d[i].getAttribute("value") }),
        //                    CreateElement("label", { "htmlFor": "kkbac_kisslist" + i, "innerHTML": d[i].getAttribute("content") }),
        //                    span, a
        //                ]
        //            )
        //        );
        ihtml = "<input id=\"kkbac_kisslist" + i + "\" name=\"kkbac_kisslist\" type=\"radio\" value=\"" + d[i].getAttribute("value") + "\" />";
        ihtml += "<label for=\"kkbac_kisslist" + i + "\">" + d[i].getAttribute("content") + "</label>";
        ihtml += "<span class=\"hasfav" + hasfav + "\">" + vtext + "</span>";
        ihtml += "<a href=\"javascript:;\" id=\"kkbac_kisslist_a_" + d[i].getAttribute("value") + "\" onclick=\"if (confirm(this.innerHTML + '?')) { " + (hasfav == 0 ? "SetKissFav(this);" : "DeleteKissFav(this);") + " } \">" + atext + "</a>";
        ull.appendChild(CreateElement("li", { "innerHTML": ihtml }));
    }
    return ull;
}
function SetKissFav(t) {
    var id = t.id.replace("kkbac_kisslist_a_", "");
    var url = "/ajax.aspx?action=setkissfav&kissid=" + id + "&d=" + new Date();
    new Ajax.Request(url, { method: 'get', onComplete: DeleteKissFavReturn });
}
function DeleteKissFav(t) {
    var id = t.id.replace("kkbac_kisslist_a_", "");
    var url = "/ajax.aspx?action=deletekissfav&kissid=" + id + "&d=" + new Date();
    new Ajax.Request(url, { method: 'get', onComplete: DeleteKissFavReturn });
}
function DeleteKissFavReturn(originalRequest) {
    alert(originalRequest.responseText);
    kissclasslist = [];
    GetKissByClassid(lastkisslistclassid);
}
function SendKiss() {
    var n = $$("input[name=kkbac_kisslist]");
    var c = false;
    var sendkisspkid = 0;
    n.each(
        function (v, i) {
            if (v.checked) {
                c = true;
                sendkisspkid = v.value;
                throw $break;
            }
        }
    );
    if (c) {
        var url = "/ajax.aspx?action=sendkiss&d=" + new Date();
        var pars = "userid=" + displayid + "&kisspkid=" + sendkisspkid;
        new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: SendKissReturn });
        var d = CreateElement("div", { id: "kkbac_getip" }, GetLoadingIcon());
        NewWindow.Bind(true, { title: sendkiss_title, content: d, notmovewithpage: true });
    }
    else {
        alert(sendkiss_inputnull);
    }
}
function SendKissReturn(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    var imsg = 0;
    if (dataArray.length > 0) {
        imsg = parseInt(dataArray[0].getAttribute("value"));
        if (imsg == 1) {
            alert(send_message_success);
            NewWindow.Hide();
            return;
        }
        else {
            alert(GetSendMessageReturnError(imsg));
            NewWindow.Hide();
            return;
        }
    }
}
function TellAFriend() {
    var d = CreateElement("div", { className: "mail" }, [
                CreateElement("h3", { innerHTML: "Email:" }),
                CreateElement("p", { innerHTML: "<input type=\"text\" name=\"subject\" />" }),
                CreateElement("h3", { innerHTML: "Content:" }),
                CreateElement("p", { innerHTML: "<textarea name=\"content\" rows=\"8\"></textarea>" }),
                CreateElement("div", { className: "app" },
                    CreateElement("ul", { className: "clearboth" }, [
                        CreateElement("li", {}, GetButton(" Send ")),
                        CreateElement("li", {}, GetButton(" Close ", { onclick: NewWindow.Hide }))
                        ]
                    )
                )
            ]
    );
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: " Tell a Friend ", content: d });
}
function AddFavourite(t, v) {
    if (confirm(addfav_message)) {
        var d = CreateElement("div", { id: "kkbac_favourite" }, GetLoadingIcon());
        NewWindow.MiddleDiv(true, NewWindow.Hide);
        NewWindow.Bind(true, { title: " Favourite ", content: d });
        var url = "/ajax.aspx?action=addfavourite&u=" + displayid;
        new Ajax.Request(url, { method: 'get', onComplete: AddFavouriteReturn });
    }
}
function AddFavouriteReturn(originalRequest) {
    var v = 1 * originalRequest.responseXML.getElementsByTagName("listvalue")[0].getAttribute("value");
    var s = originalRequest.responseXML.getElementsByTagName("liststring")[0].getAttribute("value");
    alert(s);
    if (v == 0) {
        var txt = Element.readAttribute($("addfavourite"), "rel");
        SetMenuNoSelect($("liaddfavourite"));
        $("addfavourite").innerHTML = txt;
        $("addfavourite").onclick = function () { alert(Element.readAttribute(this, "rel")); };
    }
    NewWindow.Hide();
}
function AddBlackList(t, v) {
    if (confirm(addbla_message)) {
        var d = CreateElement("div", { id: "kkbac_blacklist" }, GetLoadingIcon());
        NewWindow.MiddleDiv(true, NewWindow.Hide);
        NewWindow.Bind(true, { title: " BlackList ", content: d });
        $("blacklist").innerHTML = v;
        $("blacklist").setAttribute("rel", t);
        var url = "/ajax.aspx?action=addblacklist&u=" + displayid;
        new Ajax.Request(url, { method: 'get', onComplete: AddBlackListReturn });
    }
}
function AddBlackListReturn(originalRequest) {
    SetMenuNoSelect($("liblacklist"));
    NewWindow.Hide();
    $("blacklist").onclick = function () { alert(Element.readAttribute(this, "rel")); };
}
function WinChat() {
    WindowOpen("/chatroom.aspx?id=" + displayid, "window_" + displayid, { width: 900, height: 660, top: 0, left: 0 });
}
function GetIp(ip) {
    if ($("kkbac_getip"))
        Element.remove($("kkbac_getip"));
    var d = CreateElement("div", { id: "kkbac_getip" }, GetLoadingIcon());
    var b = CreateElement("div", {}, GetButton(" &nbsp; " + (pagelanguage.language == 0 ? "close" : "关闭") + " &nbsp; ", { onclick: NewWindow.Hide }, { align: "center" }));
    var dd = CreateElement("div", {}, [d, b]);
    Element.setStyle(dd, { textAlign: "center" });
    Element.setStyle(b, { margin: "15px 0 0 0" });
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: " &nbsp; ", content: dd });
    if (!useripaddress) {
        var url = "/ajax.aspx?action=getip&userid=" + displayid;
        new Ajax.Request(url, { method: 'get', onComplete: GetIpReturn });
    } else {
        $("kkbac_getip").innerHTML = useripaddress;
    }
}
function GetIpReturn(originalRequest) {
    useripaddress = originalRequest.responseText;
    $("kkbac_getip").innerHTML = useripaddress;
}
function Unlock(t) {
    var d = CreateElement("div", { id: "divphotopassword", className: "mail" }, [
                CreateElement("p", { innerHTML: "<input type=\"text\" id=\"password\" name=\"password\" />" }),
                CreateElement("center", {}, GetButton(photo_button_submit, { onclick: CheckPhotoPassword }))
            ]
        );
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: photo_message_title, content: d });
}
function CheckPhotoPassword() {
    var url = "/ajax.aspx?action=checkphotopassword&date=" + new Date();
    var photopassword = $F("password");
    if (!photopassword.blank()) {
        var pars = "userid=" + displayid + "&password=" + photopassword;
        new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: CheckPhotoPasswordCom });
    } else alert(password_message_inputnull);
}
function CheckPhotoPasswordCom(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    var ImageUrlTemp = "s"
    if (dataArray.length > 0) {
        if (dataArray[0].getAttribute("value") == 1) {
            window.location.href = window.location.href + "&psd=" + Math.floor(Math.random() * 10000);
        }
        else alert(photo_message_incorrect);
    }
    else alert(photo_message_error);
}
function PhotoLoading() {
    NewWindow.Hide();
}
function TxtTranslation() {
    if (hasTranslation)
        return;
    var d = CreateElement("div", { className: "mail" }, CreateElement("div", {}, GetLoadingIcon()));
    NewWindow.MiddleDiv(true, NewWindow.Hide);
    NewWindow.Bind(true, { title: " &nbsp; ", content: d });

    var url = "/ajax.aspx?action=getuserinfotranslation&date=" + new Date();
    var pars = "userid=" + displayid;
    new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: TxtTranslationReturn });
}
function TxtTranslationReturn(originalRequest) {
    var dataArray = originalRequest.responseXML.getElementsByTagName("list");
    if (dataArray.length > 0) {
        var h = "<div class=\"translationtext\">" + dataArray[0].getAttribute("headline") + "</div>";
        var d = "<div class=\"translationtext\">" + dataArray[0].getAttribute("description") + "</div>";
        var a = "<div class=\"translationtext\">" + dataArray[0].getAttribute("aboutyou") + "</div>";
        Element.insert($("txth"), { after: h });
        Element.insert($("txtd"), { after: d });
        Element.insert($("txta"), { after: a });
    }
    NewWindow.Hide();
    hasTranslation = true;
    Nifty("div.translationtext", "transparent");
    SetMenuNoSelect($("litranslation"));
    var obj = $$("div.translationtext");
    for (var i = 0, len = obj.length; i < len; i++) {
        obj[i].onmouseover = function () { this.className = 'translationtextover'; };
        obj[i].onmouseout = function () { this.className = 'translationtext'; };
    }
}
function NotVip() {
    var m;
    if (pagelanguage.language == 0)
        m = LanguageString.en.upgradevip;
    else
        m = LanguageString.cn.upgradevip;
    return confirm(m);
}
jQuery(function () {
    jQuery(".sendbirthday").click(function () {
        var t = jQuery(this);
        var con = t.attr("con");
        if (confirm(con)) {
            t.remove();
            var url = "/ajax.aspx";
            var map = { "action": "sendkissbirthday", "userid": displayid };
            jQuery.getJSON(url, map, function (data) {
                var imsg = parseInt(data.value);
                if (imsg == 1) {
                    alert(send_message_success);
                    return;
                }
                else {
                    alert(GetSendMessageReturnError(imsg));
                    return;
                }
            });
        }
    });
});


(function ($) {
    $.fn.lightBox = function (settings) {
        var lang = settings.lang || 0;
        var langimgurl = (lang == 1 ? "_cn" : "");
        var langTxtImage = (lang == 1 ? "照片" : "Photo");
        var langTxtOf = (lang == 1 ? "/" : "of");
        settings = jQuery.extend({
            overlayBgColor: '#000',
            overlayOpacity: 0.8, 
            imageLoading: 'images/lightbox-ico-loading.gif', 
            imageBtnPrev: 'images/lightbox-btn-prev'+langimgurl+'.gif',
            imageBtnNext: 'images/lightbox-btn-next'+langimgurl+'.gif',
            imageBtnClose: 'images/lightbox-btn-close'+langimgurl+'.gif',
            imageBlank: 'images/lightbox-blank.gif',
            containerBorderSize: 10,
            containerResizeSpeed: 400,
            txtImage: langTxtImage,
            txtOf: langTxtOf, 
            keyToClose: 'c', 	
            keyToPrev: 'p', 	
            keyToNext: 'n', 	
            imageArray: [],
            activeImage: 0
        }, settings);
        var jQueryMatchedObj = this; 
        function _initialize() {
            _start(this, jQueryMatchedObj); 
            return false; 
        }
        function _start(objClicked, jQueryMatchedObj) {
            $('embed, object, select').css({ 'visibility': 'hidden' });
            _set_interface();
            settings.imageArray.length = 0;
            settings.activeImage = 0;
            if (jQueryMatchedObj.length == 1) {
                settings.imageArray.push(new Array(objClicked.getAttribute('href'), objClicked.getAttribute('title')));
            } else {
                for (var i = 0; i < jQueryMatchedObj.length; i++) {
                    settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'), jQueryMatchedObj[i].getAttribute('title')));
                }
            }
            while (settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href')) {
                settings.activeImage++;
            }
            _set_image_to_view();
        }
        function _set_interface() {
            $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');
            var arrPageSizes = ___getPageSize();
            $('#jquery-overlay').css({
                backgroundColor: settings.overlayBgColor,
                opacity: settings.overlayOpacity,
                width: arrPageSizes[0],
                height: arrPageSizes[1]
            }).fadeIn();
            var arrPageScroll = ___getPageScroll();
            $('#jquery-lightbox').css({
                top: arrPageScroll[1] + 5,
                left: arrPageScroll[0]
            }).show();
            $('#jquery-overlay,#jquery-lightbox').click(function () {
                _finish();
            });
            $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function () {
                _finish();
                return false;
            });
            $(window).resize(function () {
                var arrPageSizes = ___getPageSize();
                $('#jquery-overlay').css({
                    width: arrPageSizes[0],
                    height: arrPageSizes[1]
                });
                var arrPageScroll = ___getPageScroll();
                $('#jquery-lightbox').css({
                    top: arrPageScroll[1] + 5, 
                    left: arrPageScroll[0]
                });
            });
        }
        function _set_image_to_view() {
            $('#lightbox-loading').show();
            $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
            var objImagePreloader = new Image();
            objImagePreloader.onload = function () {
                $('#lightbox-image').attr('src', settings.imageArray[settings.activeImage][0]);
                _resize_container_image_box(objImagePreloader.width, objImagePreloader.height);
                objImagePreloader.onload = function () { };
            };
            objImagePreloader.src = settings.imageArray[settings.activeImage][0];
        };
        function _resize_container_image_box(intImageWidth, intImageHeight) {
            var intCurrentWidth = $('#lightbox-container-image-box').width();
            var intCurrentHeight = $('#lightbox-container-image-box').height();
            var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); 
            var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); 
            var intDiffW = intCurrentWidth - intWidth;
            var intDiffH = intCurrentHeight - intHeight;
            $("#lightbox-nav").css({ "width": "100%" });
            $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').hide();
            $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight }, settings.containerResizeSpeed, function () {
                $("#lightbox-nav").css({ "width": intWidth + 126, "left": -63 });
                _show_image();
            });
            if ((intDiffW == 0) && (intDiffH == 0)) {
                if ($.browser.msie) {
                    ___pause(250);
                } else {
                    ___pause(100);
                }
            }
            $('#lightbox-container-image-data-box').css({ width: intImageWidth });
            $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) });
        };
        function _show_image() {
            $('#lightbox-loading').hide();
            $('#lightbox-image').fadeIn(function () {
                _show_image_data();
                _set_navigation();
            });
            _preload_neighbor_images();
        };
        function _show_image_data() {
            $('#lightbox-container-image-data-box').slideDown('fast');
            $('#lightbox-image-details-caption').hide();
            if (settings.imageArray[settings.activeImage][1]) {
                $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();
            }
            if (settings.imageArray.length > 1) {
                $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + (settings.activeImage + 1) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show();
            }
        }
        function _set_navigation() {
            $('#lightbox-nav').show();
            $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background': 'transparent url(' + settings.imageBlank + ') no-repeat' });
            if (settings.activeImage != 0) {
                $('#lightbox-nav-btnPrev').css({ 'background': 'url(' + settings.imageBtnPrev + ') left 38% no-repeat' })
						.unbind()
						.bind('click', function () {
						    settings.activeImage = settings.activeImage - 1;
						    _set_image_to_view();
						    return false;
						}).fadeIn(300);
            }
            if (settings.activeImage != (settings.imageArray.length - 1)) {
                $('#lightbox-nav-btnNext').css({ 'background': 'url(' + settings.imageBtnNext + ') right 38% no-repeat' })
						.unbind()
						.bind('click', function () {
						    settings.activeImage = settings.activeImage + 1;
						    _set_image_to_view();
						    return false;
						}).fadeIn(300);
            }
            _enable_keyboard_navigation();
        }
        function _enable_keyboard_navigation() {
            $(document).keydown(function (objEvent) {
                _keyboard_action(objEvent);
            });
        }
        function _disable_keyboard_navigation() {
            $(document).unbind();
        }
        function _keyboard_action(objEvent) {
            if (objEvent == null) {
                keycode = event.keyCode;
                escapeKey = 27;
            } else {
                keycode = objEvent.keyCode;
                escapeKey = objEvent.DOM_VK_ESCAPE;
            }
            key = String.fromCharCode(keycode).toLowerCase();
            if ((key == settings.keyToClose) || (key == 'x') || (keycode == escapeKey)) {
                _finish();
            }
            if ((key == settings.keyToPrev) || (keycode == 37)) {
                if (settings.activeImage != 0) {
                    settings.activeImage = settings.activeImage - 1;
                    _set_image_to_view();
                    _disable_keyboard_navigation();
                }
            }
            if ((key == settings.keyToNext) || (keycode == 39)) {
                if (settings.activeImage != (settings.imageArray.length - 1)) {
                    settings.activeImage = settings.activeImage + 1;
                    _set_image_to_view();
                    _disable_keyboard_navigation();
                }
            }
        }
        function _preload_neighbor_images() {
            if ((settings.imageArray.length - 1) > settings.activeImage) {
                objNext = new Image();
                objNext.src = settings.imageArray[settings.activeImage + 1][0];
            }
            if (settings.activeImage > 0) {
                objPrev = new Image();
                objPrev.src = settings.imageArray[settings.activeImage - 1][0];
            }
        }
        function _finish() {
            $('#jquery-lightbox').remove();
            $('#jquery-overlay').fadeOut(function () { $('#jquery-overlay').remove(); });
            $('embed, object, select').css({ 'visibility': 'visible' });
        }
        function ___getPageSize() {
            var xScroll, yScroll;
            if (window.innerHeight && window.scrollMaxY) {
                xScroll = window.innerWidth + window.scrollMaxX;
                yScroll = window.innerHeight + window.scrollMaxY;
            } else if (document.body.scrollHeight > document.body.offsetHeight) { 
                xScroll = document.body.scrollWidth;
                yScroll = document.body.scrollHeight;
            } else { 
                xScroll = document.body.offsetWidth;
                yScroll = document.body.offsetHeight;
            }
            var windowWidth, windowHeight;
            if (self.innerHeight) {
                if (document.documentElement.clientWidth) {
                    windowWidth = document.documentElement.clientWidth;
                } else {
                    windowWidth = self.innerWidth;
                }
                windowHeight = self.innerHeight;
            } else if (document.documentElement && document.documentElement.clientHeight) { 
                windowWidth = document.documentElement.clientWidth;
                windowHeight = document.documentElement.clientHeight;
            } else if (document.body) { 
                windowWidth = document.body.clientWidth;
                windowHeight = document.body.clientHeight;
            }
            if (yScroll < windowHeight) {
                pageHeight = windowHeight;
            } else {
                pageHeight = yScroll;
            }
            if (xScroll < windowWidth) {
                pageWidth = xScroll;
            } else {
                pageWidth = windowWidth;
            }
            arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
            return arrayPageSize;
        };
        function ___getPageScroll() {
            var xScroll, yScroll;
            if (self.pageYOffset) {
                yScroll = self.pageYOffset;
                xScroll = self.pageXOffset;
            } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
                yScroll = document.documentElement.scrollTop;
                xScroll = document.documentElement.scrollLeft;
            } else if (document.body) {
                yScroll = document.body.scrollTop;
                xScroll = document.body.scrollLeft;
            }
            arrayPageScroll = new Array(xScroll, yScroll);
            return arrayPageScroll;
        };
        function ___pause(ms) {
            var date = new Date();
            curDate = null;
            do { var curDate = new Date(); }
            while (curDate - date < ms);
        };
        return this.unbind('click').click(_initialize);
    };
})(jQuery); 
