//equalises the height of items labeled .equal_height

function equalHeight(group) {
	var tallest = 0;
	group.each(function() {
		var thisHeight = $(this).height();
		if(thisHeight > tallest) {
			tallest = thisHeight;
		}
	});
	group.height(tallest);
}

function removeFromArray(string, array) {
    var new_array = new Array();
    for(i in array) {
        if(array[i].indexOf(string) == -1) {
            new_array[i] = array[i];
        }
    }
    
    return new_array.sort();
}

function findInArray(string, array) {
    for (i in array) {
        if (array[i] == string) {
            return i;
        }
    }

    return "";
}

function returnArrayValueFromKey(key, array) {
    for (i in array) {
        if (i == key) {
            return array[i];
        }
    }

    return "";
}

function addBtnOpenedStates(btn) {
    setAccordianCookie(btn, $(btn).attr("id"));
    $(btn).addClass("close");
    $(btn).removeClass("open");
}
function removeBtnOpenedStates(btn) {
    setAccordianCookie(btn, null);
    $(btn).addClass("open");
    $(btn).removeClass("close");
}

function setAccordianCookie(btn,val) 
{
    var cookie_var = $(btn).parentsUntil(".accordianContainer").parent().attr("id");
    if (cookie_var != "") {
        $.cookie(cookie_var, val, { path: "/" });
    }
}

//url parameters
var urlParams = {};
(function () {
    var e,
        a = /\+/g,  // Regex for replacing addition symbol with a space
        r = /([^&=]+)=?([^&]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.search.substring(1);

    while (e = r.exec(q))
        urlParams[d(e[1])] = d(e[2]);
})();

$(document).ready(function () {
    //equal height boxes
    equalHeight($(".equal_height"));

    //input hints
    $('input[title!=""]').hint();

    //general accordian 
    $(function () {
        $("div.accordianContainer").accordion({
            header: "div.accordianButton",
            collapsible: true,
            active: false,
            autoHeight: false,
            create: function (event, ui) {
                //check active state on load
                if ($(this).find(".accordianButton.active").length > 0) {
                    $(this).accordion("activate", $(this).find(".accordianButton.active").first());
                } else {
                    //cookie
                    var cookie_name = $(this).attr('id');
                    if (cookie_name != "") {
                        if ($.cookie(cookie_name) != "" && $.cookie(cookie_name) != null) {
                            if ($("#" + $.cookie(cookie_name)).length > 0) {
                                $(this).accordion("activate", $("#" + $.cookie(cookie_name)).parent(".accordianButton"));
                            }
                        }
                    }
                }
            },
            changestart: function (event, ui) {
                var newButton = $(ui.newHeader).find("a.button");
                var oldButton = $(ui.oldHeader).find("a.button");

                removeBtnOpenedStates(oldButton);
                if ($(newButton).hasClass("open")) {
                    addBtnOpenedStates(newButton);
                } else {
                    removeBtnOpenedStates(newButton);
                }
            }
        });
    });
});
