/*** LINKS SYNCHRONIZATION ***/
var myLinks = Array();
linkSamePage = function() {
	var url = ''+window.location;
	var domain = getDomainFromHref(url);
	var links = document.getElementsByTagName('a');
	for (var i=0; i<links.length; i++) {
		if (!hasClass(links[i], "nojs")) {
			if (myLinks[links[i].href] == undefined) {
				myLinks[links[i].href] = Array();
			}
			myLinks[links[i].href][myLinks[links[i].href].length] = links[i];
			links[i].onmouseover = onLinkOver;
			links[i].onmouseout = onLinkOut;
			links[i].onfocus = onLinkOver;
			links[i].onblur = onLinkOut;
			if (links[i].href == url) {
				addClass(links[i], 'current');
			}
			if (getDomainFromHref(links[i].href) != domain) {
				links[i].target = '_blank';
			}
		}
	}
}
getDomainFromHref = function(href) {
	domain = href.substr(7);
	return domain.substr(0,domain.indexOf('/'));
}
onLinkOver = function(e) {
	var href = getHref(e);
	if (myLinks[href] !== undefined) {
		for (var i=0; i<myLinks[href].length; i++) {
			addClass(myLinks[href][i], 'hover');
		}
	}
}
onLinkOut = function(e) {
	var href = getHref(e);
	if (myLinks[href] !== undefined) {
		for (var i=0; i<myLinks[href].length; i++) {
			removeClass(myLinks[href][i], 'hover');
		}
	}
}
getHref = function(e) {
	if (!e) var e = window.event;
	var href, el;
	if (e.srcElement) el = e.srcElement;
	else if (e.target) el = e.target;
	while (typeof href !== 'string' && el != null) {
		if (el.tagName == 'A') {
			href = el.href;
		}
		el = el.parentNode;
	}
	return href;
}
hasClass = function(ele,cls) {
	if (!ele || !ele.className) return false;
	return (ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')) != null);
}
addClass = function(ele,cls) {
	if (!hasClass(ele,cls)) ele.className += " "+cls;
}
removeClass = function(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}



/*** BACKGROUND FUN ***/
var BackgroundPosition;
moveBackground = function() {
	BackgroundPosition=0;
	setTimeout(moveBackgroundHandler, 30000);
}
moveBackgroundHandler = function() {
	BackgroundPosition += 1;
	document.getElementById('header').style.backgroundPosition = BackgroundPosition + "px top";
	document.getElementById('stickFooter').style.backgroundPosition = "-" + BackgroundPosition + "px top";
	if (BackgroundPosition >= 22*1) {
		moveBackground();
	} else {
		setTimeout(moveBackgroundHandler, 50);
	}
}



/*** ONLOAD ***/
window.onload = function() {
	linkSamePage();
	moveBackground();
}



/*** DEBUG ***/
var_dump = function(v){
	$str = '';
	if (typeof v == 'string') {
		$str = "'" + v + "'";
	} else if (typeof v == 'number') {
		$str = v;
	} else if (typeof v == 'function') {
		$str = 'function()';
	} else if (typeof v == 'boolean') {
		if (v) $str += 'true';
		else $str = 'false';
	} else if (typeof v == 'object') {
		for (var i in v) {
			$str += i + ': ' + v[i] + '\n';
		}
	}
	return $str;
}
