﻿var imageWD = 0;
var imageHD = 0;
var widgetX = 0;
var widgetY = 0;
var tempURL = "";
var strImg = "";
var strwidth = "";
var strheight = "";
var Dir = "";
function chgimg(vimg, vwidth, vheight, vWidgetID) {
    strImg = vimg;
    strwidth = vwidth;
    strheight = vheight;
    var objPreview = $("#PreviewObj" + vWidgetID);
    objPreview.fadeOut("normal",
    function() {
        objPreview.attr("src", strImg).attr("width", strwidth).attr("height", strheight).ready(function() {
            objPreview.fadeIn("normal");
        });
    });
}
function fadeInFunction(vWidgetID) {
    $("#PreviewObj" + vWidgetID).attr("src", strImg).attr("width", strwidth).attr("height", strheight).ready(function() {
        $("#PreviewObj" + vWidgetID).fadeIn("normal");
    });
}
function GetWidgetPosition(vWidgetID) {
    var offset = $("#WidgetDiv" + vWidgetID).offset();
    widgetX = offset.left + 0;
    widgetY = offset.top + 0;
}
function ShowLoading(vURL, vAlign, vWidgetID, widgetW, widgetH) {
if(Dir != vAlign)
{
	try{
		removePreview(vWidgetID, vURL);
	}
	catch (err){}
}
    if (document.getElementById("PreviewDiv" + vWidgetID).style.display == "none" || document.getElementById("PreviewDiv" + vWidgetID).childNodes.length < 1) {
        //(有設過widget才拿得到位置)
        $("#WidgetDiv" + vWidgetID).width(widgetW + "px");
        $("#WidgetDiv" + vWidgetID).height(widgetH + "px");

        GetWidgetPosition(vWidgetID);
        var displayW = widgetW;
        var displayH = widgetH;
        var vGap = 0;
        if (vAlign == "U" || vAlign == "D") {
            displayH = displayW * 0.75;
        }
        else {
            displayW = displayH * 1.35;
        }
        var vLeft = 0;
        var vTop = 0;
		if (vAlign == "U") //上
		{
			vLeft = parseInt(widgetX) + (parseInt(widgetW) - parseInt(displayW)) / 2;
			vTop = parseInt(widgetY) - parseInt(displayH);

		}
		else if (vAlign == "D")//下
		{		
			vLeft = parseInt(widgetX) + (parseInt(widgetW) - parseInt(displayW)) / 2;
			vTop = parseInt(widgetY) + parseInt(widgetH);
		}
		else if (vAlign == "L")//左
		{
			if (parseInt(widgetX) <= 0 && parseInt(widgetY) <= 0) //置右對齊
			{
				widgetX = document.getElementById("WidgetDiv" + vWidgetID).offsetLeft;
				widgetY = document.getElementById("WidgetDiv" + vWidgetID).offsetTop;
			}
			vLeft = parseInt(widgetX) - parseInt(displayW);
			vTop = parseInt(widgetY) + (parseInt(widgetH) - parseInt(displayH)) / 2;

		}
		else if (vAlign == "R")//右
		{
			vLeft = parseInt(widgetX) + parseInt(widgetW) + parseInt(vGap);
			vTop = parseInt(widgetY) + (parseInt(widgetH) - parseInt(displayH)) / 2;
		}

        document.getElementById("PreviewDiv" + vWidgetID).style.position = "absolute";
        document.getElementById("PreviewDiv" + vWidgetID).style.zIndex = "9999998";
        document.getElementById("PreviewDiv" + vWidgetID).style.top = vTop + "px";
        document.getElementById("PreviewDiv" + vWidgetID).style.left = vLeft + "px";
        document.getElementById("PreviewDiv" + vWidgetID).style.display = "inline";
        $("#PreviewDiv" + vWidgetID).width(displayW + "px");
        $("#PreviewDiv" + vWidgetID).height(displayH + "px");

        if (document.getElementById("PreviewBox" + vWidgetID) == null) {
            vObj = document.createElement("div");
            vObj.setAttribute("id", "PreviewBox" + vWidgetID);
            var objpreviewdiv = document.getElementById("PreviewDiv" + vWidgetID);
            var container = objpreviewdiv.parentNode;
            container.appendChild(vObj);
            var strCloseImgFile = vURL.substring(0, vURL.lastIndexOf("/")) + "/bt_colse.png";
            var strCloseImgFile_o = vURL.substring(0, vURL.lastIndexOf("/")) + "/bt_colse_o.png";
            //圖無半透明
            document.getElementById("PreviewBox" + vWidgetID).innerHTML = "<img src=\"" + strCloseImgFile +
            "\" onclick=\"removePreview('" + vWidgetID +
            "');\" onmouseover=\"MM_swapImage('img" + vWidgetID + "','','" + strCloseImgFile_o + "',1)\" onmouseout=\"MM_swapImgRestore()\" " +
            "style=\"position:absolute;top:" + vTop +
            "px;left:" + (vLeft + Number(displayW) - 25) +
            "px;display:inline;z-Index:9999999;\" name=\"img" + vWidgetID + "\">";

            //圖有半透明
            //document.getElementById("PreviewBox").innerHTML = "<img src=\"" + strCloseImgFile + "\" style=\"filter:alpha(opacity=50);-moz-opacity:0.5;opacity: 0.5;position:absolute;top:" + vTop + "px;left:" + (vLeft + Number(displayW) - 25) + "px;display:inline;z-Index:9999999;\">";
            //半透明框 div
            document.getElementById("PreviewBox" + vWidgetID).innerHTML += "<div id=\"boxButtom\" style=\"filter:alpha(opacity=50);-moz-opacity:0.5;opacity: 0.5;background: #000;width:" + displayW + "px;height:" + displayH + "px;position:absolute;top:" + vTop + "px;left:" + vLeft + "px;display:inline;z-Index:9999997;\"></div>";
        }
    }
    if (document.getElementById("LoadingObj" + vWidgetID) == null) {
        vObj = document.createElement("img");
        vObj.setAttribute("border", 0);
        vObj.setAttribute("id", "LoadingObj" + vWidgetID);
        vObj.setAttribute("src", vURL);
        vObj.style.position = "absolute";
        vObj.style.top = "49%";
        vObj.style.left = "46%";
        document.getElementById("PreviewDiv" + vWidgetID).appendChild(vObj);
    }
}
function removeLoading(vWidgetID) {
    var LoadingTableObj = document.getElementById("LoadingObj" + vWidgetID);
    var container = LoadingTableObj.parentNode;
    container.removeChild(LoadingTableObj);
}
function removePreview(vWidgetID, vURL) {
    $("#PreviewObj" + vWidgetID).stop();
    //移box
    var vObj = document.getElementById("PreviewBox" + vWidgetID);
    while (vObj.childNodes.length > 0) {
        vObj.removeChild(vObj.firstChild);
    }
    var PreviewBoxObj = document.getElementById("PreviewBox" + vWidgetID);
    var container = PreviewBoxObj.parentNode;
    container.removeChild(PreviewBoxObj);

    //移div
    var vObj = document.getElementById("PreviewDiv" + vWidgetID);
    while (vObj.childNodes.length > 0) {
        vObj.removeChild(vObj.firstChild);
    }
}

function ShowIframe(vURL, vAlign, vWidgetID, widgetW, widgetH, imageW, imageH, vFlashvars) {
    $("#WidgetDiv" + vWidgetID).width(widgetW + "px");
    $("#WidgetDiv" + vWidgetID).height(widgetH + "px");

    var displayW = widgetW;
    var displayH = widgetH;
    var vGap = 0;
    if (vAlign == "U" || vAlign == "D") {
        displayH = displayW * 0.75;
    }
    else {
        displayW = displayH * 1.35;
    }

    GetWidgetPosition(vWidgetID);

    var vExt = vURL.substr(vURL.lastIndexOf("."));
    if (vExt.indexOf("?") != -1) {
        vExt = vExt.substr(0, vExt.indexOf("?")).toLowerCase();
    }
    var vFindExt = ".jpg,.gif,.png".indexOf(vExt);
    var vFindExtEx = ".swf,.flv,.mp4".indexOf(vExt);
    if (vFindExt != -1) {
        ImageResize(imageW, imageH, displayW, displayH);
    }
    else {
        imageWD = displayW;
        imageHD = displayH;
    }

    //css
    var vLeft = 0;
    var vTop = 0;
	if (vAlign == "U") //上
	{
		vLeft = parseInt(widgetX) + (parseInt(widgetW) - parseInt(displayW)) / 2;
		vTop = parseInt(widgetY) - parseInt(displayH);

	}
	else if (vAlign == "D")//下
	{		
		vLeft = parseInt(widgetX) + (parseInt(widgetW) - parseInt(displayW)) / 2;
		vTop = parseInt(widgetY) + parseInt(widgetH);
	}
	else if (vAlign == "L")//左
	{
		if (parseInt(widgetX) <= 0 && parseInt(widgetY) <= 0) //置右對齊
		{
			widgetX = document.getElementById("WidgetDiv" + vWidgetID).offsetLeft;
			widgetY = document.getElementById("WidgetDiv" + vWidgetID).offsetTop;
		}
		vLeft = parseInt(widgetX) - parseInt(displayW);
		vTop = parseInt(widgetY) + (parseInt(widgetH) - parseInt(displayH)) / 2;

	}
	else if (vAlign == "R")//右
	{
		vLeft = parseInt(widgetX) + parseInt(widgetW) + parseInt(vGap);
		vTop = parseInt(widgetY) + (parseInt(widgetH) - parseInt(displayH)) / 2;
	}
	
    document.getElementById("PreviewDiv" + vWidgetID).style.position = "absolute";
    document.getElementById("PreviewDiv" + vWidgetID).style.zIndex = "9999998";

    document.getElementById("PreviewDiv" + vWidgetID).style.top = vTop + "px";
    document.getElementById("PreviewDiv" + vWidgetID).style.left = vLeft + "px";
    document.getElementById("PreviewDiv" + vWidgetID).style.display = "inline";

    removeLoading(vWidgetID);
    if (vFindExt != -1) {
        if (document.getElementById("PreviewObj" + vWidgetID) == null) {
            var vObj = document.getElementById("PreviewDiv" + vWidgetID);
            while (vObj.childNodes.length > 0) {
                vObj.removeChild(vObj.firstChild);
            }
            document.getElementById("PreviewDiv" + vWidgetID).innerHTML = "<table id=\"PreviewTable\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\"><tr valign=\"middle\"><td align=\"center\">" +
            "<img border=\"0\" id=\"PreviewObj" + vWidgetID + "\" src=\"" + vURL + "\" width=\"" + imageWD + "\" height=\"" + imageHD + "\"></td></tr></table>";
        }
        else {
            chgimg(vURL, imageWD, imageHD, vWidgetID);
        }
    }
    else if (vFindExtEx != -1) {
        var vObj = document.getElementById("PreviewDiv" + vWidgetID);
        while (vObj.childNodes.length > 0) {
            vObj.removeChild(vObj.firstChild);
        }
        var vObj = null;
        //
        vObj = document.createElement("embed");
        vObj.setAttribute("type", "application/x-shockwave-flash");
        vObj.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer");
        vObj.setAttribute("wmode", "transparent");
        vObj.setAttribute("allowscriptaccess", "always");
        vObj.setAttribute("id", "PreviewObj" + vWidgetID);
        vObj.setAttribute("src", vURL);
	vObj.setAttribute("FlashVars", vFlashvars);
        vObj.setAttribute("width", imageWD);
        vObj.setAttribute("height", imageHD);
        document.getElementById("PreviewDiv" + vWidgetID).appendChild(vObj);		
    }
    else {
        var vObj = document.getElementById("PreviewDiv" + vWidgetID);
        while (vObj.childNodes.length > 0) {
            vObj.removeChild(vObj.firstChild);
            document.getElementById("PreviewDiv" + vWidgetID).style.display = "none";
        }
        var vObj = null;
        //
        vObj = document.createElement("iframe");
        vObj.setAttribute("frameborder", "0", 0);
        //case3
        //vObj.setAttribute("allowtransparency", "true", 0);
        vObj.setAttribute("id", "PreviewObj" + vWidgetID);
        vObj.setAttribute("src", vURL);
        vObj.setAttribute("width", imageWD);
        vObj.setAttribute("height", imageHD);
        document.getElementById("PreviewDiv" + vWidgetID).appendChild(vObj);

        //document.getElementById("PreviewObj").style.zIndex = 9999998;
    }
} //end ShowIframe

function ImageResize(imageW, imageH, FitWidth, FitHeight) {
    if (imageW > 0 && imageH > 0) {
        if (imageW / imageH >= FitWidth / FitHeight) {
            if (imageW > FitWidth) {
                imageWD = FitWidth;
                imageHD = (imageH * FitWidth) / imageW;
            } else {
                imageWD = imageW;
                imageHD = imageH;
            }
        } else {
            if (imageH > FitHeight) {
                imageHD = FitHeight;
                imageWD = (imageW * FitHeight) / imageH;
            } else {
                imageWD = imageW;
                imageHD = imageH;
            }
        }
    }
    imageWD -= 20;
    imageHD -= 20;
} // end ImageResize

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_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_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]; }
}
