Current File : /home/inlingua/www/decay_sym/root/usr/local/softaculous/enduser/themes/default/js/slider.js
//////////////////////////////////////////////////////////////
// js_slider
// By Alons
// Please Read the Terms of use at http://www.softaculous.com
// (c)Softaculous Inc.
//////////////////////////////////////////////////////////////

function slideitout(elid, endheight, inc, time){
	startheight = $_(elid).offsetHeight + inc;
	if(startheight < endheight){
		diff = endheight - startheight;
		if(diff > inc){
			$_(elid).style.height = startheight+"px";
			_mytimer = setTimeout('slideitout(\''+elid+'\', '+endheight+', '+inc+', '+time+');', time);
		}else{
			$_(elid).style.height = endheight+"px";
		}
	}
};

function pullitin(elid, dec, time){
	height = $_(elid).offsetHeight - dec;
	if(height > dec){
		$_(elid).style.height = height+"px";
		_mytimer = setTimeout('pullitin(\''+elid+'\', '+dec+', '+time+');', time);
	}else{
		$_(elid).style.height = "1px"; //A bug in IE 5.5
	}
};

var _mytimer;

function slider(){
	this.speed = 20;
	this.bydefault = 1; // Collapsed
	this.collapsed = new Array(); // Collapsed by Default
	this.expanded = new Array(); // Expanded by Default
	this.img_collapsed = imgurl+'collapsed.gif';
	this.img_expanded = imgurl+'expanded.gif';
	this.elements = new Array();
	
	this.slide = function(id){
		var height = $_(id).offsetHeight;
		
		// People can PLAY too much, hence clear the timer :) Take that idiots !
		if(typeof(_mytimer) != 'undefined'){
			AEFclear(_mytimer);	
		}
		
		if(height > 1){
			this.collapse(id);
		}else{
			this.expand(id);
		}
	};
	
	this.expand = function(id){
		slideitout(id, $_('t'+id).offsetHeight, this.speed, 1);
		$_('i'+id).src = this.img_expanded;
		setcookie(id, '2', 365);
	};
	
	this.collapse = function(id){
		pullitin(id, this.speed, 1);
		$_('i'+id).src = this.img_collapsed;
		setcookie(id, '1', 365);
	};
	
	//Init it
	this.init = function(){
		var elements = this.elements;
		for(id in elements){
			
			var cookie = getcookie(elements[id]);
			
			if(cookie.length > 0){
				if(cookie == 2){
					this.initexp(elements[id]);
				}else if(cookie == 1){
					this.initcoll(elements[id]);
				}
				continue;
			}
			
			var defau = 0;
			for(xx in this.expanded){
				if(this.expanded[xx] == elements[id]){
					this.initexp(elements[id]);
					defau = 1;
					break;
				}
			}
			
			if(defau == 1){
				continue;
			}
			
			var defau = 0;
			for(xx in this.collapsed){
				if(this.collapsed[xx] == elements[id]){
					this.initcoll(elements[id]);
					defau = 1;
					break;
				}
			}
			
			if(defau == 1){
				continue;
			}
			
			if(this.bydefault == 2){
				this.initexp(elements[id]);
			}else if(this.bydefault == 1){
				this.initcoll(elements[id]);
			}
		}
	};
	
	this.initexp = function(id){
		$_(id).style.height = $_('t'+id).offsetHeight+"px";
		$_('i'+id).src = this.img_expanded;
	};
	
	this.initcoll = function(id){
		$_(id).style.height = "1px";
		$_('i'+id).src = this.img_collapsed;
	};
	
	this.expandAll = function(){
		var elements = this.elements;
		for(key in elements){
			id = elements[key];
			this.expand(id);
		}
	};
	
	this.collapseAll = function(){
		var elements = this.elements;
		for(key in elements){
			id = elements[key];
			this.collapse(id);
		}
	};
};