/*
	Show/Hide Toggler class v.1.1
	Dmitriy Abragamov
*/
	function Toggler(triggerElId, targetElId, trOpenVal, speed){
					this.triggerEl = document.getElementById(triggerElId);
					this.triggerEl.targetEl = document.getElementById(targetElId);
					this.triggerEl.targetHeight = this.triggerEl.targetEl.offsetHeight;
					this.triggerEl.targetState = 0;/*closed*/
					if(trOpenVal){
						this.triggerEl.openVal = trOpenVal;
						this.triggerEl.closedVal = this.triggerEl.innerHTML;
					}
					this.triggerEl.slideOpen = this.slideOpen;
					this.triggerEl.slideClose = this.slideClose;
					(speed)?this.triggerEl.speed = speed:this.triggerEl.speed = 50;
					this.init();
				}
			Toggler.prototype.init = function(){
					if(window.attachEvent){
							this.triggerEl.attachEvent('onclick', this.toggle);
						}else{
							this.triggerEl.addEventListener('click', this.toggle, false);
						}
					this.triggerEl.targetEl.style.display = "none";
				}
			Toggler.prototype.slideOpen = function(){
					this.targetEl.style.height = "0px";
					this.targetEl.style.display = "block";
					
					var obj = this;
					var sigma = 0;
					var finalHeight = obj.targetHeight;
					var x = window.setInterval(function(){
								sigma += obj.speed;

								obj.targetEl.style.height = sigma + "px";
								if(sigma >= (finalHeight - obj.speed)){
										obj.targetEl.style.height = finalHeight + "px";
										window.clearInterval(x);
										
										if(obj.openVal){
											obj.innerHTML = obj.openVal;
										}
										obj.targetState = 1;
									}
							},5);
				}
			Toggler.prototype.slideClose = function(){				
					var obj = this;
					var sigma = obj.targetHeight;
					var finalHeight = 0;
					var x = window.setInterval(function(){
								sigma -= obj.speed;

								obj.targetEl.style.height = sigma + "px";
								if(sigma <= (finalHeight + obj.speed)){
										obj.targetEl.style.height = finalHeight + "px";
										window.clearInterval(x);
										obj.targetEl.style.display = "none";
										
										if(obj.closedVal){
											obj.innerHTML = obj.closedVal;
										}
										obj.targetState = 0;
									}
							},5);
				}
			Toggler.prototype.toggle = function(){
					var obj;
					if(window.attachEvent){
							var E = E || event;
							obj = E.srcElement;
						}else{
								obj = this;
						}
						(obj.targetState)?obj.slideClose():obj.slideOpen();
				}