
function modHeight(){
	var s = this;
	
	if (typeof arguments[0] == 'string') this.element =document.getElementById(arguments[0]);
	else this.element = arguments[0];  
	
	s.height = arguments[1];
	s.speed = arguments[2];
	if (arguments[3]) s.runAft = arguments[3];
	
	s.timer = null
	// Böngésző felismerése
	s.browser = getBrowser();
	// Element style bolvasás
	s.element.style.height = getElementStyle(s.element).height;
	s.eHeight = parseInt(s.element.style.height);
	//alert(s.runAft);
	
	this.workHeight = function(){	
		s.eHeight = parseInt(s.element.style.height);
		if (s.eHeight == s.height) if (s.runAft){ setTimeout(s.runAft ,s.speed); s.runAft=null; }
		else if (s.eHeight > s.height) s.doI="cs"; else s.doI="no";
		
		if (s.eHeight > s.height){
			s.element.style.height = (s.eHeight-10)+'px';
			if ((s.eHeight-10) < s.height) s.element.style.height = parseInt(s.height)+'px';
		}
		if (s.eHeight < s.height){
			s.element.style.height = (s.eHeight+10)+'px';
			if ((s.eHeight+10) > s.height) s.element.style.height = parseInt(s.height)+'px';
		}
	}
	
	this.start = function(){
		s.timer = setInterval(s.workHeight, s.speed); 
	}
	
	this.setHeight = function(newH){
		s.height = newH;
	}
}


/*********************************************************/

function modTrans(elementT, speed){
	if (typeof elementT == 'string') this.element =document.getElementById(elementT);
	else this.element = elementT;  
	var s = this;
	this.timer = null;
	this.trans = null;
	// Böngésző felismerése
	this.browser = getBrowser(); 
	// Element style bolvasás
	this.eStyle = getElementStyle(s.element);
	// Alapp beállítások
	
	    if (this.browser == "IE")  if (s.element.filters.alpha+"" == "undefined" ) s.element.style.filter = "alpha(opacity=100)";
		if (this.browser == "FF")  if ((parseInt(s.element.style.MozOpacity)+"" == "NaN")) s.element.style.MozOpacity = 1; 
		if (this.browser == "CH")  if (parseInt(s.element.style.opacity)+"" == "NaN") s.element.style.opacity = 1;
	
	
	// Fügvények
	this.getTrans = function() {
		if (s.browser == "FF") return parseInt(parseFloat(s.element.style.MozOpacity)*100);
		else
		if (s.browser == "IE") return parseInt(s.element.filters.alpha.opacity);
		else
		if (s.browser == "CH") return parseInt(parseFloat(s.element.style.opacity)*100);
	}
	this.setTrans = function(tr){
		if (s.browser == "FF") s.element.style.MozOpacity = (tr/100);
		else
		if (s.browser == "IE") s.element.filters.alpha.opacity = tr;
		else
		if (s.browser == "CH") s.element.style.opacity = (tr/100);
	}
	this.workTrans = function(){
		eTrans = s.getTrans();
		
		if (eTrans == s.trans);//{ clearInterval(s.timer);  s.timer=null;}
		if (eTrans < s.trans){
			s.setTrans(eTrans+5);
			if ((eTrans+5) > s.trans) setTrans(trans);
		}	
		if (eTrans > s.trans){
			s.setTrans(eTrans-5);
			if ((eTrans-5) < s.trans) setTrans(trans);
		}
	}
	
	this.modTrans = function(newTrans){
		s.trans =newTrans;
	}
	this.startWT = function(newTrans){
		s.trans = newTrans;
		if (s.eStyle.display == "none"){ s.setTrans(0); s.element.style.display = "inline-block";}
		s.timer = setInterval(s.workTrans, speed);  
	}
	this.start = function(newTrans){
		s.trans = 100;
		if (s.eStyle.display == "none"){ s.setTrans(0); s.element.style.display = "inline-block";}
		s.timer = setInterval(s.workTrans, speed);  
	}
}

/***************************************************************************/

function sider(elementS, leptek, speed){
	var s = this;
	s.browser = getBrowser(); 
	s.element = document.getElementById(elementS);
	s.list = document.getElementById(s.element.id+'Ul');
	s.arrayObjs = s.list.getElementsByTagName('li');
	s.count = s.arrayObjs.length;
	s.elemtWidth = s.element.offsetWidth;
	s.list.style.width = (this.elemtWidth * s.count)+'px';
	s.scrollToPx = 0;
	s.timer = null;
	s.pageObj = new Array(s.count);
	s.maxPageHeight = 0;
	s.siderHeight = new modHeight(s.element, 300, 5);
	s.siderHeight.start();
	s.siderHeight.setHeight(s.arrayObjs[0].offsetHeight);
	
	for(i=0;i<s.arrayObjs.length;i++){
		if (s.browser != 'IE') s.pageObj[i] = new modTrans(s.arrayObjs[i], 15);
		if (s.browser != 'IE') s.pageObj[i].startWT(100);
	}

	this.scrollTo = function(i){
		i--;
		s.scrollToPx = 	(s.elemtWidth * i);
		for(j=0;j<s.count;j++) if (i!=j) if (s.browser != 'IE') s.pageObj[j].modTrans(30);
		if (s.browser != 'IE') s.pageObj[i].modTrans(100);
		s.siderHeight.setHeight(s.arrayObjs[i].offsetHeight);
	}
	
	this.doScroll = function(){
		this.scroll = s.element.scrollLeft;
		
		if (s.scrollToPx > this.scroll){
			if ( ((s.scrollToPx-this.scroll) > (200)) && (leptek<50) ) leptek += 10;
			if ( ((s.scrollToPx-this.scroll) < (200)) && (leptek>10) ) leptek -= 10;
			s.element.scrollLeft = (this.scroll+leptek);
			if ((s.scrollToPx+leptek) < s.element.scrollLeft ) s.element.scrollLeft = s.scrollToPx;
		}
		if (s.scrollToPx < this.scroll){
			if ( ((this.scroll-s.scrollToPx) > (200)) && (leptek<50) ) leptek += 10;
			if ( ((this.scroll-s.scrollToPx) < (200)) && (leptek>10) ) leptek -= 10;
			
			s.element.scrollLeft = (this.scroll-leptek);
			if ((s.scrollToPx-leptek) > s.element.scrollLeft ) s.element.scrollLeft = s.scrollToPx;
		}//alert(s.element.scrollLeft+'-'+s.scrollToPx);
	}
	
	s.timer = setInterval(s.doScroll, speed);  
	
}



/*****************************************************************************/

function getBrowser(){
		this.browser = "NaN";
		if (navigator.userAgent.toLowerCase().search('firefox')!=-1) this.browser = "FF"; else
		if (navigator.userAgent.toLowerCase().search('chrome')!=-1) this.browser = "CH"; else
		if (navigator.appName.search('EXplorer')) this.browser = "IE";
		return this.browser;
}
function getElementStyle(element){
		this.eStyle = null;
		if (getBrowser() == "IE") this.eStyle = element.currentStyle;
		if (getBrowser() == "FF") this.eStyle = window.getComputedStyle(element, null);
		if (getBrowser() == "CH") this.eStyle = window.getComputedStyle(element, null);
		return this.eStyle;
}



/****************************************************************/


