// STORE REQUIRED ACTIONS IN VARIABLE //

var W3CDOM = (document.getElementsByTagName);

function init() {

	windowwidth = window.innerWidth;
	pagewidth = document.getElementById("pagewrapper").offsetWidth;

	if (!windowwidth) {
		windowwidth = document.documentElement.clientWidth;
	}

	if (!windowwidth || windowwidth == 0) {
		windowwidth = document.body.clientWidth;
		pagewidth = document.getElementById("pagewrapper").offsetWidth;
	}

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
	}

	// IF ACTIONS ARE NOT SUPPORTED STOP SCRIPT //
	if (!W3CDOM) return;

	if (windowwidth > 1200) {
//		document.getElementById("pagewrapper").style.width = '80%';
		if (document.getElementById("homewrapper")) {
//			document.getElementById("homewrapper").style.marginLeft = '20%';
		}
	} else {
//		document.getElementById("pagewrapper").style.width = '940px';
		if (document.getElementById("homewrapper")) {
//			document.getElementById("homewrapper").style.marginLeft = '0';
		}
	}

	var menu = document.getElementById('menu');

	//hovers for images
	hover_images = document.getElementsByClassName('hover_image');
	for (var i=0;i<hover_images.length;i++) {
		hover_images[i].onmouseover = hover_button;
		hover_images[i].onmouseout = hover_button_out;
	}

}

function hover_button() {
	if (this.src) {
		this.src = this.src.replace('.gif','_hover.gif');
	}
}

function hover_button_out() {
	if (this.src) {
		this.src = this.src.replace('_hover.gif','.gif');
	}
}

function mousegoesover2() {
	this.className = "over";
}

function mousegoesout2() {
	this.className = "";
}

function mousegoesover() {
	this.className = "over";
}

function mousegoesout() {
	this.className = "";
}

function clearfunc() {
	this.value = "";
	this.style.backgroundImage = 'none';
}

function addEvent(obj,type,func) {
	if (obj.addEventListener) { obj.addEventListener(type,func,false); return true; }
	if (obj.attachEvent) { return obj.attachEvent("on"+type,func); }
	return false;
}

function removeEvent(obj,type,func) {
	if (obj.removeEventListener) { obj.removeEventListener(type,func,false); return true; }
	if (obj.detachEvent) { return obj.detachEvent("on"+type,func); }
	return false;
}

function findEvent(e) {
	if (!e) var e = window.event;
	return e;
}
			
function findTarget(e) {
	if (e.target) t = e.target;
	else if (e.srcElement) t = e.srcElement;
	while (t.nodeType != 1) {
		document.title += t;
		t = t.parentNode;
	}
	return t;
}

function findPos(obj) {
	var x = y = 0;
	if (obj.offsetParent) {
		x = obj.offsetLeft;
		y = obj.offsetTop;
		while (obj = obj.offsetParent) {
			x += obj.offsetLeft
			y += obj.offsetTop
		}
	}
	return [x,y];
}

function findViewportSize() {
	var x = y = 0;
	if (self.innerHeight) { // if !ie
		x = self.innerWidth;
		y = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // if ie6 strict
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	} else if (document.body) { // all other ie
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	return [x,y];
}

function findPageSize() {
	var x = y = 0;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) { // if !ie mac
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	} else { // if ie mac
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	return [x,y];
}

function findPageOffset() {
	var x = y = 0;
	if (self.pageYOffset) { // if !ie 
		x = self.pageXOffset;
		y = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) { // if ie6 strict
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	} else if (document.body) { // all other ie
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return [x,y];
}

function findMousePos(e) {
	var x = y = 0;
	if (e.pageX || e.pageY) {
		x = e.pageX;
		y = e.pageY;
	} else if (e.clientX || e.clientY) 	{
		x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	return [x,y];
}

function vector() {
	this.x = 0; this.y = 0; this.z = 0;
}

function addClass(object,classname) {
	object.className += " "+classname;
}

function checkClass(object,classname) {
	classes = object.className.split(' ');
	var i;
	for (i=0;i<classes.length;i++) {
		if (classes[i] == classname) return true;
	}
	return false;
}

function removeClass(object,classname) {
	classes = object.className.split(' ');
	var i; var newclass = "";
	for (i=0;i<classes.length;i++) {
		if (classes[i] != classname) newclass += " "+classes[i];
	}
	object.className = newclass;
}

if (typeof document.getElementsByClassName != 'function') {
	document.getElementsByClassName = function(className, tag, elm){
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	}
}

function update_stars(id,rating) {

	document.getElementById("star_rating_"  + id).value = rating;

	var stars = document.getElementById('stars' + id);

	if(stars) {

		var itags = stars.getElementsByTagName('img');

		for (var i=0;i<itags.length;i++) {

			if(i < rating) {
				itags[i].src = '/images/star_on.gif';
			} else {
				itags[i].src = '/images/star.gif';
			}

		}

	}

}

