function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function hideExtraFeature(){
	hiddenDivs = $$('.showExtraDetails');
	for(i = 0; i < hiddenDivs.length; i++){
		var hiddenDiv = hiddenDivs[i];
		hiddenDiv.className = "hideExtraDetails";
	}
}

function showAllFeatures() {
	if ($('showAllFeatures')){
		$('showAllFeatures').className = "showExtraDetails";

		$('showAllFeatures').onclick = function () {
		    hiddenDivs = $$('.hideExtraDetails');
		    for (i = 0; i < hiddenDivs.length; i++) {
		        var hiddenDiv = hiddenDivs[i];
		        if (hiddenDiv.className == "hideExtraDetails") {
		            hiddenDiv.removeClassName('hideExtraDetails');
		            hiddenDiv.addClassName('showExtraDetails');
		            setRollover();
		        }
		    }
		    $('showAllFeatures').addClassName('hideExtraDetails');
		    $('showAllFeatures').removeClassName('showExtraDetails');
		    $('hideAllFeatures').removeClassName('hideExtraDetails');
		    $('hideAllFeatures').addClassName('showExtraDetails');

		    return (false);
		}
		$('hideAllFeatures').onclick = function () {
		    hiddenDivs = $$('.showExtraDetails');
		    for (i = 0; i < hiddenDivs.length; i++) {
		        var hiddenDiv = hiddenDivs[i];
		        if (hiddenDiv.className == "showExtraDetails") {
		            hiddenDiv.removeClassName('showExtraDetails');
		            hiddenDiv.addClassName('hideExtraDetails');
		            setRollover();
		        }
		    }

		    $('showAllFeatures').removeClassName('hideExtraDetails');
		    $('showAllFeatures').addClassName('showExtraDetails');
		    $('hideAllFeatures').addClassName('hideExtraDetails');
		    $('hideAllFeatures').removeClassName('showExtraDetails');

		    return (false);
		}		
	}
}

function setRollover() {
    var rollovers = $$("a.prodRoll");
    for (var i = 0; i < rollovers.length; i++) {
        var rolloversRel = rollovers[i].rel.split("|");
        if (rolloversRel[0] == "productRollover") {
            rollovers[i].onmouseover = function () {
                var parent = this.parentNode;
                hiddenDivs = getElementsByClassName('showExtraDetailsPanel');
                for (i = 0; i < hiddenDivs.length; i++) {
                    var hiddenDiv = hiddenDivs[i];
                    hiddenDiv.style.display = 'none';
                }

                removeHighlights = getElementsByClassName('prod');
                for (i = 0; i < removeHighlights.length; i++) {
                    var removeHighlight = removeHighlights[i];
                    removeHighlight.className = 'prod prodHighlightBlack';
                }

                var prodID = this.id;
                prodID = prodID.split("--");
                prodID = prodID[0];

                var prodHighlight = "prod_" + prodID;

                document.getElementById(prodHighlight).className = 'prod prodHighlightGrey';

                hiddenDivs = getElementsByClassName('showExtraDetailsPanel');
                for (i = 0; i < hiddenDivs.length; i++) {
                    var hiddenDiv = hiddenDivs[i];
                    hiddenDiv.style.display = 'none';
                }
                var prodVariant = prodID + "_panel";
                document.getElementById(prodVariant).style.display = 'block';
                var rowPos = this.rel.split("|");
                if ($('showAllFeatures').className == "showExtraDetails") {
                    if (rowPos[1] == "row2") {
                        if ($$(".imgShort") != "") {
                            $(prodVariant).style.top = '100px';
                        }
                        else {
                            $(prodVariant).style.top = '415px';
                        }
                    } else if (rowPos[1] == "row3") {
                        if ($$(".imgShort") != "") {
                            $(prodVariant).style.top = '320px';
                        } else {
                            $(prodVariant).style.top = '800px';
                        }
                    }
                }
                else if ($('showAllFeatures').className == "hideExtraDetails") {
                    if (rowPos[1] == "row2") {
                        if ($$(".imgShort") != "") {
                            $(prodVariant).style.top = '435px';
                        }
                        else {
                            $(prodVariant).style.top = '615px';
                        }
                    } else if (rowPos[1] == "row3") {
                        if ($$(".imgShort") != "") {
                            $(prodVariant).style.top = '825px';
                        } else {
                            $(prodVariant).style.top = '1190px';
                        }
                    }
                }
            }
        }
    }
}
	Event.observe ( window, "load", function(){
//		document.getElementById("scrollingBlock").style.display="block";
	    hideExtraFeature(); showAllFeatures(); setRollover();
});

