﻿//needs to show Edit Node popup box
function showEditNodeDialog(pageId, pageTitle, width, height) {
    pageTitle = "[" + String(pageTitle ? pageTitle : pageId) + "]";
    width = width && Number(width) > 0 ? width : 980;
    height = height && Number(hei) > 0 ? height : 720;
    UmbClientMgr.openModalWindow('/umbraco/editContent.aspx?id=' + pageId, pageTitle + ' Page Editing', true, width, height);
};


function showSearchResult(url, keyFldId) {
    var v = URLEncode(jQuery("#" + keyFldId).val());
    window.location = url + "?search=" + v;
}



function submitByEnter(event, resUrl, controls, methodName) {
    if (event.keyCode == 13) {
        GenerateSubmitForm(resUrl, controls, methodName);
        event.preventDefault();
    }
}


function GenerateSubmitForm(resUrl, controls, methodName) {
    methodName = methodName ? methodName : "post";
    var frm = jQuery("<div style='display:none; border:1px solid transparent;'><form action=\"" + resUrl + "\" method=\"" + methodName + "\"><input type=\"submit\" value=\"submit\" class=\"submitybttn\"/></form></div>");
    frm.appendTo(jQuery(document.body));
    frm = jQuery(frm.find("form")[0]);
    var btn = frm.find(".submitybttn")[0];
    ///generate controls
    var i = 0;
    while (i <= controls.length - 1) {
        AddInputElements(frm, controls[i]);
        i++;
    }
    RemoveTagsFromAllChilds(frm);
    frm[0].submit();
}

function ValidateNewsbriefSubmit(url, obj, id, val) {
    if ($('#' + id).val() != val) {
        GenerateSubmitForm(url, obj);
    }
}

function ProductSearchResult(resUrl, methodName)///method which navigate to product search result page
{
    methodName = methodName ? methodName : "get";
    var frm = jQuery("<div style='display:none; border:1px solid transparent;'><form action=\"" + resUrl + "\" method=\"" + methodName + "\"><input type=\"submit\" value=\"submit\" class=\"submitybttn\"/></form></div>");
    frm.appendTo(jQuery(document.body));
    frm = jQuery(frm.find("form")[0]);
    var btn = frm.find(".submitybttn")[0];
    ///generate controls
    var enames = ['category', 'serie', 'subserie', 'product'];
    for (i in enames) {
        var cname = enames[i];
        var cval = jQuery("#ps_flt_" + cname).val();
        if (cval && (isNaN(Number(cval)) || Number(cval) > 0)) {
            var el = jQuery("<input type=\"text\" name=\"" + cname + "\" id=\"tmppsf_" + cname + "\"/>");
            el.appendTo(frm);
            el.val(cval);
        }
    }
    RemoveTagsFromAllChilds(frm);
    frm[0].submit();
}


function AddInputElements(frm, elname) {
    var sourceEl = $("#" + elname);
    var el = jQuery("<input type=\"text\" name=\"" + elname + "\" id=\"" + elname + "\"/>");
    el.appendTo(frm);
    el.val(sourceEl.val());
}


function URLEncode(c) {
    var o = ''; var x = 0; c = c.toString(); var r = /(^[a-zA-Z0-9_.]*)/;
    while (x < c.length) {
        var m = r.exec(c.substr(x));
        if (m != null && m.length > 1 && m[1] != '') {
            o += m[1]; x += m[1].length;
        } else {
            if (c[x] == ' ') o += '+'; else {
                var d = c.charCodeAt(x); var h = d.toString(16);
                o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
            } x++;
        }
    } return o;
}

function URLDecode(s) {
    var o = s; var binVal, t; var r = /(%[^%]{2})/;
    while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
        b = parseInt(m[1].substr(1), 16);
        t = String.fromCharCode(b); o = o.replace(m[1], t);
    } return o;
}


function buildUrlForPortfolioList(page) {
    var url = new String(document.location).replace(/\?.*$/, '');
    var category = $("#categories").val();
    if (category != "") {
        category = "cat=" + category;
        url = url + "?" + category;
    }
    if (page && page != "") {
        page = "page=" + page;
        url = category != ""
            ? url + "&" + page
            : url + "?" + page
    }
    document.location = url;
}


function RemoveTagsOnSubmit(frmel) {

    var frms = frmel && String(frmel).length > 0 ? frmel : $(document.body).find("form");
    frms.each(function () {
        var $frm = $(this);
        $frm.submit(function () {
            RemoveTagsFromAllChilds($frm);
        });
    });
}

function RemoveTagsFromAllChilds(mainEl) {
    mainEl.find("input:not(.dontdeletetags)").each(function () {
        if ($(this).attr("name").indexOf("_") != 0) {
            var elval = String($(this).val());
            var resval = elval ? elval.replace(new RegExp("<", "g"), "&lt;").replace(new RegExp(">", "g"), "&gt;") : "";
            $(this).val(resval);
        }
    });
    mainEl.find("textarea:not(.dontdeletetags)").each(function () {
        if ($(this).attr("name").indexOf("_") != 0) {
            var elval = String($(this).val());
            var resval = elval ? elval.replace(new RegExp("<", "g"), "&lt;").replace(new RegExp(">", "g"), "&gt;") : "";
            $(this).val(resval);
        }
    });
}


(function ($) {
    $.fn.watermark = function (css, text) {
        return this.each(function () {
            var i = $(this), w;
            i.focus(function () {
                w && !(w = 0) && i.removeClass(css).data('w', 0).val('');
            })
			.blur(function () {
			    !i.val() && (w = 1) && i.addClass(css).data('w', 1).val(text);
			})
            //			.closest('form').submit(function () {
            //			    w && i.val('');
            //			});
            i.blur();
        });
    };
    $.fn.removeWatermark = function () {
        return this.each(function () {
            $(this).data('w') && $(this).val('');
        });
    };

})(jQuery);



$(document).ready(function () {
    RemoveTagsOnSubmit();
    var $sols = $('div.page-image-holder ul.solutions-featurette');
    if ($sols.length > 0) {
        $sols.find('li:not(.first)').hover(function () {
            var $popupItem = $('div.popup', this);
            $sols.find("li.active-ref div.popup").hide();
            $popupItem.show();
        },
        function () {
            var $popupItem = $('div.popup', this);
            $popupItem.hide();
        });

        $sols.hover(function () { }, function () {
            $sols.find("li.active-ref div.popup").show();
        });
        $sols.find("li.active-ref div.popup").show();
    }
});



function GenderRequired(sender, args) {
    if ($(".gender input:checked").length > 0)
        args.IsValid = true;
    else
        args.IsValid = false;
}

function NewsBriefRequired(sender, args) {
    if ($(".newsbrief input:checked").length > 0)
        args.IsValid = true;
    else
        args.IsValid = false;
}
