﻿//http://dev.iceburg.net/jquery/jqModal/#how
function addListener(element, event, listener, bubble) { if (element.addEventListener) { if (typeof (bubble) == "undefined") { bubble = false; } element.addEventListener(event, listener, bubble); } else if (this.attachEvent) { element.attachEvent("on" + event, listener); } }
function removeListener(element, event, listener, bubble) { if (element.removeEventListener) { if (typeof (bubble) == "undefined") { bubble = false; } element.removeEventListener(event, listener, bubble); } else if (this.detachEvent) { element.detachEvent("on" + event, listener); } }
function getQuerystring(key, default_) { if (default_ == null) default_ = ""; key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regex = new RegExp("[\\?&]" + key + "=([^&#]*)"); var qs = regex.exec(window.location.href); if (qs == null) { return default_; } else { return qs[1]; } }
function CallMethod(methodName) { eval(methodName.replace("CallMethod:", "")); }
function SetCookie(name, value, expires, path, domain, secure) { var today = new Date(); today.setTime(today.getTime()); if (expires) expires = expires * 1000 * 60 * 60 * 24; var expires_date = new Date(today.getTime() + (expires)); document.cookie = name + "=" + escape(value) + ((expires) ? ";expires=" + expires_date.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : ""); }
function GetCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; }
function GetParentRecursive(obj, IDContains) { if (obj.id == IDContains) { return true; } else { try { return GetParentRecursive(obj.parentNode, IDContains); } catch (e) { return false; } } }

var dateFormat = function () {
    var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, timezoneClip = /[^-+\dA-Z]/g, pad = function (val, len) { val = String(val); len = len || 2; while (val.length < len) val = "0" + val; return val; }; return function (date, mask, utc) {
        var dF = dateFormat; if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { mask = date; date = undefined; }
        date = date ? new Date(date) : new Date; if (isNaN(date)) throw SyntaxError("invalid date"); mask = String(dF.masks[mask] || mask || dF.masks["default"]); if (mask.slice(0, 4) == "UTC:") { mask = mask.slice(4); utc = true; }
        var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), m = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), M = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = { d: d, dd: pad(d), ddd: dF.i18n.dayNames[D], dddd: dF.i18n.dayNames[D + 7], m: m + 1, mm: pad(m + 1), mmm: dF.i18n.monthNames[m], mmmm: dF.i18n.monthNames[m + 12], yy: String(y).slice(2), yyyy: y, h: H % 12 || 12, hh: pad(H % 12 || 12), H: H, HH: pad(H), M: M, MM: pad(M), s: s, ss: pad(s), l: pad(L, 3), L: pad(L > 99 ? Math.round(L / 10) : L), t: H < 12 ? "a" : "p", tt: H < 12 ? "am" : "pm", T: H < 12 ? "A" : "P", TT: H < 12 ? "AM" : "PM", Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] }; return mask.replace(token, function ($0) { return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); });
    };
} (); dateFormat.masks = { "default": "ddd mmm dd yyyy HH:MM:ss", shortDate: "m/d/yy", mediumDate: "mmm d, yyyy", longDate: "mmmm d, yyyy", fullDate: "dddd, mmmm d, yyyy", shortTime: "h:MM TT", mediumTime: "h:MM:ss TT", longTime: "h:MM:ss TT Z", isoDate: "yyyy-mm-dd", isoTime: "HH:MM:ss", isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" }; dateFormat.i18n = { dayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] }; Date.prototype.format = function (mask, utc) { return dateFormat(this, mask, utc); };

var END_OF_INPUT = -1;
var base64Chars = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/');
var reverseBase64Chars = new Array();
for (var i = 0; i < base64Chars.length; i++) { reverseBase64Chars[base64Chars[i]] = i; }
var base64Str;
var base64Count;
function setBase64Str(str) { base64Str = str; base64Count = 0; }
function readBase64() { if (!base64Str) return END_OF_INPUT; if (base64Count >= base64Str.length) return END_OF_INPUT; var c = base64Str.charCodeAt(base64Count) & 0xff; base64Count++; return c; }
function encodeBase64(str) { setBase64Str(str); var result = ''; var inBuffer = new Array(3); var lineCount = 0; var done = false; while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT) { inBuffer[1] = readBase64(); inBuffer[2] = readBase64(); result += (base64Chars[inBuffer[0] >> 2]); if (inBuffer[1] != END_OF_INPUT) { result += (base64Chars[((inBuffer[0] << 4) & 0x30) | (inBuffer[1] >> 4)]); if (inBuffer[2] != END_OF_INPUT) { result += (base64Chars[((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6)]); result += (base64Chars[inBuffer[2] & 0x3F]); } else { result += (base64Chars[((inBuffer[1] << 2) & 0x3c)]); result += ('='); done = true; } } else { result += (base64Chars[((inBuffer[0] << 4) & 0x30)]); result += ('='); result += ('='); done = true; } lineCount += 4; if (lineCount >= 76) { result += ('\n'); lineCount = 0; } } return result; }
function readReverseBase64() { if (!base64Str) return END_OF_INPUT; while (true) { if (base64Count >= base64Str.length) return END_OF_INPUT; var nextCharacter = base64Str.charAt(base64Count); base64Count++; if (reverseBase64Chars[nextCharacter]) { return reverseBase64Chars[nextCharacter]; } if (nextCharacter == 'A') return 0; } return END_OF_INPUT; }
function ntos(n) { n = n.toString(16); if (n.length == 1) n = "0" + n; n = "%" + n; return unescape(n); }
function decodeBase64(str) { setBase64Str(str); var result = ""; var inBuffer = new Array(4); var done = false; while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT) { inBuffer[2] = readReverseBase64(); inBuffer[3] = readReverseBase64(); result += ntos((((inBuffer[0] << 2) & 0xff) | inBuffer[1] >> 4)); if (inBuffer[2] != END_OF_INPUT) { result += ntos((((inBuffer[1] << 4) & 0xff) | inBuffer[2] >> 2)); if (inBuffer[3] != END_OF_INPUT) { result += ntos((((inBuffer[2] << 6) & 0xff) | inBuffer[3])); } else { done = true; } } else { done = true; } } return result; }
function capitaliseFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); }
function FakeCheckBox_Click(obj, ddid, objValue) {
    try {
        var dd = document.getElementById(ddid);
        var showControls = "";
        try { showControls = dd.getAttribute("onchange"); } catch (e) { }
        var cssName = obj.className;
        cssName = ((cssName.indexOf("_On") > -1) ? cssName.replace("_On", "_Off") : cssName.replace("_Off", "_On"));
        obj.className = cssName;
        var optionOn = ((cssName.indexOf("_On") > -1) ? true : false);
        for (var x = 0; x < dd.options.length; x++) {
            if (dd.options[x].value == objValue) { dd.options[x].selected = optionOn; break; }
        }
        if (showControls != "") eval(showControls.replace("this", "dd"));
    } catch (e) { }
}

function positionInfo(object) { var p_elm = object; this.getElementLeft = getElementLeft; function getElementLeft() { var x = 0; var elm; if (typeof (p_elm) == "object") { elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { if (elm.style.position == 'relative') { break; } else { x += elm.offsetLeft; elm = elm.offsetParent; } } return parseInt(x); } this.getElementWidth = getElementWidth; function getElementWidth() { var elm; if (typeof (p_elm) == "object") { elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetWidth); } this.getElementRight = getElementRight; function getElementRight() { return getElementLeft(p_elm) + getElementWidth(p_elm); } this.getElementTop = getElementTop; function getElementTop() { var y = 0; var elm; if (typeof (p_elm) == "object") { elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { if (elm.style.position == 'relative') { break; } else { y += elm.offsetTop; elm = elm.offsetParent; } } return parseInt(y); } this.getElementHeight = getElementHeight; function getElementHeight() { var elm; if (typeof (p_elm) == "object") { elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetHeight); } this.getElementBottom = getElementBottom; function getElementBottom() { return getElementTop(p_elm) + getElementHeight(p_elm); } }
function GotoTab(tabID) { $("#" + tabID).click(); }


function CallHTTPHandler(path, outputElement, params) {
    alert("Should be replaced with jQuery\r\nPath: " + path + "\r\nParams: " + params);
    //    $.post(targetURL[0], postData,
    //                function (data) {
    //                    if (data.length > 0) {
    //                        if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
    //                            targetSection.html(data[0].Error);
    //                        } else {
    //                            targetSection.html(data[0].HTML);
    //                        }
    //                    } else { targetSection.html("No results found"); }
    //                }
    //            , "json");

    var http = SendRequest(path, params);
    http.onreadystatechange = function () {//Call a function when the state changes.
        if (http.readyState == 4) {
            document.getElementById(outputElement).innerHTML = http.responseText;
        }
    }
}

function GetContentList(url, containerID) { var popupId = containerID || "ContentList"; jQuery("#jqmContainers").append(GetRoundedCornerPopup(popupId)); jQuery("#" + popupId).jqm({ onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#' + popupId + '_Body', onLoad: SetupLists }); jQuery("#" + popupId + "").jqmShow(); }
function SetupLists() {
    SetupRows();
    SetupVideos();
}
function SetupRows() {jQuery("._AlternatingRows:odd").each(function (e) { $(this).addClass("alternatingRow"); /*$(this).css("background-color", "#dddddd");*/ }); }
function SetupPaging() {
    jQuery("._SearchClearFilter").click(function (e) {
        e.preventDefault();
        ExecuteSearch(e.target + "&z=" + Math.random());
    });
    jQuery("._SearchPage").click(function (e) {
        e.preventDefault();
        ExecuteSearch(e.target + "&z=" + Math.random());
    });
    SetupLists();
}
var ExecuteSearch = function (url) {
    jQuery("#jqmContainers").append(GetRoundedCornerPopup("SearchPopup"));

    jQuery("#SearchPopup").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 975, height: 600, innerWidthOffset: 40, innerHeightOffset: 40, target: '#SearchPopup_Body', onLoad: SetupPaging });
    jQuery("#SearchPopup").jqmShow();
};

jQuery("._ContentListPaging").live("click", function (e) {
    e.preventDefault();
    if (!IsEmptyOrNull($(this).parents(".jqmWindow").attr("id"))) {
        GetContentList($(this).attr("target"), $(this).parents(".jqmWindow").attr("id"));
    } else {
        var targetid = $(this).attr("targetid");
        if (!IsEmptyOrNull(targetid)) {
            var targetURL = $(this).attr("target").split("?");
            $("#" + targetid).html("<img src='/img/loader/loader5.gif' border='0' alt='Loading...'/>");
            var targetSection = $("#" + targetid);
            targetSection.html("<img src='/img/loader/loader5.gif'/>");
            var url = targetURL[0];
            if (!IsEmptyOrNull(url)) {
                url += ((url.indexOf('?') > -1) ? "&" : "?") + "z=" + Math.random();
                var postData = targetURL[1];
                postData += RebuildQS(postData);
                $.post(url, postData,
                function (data) {
                    if (data.length > 0) {
                        if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
                            targetSection.html(data[0].Error);
                        } else {
                            targetSection.html(data[0].HTML);
                            SetupLists();
                        }
                    } else { targetSection.html("No results found"); }
                }
            , "json");
            }
        }
    }
});

var closeAndKill = function (hash) { try { hash.w.remove(); } catch (e) { } try { hash.o.remove(); } catch (e) { } };
var CloseAllPopups = function () { jQuery("#jqmContainers").children().each(function (e) { try { if ($(this).attr("class").indexOf("jqmWindow") > -1) { $(this).jqmHide(); } else { $(this).remove(); } } catch (e) { } }); };

var UnderMaintenance = function () { var underMaint = false; try { underMaint == _SiteMaintenance; } catch (e) { underMaint = false; } if (underMaint == true) { CreatePopup("SiteMaintenanceWindow", "<div style='text-align:center;' class='FormErrorMessage'>The login feature has been disabled while maintenance is performed.<br/>Please try your again later.<div>", 600, 400, "", true); } return underMaint; }

function GetRoundedCornerPopup_orig(id) { if (jQuery("#jqmContainers").children("#" + id).length > 0) { try { jQuery("#jqmContainers").children("#" + id).jqmHide(); } catch (e) { } jQuery("#jqmContainers").children("#" + id).remove(); } var output = "<table id='" + id + "' class='RoundCornersPopup jqmWindow'  border='0' cellspacing='0' cellpadding='0'><tr><td class='Round_TopLeftClose jqmClose'></td><td class='Round_TopMiddle'></td><td class='Round_TopRight'></td></tr><tr><td class='Round_MiddleLeft'>&nbsp;</td>"; output += "<td class='Round_MiddleMiddle' id='" + id + "_Body' style='width:945px;height:420px;overflow:auto; vertical-align:top;display:block;'>"; output += "Loading... <img src='/img/loader/loader5.gif' alt='loading' />"; output += "</td>"; output += "<td class='Round_MiddleRight'>&nbsp;</td></tr><tr><td id='Td1' class='Round_BottomLeft'>&nbsp;</td><td class='Round_BottomMiddle'>&nbsp;</td><td class='Round_BottomRight'>&nbsp;</td></tr></table>"; return output; }
function GetRoundedCornerPopup(id, cssClass) { if (cssClass == undefined) cssClass = "RoundCornersPopupNew"; if (jQuery("#jqmContainers").children("#" + id).length > 0) { try { jQuery("#jqmContainers").children("#" + id).jqmHide(); } catch (e) { } jQuery("#jqmContainers").children("#" + id).remove(); } try { jQuery("#" + id).remove(); } catch (e) { } output = "<div id='" + id + "' class='jqmWindow'><div class='RoundCornersPopupNew' id='" + id + "_Body' style='text-align:center;vertical-align:middle;'><img src='/img/loader/loader32.gif'/></div></div>"; return output; }
function MakeRoundCornerPopup(contents, id) { return "<div class='Round_TopLeft'>&nbsp;</div><div class='Round_TopRightClose jqmClose _DynamicFormClose' id='" + id + "_close'>&nbsp;</div><div class='Round_BottomLeft'>&nbsp;</div><div class='Round_BottomRight'>&nbsp;</div><div class='Round_MiddleLeft'>&nbsp;</div><div class='Round_MiddleRight'>&nbsp;</div><div class='Round_TopMiddle'>&nbsp;</div><div class='Round_BottomMiddle'>&nbsp;</div><div class='Round_Body' style='overflow-y:auto;'>" + contents + "</div>"; }

function GetRelativeVideoURL(url) { url = String(url); var videoPathIndex = url.indexOf('/videos/'); if (videoPathIndex > 0) url = url.substring(videoPathIndex); return url; }
function SetupVideoList() { $.each(jQuery("._Videos").children("div:odd"), function (e) { $(this).css("background-color", "#dddddd"); }); }

var IsEmptyOrNull = function (s) { if (s == null || s == "null" || s == undefined || s == "undefined" || s == "") { return true; } else { return false; } }
var RebuildQS = function (currentPostData) {
    var qs = location.search.substring(1); var newQS = ""; var qsSplit = qs.split("&");
    var ignoreQSItems = "";
    var currentPostDataItems = currentPostData.split("&");
    for (var x = 0; x < currentPostDataItems.length; x++) {
        if (!IsEmptyOrNull(currentPostDataItems[x])) {
            var nameVal = currentPostDataItems[x].split("=");
            if (!IsEmptyOrNull(nameVal[0])) { if (!IsEmptyOrNull(ignoreQSItems)) { ignoreQSItems += ","; } ignoreQSItems += nameVal[0]; }
        }
    }
    var ignoreSplit = ignoreQSItems.split(","); for (var x = 0; x < qsSplit.length; x++) { var idValue = qsSplit[x].split("="); var ignore = false; for (var i = 0; i < ignoreSplit.length; i++) { if (idValue[0].toLowerCase() == ignoreSplit[i].toLowerCase()) { ignore = true; break; } } if (!ignore) newQS += "&" + qsSplit[x]; } return newQS;
}
function SetupVideos() {
    jQuery("div._videoplaceholder").each(function (e) {
        try {
            var videoDiv = $(this);
            videoDiv.html("Loading Video...");
            var width = 0; var height = 0;
            try { width = videoDiv.attr("width"); } catch (e) { width = 0; }
            try { height = videoDiv.attr("height"); } catch (e) { height = 0; }
            var url = videoDiv.attr("target") + "json";
            var postData = "";
            if (width > 0 && height > 0) postData = "&width=" + width + "&height=" + height;
            $.post(url, postData,
			    function (data) {
			        if (data.length > 0) {
			            if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
			                videoDiv.replaceWith(data[0].Error);
			            } else {
			                videoDiv.replaceWith(data[0].HTML);
			                _gaq.push(['_trackEvent', 'Videos',  data[0].Title + " (" + data[0].VideoID + ")"], _userName);
			                _gaq.push(['_trackPageview', "Video: " + data[0].Title]);
			            }
			        } else { videoDiv.replaceWith("An unknown error occurred"); }
			    }
            , "json");

        } catch (e) { }
    });

}
jQuery(document).ready(function () {
    var publicID = -1; try { publicID = _publicid || getQuerystring("id"); } catch (e) { publicID = -1; }
    var languageID = 1; try { languageID = getQuerystring("lang") || _languageid; } catch (e) { languageID = 1; }

    $.each(jQuery("._MakeRound"), function (e) {
        var targetCSS = $(this).attr("target") || "RoundCorners_4d4d4d";
        MakeRound($(this), targetCSS);
    });
    function MakeRound(obj, cssClass) {
        var height = obj.height();
        var html = obj.html();
        obj.addClass(cssClass);
        obj.html("<div class='Round_TopLeft'>&nbsp;</div><div class='Round_TopRight'>&nbsp;</div><div class='Round_BottomLeft'>&nbsp;</div><div class='Round_BottomRight'>&nbsp;</div><div class='Round_MiddleLeft'>&nbsp;</div><div class='Round_MiddleRight'>&nbsp;</div><div class='Round_TopMiddle'>&nbsp;</div><div class='Round_BottomMiddle'>&nbsp;</div><div class='Round_Body'>" + html + "</div>");
        obj.height(height);
    }
    function FixRoundHeight(obj) {
        var height = obj.height() + 100;
        obj.height(height);
    }
    //TAB FUNCTIONALITY
    jQuery(".SubTab").click(function () {
        var subTabID = jQuery(this).attr("id");
        if (jQuery(this).attr("tabid") != undefined) subTabID = jQuery(this).attr("tabid");
        var selectedImg = jQuery("#" + subTabID).children("img");
        var imgSrc = selectedImg.attr("src");
        var subTabOn = ((imgSrc.indexOf("over.png") > -1) ? true : false);
        var replaceSrc = ((subTabOn) ? "over.png" : "up.png");
        var replaceWith = ((subTabOn) ? "up.png" : "over.png");
        var newSrc = imgSrc.replace(replaceSrc, replaceWith);
        var tabsID = subTabID.split('_');
        jQuery("#" + subTabID).children("img").attr("src", newSrc)
        jQuery("#" + subTabID).parent().children().children("img").each(function (index) {
            var fadeSpeed = 0;
            try { fadeSpeed = jQuery(this).parent().attr("speed"); if (fadeSpeed == undefined) fadeSpeed = 0; } catch (e) { fadeSpeed = 0; }
            if (newSrc != jQuery(this).attr("src")) {
                jQuery(this).attr("src", jQuery(this).attr("src").replace("over.png", "up.png"));
                jQuery(".MainTabs").find("#" + jQuery(this).parent().attr("id") + "_Contents").fadeOut(fadeSpeed);
            } else {
                jQuery(".MainTabs").find("#" + subTabID + "_Contents").fadeIn(fadeSpeed);
                jQuery("#MainTabs_" + tabsID + "").animate({ height: jQuery(".MainTabs").find("#" + subTabID + "_Contents").height() }, "slow");
            }
        });
    });

    jQuery(".MainTab").click(function () {
        try {
            var clickedID = jQuery(this).attr("id");
            selectedTab = "#" + clickedID;
            var firstTabSelected = false;
            if (jQuery(this).parent().children(".MainTab:first").attr("id") == jQuery(this).attr("id")) firstTabSelected = true;
            var tabsID = clickedID.split('_');
            var baseClass = jQuery("#" + tabsID[0] + "_Round_Left").attr("class").replace("Alt", "");
            if (!firstTabSelected) {
                jQuery("#" + tabsID[0] + "_Round_Left").removeClass(baseClass + "Alt");
                jQuery("#" + tabsID[0] + "_Round_Left").addClass(baseClass);
            } else {
                jQuery("#" + tabsID[0] + "_Round_Left").removeClass(baseClass);
                jQuery("#" + tabsID[0] + "_Round_Left").addClass(baseClass + "Alt");
            }
            jQuery("#MainTabs_" + tabsID + "").children().each(function (index) {
                var fadeSpeed = 0;
                try { fadeSpeed = jQuery(this).parent().attr("speed"); if (fadeSpeed == undefined) fadeSpeed = 0; } catch (e) { fadeSpeed = 0; }
                if (jQuery(this).attr("id") != clickedID + "_Contents") {
                    //De-select selected Tab
                    jQuery("#" + jQuery(this).attr("id").replace("_Contents", "")).prev().addClass("NotSelected");
                    jQuery("#" + jQuery(this).attr("id").replace("_Contents", "")).addClass("NotSelected");
                    jQuery("#" + jQuery(this).attr("id").replace("_Contents", "")).next().addClass("NotSelected");
                    //turn off sub tab menu
                    jQuery("#" + jQuery(this).attr("id").replace("_Contents", "_SubTabs")).addClass("Off");
                    jQuery(this).children().fadeOut(fadeSpeed);
                } else {
                    jQuery("#" + clickedID).prev().removeClass("NotSelected");
                    jQuery("#" + clickedID).removeClass("NotSelected");
                    jQuery("#" + clickedID).next().removeClass("NotSelected");
                    jQuery("#" + jQuery(this).attr("id").replace("_Contents", "_SubTabs")).removeClass("Off");

                    switch (jQuery(this).attr("type").toLowerCase()) {
                        case "sub tabs":
                            var childSubTab = jQuery(this);
                            jQuery("#" + clickedID + "_SubTabs").find(".SubTab").each(function (index) {
                                if (jQuery(this).children(":first").attr("src").indexOf("over.png") > -1) {
                                    jQuery(this).children(":first").attr("src", jQuery(this).children(":first").attr("src").replace("over.png", "up.png"));
                                    childSubTab.children(":eq(" + (jQuery(this).index() - 1) / 3 + ")").fadeIn(fadeSpeed);
                                    jQuery("#MainTabs_" + tabsID + "").animate({ height: childSubTab.children(":eq(" + (jQuery(this).index() - 1) / 3 + ")").height() }, "slow");
                                    jQuery("#" + $(this).attr("id")).click();
                                } else { }
                            });
                            break;
                        default:
                            jQuery(this).children().fadeIn(fadeSpeed);
                            var animHeight = jQuery(this).height();
                            //alert(animHeight);
                            try { if (jQuery(this).height() < Number(jQuery(this).attr("contentheight").replace("px", ""))) animHeight = jQuery(this).attr("contentheight").replace("px", ""); } catch (e) { }
                            //alert(animHeight);
                            jQuery("#MainTabs_" + tabsID + "").animate({ height: animHeight }, "slow");
                            //jQuery("#MainTabs_" + tabsID + "").parent().animate({ height: animHeight }, "slow");
                            break;
                    }
                }
            });
        } catch (e) { }
    });
    $.doTimeout(500, function () {
        try { if (!IsEmptyOrNull(selectedTab)) { jQuery("._TabControlHolder").removeClass('Off'); jQuery(selectedTab).click(); } } catch (e) { }
    });
    //END TAB FUNCTIONALITY
    //CAROUSEL FUNCTIONALITY
    function activateThumb(no) {
        $("#carouselThumb .set").removeClass("active");
        $("#carouselThumb .set:eq(" + no + ")").addClass("active");
        //Auto scroll thumbnails so the active thumb is always visible in the thumb bar.
        var thumbEnd = Number($("#carouselThumb .set:eq(" + no + ")").position().left) + Number($("#carouselThumb .set:eq(" + no + ")").width()) - Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").position().left);
        if (thumbEnd > $("#carouselThumb").width()) { thumbs.next(); }
        else if (Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").position().left) > Number($("#carouselThumb .set:eq(" + no + ")").position().left) && thumbs.getCurrentID() > 0) { thumbs.goto(parseInt(no)); }
    }
    function mainSlideControl(arg) {
        var mainCarousel = arg;
        var currentItem = mainCarousel.getCurrentID();
        activateThumb(currentItem);
    }
    function thumbSlideControl(arg) {
        var oController = arg;
        var currentItem = oController.getCurrentID();
        if (currentItem == 0) {
            //$("#carouselThumbprev").fadeTo('fast', 0.4);
        } else {
            //$("#carouselThumbprev").fadeTo('fast', 1.0)
        }

        var thumbWidth = Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").width());
        var activeLeftPos = Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").position().left);
        var activeRightPos = activeLeftPos + thumbWidth;
        var totalThumbs = Number(thumbs.item().length);
        var thumbsLeft = totalThumbs - currentItem;
        if ((thumbsLeft * thumbWidth) < $("#carouselThumb").width()) {
            //$("#carouselThumbnext").fadeTo('fast', 0.4);
        } else {
            //$("#carouselThumbnext").fadeTo('fast', 1.0);
        }

    }
    var scrollSpeedMS = $("#carouselMain").attr("scrollspeed") || 1000;
    var autoScroll = $("#carouselMain").attr("autoscroll") || 0;
    var height = 480;
    var width = 975;
    try { height = Number($("#carouselMain").css("height").replace("px", "")); } catch (e) { height = 480; }
    try { width = Number($("#carouselMain").css("width").replace("px", "")); } catch (e) { width = 975; }
    var mainCarousel = $("#carouselMain").msCarousel({ boxClass: '.set', width: width, height: height, callback: mainSlideControl, showMessage: true, messageOpacity: 1, autoSlide: autoScroll, scrollSpeed: scrollSpeedMS }).data("msCarousel");
    var thumbs = $("#carouselThumb").msCarousel({ boxClass: '.set', width: Number(width - 60), height: 90, callback: thumbSlideControl, scrollSpeed: scrollSpeedMS }).data("msCarousel");

    $("#carouselThumbprev").click(function () {
        thumbs.previous();
    });
    $("#carouselThumbnext").click(function () {
        var thumbWidth = Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").width());
        var activeLeftPos = Number($("#carouselThumb .set:eq(" + thumbs.getCurrentID() + ")").position().left);
        var activeRightPos = activeLeftPos + thumbWidth;
        var totalThumbs = Number(thumbs.item().length);
        var currentThumb = thumbs.getCurrentID();
        var thumbsLeft = totalThumbs - currentThumb;
        if ((thumbsLeft * thumbWidth) < $("#carouselThumb").width()) {
            thumbs.goto(0);
        } else {
            thumbs.next();
        }
    });
    $("#carouselThumb .set").click(function (arg) {
        var target = this;
        var counter = $("#carouselThumb .set").index(target);
        mainCarousel.pause();
        mainCarousel.goto(parseInt(counter));
    });
    //END CAROUSEL FUCNTIONALITY
    switch (_userStatus) {
        case "_ValidatedUser":
        case "_RegisteredUser":
            jQuery("._MyAccountMenu").css("display", "block");
            jQuery("._MyAccountMenu").html(_userName + "'s Account");
            break;
        default:
            jQuery("._LoginMenu").css("display", "block");
            jQuery("._SiteRegistration").css("display", "block");
            jQuery("._MyAccountMenu").html("My Account");
            break;
    }
    jQuery("._ExpandVideo").css({ 'cursor': 'pointer' });
    jQuery("._ExpandVideo").live("click", function (e) {
        e.preventDefault();
        var fullurl = $(this).attr("href");
        var adWordsURL = "";
        try { adWordsURL = $(this).attr("adwordsurl"); } catch (e) { adWordsURL = ""; }
        var dims = "";
        var vHeight = 0; var vWidth = 0;
        vHeight = $(this).attr("vheight");
        vWidth = $(this).attr("vwidth");
        if (Number(vHeight) > 0 && Number(vWidth) > 0) dims = "&height=" + vHeight + "&width=" + vWidth;
        //Need to have a way to pull in optional play dimensions
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("VideoPopup"));
        jQuery("#VideoPopup").jqm({ onHide: closeAndKill, ajax: GetRelativeVideoURL(fullurl) + "/getjson?autoplay=true" + dims, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 0, height: 0, innerWidthOffset: 40, innerHeightOffset: 40, target: '#VideoPopup_Body' });
        jQuery("#VideoPopup").jqmShow();
        if (!IsEmptyOrNull(adWordsURL)) { $("#VideoPopup_Body").append("<img height='1' width='1' style='border-style:none;' alt='' src='" + adWordsURL + "'/>"); }
        try { mainCarousel.stop(); } catch (e) { }
        _gaq.push(['_trackEvent', 'Videos', GetRelativeVideoURL(fullurl), _userName]);
        _gaq.push(['_trackPageview', GetRelativeVideoURL(fullurl)]);
        _elqQ.push(['elqSetSiteId', '876']);
        _elqQ.push(['elqTrackPageView', fullurl]);

    });
    jQuery("._PopupHTML, ._PopupRoundHTML").css({ 'cursor': 'pointer' });
    jQuery("._PopupHTML,._PopupRoundHTML").live("click", function (e) {
        e.preventDefault();
        var h = $(this).attr("pheight") || 500;
        var w = $(this).attr("pwidth") || 975;
        var pID = $(this).attr("target");
        var pHTML = $("#" + pID).html();
        var cssName = $(this).attr("class");
        if (cssName.indexOf("_PopupRoundHTML") > -1) {
            jQuery("#jqmContainers").append(GetRoundedCornerPopup("HTMLPopup"));
        } else {
            jQuery("#jqmContainers").append("<div class='jqmWindow' style='background:transparent;' id='HTMLPopup'><div id='HTMLPopup_Body' style='background:transparent;cursor:pointer;' class='jqmClose'></div></div>");
        }
        jQuery("#HTMLPopup").jqm({ onHide: closeAndKill, html: pHTML, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", addRoundCorners: false, htmlBackgroundColor: 'transparent', overlay: 65, modal: false, width: w, height: h, innerWidthOffset: 40, innerHeightOffset: 40, target: '#HTMLPopup_Body' });
        jQuery("#HTMLPopup").jqmShow();
    });
    //******************SharePoint Trial Functionality********************//
    jQuery("._K2NowSPS").each(function (e) {
        var obj = $(this);
        GetK2NowSPS(obj);
    });
    function GetK2NowSPSStatus(currentStatus, expectedStatus, obj) {
        $("._K2NowStatus").html("Checking status <img src='/img/loader/loader16.gif'/>");
        var filename = "/K2TryNow/spsget";
        var postData = "&RequestedTrialName=" + obj.attr("target");
        var newStatus = currentStatus;
        $.post(filename, postData,
                function (data) {
                    if (!IsEmptyOrNull(data.Status)) { newStatus = data.Status; }
                    if (newStatus == "connecting") {
                    } else if (newStatus == expectedStatus || newStatus == "terminated" || newStatus == "Pending Approval") {
                        GetK2NowSPS(obj);
                    } else {
                        $("._K2NowStatus").html(capitaliseFirstLetter(newStatus) + " <img src='/img/loader/loader16.gif'/>");
                        $.doTimeout(10000, function () {
                            GetK2NowSPSStatus(currentStatus, expectedStatus, obj);
                        });
                    }
                }
            , "json");
    }
    function GetK2NowSPS(obj) {
        obj.html("<div style='width:100%;text-align:center;'><img src='/img/loader/loader32.gif'/></div>");
        obj.parent().parent().height(75);
        var filename = "/K2TryNow/spsget";
        var trialName = obj.attr("target");
        var postData = "";
        if (getQuerystring("creating", "false") == "true") postData = "&creating=true";
        if (!IsEmptyOrNull(trialName)) postData += "&RequestedTrialName=" + trialName;
        $.post(filename, postData,
            function (data) {
                if (!IsEmptyOrNull(data.Error)) {
                    obj.html("<div style='font-weigh:bold;'>" + data.Error + "</div>");
                } else if (!IsEmptyOrNull(data.HTML)) {
                    obj.html(data.HTML);
                } else {
                    var expireDate;
                    var outputHTML = "";
                    var currentStatus = "";
                    var extendSN = "";
                    if (!IsEmptyOrNull(data.Status)) { currentStatus = data.Status; }
                    if (!IsEmptyOrNull(data.SN)) { extendSN = data.SN; }
                    switch (currentStatus.toLowerCase()) {
                        case "running":
                        case "pending extension approval":
                            outputHTML += "<div class='_K2NowActions'><a href='" + data.SPSSite + "' style='text-decoration:none;' target='_blank'><div class='LeftPad5 _K2NowConnect' style='width:100%;cursor:pointer;'></div></a>";
                            if (!IsEmptyOrNull(extendSN)) {
                                outputHTML += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' target='/K2TryNow/spsextend'></div>";
                                outputHTML += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' target='/K2TryNow/spscancel'></div>";
                            }
                            outputHTML += "</div>";
                            break;
                        case "creating":
                            break;
                        case "pending":
                        case "expired":
                        case "terminated":
                            break;
                    }
                }
                if (!IsEmptyOrNull(data.SPSUser)) {
                    outputHTML += "<div class='SubHead' style='padding-top:5px;'>Trial User</div><div class='LeftPad5 _K2NowExpireDate'>" + data.SPSUser + "</div>";
                }
                if (!IsEmptyOrNull(data.SPSPass)) {
                    outputHTML += "<div class='SubHead'>Trial Password</div><div class='LeftPad5 _K2NowExpireDate'>" + data.SPSPass + "</div>";
                }
                if (!IsEmptyOrNull(data.ExpireDate)) {
                    var dateString = data.ExpireDate; expireDate = new Date(parseInt(dateString.replace(/\/Date\((\d+)\)\//, '$1')));
                    if (!isNaN(expireDate)) outputHTML += "<div class='SubHead'>Trial Expires</div><div class='LeftPad5 _K2NowExpireDate'>" + expireDate + "</div>";
                }
                if (!IsEmptyOrNull(data.Status)) { outputHTML += "<div class='SubHead'>Trial Status</div><div class='LeftPad5 _K2NowStatus'>" + capitaliseFirstLetter(data.Status) + "</div>"; currentStatus = data.Status; }
                obj.html(outputHTML);
                obj.parent().parent().height(obj.height() + 50);

                if (currentStatus == "creating" || currentStatus == "Pending Approval") {
                    $.doTimeout(1000, function () {
                        GetK2NowSPSStatus(currentStatus, "running", obj);
                    });
                }
                $("._K2NowExtend").click(function (e) {
                    var target = $(this).attr("target");
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                    jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                    jQuery("#AjaxMessage").jqmShow();
                    $.post(target, postData,
                            function (data) {
                                var newMsg = "";
                                if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred extending your trial.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                else if (data.Error.indexOf("APPROVAL") > -1) { newMsg = "Your trial extension request has been sent for approval.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                if (IsEmptyOrNull(newMsg)) {
                                    jQuery("#AjaxMessage").jqmHide();
                                } else {
                                    jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                                    var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                    jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                                }
                                try { _gaq.push(['_trackEvent', 'SharePoint Trial', 'Trial Extension', _userName]); } catch (e) { }
                                GetK2NowSPS(obj);
                            }
                        , "json");

                });
                $("._K2NowCancel").click(function (e) {
                    var target = $(this).attr("target");
                    var cancelHTML = "<div><div class='SubHead' style='font-size:24px;font-weight:normal;padding-bottom:10px;'>Cancel Trial</div><div>Are you sure you want to cancel this trial? If you choose to cancel, your trial will expire immediately and all related data will be removed.</div><br/><br/><div><input type='button' class='FormButton _K2NowCancelNo' value='Do NOT cancel trial' onclick='CloseAllPopups();'>&nbsp;<input type='button' class='FormButton _K2NowCancelYes' value='Cancel my trial'></div></div>";
                    canelHTML = MakeRoundCornerPopup(cancelHTML, "AjaxMessage")
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                    jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: cancelHTML, ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 250, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                    jQuery("#AjaxMessage").jqmShow();

                    $("._K2NowCancelYes").click(function (e) {
                        e.preventDefault();
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("CancelYesMessage"));
                        jQuery("#CancelYesMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#CancelYesMessage_Body' });
                        jQuery("#CancelYesMessage").jqmShow();
                        $.post(target, postData,
                                function (data) {
                                    jQuery("#CancelYesMessage").jqmHide();
                                    var newMsg = "";
                                    if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred cancelling your trial.<br/><br/><b>If your trial started prior to 5/24/2011, <span class='_K2NowManualCancel' style='cursor:pointer;text-decoration:underline;' target='/K2TryNow/cancel2'>please click here to cancel your trial</span>.</b><br/><br/<br/><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                    else { newMsg = "Your trial has been cancelled.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                    if (IsEmptyOrNull(newMsg)) {
                                        jQuery("#AjaxMessage").jqmHide();
                                    } else {
                                        jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                                        var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                        jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                                    }
                                    try { _gaq.push(['_trackEvent', 'SharePoint Trial', 'Trial Cancel', _userName]); } catch (e) { }
                                    $.doTimeout(1500, function () {
                                        GetK2NowSPS(obj);
                                    });
                                }
                            , "json");

                    });
                });
            }
            , "json");
    }
    //******************End SharePoint Trial Functionality********************//
    //******************Amazon Trial Functionality********************//
    jQuery("._K2Now").each(function (e) {
        var obj = $(this);
        GetK2Now(obj);
    });
    function GetK2NowStatus(currentStatus, expectedStatus, obj) {
        $("._K2NowStatus").html("Checking status <img src='/img/loader/loader16.gif'/>");
        var filename = "/K2TryNow/";
        var postData = "&RequestedTrialName=" + obj.attr("target");
        var newStatus = currentStatus;
        $.post(filename, postData,
                function (data) {
                    if (!IsEmptyOrNull(data.Status)) { newStatus = data.Status; }
                    if (newStatus == "connecting") {
                    } else if (newStatus == expectedStatus || newStatus == "terminated" || newStatus == "Pending Approval") {
                        if (newStatus == "running" && getQuerystring("creating", "false") != "true") {
                            $("._K2NowStatus").html("Initializing SharePoint <span id='_SPSInitTime'>0</span>%<img src='/img/loader/loader16.gif'/>");
                            $.doTimeout(1800, function () {
                                var initdone = Number($("._K2NowStatus").children("#_SPSInitTime").html());
                                initdone++;
                                $("._K2NowStatus").children("#_SPSInitTime").html(initdone);
                                if (initdone >= 100) { GetK2Now(obj); return false; }
                                return true;
                            });
                        } else {
                            GetK2Now(obj);
                        }
                    } else {
                        $("._K2NowStatus").html(capitaliseFirstLetter(newStatus) + " <img src='/img/loader/loader16.gif'/>");
                        $.doTimeout(10000, function () {
                            GetK2NowStatus(currentStatus, expectedStatus, obj);
                        });
                    }
                }
            , "json");

    }
    function GetK2Now(obj) {
        obj.html("<div style='width:100%;text-align:center;'><img src='/img/loader/loader32.gif'/></div>");
        obj.parent().parent().height(75);
        var filename = "/K2TryNow/";
        var trialName = obj.attr("target");
        var postData = "";
        if (getQuerystring("creating", "false") == "true") postData = "&creating=true";
        if (!IsEmptyOrNull(trialName)) postData += "&RequestedTrialName=" + trialName;
        $.post(filename, postData,
            function (data) {
                if (!IsEmptyOrNull(data.Error)) {
                    obj.html("<div style='font-weigh:bold;'>" + data.Error + "</div>");
                } else if (!IsEmptyOrNull(data.HTML)) {
                    obj.html(data.HTML);
                } else {
                    var expireDate;
                    var outputHTML = "";
                    var instanceKey = "";
                    var currentStatus = "";
                    var extendSN = "";

                    if (!IsEmptyOrNull(data.InstanceKey)) { instanceKey = data.InstanceKey; }
                    if (!IsEmptyOrNull(data.Status)) { currentStatus = data.Status; }
                    if (!IsEmptyOrNull(data.SN)) { extendSN = data.SN; }
                    if (!IsEmptyOrNull(instanceKey)) {
                        switch (currentStatus.toLowerCase()) {
                            case "running":
                            case "pending extension approval":
                                outputHTML += "<div class='_K2NowActions'><div class='LeftPad5 _K2NowConnect' style='width:100%;cursor:pointer;' target='/K2TryNow/connect.rdp' expectedStatus=''>&nbsp;</div>";
                                outputHTML += "<div class='LeftPad5 _K2NowAction _K2NowStop' style='width:100%;cursor:pointer;' target='/K2TryNow/shutdown' expectedStatus='stopped'>&nbsp;</div>";
                                if (!IsEmptyOrNull(extendSN)) {
                                    outputHTML += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' target='/K2TryNow/extend'>&nbsp;</div>";
                                    outputHTML += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' target='/K2TryNow/cancel'>&nbsp;</div>";
                                }
                                outputHTML += "</div>";
                                break;
                            case "stopped":
                                outputHTML += "<div class='_K2NowActions'><div class='LeftPad5 _K2NowAction _K2NowStart' style='width:100%;cursor:pointer;' target='/K2TryNow/start' expectedStatus='running'>&nbsp;</div>";
                                if (!IsEmptyOrNull(extendSN)) {
                                    outputHTML += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' target='/K2TryNow/extend'>&nbsp;</div>";
                                    outputHTML += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' target='/K2TryNow/cancel'>&nbsp;</div>";
                                }
                                outputHTML += "</div>";
                                break;
                            case "pending":
                            case "shutting-down":
                            case "terminated":
                            case "stopping":
                                break;
                        }
                    }

                    if (!IsEmptyOrNull(data.ExpireDate)) {
                        var dateString = data.ExpireDate; expireDate = new Date(parseInt(dateString.replace(/\/Date\((\d+)\)\//, '$1')));
                        if (!isNaN(expireDate)) outputHTML += "<div class='SubHead' style='padding-top:5px;'>Expires</div><div class='LeftPad5 _K2NowExpireDate'>" + expireDate + "</div>";
                    }
                    if (!IsEmptyOrNull(data.Status)) { outputHTML += "<div class='SubHead'>Machine Status</div><div class='LeftPad5 _K2NowStatus'>" + capitaliseFirstLetter(data.Status) + "</div>"; currentStatus = data.Status; }
                    obj.html(outputHTML);
                    obj.parent().parent().height(obj.height() + 50);
                    if (currentStatus == "creating" || currentStatus == "pending" || currentStatus == "Pending Approval") {
                        $.doTimeout(1000, function () {
                            GetK2NowStatus(currentStatus, "running", obj);
                        });
                    }
                    if (currentStatus == "stopping" || currentStatus == "shutting-down") {
                        $.doTimeout(1000, function () {
                            GetK2NowStatus(currentStatus, "stopped", obj);
                        });
                    }
                    $("._K2NowRefresh").css({ "display": "none", "cursor": "pointer", "position": "absolute", "right": "5px", "top": "0px" });
                    $("._K2NowRefresh").click(function (e) {
                        $(this).parent().next().html("");
                        GetK2Now($(this).parent().next());
                    });
                    $("._K2NowAction").click(function (e) {
                        //Clear Actions
                        $("._K2NowActions").html("");
                        $("._K2NowStatus").html($("._K2NowStatus").html() + " <img src='/img/loader/loader16.gif'/>");
                        var target = $(this).attr("target");
                        try { _gaq.push(['_trackEvent', 'K2 Online Trial ' + target.replace('/K2TryNow/', ''), target, _userName]); } catch (e) { }
                        var expectedStatus = $(this).attr("expectedStatus");
                        $.post(target, postData,
                            function () {
                                $.doTimeout(5000, function () {
                                    GetK2NowStatus(currentStatus, expectedStatus, obj);
                                });

                            }
                        , "json");
                    });
                    $("._K2NowExtend").click(function (e) {
                        var target = $(this).attr("target");
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "Submitting extension request<br><img src='/img/loader/loader5.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        jQuery("#AjaxMessage").jqmShow();
                        $.post(target, postData,
                            function (data) {
                                var newMsg = "";
                                if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred extending your trial.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                else if (data.Error.indexOf("APPROVAL") > -1) { newMsg = "Your trial extension request has been sent for approval.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                if (IsEmptyOrNull(newMsg)) {
                                    jQuery("#AjaxMessage").jqmHide();
                                } else {
                                    jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                                    var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                    jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                                }
                                try { _gaq.push(['_trackEvent', 'K2 Online Trial', 'Trial Extension', _userName]); } catch (e) { }
                                GetK2Now(obj);
                            }
                        , "json");

                    });
                    $("._K2NowCancel").click(function (e) {
                        var target = $(this).attr("target");
                        var cancelHTML = "<div><div class='SubHead' style='font-size:24px;font-weight:normal;padding-bottom:10px;'>Cancel Trial</div><div>Are you sure you want to cancel this trial? If you choose to cancel, your trial will expire immediately and all related data will be removed.</div><br/><br/><div><input type='button' class='FormButton _K2NowCancelNo' value='Do NOT cancel trial'>&nbsp;<input type='button' class='FormButton _K2NowCancelYes' value='Cancel my trial'></div></div>";
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: cancelHTML, ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 250, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        jQuery("#AjaxMessage").jqmShow();

                        $("._K2NowCancelYes").click(function (e) {
                            jQuery("#jqmContainers").append(GetRoundedCornerPopup("CancelYesMessage"));
                            jQuery("#CancelYesMessage").jqm({ onHide: closeAndKill, html: "Submitting cancel request<br><img src='/img/loader/loader32.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#CancelYesMessage_Body' });
                            jQuery("#CancelYesMessage").jqmShow();
                            $.post(target, postData,
                                function (data) {
                                    jQuery("#CancelYesMessage").jqmHide();
                                    var newMsg = "";
                                    if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred cancelling your trial.<br/><br/><b>If your trial started prior to 5/24/2011, <span class='_K2NowManualCancel' style='cursor:pointer;text-decoration:underline;' target='/K2TryNow/cancel2'>please click here to cancel your trial</span>.</b><br/><br/<br/><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                    else { newMsg = "Your trial has been cancelled.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                                    if (IsEmptyOrNull(newMsg)) {
                                        jQuery("#AjaxMessage").jqmHide();
                                    } else {
                                        jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                                        var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                        jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                                    }
                                    try { _gaq.push(['_trackEvent', 'K2 Online Trial', 'Trial Cancel', _userName]); } catch (e) { }
                                    $.doTimeout(1500, function () {
                                        GetK2Now(obj);
                                    });

                                }
                            , "json");

                        });
                        $("._K2NowCancelNo").click(function (e) {
                            CloseAllPopups();
                            GetK2Now(obj);
                        });

                    });
                    $("._K2NowConnect").click(function (e) {
                        var obj = $(this);
                        var target = $(this).attr("target") + "?RequestedTrialName=" + trialName;
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        jQuery("#AjaxMessage").jqmShow();
                        jQuery("#AjaxMessage_Body").html("<img src='/img/loader/loader32.gif'/><iframe style='border:none;width:1px;height:1px;' src='" + target + "' id='FileDownloadFrame'></iframe>");
                        //look at making this better....  all the different browsers have caused this bad workaround.
                        var errors = "";
                        jQuery("#FileDownloadFrame").load(function () {
                            errors = $(this).contents().find('._ErrorMsg').html();
                            if (!IsEmptyOrNull(errors)) {
                                jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'><div class='Warning'>" + errors + "</div></div>", "AjaxMessage"));
                                var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                            }
                        });
                        $.doTimeout(2000, function () {
                            if (IsEmptyOrNull(errors)) jQuery("#AjaxMessage").jqmHide();
                        });
                        try { _gaq.push(['_trackEvent', 'K2 Online Trial', 'Trial Connect', _userName]); } catch (e) { }
                        //window.open(target);
                    });
                }
            }
        , "json");
    }

    jQuery("._K2NowListSearch").live("keydown", function (event) { if (event.keyCode == '13') event.preventDefault(); });
    jQuery("._K2NowList").each(function (e) {
        var obj = $(this);
        GetK2NowList(obj);
    });
    jQuery("._K2NowStats").each(function (e) {
        var obj = $(this);
        GetK2NowStats(obj);
    });
    function GetK2NowStats(obj) {

    }
    function GetK2NowList(obj) {
        var html = "";
        var filename = obj.attr("target");
        var showExpired = true; var showRunning = true; var showStopped = true; var showPending = true; var showPublic = true; var showPartner = true; var showAWS = true; var showSPS = true;
        var search = "";
        showExpired = $("#_K2NowListFilter_ShowExpired").is(":checked");
        showRunning = $("#_K2NowListFilter_ShowRunning").is(":checked");
        showStopped = $("#_K2NowListFilter_ShowStopped").is(":checked");
        showPending = $("#_K2NowListFilter_ShowPending").is(":checked");
        showPublic = $("#_K2NowListFilter_ShowPublic").is(":checked");
        showPartner = $("#_K2NowListFilter_ShowPartners").is(":checked");
        showAWS = $("#_K2NowListFilter_ShowAWS").is(":checked");
        showSPS = $("#_K2NowListFilter_ShowSPS").is(":checked");
        if ($("#_K2NowListFilter_ShowAll").is(":checked")) { showExpired = true; showRunning = true; showStopped = true; showPending = true; }
        if (!showExpired && !showStopped && !showPending) showRunning = true;
        search = jQuery("._K2NowListSearch").val();
        var hash = window.location.hash;
        if (!IsEmptyOrNull(hash)) {
            var hashParts = hash.split("=");
            if (hashParts[0].toLowerCase() == "#key") {
                search = hashParts[1]; showExpired = true; showRunning = true; showStopped = true; showPending = true; showPublic = true; showPartner = true; showAWS = true; showSPS = true;
                window.location.hash = "";
            }
        }
        obj.html("<img src='/img/loader/loader5.gif'/>");
        var postData = "&ShowExpired=" + showExpired + "&ShowRunning=" + showRunning + "&ShowStopped=" + showStopped + "&ShowPending=" + showPending + "&ShowPublic=" + showPublic + "&ShowPartners=" + showPartner + " &ShowAWS=" + showAWS + "&ShowSPS=" + showSPS;
        if (!IsEmptyOrNull(search)) postData += "&search=" + search;
        $.post(filename, postData,
            function (data) {
                html += "<table width='100%'>";
                var displayColumns;
                var totalColumns = 2;
                for (var x = 0; x < data.length; x++) {
                    if (x == 0) { displayColumns = data[x].DisplayColumns.split("~"); totalColumns += displayColumns.length; }
                    if (!IsEmptyOrNull(data[x].HTML)) { html += "<tr><td colspan='" + totalColumns + "'>" + data[x].HTML + " </td></tr>"; }
                    if (x == 0) {
                        html += "<tr class='_AlternatingRows'>";
                        for (var i = 0; i < displayColumns.length; i++) {
                            html += "<th>" + displayColumns[i].split(":")[0] + "</th>";
                        }
                        html += "<th>Status</th><th width='200px'>Actions</th></tr>";
                        //html += "<th>User Details</th><th>Instance Key</th><th>Trial Name</th><th>Expires</th><th>Last Accessed</th><th>Status</th><th width='200px'>Actions</th></tr>";
                    }
                    if (!IsEmptyOrNull(data[x].Error)) { html += "<tr><td colspan='" + totalColumns + "' class='Warning'>" + data[x].Error + "</td></tr>"; }
                    else {
                        try {
                            var actions = "";
                            var instanceKey = data[x].InstanceKey;
                            if (!IsEmptyOrNull(instanceKey)) {
                                actions += BuildActionsAWS(data[x], instanceKey);
                            } else if (!IsEmptyOrNull(data[x].SPSSite)) {
                                actions += BuildActionsSPS(data[x]);
                            }

                            html += "<tr class='_AlternatingRows'>";
                            for (var i = 0; i < displayColumns.length; i++) {
                                switch (displayColumns[i].split(":")[1].toLowerCase()) {
                                    case "trialname":
                                        if (IsEmptyOrNull(data[x].SPSSite)) {
                                            html += "<td class='_K2NowControlPanelCell' style='border:solid 1px #ffffff;'><span class='_K2NowHistory' target='/K2TryNow/awsinstancehistory?instanceKey=" + data[x].InstanceKey + "'>" + eval("data[" + x + "]." + displayColumns[i].split(":")[1]) + "</span></td>";
                                        } else {
                                            var spsUserSplit = data[x].SPSUser.split('\\');
                                            html += "<td class='_K2NowControlPanelCell' style=''>" + eval("data[" + x + "]." + displayColumns[i].split(":")[1]);
                                            if (data[x].Status != "expired" && data[x].Status != "removed") html += "<br/>User: " + data[x].SPSUser + "<br/>Password: " + data[x].SPSPass;
                                            html += "</td>";
                                        }
                                        break;
                                    case "userdetails":
                                        var siteName = "Public";
                                        switch (data[x].SiteID) { case 3: siteName = "Partners"; break; case 4: siteName = "Training"; break; default: siteName = "Public"; }
                                        html += "<td class='_K2NowControlPanelCell' style='width:150px;overflow:hidden;'>" + data[x].UserCompany + "<br/>" + data[x].UserFirstName + " " + data[x].UserLastName + "<br/>" + data[x].UserEmail + "<br/>Site: " + siteName + "</td>";
                                        break;
                                    case "trialdetails":
                                        var expireDateString = data[x].ExpireDate; var expireDateValue = new Date(parseInt(expireDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        var createDateString = data[x].CreateDate; var createDateValue = new Date(parseInt(createDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        var lastAccessedDateString = data[x].LastAccessed; var lastAccessedDateValue = new Date(parseInt(lastAccessedDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        if (IsEmptyOrNull(data[x].SPSSite)) {
                                            html += "<td class='_K2NowControlPanelCell' style='width:170px;'>Key: " + data[x].InstanceKey + "<br/>Name: <span class='_K2NowHistory' target='/K2TryNow/awsinstancehistory?instanceKey=" + data[x].InstanceKey + "'>" + data[x].TrialName + "</span><br/>Started: " + dateFormat(createDateValue, "m/d/yy h:MM TT") + " <br/>Expires: " + dateFormat(expireDateValue, "m/d/yy h:MM TT") + "<br/>Accessed: " + dateFormat(lastAccessedDateValue, "m/d/yy h:MM TT") + "</td>";
                                        } else {
                                            html += "<td class='_K2NowControlPanelCell' style='width:170px;'>Site: <a href='" + data[x].SPSSite + "' target='_blank'>Open</a><br/>User: " + data[x].SPSUser + "<br/>Password: " + data[x].SPSPass + "<br/>Name: " + data[x].TrialName + "<br/>Started: " + dateFormat(createDateValue, "m/d/yy h:MM TT") + " <br/>Expires: " + dateFormat(expireDateValue, "m/d/yy h:MM TT") + "<br/>Accessed: " + dateFormat(lastAccessedDateValue, "m/d/yy h:MM TT") + "</td>";
                                        }
                                        break;
                                    case "instancedates":
                                        //Expires:ExpireDate~Last Access:LastAccessed
                                        var expireDateString = data[x].ExpireDate; var expireDateValue = new Date(parseInt(expireDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        var createDateString = data[x].CreateDate; var createDateValue = new Date(parseInt(createDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        var lastAccessedDateString = data[x].LastAccessed; var lastAccessedDateValue = new Date(parseInt(lastAccessedDateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        html += "<td class='_K2NowControlPanelCell' style=''>Started: " + dateFormat(createDateValue, "m/d/yy h:MM TT") + " <br/>Expires: " + dateFormat(expireDateValue, "m/d/yy h:MM TT") + "<br/>Accessed: " + dateFormat(lastAccessedDateValue, "m/d/yy h:MM TT") + "</td>";
                                        break;
                                    case "owners":
                                        var tsOwner = data[x].TS; var bdmOwner = data[x].BDM; var notes = data[x].Notes;
                                        if (IsEmptyOrNull(tsOwner)) tsOwner = "Take Ownership"; if (IsEmptyOrNull(bdmOwner)) bdmOwner = "Take Ownership"; if (IsEmptyOrNull(notes)) notes = "Add Notes";
                                        if (IsEmptyOrNull(data[x].SPSSite)) {
                                            html += "<td class='_K2NowControlPanelCell' style='width:150px;overflow:hidden;'><div>TS: <span class='_K2NowOwner' target='/K2TryNow/tsOwnerAWS?instanceKey=" + data[x].InstanceKey + "''>" + tsOwner + "</span></div><div>BDM: <span class='_K2NowOwner' target='/K2TryNow/bdmOwnerAWS?instanceKey=" + data[x].InstanceKey + "'>" + bdmOwner + "</span></div><div>NOTES:<div class='_K2NowNotes' style='max-height:60px;overflow:scroll-y;' target='/K2TryNow/addNotesAWS?instanceKey=" + data[x].InstanceKey + "'>" + notes + "</div></div></td>";
                                        } else {
                                            var spsUserSplit = data[x].SPSUser.split('\\');
                                            html += "<td class='_K2NowControlPanelCell' style='width:150px;overflow:hidden;'><div>TS: <span class='_K2NowOwner' target='/K2TryNow/tsOwnerSPS?spsuser=" + spsUserSplit[1] + "''>" + tsOwner + "</span></div><div>BDM: <span class='_K2NowOwner' target='/K2TryNow/bdmOwnerSPS?spsuser=" + spsUserSplit[1] + "'>" + bdmOwner + "</span></div><div>NOTES:<div class='_K2NowNotes' style='max-height:60px;overflow:scroll-y;' target='/K2TryNow/addNotesSPS?spsuser=" + spsUserSplit[1] + "'>" + notes + "</div></div></td>";
                                        }
                                        break;
                                    case "expiredate":
                                    case "lastaccessed":
                                        var dateString = eval("data[" + x + "]." + displayColumns[i].split(":")[1]);
                                        var dateValue = new Date(parseInt(dateString.replace(/\/Date\((\d+)\)\//, '$1')));
                                        html += "<td class='_K2NowControlPanelCell' style=''>" + dateFormat(dateValue, "m/d/yy h:MM TT") + "</td>";
                                        break;
                                    default:
                                        html += "<td class='_K2NowControlPanelCell' style=''>" + eval("data[" + x + "]." + displayColumns[i].split(":")[1]) + "</td>";
                                        break;
                                }

                            }
                            html += "<td class='_K2NowStatus _K2NowControlPanelCell' style='width:100px;overflow:hidden;'>" + data[x].Status + "</td><td class='_K2NowControlPanelCell' style='width:175px;overflow:hidden;'>" + actions + "</div></td></tr>";
                        } catch (e) { }
                    }
                }
                html += "</table>";
                obj.html(html);

                obj.parent().parent().height(obj.height() + 50);
                SetupRows();
                $("._K2NowOwner").die("click");
                $("._K2NowOwner").live("click", function (e) {
                    var url = $(this).attr("target");
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("K2NowOwner", 'RoundCornersPopupNew'));
                    jQuery("#K2NowOwner").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "", ajaxMethod: "json", addRoundCorners: true, overlay: 65, modal: false, width: 325, height: 150, innerWidthOffset: 40, innerHeightOffset: 40, target: '#K2NowOwner_Body' });
                    jQuery("#K2NowOwner").jqmShow();
                    $("._K2NowOwnerClaim").die("click");
                    $("._K2NowOwnerClaim").live("click", function (e) {
                        var claimurl = url.replace("Owner" + $(this).attr("target") + "?", "OwnerClaim" + $(this).attr("target") + "?");
                        jQuery("#K2NowOwner").jqmHide();
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        jQuery("#AjaxMessage").jqmShow();
                        jQuery("#AjaxMessage_Body").html("<img src='/img/loader/loader32.gif'/>");
                        $.post(claimurl, "",
                            function () {
                                $.doTimeout(500, function () {
                                    jQuery("#AjaxMessage").jqmHide();
                                    GetK2NowList(obj);
                                });
                            }
                        , "json");

                    });
                    $("._K2NowOwnerCancel").die("click");
                    $("._K2NowOwnerCancel").live("click", function (e) {
                        CloseAllPopups();
                    });
                });
                $("._K2NowNotes").die("click");
                $("._K2NowNotes").live("click", function (e) {
                    var url = $(this).attr("target");
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("K2NowNotes", 'RoundCornersPopupNew'));
                    jQuery("#K2NowNotes").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "", ajaxMethod: "json", addRoundCorners: true, overlay: 65, modal: false, width: 600, height: 475, innerWidthOffset: 40, innerHeightOffset: 40, target: '#K2NowNotes_Body' });
                    jQuery("#K2NowNotes").jqmShow();
                    $("._K2NowNotesSave").die("click");
                    $("._K2NowNotesSave").live("click", function (e) {
                        SaveNotes("Save", $(this).attr("target"));
                    });
                    $("._K2NowNotesUpdate").die("click");
                    $("._K2NowNotesUpdate").live("click", function (e) {
                        SaveNotes("Update", $(this).attr("target"));
                    });
                    function SaveNotes(action, target) {
                        var notesURL = url.replace("Notes" + target + "?", "NotesSave" + target + "?");
                        var postData = "&Notes=" + encodeURIComponent(jQuery("#_K2NowAddNote").val()) + "&Type=" + action;
                        jQuery("#K2NowNotes").jqmHide();
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        jQuery("#AjaxMessage").jqmShow();
                        jQuery("#AjaxMessage_Body").html("<img src='/img/loader/loader32.gif'/>");
                        $.post(notesURL, postData,
                            function () {
                                $.doTimeout(500, function () {
                                    jQuery("#AjaxMessage").jqmHide();
                                    GetK2NowList(obj);
                                });
                            }
                        , "json");

                    }
                    $("._K2NowNotesCancel").die("click");
                    $("._K2NowNotesCancel").live("click", function (e) {
                        CloseAllPopups();
                    });
                });
                $("._K2NowStatusCheck").each(function (e) {
                    GetStatus($(this).attr("currentstatus"), $(this).attr("expectedstatus"), $(this), $(this).parent(), $(this).parent().parent().parent().children("._K2NowStatus"), $(this).attr("instancekey"));
                });

                $("._K2NowHistory").click(function (e) {
                    var url = $(this).attr("target");
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("K2NowHistory", 'RoundCornersPopupNew'));
                    //jQuery("#jqmContainers").append($("<div id='InlineForm' class='jqmWindow' style='text-align:center;vertical-align:middle;'><div class='RoundCornersPopupNew' id='InlineForm_Body'><img src='/img/loader/loader32.gif'/></div></div>"));
                    jQuery("#K2NowHistory").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "", ajaxMethod: "json", addRoundCorners: true, overlay: 65, modal: false, width: 600, height: 600, innerWidthOffset: 40, innerHeightOffset: 40, target: '#K2NowHistory_Body' });
                    jQuery("#K2NowHistory").jqmShow();
                });

                $("._K2NowConnect").die("click");
                $("._K2NowConnect").live("click", function (e) {
                    var actionNode = $(this);
                    var actionsNode = actionNode.parent();
                    var statusNode = actionsNode.parent().parent().children("._K2NowStatus");
                    var instanceKey = $(this).attr("instancekey");
                    var target = $(this).attr("target")
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                    jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                    jQuery("#AjaxMessage").jqmShow();
                    jQuery("#AjaxMessage_Body").html("<img src='/img/loader/loader32.gif'/><iframe style='border:none;width:1px;height:1px;' src='" + target + "' id='FileDownloadFrame'></iframe>");
                    //look at making this better....  all the different browsers have caused this bad workaround.
                    var errors = "";
                    jQuery("#FileDownloadFrame").load(function () {
                        errors = $(this).contents().find('._ErrorMsg').html();
                        if (!IsEmptyOrNull(errors)) {
                            jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'><div class='Warning'>" + errors + "</div></div>", "AjaxMessage"));
                            var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                            jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                            GetStatus("", "", actionNode, actionsNode, statusNode, instanceKey);
                        }
                    });
                    $.doTimeout(2000, function () {
                        if (IsEmptyOrNull(errors)) jQuery("#AjaxMessage").jqmHide();
                    });
                });
                $("._K2NowAction").die("click");
                jQuery("._K2NowAction").live("click", function (e) {
                    //Post Action
                    var actionNode = $(this);
                    var actionsNode = actionNode.parent();
                    var statusNode = actionsNode.parent().parent().children("._K2NowStatus");
                    var currentStatus = statusNode.html();
                    actionsNode.html("<img src='/img/loader/loader32.gif'/>");
                    statusNode.html(statusNode.html());
                    var target = actionNode.attr("target");
                    var instanceKey = actionNode.attr("instancekey");
                    var expectedStatus = actionNode.attr("expectedStatus");
                    $.post(target, "",
                            function () {
                                $.doTimeout(5000, function () {
                                    GetStatus(currentStatus, expectedStatus, actionNode, actionsNode, statusNode, instanceKey);
                                });
                            }
                        , "json");

                });
                $("._K2NowExtend").die("click");
                $("._K2NowExtend").live("click", function (e) {
                    var target = $(this).attr("target");
                    var actionNode = $(this);
                    var actionsNode = actionNode.parent();
                    var statusNode = actionsNode.parent().parent().children("._K2NowStatus");
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                    jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "Submitting extension request<br><img src='/img/loader/loader5.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                    jQuery("#AjaxMessage").jqmShow();
                    $.post(target, postData,
                    function (data) {
                        var newMsg = "";
                        if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred extending your trial.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                        else if (data.Error.indexOf("APPROVAL") > -1) { newMsg = "Your trial extension request has been sent for approval.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                        if (IsEmptyOrNull(newMsg)) {
                            jQuery("#AjaxMessage").jqmHide();
                        } else {
                            jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                            var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                            jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                        }
                        try { _gaq.push(['_trackEvent', 'K2 Online Trial', 'Trial Extension', _userName]); } catch (e) { }
                        GetK2NowList(jQuery("._K2NowList"));
                    }
                , "json");

                });
                $("._K2NowCancel").die("click");
                $("._K2NowCancel").live("click", function (e) {
                    var target = $(this).attr("target");
                    var cancelHTML = "<div><div class='SubHead' style='font-size:24px;font-weight:normal;padding-bottom:10px;'>Cancel Trial</div><div>Are you sure you want to cancel this trial? If you choose to cancel, your trial will expire immediately and all related data will be removed.</div><br/><br/><div><input type='button' class='FormButton _K2NowCancelNo' value='Do NOT cancel trial'>&nbsp;<input type='button' class='FormButton _K2NowCancelYes' value='Cancel my trial'></div></div>";
                    jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                    jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: cancelHTML, ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 250, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                    jQuery("#AjaxMessage").jqmShow();

                    $("._K2NowCancelYes").click(function (e) {
                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("CancelYesMessage"));
                        jQuery("#CancelYesMessage").jqm({ onHide: closeAndKill, html: "Submitting cancel request<br><img src='/img/loader/loader32.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 300, height: 200, innerWidthOffset: 40, innerHeightOffset: 40, target: '#CancelYesMessage_Body' });
                        jQuery("#CancelYesMessage").jqmShow();
                        $.post(target, postData,
                        function (data) {
                            jQuery("#CancelYesMessage").jqmHide();
                            var newMsg = "";
                            if (data.Error.indexOf("ERROR") > -1) { newMsg = "An error ocurred cancelling your trial.<br/><br/><b>If your trial started prior to 5/24/2011, <span class='_K2NowManualCancel' style='cursor:pointer;text-decoration:underline;' target='/K2TryNow/cancel2'>please click here to cancel your trial</span>.</b><br/><br/<br/><a href='javascript:CloseAllPopups();'>Close</a>"; }
                            else { newMsg = "Your trial has been cancelled.<br><br><a href='javascript:CloseAllPopups();'>Close</a>"; }
                            if (IsEmptyOrNull(newMsg)) {
                                jQuery("#AjaxMessage").jqmHide();
                            } else {
                                jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + newMsg + "</div>", "AjaxMessage"));
                                var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                                jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
                            }
                            try { _gaq.push(['_trackEvent', 'K2 Online Trial', 'Trial Cancel', _userName]); } catch (e) { }
                            $.doTimeout(1500, function () {
                                GetK2NowList(jQuery("._K2NowList"));
                            });

                        }
                    , "json");

                    });
                    $("._K2NowCancelNo").click(function (e) {
                        CloseAllPopups();
                        GetK2NowList(jQuery("._K2NowList"));
                    });

                });

                function BuildActionsAWS(data, instanceKey) {
                    var actions = "";
                    switch (data.Status.toLowerCase()) {
                        case "starting":
                        case "pending":
                            actions += "<div class='_K2NowActions'><div class='_K2NowStatusCheck' currentstatus='" + data.Status + "' expectedstatus='running' instancekey='" + instanceKey + "'><img src='/img/loader/loader32.gif'/></div></div>";
                            break;
                        case "stopping":
                        case "shutting-down":
                            actions += "<div class='_K2NowActions'><div class='_K2NowStatusCheck' currentstatus='" + data.Status + "' expectedstatus='stopped' instancekey='" + instanceKey + "'><img src='/img/loader/loader32.gif'/></div></div>";
                            break;
                        case "running":
                        case "pending extension approval":
                            actions += "<div class='_K2NowActions'>";
                            actions += "<div class='LeftPad5 _K2NowConnect' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/connect.rdp?instancekey=" + instanceKey + "' expectedStatus='' title='Connect as Administrator'>&nbsp;</div>";
                            if (data.CurrentUserEmail != data.UserEmail) actions += "<div class='LeftPad5 _K2NowConnect' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/connect2.rdp?instancekey=" + instanceKey + "' expectedStatus='' title='Connect as K2Field'>&nbsp;</div>";
                            actions += "<div class='LeftPad5 _K2NowAction _K2NowStop' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/shutdown?instancekey=" + instanceKey + "' expectedStatus='stopped'>&nbsp;</div>";
                            if (!IsEmptyOrNull(data.SN)) {
                                actions += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/extend?instancekey=" + instanceKey + "'>&nbsp;</div>";
                                actions += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/cancel?instancekey=" + instanceKey + "'>&nbsp;</div>";
                            }
                            actions += "</div>";
                            break;
                        case "stopped":
                            actions += "<div class='_K2NowActions'><div class='LeftPad5 _K2NowAction _K2NowStart' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/start?instancekey=" + instanceKey + "' expectedStatus='running'>&nbsp;</div>";
                            if (!IsEmptyOrNull(data.SN)) {
                                actions += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/extend?instancekey=" + instanceKey + "'>&nbsp;</div>";
                                actions += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' instancekey='" + instanceKey + "' target='/K2TryNow/cancel?instancekey=" + instanceKey + "'>&nbsp;</div>";
                            }
                            actions += "</div>";
                            break;
                    }
                    return actions;
                }
                function BuildActionsSPS(data) {
                    var actions = "";
                    switch (data.Status.toLowerCase()) {
                        case "running":
                        case "pending extension approval":
                            actions += "<div class='_K2NowActions'><a href='" + data.SPSSite + "' style='text-decoration:none;' target='_blank'><div class='LeftPad5 _K2NowConnect' style='width:100%;cursor:pointer;'></div></a>";
                            if (!IsEmptyOrNull(data.SN)) {
                                var spsUserSplit = data.SPSUser.split('\\');
                                actions += "<div class='LeftPad5 _K2NowExtend' style='width:100%;cursor:pointer;' spsuser='" + spsUserSplit[1] + "' target='/K2TryNow/spsextend?spsuser=" + spsUserSplit[1] + "'>&nbsp;</div>";
                                actions += "<div class='LeftPad5 _K2NowCancel' style='width:100%;cursor:pointer;' spsuser='" + spsUserSplit[1] + "' target='/K2TryNow/spscancel?spsuser=" + spsUserSplit[1] + "'>&nbsp;</div>";
                            }
                            actions += "</div>";
                            break;
                    }
                    return actions;
                }

                function GetStatus(currentStatus, expectedStatus, actionNode, actionsNode, statusNode, instanceKey) {
                    statusNode.html("Checking status");
                    var filename = "/K2TryNow/";
                    var newStatus = currentStatus;
                    var postData = "&instancekey=" + instanceKey;
                    $.post(filename, postData,
                    function (data) {
                        if (!IsEmptyOrNull(data.Status)) { newStatus = data.Status; }
                        if (newStatus == "connecting") {
                        } else if (newStatus == expectedStatus || newStatus == "terminated" || newStatus == "Pending Approval" || expectedStatus == "") {
                            var actions = "";
                            actions += BuildActionsAWS(data, instanceKey);
                            if (data.Status.toLowerCase() == "running") {
                                statusNode.html("Initializing SharePoint <span id='_SPSInitTime'>0</span>%<img src='/img/loader/loader32.gif'/>");
                                $.doTimeout(1800, function () {
                                    var initdone = Number(statusNode.children("#_SPSInitTime").html());
                                    initdone++;
                                    statusNode.children("#_SPSInitTime").html(initdone);
                                    if (initdone >= 100) {
                                        actionsNode.html(actions);
                                        statusNode.html(capitaliseFirstLetter(data.Status));
                                        //Need to fix height after control panel changes status.
                                        return false;
                                    }
                                    return true;
                                });
                            } else {
                                actionsNode.html(actions);
                                statusNode.html(capitaliseFirstLetter(data.Status));
                            }
                        } else {
                            statusNode.html(capitaliseFirstLetter(newStatus));
                            $.doTimeout(5000, function () {
                                GetStatus(currentStatus, expectedStatus, actionNode, actionsNode, statusNode, instanceKey)
                            });
                        }
                    }
                , "json");
                }
                var _K2NowListSearchPressing;
                jQuery("._K2NowListFilter").change(function (e) {
                    var delay = 1000;
                    if (_K2NowListSearchPressing) {
                        clearTimeout(_K2NowListSearchPressing);
                        _K2NowListSearchPressing = setTimeout(K2NowListSearch, delay);
                    } else {
                        _K2NowListSearchPressing = setTimeout(K2NowListSearch, delay);
                    }
                });
                jQuery("._K2NowListSearch").keyup(function (e) {
                    var delay = 1000;
                    if (e.keyCode == 13) delay = 0;
                    if (_K2NowListSearchPressing) {
                        clearTimeout(_K2NowListSearchPressing);
                        _K2NowListSearchPressing = setTimeout(K2NowListSearch, delay);
                    } else {
                        _K2NowListSearchPressing = setTimeout(K2NowListSearch, delay);
                    }

                });
                function K2NowListSearch() {
                    GetK2NowList(obj);
                }
            }
           , "json");
    }
    //******************End Amazon Trial Functionality********************//

    jQuery("._ExpandImage").css({ 'cursor': 'pointer' });
    jQuery("._ExpandImage").each(function (e) {
        var fullimg = $(this).attr("target");
        if (IsEmptyOrNull(fullimg)) fullimg = $(this).attr("src").replace("_thumbnail", "");
        var t = $(this).position().top - 5;
        var l = $(this).position().left;
        $(this).before("<div class='_ExpandButton' target='" + fullimg + "' style='background:url(/img/Shell/expand.png); background-repeat:no-repeat;background-position:left top; padding:0px;margin:0px;width:20px;height:20px;cursor:pointer;position:absolute;left:" + l + "px;top:" + t + "px;'>&nbsp;</div>");
        $(this).css("padding-left", "5px");
    });
    jQuery("._ExpandImage2").css({ 'cursor': 'pointer' });
    jQuery("._ExpandImage, ._ExpandImage2, ._ExpandButton").live("click", function (e) {
        var fullimg = $(this).attr("target");
        if (IsEmptyOrNull(fullimg)) fullimg = $(this).attr("src").replace("_thumbnail", "");
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("ImagePopup"));
        jQuery("#ImagePopup").jqm({ onHide: closeAndKill, image: fullimg, ajax: "", ajaxText: "", overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#ImagePopup_Body' });
        jQuery("#ImagePopup").jqmShow();
        try { mainCarousel.stop(); } catch (e) { }
    });
    jQuery("#ButtonSearchIcon").click(function (e) {
        e.preventDefault();
        var q = jQuery(".MainSearchBox").val();
        q = q.replace(/<(?:.|\n)*?>/gm, '');
        var lang = "lang_en";
        var currentPath = location.pathname.toLowerCase();
        if (currentPath.indexOf("/zh-cn") > -1) lang = "lang_zh-CN";
        if (currentPath.indexOf("/zh-tw") > -1) lang = "lang_zh-TW";
        ExecuteSearch("/search/?q=" + q + "&filter=1&pageSize=25&languages=" + lang + "&json=true&z=" + Math.random());
        _gaq.push(['_trackEvent', 'Site Search', 'Search', q]);

    });
    jQuery(".MainSearchBox").focusin(function (e) { $(this).val(""); });
    jQuery(".MainSearchBox").focusout(function (e) { if (IsEmptyOrNull($(this).val())) $(this).val("Search"); });
    jQuery(".MainSearchBox").keyup(function (e) {
        if (event.keyCode == '13') { e.preventDefault(); jQuery("#ButtonSearchIcon").click(); }
    });
    jQuery("#form1").submit(function (e) {
        e.preventDefault();
    });
    jQuery("._LicenseKey").each(function (e) {
        var obj = $(this);
        var filename = obj.attr("target");
        var postData = "";
        $.post(filename, postData,
            function (data) {
                obj.html(data);
            }
        );
    });
    var loadFormCheck = getQuerystring("showform", "");
    if (!IsEmptyOrNull(loadFormCheck)) {
        var url = "/forms/form_" + loadFormCheck + ".xml";
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("InlineForm", 'RoundCornersPopupNew'));
        jQuery("#InlineForm").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader32.gif'/>", ajaxMethod: "json", addRoundCorners: true, overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#InlineForm_Body', onLoad: SetupForm }); jQuery("#InlineForm").jqmShow();
    }
    var trackPageCheck = getQuerystring("src", "");
    if (!IsEmptyOrNull(trackPageCheck)) {
        var user = _userName || "Not logged in";
        _gaq.push(['_trackEvent', trackPageCheck + ' Link', location.href, user]);
        var postData = "&LogToEloqua=SocialMediaTracking&elqCustomerGUID=" + GetCookie("EloquaCustID") + "&Source=" + trackPageCheck + "&Location=" + window.location + "&UserName=" + user;
        try { postData += "&publicID=" + _publicid; } catch (e) { }
        postData += "&ReferringPage=" + window.location;
        $.post("/forms/submit.xml?z=" + Math.random(), postData,
		    function (data) { }
        , "json");
    }

    jQuery("#PageNotFound").each(function (e) {
        //need to make a fucntion to handle automatic popups like this search one
        var q = getQuerystring("q", "");
        if (q != "") { jQuery(".MainSearchBox").val(q); jQuery("#ButtonSearchIcon").click(); } else {
            jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
            jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "<div class='Warning'>" + $(this).html() + "</div>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 400, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
            jQuery("#AjaxMessage").jqmShow();
        }
    });

    $.each(jQuery("._ContentList"), function (e) {
        try {
            var targetSection = $(this);
            targetSection.html("<img src='/img/loader/loader5.gif'/>");
            var url = targetSection.attr("target");
            if (!IsEmptyOrNull(url)) {
                url += ((url.indexOf('?') > -1) ? "&" : "?") + "z=" + Math.random();
                var action = "getcontentlistfromrecordfield";
                if (!IsEmptyOrNull($(this).attr("action"))) action = $(this).attr("action");
                var postData = "&action=" + action + "&id=" + publicID + "&langid=" + languageID + "&col=" + $(this).attr("col") + "&targetid=" + targetSection.attr("id");
                postData += RebuildQS(postData);
                //Need to add back the query string options that could be passed in.
                $.post(url, postData,
                function (data) {
                    if (data.length > 0) {
                        if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
                            targetSection.html(data[0].Error);
                        } else {
                            targetSection.html(data[0].HTML);
                            SetupLists();
                        }
                    } else { targetSection.html("No results found"); }
                }
            , "json");
            }
        } catch (e) { }
    });
    jQuery("._FormControl").each(function (e) {
        var sourceID = $(this);
        sourceID.html("<img src='/img/loader/loader32.gif'/>");
        var url = $(this).attr("target");
        var targetURL = url.split("?");
        var postURL = targetURL[0];
        var postData = "";
        try { postData = targetURL[1].replace("?", "&"); } catch (e) { }
        $.post(postURL, postData,
            function (data) {
                if (data.length > 0) {
                    if (!IsEmptyOrNull(data[0].Error)) {
                        sourceID.html(data[0].Error);
                    } else {
                        sourceID.html(data[0].HTML);
                        try { if ("#" + sourceID.parent().attr("id") + "_Contents" == selectedTab) sourceID.parent().parent().animate({ height: sourceID.parent().height() }, "slow"); } catch (e) { }
                        SetupForm();
                        //                        $(":file").makeAsyncUploader({ upload_url: "/files/uploadpost", flash_url: '/scripts/jquery/swfupload.swf', button_image_url: '/scripts/jquery/blankButton.png', file_size_limit: "1024 MB", disableDuringUpload: "#FormButton" });
                        //                        $("input").each(function (e) {
                        //                            sourceID.html(sourceID.html() + "<br>" + $(this).attr("id"));
                        //                        });

                    }
                } else { sourceID.html("Could not load forms"); }
            }
        , "json");
    });

    jQuery('._FileControl, a[href*="ile.ashx"]').live("click", function (e) {
        e.preventDefault();
        var adWordsURL = "";
        try { adWordsURL = $(this).attr("adwordsurl"); } catch (e) { adWordsURL = ""; }
        var adWordsContent = "";
        if (!IsEmptyOrNull(adWordsURL)) adWordsContent = "<img height='1' width='1' style='border-style:none;' alt='' src='" + adWordsURL + "'/>";
        var target = $(this).attr("href");
        _gaq.push(['_trackEvent', 'Downloads', target, _userName]);
        _gaq.push(['_trackPageview', target]);
        var _elqQ = _elqQ || [];
        _elqQ.push(['elqSetSiteId', '876']);
        _elqQ.push(['elqTrackPageView', target]);
        var internalID = $(this).attr("internal_ID");
        if (internalID != "" && internalID != undefined) target += "/" + internalID;
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 400, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
        jQuery("#AjaxMessage").jqmShow();
        jQuery("#AjaxMessage_Body").html(adWordsContent + "<img src='/img/loader/loader32.gif'/><iframe style='border:none;width:1px;height:1px;' src='" + target + "' id='FileDownloadFrame'></iframe>");
        //look at making this better....  all the different browsers have caused this bad workaround.
        var errors = "";
        jQuery("#FileDownloadFrame").load(function () {
            errors = $(this).contents().find('._ErrorMsg').html();
            if (!IsEmptyOrNull(errors)) {
                jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'><div class='Warning'>" + errors + "</div></div>", "AjaxMessage"));
                var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
                jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
            }
        });
        $.doTimeout(2000, function () {
            if (IsEmptyOrNull(errors)) jQuery("#AjaxMessage").jqmHide();
        });

    });
    //Online trial Launching
    jQuery('a[href*=".trial"], a[href*="/trials/"]').each(function (e) {
        $(this).click(function (e) {
            e.preventDefault();
            var url = e.target;
            url += "&json=true";
            var postData = "";
            jQuery("#jqmContainers").append(GetRoundedCornerPopup("OnlineTrialWindow"));
            jQuery("#OnlineTrialWindow").jqm({ onHide: closeAndKill, html: "Launching Online Trial<br><img src='/img/loader/loader5.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 400, innerWidthOffset: 40, innerHeightOffset: 40, target: '#OnlineTrialWindow_Body' });
            jQuery("#OnlineTrialWindow").jqmShow();
            $.post(url, postData,
			    function (data) {
			        if (data.length > 0) {
			            if (!IsEmptyOrNull(data[0].Error)) jQuery("#OnlineTrialWindow_Body").html("<div>The online trial could not be started because of the following error:</div><div style='padding-left:20px;'>" + data[0].Error + "</div>");
			            if (!IsEmptyOrNull(data[0].LoadPage)) {
			                window.open(data[0].LoadPage, "OnlineTrial", "location=0,status=0,menubar=0,toolbar=0,directories=0,resizable=1,scrollbars=1,width=1024,height=768");
			                jQuery("#OnlineTrialWindow_Body").html("<div>Your online trial should have opened in a new window.</div><div style='padding-left:20px;'><a href='" + data[0].LoadPage + "' target='_blank'>Click here if the window does not open</a></div>");
			            }
			        } else {
			            jQuery("#OnlineTrialWindow_Body").html("The online trial could not be started because of an unknown error");
			        }
			    }
            , "json");
        });
    });
    jQuery('iframe').each(function (e) {
        $(this).height(500);
        $(this).load(function () {
            var winHeight = $(window).height() - 300;
            if (winHeight < 400) winHeight = 400;
            $(this).height(winHeight);

        });
    });

    //replaces videoplaceholders with actual video
    SetupVideos();

    jQuery("._CheckBoxDDTitle").live("click", function (e) {
        jQuery(this).next().toggleClass("Off");
        jQuery(this).toggleClass("_CheckBoxDDTitleOpen");
    });

    jQuery(".FormInput:text,.FormInputLight:text, textarea").live("focus", function (e) {
        try { if (jQuery(this).val() == jQuery(this).attr("EmptyValue")) jQuery(this).val(""); } catch (e) { }
    });

    jQuery(".FormInput:text,.FormInputLight:text, textarea").live("blur", function (e) {
        try { if (jQuery(this).val() == "" && jQuery(this).attr("addLabel") == "True") jQuery(this).val(jQuery(this).attr("EmptyValue")); } catch (e) { }
    });

    jQuery(".FormButton").live("click", function (e) {
        e.preventDefault();
        if ($(this).val() != "") $(this).parents("form").attr("action", $(this).val())
        jQuery("._DynamicForm").submit();
    });

    function UpdateDropDownField(postpath, postData, controlID) {
        $.post(postpath, postData,
			function (data) {
			    if (data.length > 0) {
			        if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
			            //jQuery("#AjaxMessage_Body").html();
			            jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
			            jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + data[0].Error + "</div>", "AjaxMessage"), ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 400, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
			            jQuery("#AjaxMessage").jqmShow();
			            var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
			            jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
			        } else {
			            jQuery("#" + controlID).children("option").remove();
			            var selectedValue = jQuery("#" + controlID).attr("defaultvalue");
			            $.each(data, function (key, value) {
			                var selectedValueText = "";
			                if (value.ddOptionText == selectedValue) { selectedValueText = " selected='true'"; } else { selectedValueText = ""; }
			                jQuery("#" + controlID).append($("<option" + selectedValueText + "></option>").val(value.ddOptionValue).html(value.ddOptionText));
			            });
			            jQuery("#" + controlID).css("display", "block");
			            //jQuery("#AjaxMessage").jqmHide();
			            jQuery("#" + controlID + "_loading").remove();
			        }
			    } else {
			        jQuery("#" + controlID + "_loading").remove();
			        //jQuery("#AjaxMessage").jqmHide();
			    }
			}
        , "json");
    }

    function SetupDropDowns() {
        jQuery("._FormInputDropDownOnChange").each(function (index) {
            SetupDropDown($(this));
        });
    }
    function SetupDropDown(obj) {
        var values = obj.val().split('~');
        var controls = obj.attr("ShowControls").split(';');
        for (var x = 0; x < controls.length; x++) {
            controlDetails = controls[x].split(':');
            switch (controlDetails[2]) {
                case "select":
                case "selecthide":
                    jQuery("#" + controlDetails[0]).children("option").each(function (index) {
                        var splitValues = $(this).val().split("~");
                        if (splitValues[0] == values[controlDetails[1]]) {
                            jQuery("#" + controlDetails[0]).css("display", ((controlDetails[2].toLowerCase() == "selecthide") ? "none" : "block"));
                            $(this).attr("selected", "selected");
                            return false;
                        }
                    });
                    break;
                case "supportticket":
                case "opportunityregistration":
                    var emptyValue = ""; try { emptyValue = jQuery("#" + controlDetails[0]).attr("EmptyValue"); } catch (e) { emptyValue = ""; }
                    var optionValueOrder = "";
                    var optionTextOrder = "";
                    try { optionValueOrder = jQuery("#" + controlDetails[0]).attr("optionValueOrder"); } catch (e) { }
                    try { optionTextOrder = jQuery("#" + controlDetails[0]).attr("optionTextOrder"); } catch (e) { }
                    if (values[controlDetails[1]] != "") {
                        var postData = "&method=" + controlDetails[3] + "&EmptyValue=" + emptyValue + "&params=" + values[controlDetails[1]] + "&optionValueOrder=" + optionValueOrder + "&optionTextOrder=" + optionTextOrder;
                        //                        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
                        //                        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "Retreiving Data<br><img src='/img/loader/loader5.gif'/>", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 400, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
                        //                        jQuery("#AjaxMessage").jqmShow();
                        var controlID = controlDetails[0];
                        obj.parent().css({ "position": "relative" });
                        var w = obj.width() + 16;
                        var h = obj.position().top;
                        obj.parent().append($("<span style='position:absolute;top:" + h + "px;left:" + w + "px;' id='" + controlID + "_loading'><img src='/img/loader/loader16.gif'/></span>"));
                        jQuery("#" + controlID).css("display", "none");
                        var postpath = "/forms/get" + controlDetails[2] + "data.xml?z=" + Math.random();
                        UpdateDropDownField(postpath, postData, controlID);

                    }
                    //try { GetFormDropDownValues("/forms/getopportunityregistrationdata.xml", "&method=" + controlDetails[3] + "&EmptyValue=" + empyValue + "&params=" + values[controlDetails[1]] + "&optionValueOrder=" + optionValueOrder + "&optionTextOrder=" + optionTextOrder, jQuery("#" + controlDetails[0]).id); } catch (e) { alert("here: " + e.message); }
                    break;
                case "conditional":
                    if (controlDetails[1].indexOf('!') == 0) {
                        //need to update this like below
                        jQuery("#" + controlDetails[0]).css("display", (("!" + obj.val()) != controlDetails[1]) ? "block" : "none");
                    } else {
                        var valSplit = obj.val().split("~");
                        var matchSplit = controlDetails[1].split("~");
                        var matched = false;
                        for (var valCount = 0; valCount < valSplit.length; valCount++) {
                            for (var matchCount = 0; matchCount < matchSplit.length; matchCount++) {
                                if (valSplit[valCount] == matchSplit[matchCount]) {
                                    matched = true; break;
                                }
                                if (matched) break;
                            }
                        }
                        jQuery("#" + controlDetails[0]).css("display", (matched) ? "block" : "none");
                    }
                    break;
            }
        }
        try { jQuery(selectedTab).click(); } catch (e) { }
    }
    jQuery("._FormInputDropDownOnChange").live("change", function (e) {
        SetupDropDown($(this));
    });

    jQuery("._DynamicForm").live("submit", function (e) {
        e.preventDefault();
        var msgID = "#" + $(this).attr("id") + "_msg";
        //Add something to prevent multiple submissions
        var formErrors = ValidateForm($(this));
        //POST Form
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("AjaxMessage"));
        jQuery("#AjaxMessage").jqm({ onHide: closeAndKill, html: "", ajax: "", ajaxText: "", overlay: 65, modal: false, width: 400, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#AjaxMessage_Body' });
        jQuery("#AjaxMessage").jqmShow();
        if (formErrors != "") {
            formErrors += "<div style='width:100%;text-align:center;text-decoration:underline;cursor:pointer;' class='_DynamicFormClose' id='AjaxMessage_close'>Close</div>";
            jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + formErrors + "</div>", "AjaxMessage"));
            var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
            jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
        } else {
            var additionalPostData = ParseAdditonalPostNames($(this));
            var action = $(this).attr("action");
            var postData = $(this).serialize() + "&action=" + action + additionalPostData + "&elqCustomerGUID=" + GetCookie("EloquaCustID");
            try { postData += "&publicID=" + _publicid; } catch (e) { }
            postData += "&ReferringPage=" + window.location;
            //            var taskid = getQuerystring("taskid", null);
            //            if (!IsEmptyOrNull(taskid)) postData += "&LogToAction=" + taskid;
            $.post("/forms/submit.xml?z=" + Math.random(), postData,
			function (data) {
			    if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
			        //jQuery("#AjaxMessage_Body").html(data[0].Error);
			        jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + data[0].Error + "<div style='width:100%;text-align:center;text-decoration:underline;cursor:pointer;' class='_DynamicFormClose' id='AjaxMessage_close'>Close</div></div>", "AjaxMessage"));
			        var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
			        jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
			        _gaq.push(['_trackEvent', 'Forms', 'Post Form Failure', action]);
			    } else {
			        _gaq.push(['_trackEvent', 'Forms', 'Post Form Success', action]);
			        if (data[0].FormToLoad != "" && data[0].FormToLoad != null && data[0].FormToLoad != "null") {
			            jQuery("#AjaxMessage").jqmHide();
			            var nextForm = ""; if (data[0].NextFormToLoad != null && data[0].NextFormToLoad != "" && data[0].NextFormToLoad != "null") { nextForm = "&OnSuccessLoadForm=" + data[0].NextFormToLoad; } else { nextForm = ""; }
			            var secondForm = data[0].FormToLoad.replace(".xml", "");
			            var passToNextForm = "";
			            if (data[0].PassToNextForm != "" && data[0].PassToNextForm != null && data[0].PassToNextForm != "null") passToNextForm = data[0].PassToNextForm;
			            jQuery("#jqmContainers").append(GetRoundedCornerPopup(secondForm));
			            jQuery("#" + secondForm).jqm({ onHide: closeAndKill, ajax: "/forms/" + data[0].FormToLoad + "?callingWindow=" + secondForm + nextForm + passToNextForm, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: "#" + secondForm + "_Body" });
			            jQuery("#" + secondForm).jqmShow();
			        } else if (data[0].Confirmation != "" && data[0].Confirmation != null && data[0].Confirmation != "null") {
			            jQuery("#AjaxMessage_Body").html(MakeRoundCornerPopup("<div id='AjaxMessage_Contents'>" + data[0].Confirmation + "<div style='width:100%;text-align:center;text-decoration:underline;cursor:pointer;' class='_DynamicFormClose' id='AjaxMessage_close'>Close</div></div>", "AjaxMessage"));
			            var newH = jQuery("#AjaxMessage_Contents").innerHeight() + 40;
			            jQuery("#AjaxMessage_Body").animate({ height: newH }, 500);
			        } else {
			            jQuery("#AjaxMessage").jqmHide();
			            if (data[0].RefreshPage != "" && data[0].RefreshPage != null && data[0].RefreshPage != "null") location.reload();
			            if (data[0].LoadPage != "" && data[0].LoadPage != null && data[0].LoadPage != "null") {
			                $.doTimeout(1500, function () {
			                    location.href = data[0].LoadPage;
			                });
			            }
			        }
			        if (data[0].CloseWindow != "" && data[0].CloseWindow != null && data[0].CloseWindow != "null") {
			            var windowList = data[0].CloseWindow.split(",");
			            for (var x = 0; x < windowList.length; x++) jQuery("#" + windowList[x]).jqmHide();
			        }
			    }
			}, "json");
        }
    });
    jQuery("._DynamicFormClose").live("click", function (e) { try { jQuery("#" + $(this).attr("id").replace("_close", "")).jqmHide(); } catch (e) { } });

    var ParseAdditonalPostNames = function (form) {
        var params = "";
        $(":input", form).each(function (i) {
            var obj = $(this);
            var postNames = obj.attr("postnames");
            if (postNames != undefined) {
                var itemValue = obj.val();
                try { itemValueSplit = itemValue.split('~'); itemValue = itemValueSplit[0]; } catch (e) { }
                var postNamesSplit = postNames.split('~');
                for (var z = 0; z < postNamesSplit.length; z++) {
                    var postNameElementIDs = postNamesSplit[z].split(',');
                    for (var e = 0; e < postNameElementIDs.length; e++) {
                        switch (z) {
                            case 0: params += "&" + postNameElementIDs[e] + "=" + escape(itemValue); break;
                            case 1: params += "&" + postNameElementIDs[e] + "=" + ((itemValue == "") ? "" : escape(jQuery("#" + obj.attr("id") + " option:selected").text())); break;
                        }
                    }
                }
            }
        });
        return params;
    };
    var ValidateForm = function (form) {
        var errorMsg = "";
        $(":input, textarea", form).each(function (i) {
            var obj = $(this);
            var formError = false;
            var fieldDisabled = false;
            try { if (obj.attr("disabled") == "disabled" || obj.attr("disabled") == "true" || obj.attr("disabled") == true) { fieldDisabled = true; } } catch (e) { fieldDisabled = false; }
            if (!fieldDisabled) {
                switch (this.type) {
                    case "hidden":
                    case "text":
                    case "password":
                    case "textarea":
                        if (obj.css("display") != "none" || this.type == "password") {
                            switch (obj.attr("requirefield")) {
                                case undefined:
                                case "undefined":
                                case "":
                                case "false":
                                    if (obj.val() == obj.attr("EmptyValue") && this.type != "hidden") { obj.val(""); }
                                    break;
                                case "true":
                                    if (obj.val() == "" || obj.val() == obj.attr("EmptyValue")) {
                                        obj.addClass("FormInputError");
                                        errorMsg += obj.attr("EmptyValue") + " is required<br>";
                                        formError = true;
                                    } else { if (formError == false) obj.removeClass("FormInputError"); }
                                    break;
                                default:
                                    var pattern = null;
                                    var formatName = "";
                                    var requiredValue = "";
                                    try { requiredValue = obj.attr("requirefield").toLowerCase(); } catch (e) { requiredValue = ""; }
                                    switch (requiredValue) {
                                        case "int":
                                            pattern = new RegExp(/^[1-9]+[0-9]*$/gi);
                                            formatName = "only integers";
                                        case "decimal":
                                        case "number":
                                            pattern = new RegExp(/^([0-9]*|\d*\.\d{1}?\d*)$/gi);
                                            formatName = "numbers and decimal points";
                                            break;
                                        case "email":
                                            //pattern = new RegExp(/^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$/gi);
                                            pattern = new RegExp("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b", "gi");
                                            formatName = "a valid email address";
                                            break;
                                        case "filename":
                                            pattern = new RegExp(/^\b[\w\.\-_\s]*\b$/gi);
                                            formatName = "only letters, numbers, periods (.), dashes (-), and underscores (_) and spaces.";
                                            break;
                                        case "lettersnumbers":
                                            pattern = new RegExp(/^([A-Za-z0-9]*)$/gi);
                                            formatName = "only letters and numbers.";
                                            break;
                                        default:
                                            pattern = new RegExp(obj.attr("requirefield"), "gi");
                                            break;
                                    }
                                    if (!pattern.test(obj.val())) {
                                        obj.addClass("FormInputError");
                                        if (formatName == "") {
                                            errorMsg += obj.attr("EmptyValue") + " does not match the required format<br/>";
                                        } else {
                                            errorMsg += obj.attr("EmptyValue") + " must contain " + formatName + "<br/>";
                                        }
                                        formError = true;
                                    } else { if (formError == false) obj.removeClass("FormInputError"); }
                                    break;
                            }
                            //Min Length
                            try {
                                if (Number(obj.attr("min")) != NaN && Number(obj.attr("min")) > 0 && obj.attr("min") != undefined) {
                                    if (obj.val().length < Number(obj.attr("min"))) {
                                        obj.addClass("FormInputError");
                                        errorMsg += obj.attr("EmptyValue") + " must be at least " + obj.attr("min") + " characters<br>";
                                        formError = true;
                                    } else { if (formError == false) obj.removeClass("FormInputError"); }
                                }
                            } catch (e) { }
                            //Max Length
                            try {
                                if (Number(obj.attr("max")) != NaN && Number(obj.attr("max")) > 0 && obj.attr("max") != undefined) {
                                    if (obj.val().length > Number(obj.attr("max"))) {
                                        obj.addClass("FormInputError");
                                        errorMsg += obj.attr("EmptyValue") + " must be less than " + obj.attr("max") + " characters<br>";
                                        formError = true;
                                    } else { if (formError == false) obj.removeClass("FormInputError"); }
                                }
                            } catch (e) { }
                            //Matches another control
                            try {
                                var matchID = obj.attr("match");
                                if (matchID != "" && matchID != null && matchID != undefined && matchID != "undefined") {
                                    var matchValue = "";
                                    if (matchID.indexOf("!domain:") == 0) {
                                        matchID = matchID.replace("!domain:", "");
                                        try {
                                            matchValue = jQuery("#" + matchID).val().split("@");
                                            var objValue = obj.val().split("@");
                                            if (objValue[1] == matchValue[1]) {
                                                obj.addClass("FormInputError");
                                                errorMsg += obj.attr("EmptyValue") + " domain cannot match " + jQuery("#" + matchID).attr("EmptyValue") + " domain<br>";
                                                formError = true;
                                            } else { if (formError == false) obj.removeClass("FormInputError"); }
                                        } catch (e) { if (formError == false) obj.removeClass("FormInputError"); }
                                    }
                                    else if (matchID.indexOf("!") == 0) {
                                        matchID = matchID.replace("!", "");
                                        matchValue = jQuery("#" + matchID).val();
                                        if (obj.val() == matchValue) {
                                            obj.addClass("FormInputError");
                                            errorMsg += obj.attr("EmptyValue") + " cannot match " + jQuery("#" + matchID).attr("EmptyValue") + "<br>";
                                            formError = true;
                                        } else { if (formError == false) obj.removeClass("FormInputError"); }
                                    } else {
                                        matchValue = jQuery("#" + matchID).val();
                                        if (obj.val() != matchValue) {
                                            obj.addClass("FormInputError");
                                            errorMsg += obj.attr("EmptyValue") + " does not match " + jQuery("#" + matchID).attr("EmptyValue") + "<br>";
                                            formError = true;
                                        } else { if (formError == false) obj.removeClass("FormInputError"); }
                                    }
                                }
                            } catch (e) { }
                        }
                        break;
                    case "select-one":
                        try {
                            if (obj.css("display") != "none") {
                                if (obj.attr("requirefield") == "true" && (obj.val() == "" || obj.val() == obj.attr("EmptyValue"))) {
                                    obj.addClass("FormInputError");
                                    var fieldName = obj.attr("EmptyValue"); if (IsEmptyOrNull(fieldName)) fieldName = obj.attr("id");
                                    errorMsg += fieldName + " is required<br>";
                                } else { obj.removeClass("FormInputError"); }
                            }
                        } catch (e) { }
                        break;
                    case "select-multiple":
                        //TODO!!!!
                        break;
                    case "checkbox":
                        if (obj.css("display") != "none") {
                            if (obj.attr("requirefield") == "true" && !obj.is(':checked')) {
                                obj.addClass("FormInputError");
                                var fieldName = obj.attr("EmptyValue"); if (IsEmptyOrNull(fieldName)) fieldName = obj.attr("id");
                                errorMsg += fieldName + " is required<br>";
                                formError = true;
                            } else { if (formError == false) obj.removeClass("FormInputError"); }
                        }
                        break;
                    default:
                        //alert(this.type);
                        break;
                }
            }

        });
        return errorMsg;
    };

    //jQuery("._InlineForm").css({ 'cursor': 'pointer', 'text-decoration': 'underline' });
    jQuery("._InlineForm").live("click", function (e, optionalTarget) {
        e.preventDefault(); if (UnderMaintenance()) return false; var url = (optionalTarget != undefined) ? optionalTarget : $(this).attr("target"); url += ((url.indexOf("?") > -1) ? "&" : "?") + "callingWindow=InlineForm";
        if (!IsEmptyOrNull($(this).attr("sourceid"))) {
            var sourceID = jQuery("#" + $(this).attr("sourceid"));
            sourceID.html("<img src='/img/loader/loader5.gif'/>");
            var targetURL = url.split("?");
            var postURL = targetURL[0];
            var postData = targetURL[1].replace("?", "&");
            $.post(postURL, postData,
                    function (data) {
                        if (data.length > 0) {
                            if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
                                sourceID.html(data[0].Error);
                                _gaq.push(['_trackEvent', 'Forms', 'Open Form Failure', postURL]);
                            } else {
                                sourceID.html(data[0].HTML);
                                SetupLists();
                                _gaq.push(['_trackEvent', 'Forms', 'Open Form Success', postURL]);
                                _gaq.push(['_trackPageview', postURL]);
                            }
                        } else { sourceID.html("No results found"); }
                    }
                , "json");
        } else {
            jQuery("#jqmContainers").append(GetRoundedCornerPopup("InlineForm", 'RoundCornersPopupNew'));
            //jQuery("#jqmContainers").append($("<div id='InlineForm' class='jqmWindow' style='text-align:center;vertical-align:middle;'><div class='RoundCornersPopupNew' id='InlineForm_Body'><img src='/img/loader/loader32.gif'/></div></div>"));
            jQuery("#InlineForm").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader32.gif'/>", ajaxMethod: "json", addRoundCorners: true, overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#InlineForm_Body', onLoad: SetupForm }); jQuery("#InlineForm").jqmShow();
            _gaq.push(['_trackEvent', 'Forms', 'Open Form Success', url]);
            _gaq.push(['_trackPageview', url]);

        }

    });
    jQuery("._FilterBox").die("click");
    jQuery("._FilterBox").live("click", function (e, optionalTarget) { e.preventDefault(); if (UnderMaintenance()) return false; var url = (optionalTarget != undefined) ? optionalTarget : $(this).attr("target"); url += ((url.indexOf("?") > -1) ? "&" : "?") + "callingWindow=FilterBox"; jQuery("#jqmContainers").append(GetRoundedCornerPopup("FilterBox")); jQuery("#FilterBox").jqm({ filterTarget: $(this).parent().attr("id"), originalFilters: $(this).attr("originalFilters"), onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#FilterBox_Body', onLoad: AddSubmitButton }); jQuery("#FilterBox").jqmShow(); });
    function AddSubmitButton(h) {
        //    •w: (jQuery object) The dialog element
        //    •c: (object) The config object (dialog's parameters)
        //    •o: (jQuery object) The overlay
        //    •t: (DOM object) The triggering element
        var popupFilterBox = h.w.parent().find("._FilterBox");
        var originalFilters = popupFilterBox.attr("originalFilters") || h.c.originalFilters;
        h.w.find("table").after("<div><input type='button' class='FormButton2 _FilterBoxFilterButton' target='/data/get.xml' value='Filter Results'/></div>");
        jQuery("._FilterBoxFilterButton").click(function (e) {
            e.preventDefault(); if (UnderMaintenance()) return false;
            var url = $(this).attr("target");
            var filterSplit = originalFilters.split('&');
            var foundFilters = false;
            for (var x = 0; x < filterSplit.length; x++) {
                var nameValue = filterSplit[x].split('=');
                var QSChar = "&"; if (url.indexOf('?') == -1) QSChar = "?";
                switch (nameValue[0].toLowerCase()) {
                    case "start":
                    case "originalFilters":
                        break;
                    case "filters":
                        foundFilters = true;
                        url += QSChar + filterSplit[x];
                        jQuery("#FilterBox").find("._HtmlFormElement").each(function (e) {
                            var filterField = $(this).attr("filterfield");
                            var filterVal = $(this).val();
                            if (!IsEmptyOrNull(filterVal)) {
                                var additionalCondition = "";
                                if (String(filterVal).indexOf("!") > -1) { filterVal = String(filterVal).replace("!", ""); additionalCondition = "!"; }
                                if (String(filterVal).toLocaleLowerCase() == "null" && IsEmptyOrNull(additionalCondition)) additionalCondition = "%3D";
                                url += "%26" + filterField + additionalCondition + "%3D" + String(filterVal).replace(",", ";");
                            }
                        });
                        url += "&originalFilters=" + nameValue[1];
                        break;
                    default:
                        if (!IsEmptyOrNull(filterSplit[x])) url += QSChar + filterSplit[x];
                        break;
                }
            }
            if (!foundFilters) {
                url += QSChar + "filters=";
                jQuery("#FilterBox").find("._HtmlFormElement").each(function (e) {
                    var filterField = $(this).attr("filterfield");
                    var filterVal = $(this).val();
                    if (!IsEmptyOrNull(filterVal)) {
                        var additionalCondition = "";
                        if (String(filterVal).indexOf("!") > -1) { filterVal = String(filterVal).replace("!", ""); additionalCondition = "!"; }
                        if (String(filterVal).toLocaleLowerCase() == "null" && IsEmptyOrNull(additionalCondition)) additionalCondition = "%3D";
                        url += "%26" + filterField + additionalCondition + "%3D" + String(filterVal).replace(",", ";");
                    }
                });
                url += "&originalFilters=";
            }

            jQuery("#FilterBox").jqmHide();
            if (h.c.filterTarget != false) {
                jQuery("#" + h.c.filterTarget).html("<img src='/img/loader/loader5.gif'/>");
                var targetURL = url.split("?");
                var postURL = targetURL[0];
                var postData = targetURL[1].replace("?", "&");
                $.post(postURL, postData,
                    function (data) {
                        if (data.length > 0) {
                            if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
                                jQuery("#" + h.c.filterTarget).html(data[0].Error);
                            } else {
                                jQuery("#" + h.c.filterTarget).html(data[0].HTML);
                                SetupLists();
                            }
                        } else { jQuery("#" + h.c.filterTarget).html("No results found"); }
                    }
                , "json");
            } else {
                jQuery("#jqmContainers").append(GetRoundedCornerPopup("InlineForm")); jQuery("#InlineForm").jqm({ onHide: closeAndKill, ajax: url, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, innerWidthOffset: 40, innerHeightOffset: 40, target: '#InlineForm_Body', onLoad: SetupForm }); jQuery("#InlineForm").jqmShow();
            }
        });
        //<span class='_InlineForm' target='/data/get.xml?xmlDoc=file:/GetContentList/BreadCrumbCategoryRecordList.xml&action=getcontentlistjson&Filters=%26Text10%3D0160%26siteid%3D%3D1'>Events</span
    }
    function SetupForm() {
        $(":file").makeAsyncUploader({ upload_url: "/files/uploadpost", flash_url: '/scripts/jquery/swfupload.swf', button_image_url: '/scripts/jquery/blankButton.png', file_size_limit: "1024 MB", disableDuringUpload: "#FormButton" }); SetupRows(); SetupADPicker();
        SetupDropDowns();
    }
    function FocusFirstField() { jQuery("#jqmContainers").find("input[type='text']:first").focus(); }
    jQuery("._LoginMenu").live("click", function (e, optionalTarget) { e.preventDefault(); if (UnderMaintenance()) return false; _gaq.push(['_trackEvent', 'Forms', 'Show Login', '']); CloseAllPopups(); jQuery("#jqmContainers").append(GetRoundedCornerPopup("LoginPopup")); jQuery("#LoginPopup").jqm({ onHide: closeAndKill, ajax: "/forms/form_login.xml?callingWindow=LoginPopup&refreshPage=true&redirectTo=" + getQuerystring("ReturnURL", ""), ajaxText: "<img src='/img/loader/loader32.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 100, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#LoginPopup_Body', onLoad: FocusFirstField }); jQuery("#LoginPopup").jqmShow(); });
    jQuery("._SiteRegistration, ._SiteRegistrationSwitch").live("click", function (e, optionalTarget) { e.preventDefault(); if (UnderMaintenance()) return false; _gaq.push(['_trackEvent', 'Forms', 'Show Registration', '']); var nextForm = (jQuery("#OnSuccessLoadForm").val() != undefined) ? "&OnSuccessLoadForm=" + jQuery("#OnSuccessLoadForm").val() : ""; CloseAllPopups(); jQuery("#jqmContainers").append(GetRoundedCornerPopup("RegistrationPopup")); jQuery("#RegistrationPopup").jqm({ onHide: closeAndKill, ajax: "/forms/form_registration.xml?callingWindow=RegistrationPopup&refreshPage=true" + nextForm, ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 100, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#RegistrationPopup_Body' }); jQuery("#RegistrationPopup").jqmShow(); });
    jQuery("._MyAccountMenu").live("click", function (e, optionalTarget) { e.preventDefault(); if (UnderMaintenance()) return false; CloseAllPopups(); _gaq.push(['_trackEvent', 'Forms', 'Show My Account', _userName]); jQuery("#jqmContainers").append(GetRoundedCornerPopup("MyAccountPopup")); jQuery("#MyAccountPopup").jqm({ onHide: closeAndKill, ajax: "/forms/form_myaccount.xml?callingWindow=MyAccountPopup&refreshPage=false", ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 100, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#MyAccountPopup_Body' }); jQuery("#MyAccountPopup").jqmShow(); });
    jQuery("._MyAccountMenuUpdateProfile").live("click", function (e) { e.preventDefault(); if (UnderMaintenance()) return false; CloseAllPopups(); _gaq.push(['_trackEvent', 'Forms', 'Show Update Profile', _userName]); jQuery("#jqmContainers").append(GetRoundedCornerPopup("UpdateProfilePopup")); jQuery("#UpdateProfilePopup").jqm({ onHide: closeAndKill, ajax: "/forms/form_UpdateProfile.xml?callingWindow=UpdateProfilePopup&refreshPage=false", ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 100, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#UpdateProfilePopup_Body' }); jQuery("#UpdateProfilePopup").jqmShow(); });
    jQuery("._MyAccountMenuUpdatePassword").live("click", function (e) { e.preventDefault(); if (UnderMaintenance()) return false; CloseAllPopups(); _gaq.push(['_trackEvent', 'Forms', 'Show Update Password', _userName]); jQuery("#jqmContainers").append(GetRoundedCornerPopup("UpdatePasswordPopup")); jQuery("#UpdatePasswordPopup").jqm({ onHide: closeAndKill, ajax: "/forms/form_UpdatePassword.xml?callingWindow=UpdatePasswordPopup&refreshPage=false", ajaxText: "<img src='/img/loader/loader5.gif'/>", ajaxMethod: "json", overlay: 65, modal: false, width: 100, height: 100, innerWidthOffset: 40, innerHeightOffset: 40, target: '#UpdatePasswordPopup_Body' }); jQuery("#UpdatePasswordPopup").jqmShow(); });
});
function SetupADPicker() {
    jQuery("._ADPicker").focus(function (e) {
        var adpickerHTML = "<div class='GreenSubHead' style='width:98%;text-align:left;padding:5px;border-bottom:solid 1px #4d4d4d;'>Search: <input type='textbox' id='ADPicker_Search'> <input id='ADPicker_SearchButton' type='button' value='Search' class='FormButton2'></div><table><tr><td class='GreenSubHead' style='width:175px;text-align:center;'>Results</td><td style='width:50px;'>&nbsp;</td><td class='GreenSubHead' style='width:175px;text-align:center;'>Selected Users</td></tr><tr><td style='width:175px;text-align:center;'><select id='ADPicker_Results' size='10' multiple='multiple'></select></td><td><input type='button' class='FormButton2' style='width:125px;cursor:hand;' value='Add --&gt;' id='ADPicker_AddButton'/><br><br><input type='button' class='FormButton2' style='width:125px;cursor:hand;' value='&lt;-- Remove' id='ADPicker_RemoveButton'/></td><td style='width:175px;text-align:center;'><select multiple='multiple' id='ADPicker_NewResults' size='10'></select></td></tr></table><div style='padding:5px;'><input class='FormButton2' style='width:125px;cursor:hand;' type='button' id='ADPicker_CloseButton' value='Close'/></div>"
        jQuery("#jqmContainers").append(GetRoundedCornerPopup("ADPicker"));
        jQuery("#ADPicker").jqm({ onHide: closeAndKill, html: adpickerHTML, ajax: "", ajaxText: "", overlay: 65, modal: false, width: 975, height: 600, innerWidthOffset: 40, innerHeightOffset: 40, target: '#ADPicker_Body', onLoad: SetupADPickerFunctions });
        jQuery("#ADPicker").jqmShow();
    });
}
function SetupADPickerFunctions() {
    jQuery("#ADPicker_SearchButton").click(function (e) {
        e.preventDefault();
        var searchButton = $(this);
        searchButton.after("<img class='_waiting' src='/img/loader/loader5.gif' border='0'/>");
        searchButton.hide();
        var postData = "&q=" + $("#ADPicker_Search").val();
        $.post("/forms/adsearch.xml", postData,
                function (data) {
                    searchButton.show();
                    $("._waiting").remove();
                    if (data.length > 0) {
                        if (data[0].Error != "" && data[0].Error != null && data[0].Error != "null") {
                            $("#ADPicker_Search").val(data[0].Error);
                        } else {
                            $("#ADPicker_Results").children("option").remove();
                            for (var x = 0; x < data.length; x++) {
                                $("#ADPicker_Results").append("<option value='" + data[x].email + "'>" + data[x].account + "</option>");
                            }
                        }
                    } else { $("#ADPicker_Search").val("No results found"); }
                }
            , "json");
    });
    jQuery("#ADPicker_AddButton").click(function (e) {
        var selectedOption = $("#ADPicker_Results option:selected");
        selectedOption.each(function (e) {
            $("#ADPicker_NewResults").append("<option value='" + $(this).val() + "'>" + $(this).text() + "</option>");
            selectedOption.remove();
        });
    });
    jQuery("#ADPicker_RemoveButton").click(function (e) {
        var selectedOption = $("#ADPicker_NewResults option:selected");
        selectedOption.each(function (e) {
            $("#ADPicker_Results").append("<option value='" + $(this).val() + "'>" + $(this).text() + "</option>");
            selectedOption.remove();
        });
    });
    jQuery("#ADPicker_CloseButton").click(function (e) {
        var newHTML = "";
        $("#ADPicker_NewResults option").each(function (e) {
            if (!IsEmptyOrNull(newHTML)) newHTML += "\r\n";
            newHTML += $(this).val() + "," + $(this).text();
        });
        $("._ADPicker").val(newHTML);
        jQuery("#ADPicker").jqmHide();
    });

}
