/*
$Id: js_functions.inc.js 3434 2008-02-24 21:28:20Z fesh $
*/
function popup_image(image_url, title) {
	var winl = (screen.width - 200) / 2;
	var wint = (screen.height - 300) / 2;
	var settings  = 'top='+wint+',';
		settings += 'left='+winl+',';
		settings += 'width=200,';
		settings += 'height=300,';
		settings += 'scrollbars=no,';
		settings += 'resizable=yes';

	title = title.replace(/\s/g, '%20');

	win = window.open('/image_popup.php?image_url='+image_url+'&title='+title, 'image', settings);

	if (win.window.focus) {
		win.window.focus();
	}
}


function popup_gallery(g, i, w, h) {
	var winl = (screen.width - 700) / 2;
	var wint = (screen.height - 500) / 2;
	var settings  = 'top='+wint+',';
		settings += 'left='+winl+',';
		settings += 'width=700,';
		settings += 'height=500,';
		settings += 'scrollbars=no,';
		settings += 'resizable=yes';

	win = window.open('/gallery_popup.php?g='+g+'&i='+i+'&w='+w+'&h='+h, 'gallery', settings);

	if (win.window.focus) {
	   win.window.focus();
	}
}


/* preload images */
if (document.images) {
	var spacerOn = new Image();
	spacerOn.src = "/images/spacer.gif";
}


// Shorter way of typing document.getElementById() - also good for returning many elements
var $ = function() {
	var elements = new Array();
	for (var i=0; i < arguments.length; i++) {
		var element = arguments[i];

		if (typeof(element) === 'string') {
			element = document.getElementById(element);
		}

		if (arguments.length == 1) {
			return element;
		}

		elements.push(element);
	}

	return elements;
};

/*
// Add an event
var addEvent = function(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);

		return r;
	}
	else {
		elm['on' + evType] = fn;
	}

	return true;
};
*/

function TextScrollHoriz(scrollname, div_name, left_name, right_name) {
    this.div_name = div_name;
    this.name = scrollname;
    this.scrollCursor = 0;
    this.speed = 10;
    this.timeoutID = 0;
    this.div_obj = null;
	this.div_left_obj = null;
	this.div_right_obj = null;
    this.left_name = left_name;
    this.right_name = right_name;

	{
		div_obj = document.getElementById(this.div_name);
		if (div_obj) {
			this.div_obj = div_obj;
			this.div_obj.style.overflowX = 'hidden';
		}

		div_left_obj = document.getElementById(this.left_name);
		div_right_obj = document.getElementById(this.right_name);
		if (div_left_obj && div_right_obj) {
			div_left_obj.onmouseover = function() { eval(scrollname + ".scrollLeft()") };
			div_left_obj.onmouseout = function() { eval(scrollname + ".stopScroll()") };

			div_right_obj.onmouseover = function() { eval(scrollname + ".scrollRight()") };
			div_right_obj.onmouseout = function() { eval(scrollname + ".stopScroll()") };
		}
	}

	this.stopScroll = function() {
		clearTimeout(this.timeoutID);
	}

	this.scrollLeft = function() {
		if (this.div_obj) {
			this.scrollCursor -= this.speed;
			this.div_obj.scrollLeft = this.scrollCursor;

			if (this.div_obj.scrollLeft == this.scrollCursor) {
				this.timeoutID = setTimeout(this.name + ".scrollLeft()", 50);
			}
			else {
				this.scrollCursor = this.div_obj.scrollLeft;
			}
		}
	}

	this.scrollRight = function() {
		if (this.div_obj) {
			this.scrollCursor += this.speed;
			this.div_obj.scrollLeft = this.scrollCursor;

			if (this.div_obj.scrollLeft == this.scrollCursor) {
				this.timeoutID = setTimeout(this.name + ".scrollRight()", 50);
			}
			else {
				this.scrollCursor = this.div_obj.scrollLeft;
			}
		}
	}

	this.resetScroll = function() {
		if (this.div_obj) {
			this.div_obj.scrollLeft = 0;
			this.scrollCursor = 0;
		}
	}
}
/*
 * TYPEWRITER EFFECT.
 * runs through
 * DOESN'T COPE WITH HTML CONTENT within paragraphs, or entities, or pretty much anything.
 */
var typewriter = {
	id:'headerquote',
	content:'',
	paragraphs:[],
	paragraphIndex:'',
	speed:5,
	type_i:'',
	init: function (){
		if(document.getElementById && document.getElementById(typewriter.id)){
			var c = document.getElementById(typewriter.id);
			c.style.Height = c.offsetHeight+"px";
			var p = c.getElementsByTagName('p');
			var i=0;
			for (z in p) {
				if(p[z].nodeType == 1){ //otherwise it includes text nodes and gets confused
					typewriter.paragraphs[i] = p[z];
					p[z].style.display = "none";
					i++;
				}
			}
			typewriter.paragraphIndex = 0;
			typewriter.showParagraph();
		}
	},
	showParagraph: function (){
		var p = typewriter.paragraphs[typewriter.paragraphIndex];
		if (p.nodeType == 1){ //only if it actually is a paragraph.
			typewriter.content = p.innerHTML;
			p.innerHTML = '';
			p.style.display = "block";
			typewriter.type_i = setInterval("typewriter.type()", typewriter.speed);
		} else {
			alert('end');
		}
	},
	type: function (){
		if (typewriter.content != '') {
			typewriter.paragraphs[typewriter.paragraphIndex].innerHTML += typewriter.content.slice(0,1);
			typewriter.content = typewriter.content.slice(1);
		} else {
			clearInterval(typewriter.type_i);
			typewriter.paragraphIndex++;
			typewriter.showParagraph();
		}
	}
}


var win=null;
	function PopupContentPage(w, h, page, resize) {
		var winl = (screen.width-w)/2;
		var wint = (screen.height-h)/2;
		var settings  ='height='+h+',';
			settings +='width='+w+',';
			settings +='top='+wint+',';
			settings +='left='+winl+',';
			settings +='scrollbars='+scroll+',';
			settings +='resizable='+resize+'';

		win=window.open(page,'editor',settings);
		if(parseInt(navigator.appVersion) >= 4) {
			win.window.focus();
		}
	}
