﻿// JScript File
var __prevSelectedIdx = {};
var arrPreviousWidgetParams = new Array();
//
function preReloadWidget(){             
    $("#frameShell").fadeOut("fast",function(){
        $("#framePreLoader").fadeIn("slow",function(){
            window.setTimeout(__doReload,1500,"javascript");
        });              
    });
}  
//
function ReloadWidget() {
    preReloadWidget();
}
//
function __doReload(){
    var ot=document.getElementById("TitleText");
    var os=document.getElementById("slctCulture");
    if (os){	    
        if(__prevSelectedIdx["slctCulture"] != os.selectedIndex){
            ot.value=$WidgetText[os.selectedIndex];
        } 	        
        __prevSelectedIdx["slctCulture"] = os.selectedIndex;    
    }     
    SetColors();
    SetWidgetSize();
    var arrQS = GetWidgetParams();
    if (!SameArrays(arrPreviousWidgetParams, arrQS)) {
        var qs = "";
        for (var i = 0; i < arrQS.length; i++)
	        qs += arrQS[i] + "&";
    		
        $("#WidgetPreview").attr("src","CreateWidgetPreview.ashx?" + qs);
        arrPreviousWidgetParams = CopyArray(arrQS);
    }
}
//     
function SetColors()
{
    var arrInputs = document.getElementsByTagName("input");
	for (var i = 0; i < arrInputs.length; i++) {
		var oInput = arrInputs[i];
		if (oInput.type == "text")
		{
		    var otd=document.getElementById("td" + oInput.id);
		    if (otd) otd.style.background=("#"+(oInput.value=="" || oInput.value==null ? "FFFFFF" : oInput.value));
		}
	}
}

function SetWidgetSize() {
	var size = GetSelectedValue("size");
	var nWidth = "0";
	var nHeight = "0";
	switch (size) {
		case "L":
			nWidth = "300";
			nHeight = "530";
			break;
		case "M":
			nWidth = "250";
			nHeight = "450";
			break;
		case "S":
			nWidth = "200";
			nHeight = "300";
			break;
		case "C":
			nWidth = document.forms[0].elements["custom_width"].value;
			nHeight = document.forms[0].elements["custom_height"].value;
			break;
	}
	
	var oWidget = document.getElementById("custom_sized_widget");
	if (oWidget) {
		oWidget.style.display = (size == "C") ? "" : "none";
		document.forms[0].elements["width"].value = nWidth;
		document.forms[0].elements["height"].value = nHeight;
	}
}

function GetWidgetParams() {
	var params = new Array();
	var strCulture = GetWidgetParam("culture");
	var strSkin = GetWidgetParam("skin");
	var nWidth = parseInt(GetWidgetParam("width", 180, 300));
	var nHeight = parseInt(GetWidgetParam("height", 350, 550));
	var blnCollapse = (GetWidgetParam("collapseUsersList") == "1");
	var blnMute = (GetWidgetParam("muteAll") == "1");
	var blnAutoStart = (GetWidgetParam("autoStart") == "1");
	var blnIgnoreQuery = (GetWidgetParam("ignoreQuery") == "1");
	
	if (strCulture.length > 0)
		params[params.length] = "culture=" + strCulture;
	if (strSkin.length > 0)
		params[params.length] = "skin=" + strSkin;
	if (nWidth > 0)
		params[params.length] = "width=" + nWidth;
	if (nHeight > 0)
		params[params.length] = "height=" + nHeight;
	params[params.length] = "collapseUsersList=" + ((blnCollapse) ? "true" : "false");
	params[params.length] = "muteAll=" + ((blnMute) ? "true" : "false");
	params[params.length] = "autoStart=" + ((blnAutoStart) ? "true" : "false");
	params[params.length] = "ignoreQuery=" + ((blnIgnoreQuery) ? "true" : "false");
	
	var bgColor1 = GetWidgetParam("BgColor1"); if(bgColor1!="") bgColor1="0x"+bgColor1;
	var bgColor2 = GetWidgetParam("BgColor2"); if(bgColor2!="") bgColor2="0x"+bgColor2;
	var topPanelBgColor = GetWidgetParam("TopPanelBgColor"); if(topPanelBgColor!="") topPanelBgColor="0x"+topPanelBgColor;
	var titleText = GetWidgetParam("TitleText");
	var titleTextColor = GetWidgetParam("TitleTextColor"); if(titleTextColor!="") titleTextColor="0x"+titleTextColor;
	var titleBgColor1 = GetWidgetParam("TitleBgColor1"); if(titleBgColor1!="") titleBgColor1="0x"+titleBgColor1;
	var titleBgColor2 = GetWidgetParam("TitleBgColor2"); if(titleBgColor2!="") titleBgColor2="0x"+titleBgColor2;
	var titleImagePath = GetWidgetParam("TitleImagePath");
	var hideTitleExtraShadow = (GetWidgetParam("HideTitleExtraShadow") == "1");
	
	params[params.length] = "BgColor1=" + escape(bgColor1);
	params[params.length] = "BgColor2=" + escape(bgColor2);
	params[params.length] = "TopPanelBgColor=" + escape(topPanelBgColor);
	params[params.length] = "TitleText=" + escape(titleText);
	params[params.length] = "TitleTextColor=" + escape(titleTextColor);
	params[params.length] = "TitleBgColor1=" + escape(titleBgColor1);
	params[params.length] = "TitleBgColor2=" + escape(titleBgColor2);
	params[params.length] = "TitleImagePath=" + escape(titleImagePath);
	params[params.length] = "HideTitleExtraShadow=" + ((hideTitleExtraShadow) ? "true" : "false");
	return params;
}

function GetWidgetParam(sName, minValue, maxValue) {
	var element = document.forms[0].elements[sName];
	if (!element)
		return "";
	
	if (element.type == "checkbox" && !element.checked)
		return "";
	
	var strValue = element.value;
	if (sName == "width" && strValue == "")
		return "250";
	
	if (sName == "height" && strValue == "")
		return "450";
	
	if (typeof minValue != "undefined" && typeof maxValue != "undefined") {
		var num = parseInt(strValue);
		if (isNaN(num))
			num = 0;
		if (num > maxValue)
			num = maxValue;
		if (num < minValue)
			num = minValue;
		strValue = num + "";
	}
	return strValue;
}

function SameArrays(a1, a2) {
	if (a1.length != a2.length)
		return false;
	for (var i = 0; i < a1.length; i++)
		if (a1[i] != a2[i])
			return false;
	return true;
}

function CopyArray(a) {
	var retValue = new Array();
	for (var i = 0; i < a.length; i++) {
		retValue[retValue.length] = a[i];
	}
	return retValue;
}

function GetSelectedValue(sName) {
	var objForm = document.forms[0];
	for (var i = 0; i < objForm.elements.length; i++) {
		var element = objForm.elements[i];
		if (element.name && element.name == sName && element.checked)
			return element.value;
	}
	return "";
}

function DisplayWidgetCodeWindow()
{
    LightBoxLite.SetWindowBackground("#303030");
    LightBoxLite.SetLightOptions(510, 610, "white");
    LightBoxLite.SetClosingElement("btnClose");
    //alert(document.getElementById("CodeDiv"))
    LightBoxLite.ShowInnerElement(document.getElementById("CodeDiv"));
}