	/* ###################################################################################### \\
	** JavaScript -> javascript.php
	** =========================================================================================
	**		Copyright 2007 Graham Bishop (graham.bishop@gmail.com)
	**																				gbish.com
	\\ ###################################################################################### */
	
	
	function addBookmark(title, url){
	
		if (window.sidebar) window.sidebar.addPanel(title, url,"");
	
		else if( window.opera && window.print )
		{
		var mbm = document.createElement('a');
		mbm.setAttribute('rel','sidebar');
		mbm.setAttribute('href',url);
		mbm.setAttribute('title',title);
		mbm.click();
		}
	
		else if( document.all ) window.external.AddFavorite( url, title);
	
	}
	
	function downloadwin(URL) {
	   window.open(URL,'download_window','width=550,height=230,menubar=0,status=0,location=0,toolbar=0,scrollbars=0');
	}
	
	function image_viewer(URL) {
	   window.open(URL,'image_viewer','width=600,height=500,menubar=0,status=0,location=0,toolbar=0,scrollbars=1,resizable=1');
	}
	
	function request_viewer(URL) {
	   window.open(URL,'request_viewer','width=400,height=500,menubar=0,status=0,location=0,toolbar=0,scrollbars=1,resizable=1');
	}
	
	var slideInUse = new Array();
	
	function Slide(objId, options) {
		this.obj = document.getElementById(objId);
		this.duration = 1;
		this.height = parseInt(this.obj.style.height);
	
		if(typeof options != 'undefined') { this.options = options; } else { this.options = {}; }
		if(this.options.duration) { this.duration = this.options.duration; }
			
		this.up = function() {
			this.curHeight = this.height;
			this.newHeight = '1';
			if(slideInUse[objId] != true) {
				var finishTime = this.slide();
				window.setTimeout("Slide('"+objId+"').finishup("+this.height+");",finishTime);
			}
		}
		
		this.down = function() {
			this.newHeight = this.height;
			this.curHeight = '1';
			if(slideInUse[objId] != true) {
				this.obj.style.height = '1px';
				this.obj.style.display = 'block';
				this.slide();
			}
		}
		
		this.slide = function() {
			slideInUse[objId] = true;
			var frames = 30 * duration; // Running at 30 fps
	
			var tIncrement = (duration*1000) / frames;
			tIncrement = Math.round(tIncrement);
			var sIncrement = (this.curHeight-this.newHeight) / frames;
	
			var frameSizes = new Array();
			for(var i=0; i < frames; i++) {
				if(i < frames/2) {
					frameSizes[i] = (sIncrement * (i/frames))*4;
				} else {
					frameSizes[i] = (sIncrement * (1-(i/frames)))*4;
				}
			}
			
			for(var i=0; i < frames; i++) {
				this.curHeight = this.curHeight - frameSizes[i];
				window.setTimeout("document.getElementById('"+objId+"').style.height='"+Math.round(this.curHeight)+"px';",tIncrement * i);
			}
			
			window.setTimeout("delete(slideInUse['"+objId+"']);",tIncrement * i);
			
			if(this.options.onComplete) {
				window.setTimeout(this.options.onComplete, tIncrement * (i-2));
			}
			
			return tIncrement * i;
		}
		
		this.finishup = function(height) {
			this.obj.style.display = 'none';
			this.obj.style.height = height + 'px';
		}
		
		return this;
	}
