// copyright 2010 empirepatiocovers.com / developed by sjs & jhb

function uncheckRadios(nameregex) {
    re = new RegExp(nameregex);
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i]
        if (elm.type == 'radio') {
            if (re.test(elm.name)) {
                elm.checked = false;
            }
        }
    }
}

function SetUniqueRadioButton(nameregex, current) {
    uncheckRadios(nameregex);
    var isJquery = current instanceof jQuery;
    if (isJquery == true) {
        $(current).attr("checked", true);
    } else {
        current.checked = true;
    }
}
var currentpos;
var leaverhandler = function() {
    $(this).children(".DropDownMenu").css("top", currentpos + "px");
    $(this).css("overflow", "hidden");
}
var currentPage = window.location.href;
var ma = "Black";
var mb = "Brown";
var fa = "Flora";
var sf = "Nutmeg";
var gp = "Green";
var s = [];
$(document).ready(function() {
    padSpans();
    $("div.DropDownMenu > span:first-child").css({ "background": "#f3f1e7 url(assets/images/branding/DropDownArrow.gif) no-repeat right" });
    $("div.CollectionHolder img[src*='Black']").click(function() { findSpans(ma); return false; });
    $("div.CollectionHolder img[src*='Brown']").click(function() { findSpans(mb); return false; });
    $("div.CollectionHolder img[src*='Flora']").click(function() { findSpans(fa); return false; });
    $("div.CollectionHolder img[src*='Nutmeg']").click(function() { findSpans(sf); return false; }).click();
    $("div.CollectionHolder img[src*='Green']").click(function() { findSpans(gp); return false; });

    //this part is for the search.aspx page only; controls the filter select box
    $("div.floraFilter").click(function() { findSpans(fa); return false; });
    $("div.blackFilter").click(function() { findSpans(ma); return false; });
    $("div.brownFilter").click(function() { findSpans(mb); return false; });
    $("div.nutmegFilter").click(function() { findSpans(sf); return false; }).click();
    $("div.greenFilter").click(function() { findSpans(gp); return false; });

    $("div.DropDownMenuHolder").mouseenter(function() {
        currentpos = $(this).children(".DropDownMenu").position().top;
    });
    $("div.DropDownMenuHolder").mouseover(function() {
        $(this).children(".DropDownMenu").css("top", "0px");
        $(this).css("overflow", "visible");
        $(".DropDownMenu > span").mouseover(function() {
            $(this).css("background-color", "#bdb5a6");
        });
        $("div.DropDownMenu > span").mouseout(function() {
            $(this).css("background-color", "#f3f1e7");
        });
        $(this).bind("mouseleave", leaverhandler);
    });

    $("div.DropDownMenu").click(function(e) {
        var target = e.target;
        $target = $(target);
        if ($target.parent().is("span") == true && target.nodeName === 'INPUT') {
            checkRadios(target, $target);

        } else if ($target.parent().is("span") == true && (target.nodeName === "INPUT") == false) {
            var a = $target.parent().children("input[type=radio]");
            var b = a.get(0);
            checkRadios(b, a);
        } else if ($target.parent().is("div.DropDownMenu") == true) {
            var c = $target.children("input[type=radio]");
            var d = c.get(0);
            checkRadios(d, c);
        }
    });
});
function checkRadios(radio, fadio) {
    var className = $(radio).closest("span").attr("class");
    findSpans(className);
    if (className.indexOf('Metro Black') != -1) {
        loadImg(2);
    } else if (className.indexOf('Metro Brown') != -1) {
        loadImg(3);
    } else if (className.indexOf('Flora') != -1) {
        loadImg(4);
    } else if (className.indexOf('Nutmeg') != -1) {
        loadImg(5);
    } else if (className.indexOf('Hunter Green Piping') != -1) {
        loadImg(6);
    }

}
function findTops(arr) {
    artop = $(arr).position().top;
    $.each(arr, function() {
        var radio = $(this).find("input[type=radio]");
        var hidden = $(this).find("input[type=hidden]");
        var $x = $(hidden).closest(".ProductSection");
        var $y = $x.find(".ProductSectionHeader input[id$='productId']");
        SetUniqueRadioButton('variantRepeater.*' + $y.val(), radio);
    });
    actionJackson(arr, artop);
}
function actionJackson(spanarr, toppos) {
    var varianttext = [];
    var k = 0;
    for (k = 0; k < spanarr.length; k = k + 1) {
        varianttext[k] = $(spanarr[k]).children("div.hiddenVariant").text();
    }

    var cs = "";
    var productid = [];
    for (i = 0; i < varianttext.length; i++) {
        cs = varianttext[i];
        cs = cs.substring(0, 5);
        productid[i] = cs;
    }

    var textarr = [];
    var j = 0;
    for (j = 0; j < spanarr.length; j = j + 1) {
        textarr[j] = $(spanarr[j]).children("span.dropDownPrice").text();
    }


    var changers = $(".bigPriceChanger");
    var changerarr = $.makeArray(changers);
    var imglinks = $("a.moreDetailsLink:has('img')");
    var imglinksarr = $.makeArray(imglinks);
    $.each(spanarr, function(i) {
        thisTop = $(this).position().top;
        $(this).closest("div.DropDownMenu").css({ "top": "-" + thisTop + "px" });

    });
    $("div.DropDownMenu span").css("background-image", "none");
    $(spanarr).css({ "background": "#f3f1e7 url(assets/images/branding/DropDownArrow.gif) no-repeat right" });

    jQuery.each(changerarr, function(i) {
        if (textarr[i] != "") {
            if ($(this).parent().text() == "Collection is Unavailable") {
                $(this).parent().html("Price:<span class='bigPriceChanger'>" + textarr[i] + "</span>");
            }
            $(this).text(textarr[i]);
        } else {
            $(this).parent().html("Collection is Unavailable<span class='bigPriceChanger'></span>");
        }
    });

    var n = 0;
    for (var q = 0; q < imglinksarr.length; q = q + 2) {
        currentUrl = "itemdetail.aspx?p=" + productid[n] + "&v=" + varianttext[n] + "&source=category";
        $(imglinksarr[q]).attr("href", currentUrl);
        $(imglinksarr[q + 1]).attr("href", currentUrl);
        n = n + 1;
    }

    var w = 0;
    var src = "";
    for (w = 0; w < varianttext.length; w++) {
        if (varianttext[w] != "") {
            src = "assets/images/products/items/" + varianttext[w] + ".jpg";
            break;
        }
    }
    $("#ctl00_ProductOverview_CategoryProductInfo1_bigImg").attr("src", src);

    $("div.DropDownMenuHolder").unbind("mouseleave", leaverhandler).css("overflow", "hidden");
    currentpos = $("div.DropDownMenu").position().top;
}
function findSpans(collection) {
    s = $("div.DropDownMenu span[class*='" + collection+ "']");
    findTops(s);
}

function padSpans() {
    var jhbid = 0;
    var allMenus = $("div.DropDownMenu");

    var pathname = window.location.pathname;

    $.each(allMenus, function(i) {
        var currentMenu = $(this);
        var spanArray = $.makeArray($(currentMenu).children("span"));
        var classes = [];
        $.each(spanArray, function(j) {
            var className = $(this).attr("class");
            classes[j] = className;
        });
        var lastSpan = $(spanArray).last();
        if ((classes.join("")).indexOf("Nutmeg") == -1) {
            $("<span class=\"Nutmeg\"><em>Size Not Carried in Nutmeg</em></span>").insertAfter(lastSpan);
        }
        if ((classes.join("")).indexOf("Metro Brown") == -1) {
            $("<span class=\"Metro Brown\"><em>Size Not Carried in Metro Brown</em></span>").insertAfter(lastSpan);
        }
        if ((classes.join("")).indexOf("Hunter Green Piping") == -1) {
            $("<span class=\"Hunter Green Piping\"><em>Size Not Carried in Hunter Green Piping</em></span>").insertAfter(lastSpan);
        }
        if ((classes.join("")).indexOf("Metro Black") == -1 ) {
			if (currentPage.indexOf("SEARCH") == -1){
			}else{
            $("<span class=\"Metro Black\"><em>Size Not Carried in Metro Black</em></span>").insertAfter(lastSpan);
			}
        }
        if ((classes.join("")).indexOf("Flora") == -1) {
			if (currentPage.indexOf("SEARCH") == -1){
			}else{
            $("<span class=\"Metro Black\"><em>Size Not Carried in Metro Black</em></span>").insertAfter(lastSpan);
			}
        }
    });

}