﻿var Util = {
    MsgBox: function (isErr, msg, callback) {
        Ext.MessageBox.show({
            title: "系統訊息",
            msg: msg,
            minWidth: 200,
            scope: this,
            buttons: Ext.MessageBox.OK,
            icon: (isErr ? "dialog-ERROR" : "dialog-RIGHT"),
            fn: callback
        });
    },

    InfoBox: function (msg, callback) {
        Ext.MessageBox.show({
            title: "系統訊息",
            msg: msg,
            minWidth: 200,
            scope: this,
            buttons: Ext.MessageBox.OK,
            icon: "dialog-INFO",
            fn: callback
        });
    },

    ConfirmBox: function (msg, callback) {
        Ext.MessageBox.show({
            title: "系統訊息",
            msg: msg,
            minWidth: 200,
            scope: this,
            buttons: Ext.MessageBox.YESNO,
            icon: 'dialog-QUESTION',
            fn: callback
        });
    },

    FrameResize: function (frameid, height) {
        var iframe = null;
        try {
            if (parent.window.document.getElementById(frameid) != null) {
                iframe = parent.window.document.getElementById(frameid);
                iframe.height = height != undefined && height != null ? height : (iframe.contentWindow.document.body.offsetHeight + 12);
                parent.Ext.get(iframe.contentWindow.document.body).fadeIn({ endOpacity: 1, duration: .5, remove: false, concurrent: true });
                parent.location.hash = "top";
            }
        }
        catch (e) {
            return;
        }
        finally {
            iframe = null;
        }
    },

    ProductDetail: function (tm, ts, pid, index) {
        var link = new Array();
        try {
            link.push("../Default.aspx?u=Products&fn=Detail&tm=");
            link.push(tm.toString());
            link.push("&ts=");
            link.push(ts.toString());
            link.push("&pid=");
            link.push(pid.toString());
            link.push("&index=");
            link.push(index.toString() || "1");
            if (parent != undefined && parent != null)
                parent.location.href = link.join('');
            else
                location.href = link.join('');
        }
        catch (e) {
            return;
        }
        finally {
            link = null;
        }
    },

    ProductDetail2: function (pid, index, from) {
        var link = new Array();
        try {
            link.push("../Default.aspx?u=Products&fn=Detail&from=");
            link.push(from);
            link.push("&pid=");
            link.push(pid.toString());
            link.push("&index=");
            link.push(index.toString() || "1");
            if (parent != undefined && parent != null)
                parent.location.href = link.join('');
            else
                location.href = link.join('');
        }
        catch (e) {
            return;
        }
        finally {
            link = null;
        }
    },

    ProductDetail3: function (kwd, pid, index) {
        var link = new Array();
        try {
            link.push("../Default.aspx?u=Products&fn=Detail&from=Search&kwd=");
            link.push(kwd.toString());
            link.push("&pid=");
            link.push(pid.toString());
            link.push("&index=");
            link.push(index.toString() || "1");
            if (parent != undefined && parent != null)
                parent.location.href = link.join('');
            else
                location.href = link.join('');
        }
        catch (e) {
            return;
        }
        finally {
            link = null;
        }
    },

    NewsSelected: 1,
    NewsSwitch: function (type) {
        //if (isNaN(type) || type < 1 || type > 3 || type == Util.NewsSelected) return;
        if (isNaN(type) || type < 1 || type > 3) return;
        Util.NewsSelected = type;
        Ext.getDom("NewsFrame").src = "/news/newsList.aspx?t=".concat(type.toString());
        for (var i = 1; i <= 3; i++) {
            Ext.getDom("News".concat(i.toString())).className = (i == type ? "Selected" : '');
        }
    }
};

var CssBtn = {
    Event: function (obj, cls1, cls2, cls3) {
        var tbEl = obj.parentNode.parentNode.parentNode;
        var lrEl = obj.parentNode.parentNode;
        var garEl = obj.parentNode;

        if (tbEl != undefined && tbEl != null) tbEl.className = cls1;
        if (lrEl != undefined && lrEl != null) lrEl.className = cls2;
        if (garEl != undefined && garEl != null) garEl.className = cls3;
    }
};

var LMenus = {    
    task:null,    
    Show: function(isShow, id) {
        var el = document.getElementById(id);
        if (el == undefined || el == null) return;

        if (isShow) {
            if (this.task != null) {
                clearTimeout(this.task);
                this.task = null;
            }
            if (el.style.display == '' || el.style.display == "none") el.style.display = "block";
        }
        else if (el.style.display == "block") {
            this.task = setTimeout(function () {
                //此為計時結束觸發事件
                clearTimeout(this);
                LMenus.task = null;
                Ext.get(el).fadeOut({ endOpacity: 0, duration: .5, useDisplay:true, remove: false, concurrent: true });
            }, 200);
        }
    }
};


//Mouseover Mouseout圖片變換
function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function fnOnOverOut(el, cls) {
    el.className = cls;
}
