// JavaScript Document

if(typeof(SuperClass)=='function'){OuvreFerme.prototype = new SuperClass; /* héritage des méthodes */}
function OuvreFerme(className,classOver,delai,except,w_or_h, onload){	
	if(typeof(SuperClass)!='function'){alert("fichier SuperClass.js manquant!");}
	else{		
		/* héritage */
		this.classMere = SuperClass;  // classe parente
		this.classMere(); // appel du super constructeur
		delete this.classMere; // inutile de garder la classe parente
		if(className!=undefined){this.className=className;}
		this.classOver=classOver;
		this.except=except;
		
		if(w_or_h==undefined){this.w_or_h='height';}
		else{this.w_or_h=w_or_h;}
		
		if(onload==undefined){onload=true;}
		this.tabElem=new Array();
		this.tabHeightElem=new Array();
		this.delai=delai;
		
		
		if(onload==true){
			var localThis=this;
			this.addEvent(window, 'load', 
					function(){
						localThis.init();
					}
			);
		}
		else{		
			this.init();
		}
	}
}


OuvreFerme.prototype.init = function (){
	this.tabElem = this.getElementsByClassName(this.className);
	var nbElems= this.tabElem.length;
	var elem;
	
	for(var i=0; i<nbElems; i++){		
		elem=this.tabElem[i];
		elem.firstHeight=elem.offsetHeight;
		elem.firstWidth=elem.offsetWidth;
		elem.style.overflow='hidden';
		
		if(this.eregi(this.except, elem.innerHTML)==false){elem.style[this.w_or_h]='0px';}
		else{elem.style[this.w_or_h]=elem.firstHeight+'px';}
		var localThis=this;
		
		elemEvent=elem.parentNode.firstChild;
		elemEvent.posElem=i;
		
		elemEvent.firstClass=elemEvent.className;
		
		this.addEvent(elemEvent, 'mouseover',function(event){
				thisthis=localThis.getThisFromEvent(event);
				thisthis.className=localThis.classOver;
			}
		);
		this.addEvent(elemEvent, 'mouseout',function(event){
				thisthis=localThis.getThisFromEvent(event);
				thisthis.className=thisthis.firstClass;
			}
		);

		this.addEvent(elemEvent, 'click', 
				function(event){
					thisthis=localThis.getThisFromEvent(event);
					elemOuvre=localThis.tabElem[thisthis.posElem];
					
					var obj=new animElements(elemOuvre);
					if(localThis.w_or_h=='height'){
						var dim=elemOuvre.firstHeight;
						var w_h=1;
					}
					else{
						var dim=elemOuvre.firstWidth;
						var w_h=0;
					}
					
					obj.openDiv(0, dim, localThis.delai, w_h);
				}
		);
		
	}
}


