﻿// JScript File
function addLoadListener(fn)
{
	if(typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load',fn,false);
	}
	else if (typeof document.addEventListener != 'undefined')
	{
		document.addEventListener('load', fn, false);
	}
	else if (typeof window.attachEvent != 'undefined')
	{
		window.attachEvent('onload', fn);
	}
	else
	{
		var oldfn = window.onload;
		if(typeof window.onload != 'function')
		{
			window.onload = fn;
		}
		else
		{
			window.onload = function()
			{
				oldfn();
				fn();
			};
		}
	}
};

function attachEventListener(target, eventType, functionRef, capture){
	if(typeof target.addEventListener != "undefined"){
		target.addEventListener(eventType, functionRef, capture);
	}
	else if (typeof target.attachEvent != "undefined"){
		target.attachEvent("on" + eventType, functionRef);
	}
	else {
		eventType = "on" + eventType;
		if(typeof target [evetType] == "function"){
			var oldListener = target[eventType];
			target[eventType] = function(){
				oldListener();
				return functionRef;
			};
		}
		else {
			target[eventType] = functionRef;
		}
	}
	return true;
};

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/-/g, "\-") + "(\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/-/g, "\-") + "(\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
};

function acordionIni(){
    _acordion = new Array();
    if(getElementsByClassName(document,'div','itemtitle_off')[0]!=null){
        _acordionTitle=getElementsByClassName(document,'div','itemtitle_off');
        _acordionContentCont=getElementsByClassName(document,'div','animator');
        _acordionContent=getElementsByClassName(document,'div','expcontent');
        for(var i=0; i<_acordionTitle.length ;i++){
            _acordionContentHeight=_acordionContent[i].offsetHeight;
            _acordion[i]='_acordion'+i;
            _acordion[i]=new Animator({duration: 200});
            _acordion[i].addSubject(new NumericalStyleSubject(_acordionContentCont[i], 'height', 0, _acordionContentHeight));
            attachEventListener(_acordionTitle[i],"mousedown", expand, false);
            attachEventListener(_acordionTitle[i], "mouseover", rollOver, false);
            attachEventListener(_acordionTitle[i], "mouseout", rollOut, false);
        }
    }
}
function rollOver(eventType){
    if(typeof eventType.srcElement!="undefined"){
		srcEl=eventType.srcElement.parentNode;
	} else {
		srcEl=this;
	}
	for(var i=0; i<_acordionTitle.length ;i++){
	    if(_acordionTitle[i]==srcEl){
	        _overImage=_acordionTitle[i].getElementsByTagName('img')[0];
    	    _overImage.className="exp_over";
	    }
	}
}
function rollOut(eventType){
    if(typeof eventType.srcElement!="undefined"){
		srcEl=eventType.srcElement.parentNode;
	} else {
		srcEl=this;
	}
	for(var i=0; i<_acordionTitle.length ;i++){
	    if(_acordionTitle[i]==srcEl){
	        _overImage=_acordionTitle[i].getElementsByTagName('img')[0];
    	    _overImage.className="";
	    }
	}
}
function expand(eventType){
    if(typeof eventType.srcElement!="undefined"){
		srcEl=eventType.srcElement.parentNode;
	} else {
		srcEl=this;
	}
	var acordionSet=srcEl.parentNode.parentNode;
	for(var i=0; i<_acordionTitle.length ;i++){
	    if(_acordionTitle[i]==srcEl){
	        if(_acordion[i].state==0){
	            _acordionTitle[i].className='itemtitle_on';
    	        _acordion[i].seekTo(1);
    	    }else{
    	        _acordionTitle[i].className='itemtitle_off';
    	        _acordion[i].seekTo(0);
    	    }
	    }else{
	        if(_acordion[i].state!=0){
	            if(acordionSet==_acordionTitle[i].parentNode.parentNode){
    	            _acordionTitle[i].className='itemtitle_off';
	                _acordion[i].seekTo(0);
	            }
	        }
	    }
	}
}
addLoadListener(acordionIni);