YAHOO.namespace("fxc.container.sliders");

S = YAHOO.fxc.container.sliders;
S.nameTitlePref = "slider-";
S.nameBoxPref = "sliderbox-";
S.classTitleName = "slider";
S.classBoxName = "sliderbox";
S.classBoxHiddenName = "sliderbox-hidden";
S.classBoxVisibleName = "sliderbox-visible";
S.rootNodeName = "main";

S.key = null;
S.items = {};
S.itemsRE = new RegExp(encodeRE(S.nameTitlePref) + '([\\w\\-]+)', 'i');

S.clickSlider = function(o)
{
    var key = this.getAttribute("ssKey");
    if (key) {
        var box = YAHOO.util.Dom.getElementsByClassName(S.nameBoxPref + key, null, S.rootNodeName);
		YAHOO.util.Dom.addClass(box, S.classBoxName);

		var isHidden = YAHOO.util.Dom.hasClass(box, S.classBoxHiddenName);
		var hiddenSize = isHidden.length;
		if (hiddenSize) {
			for (var i = 0; i < hiddenSize; i++) {
				if (!isHidden[i]) {
					isHidden = false;
					break;
				}
			}
		}
		if (isHidden) {
			YAHOO.util.Dom.replaceClass(box, S.classBoxHiddenName, S.classBoxVisibleName);
		} else {
			YAHOO.util.Dom.replaceClass(box, S.classBoxVisibleName, S.classBoxHiddenName);
		}
    }
}

S.getItems = function(el) {
    var className = el.className.toLowerCase();
    
    if (-1 != className.indexOf(S.nameTitlePref.toLowerCase())) {
        var match = className.match(S.itemsRE);
        if (match && match[1]) {
            el.setAttribute("ssKey", match[1]);
            return true;
        }
    }
    return false;
}

S.initSlider = function()
{
    S.items = YAHOO.util.Dom.getElementsBy(S.getItems, "", S.rootNodeName);
    YAHOO.util.Dom.addClass(S.items, S.classTitleName);
    YAHOO.util.Event.addListener(S.items, 'click', S.clickSlider);
}

YAHOO.util.Event.onAvailable(S.rootNodeName, S.initSlider, S, true);