function getById(el) {
	return document.getElementById(el);
}

function getByTag(par,el) {
	var par = (par == '') ? document.body : par;
	return par.getElementsByTagName(el);
}

function addClass(obj,newClass) {
	if(!obj.className.match(new RegExp(newClass)))
		obj.className+=(obj.className.length>0? " ": "") + newClass;
}
	
function removeClass(obj,oldClass) {
	obj.className=obj.className.replace(new RegExp("( ?|^)"+oldClass+"\\b"), "");
}

function getByClass(cla,par,el) {
	var par = (par == '') ? document.body : par;
	var el = (el == '') ? '*' : el;
	if(/.*native code.*/.test(document.getElementsByClassName)) {
		return par.getElementsByClassName(cla);
	}
	else {
		var tagColl = par.getElementsByTagName(el);
		trimedColl = new Array;
		for (var i = 0; tagColl[i]; i++) {
			if(tagColl[i].className.match(new RegExp(cla))) {
				trimedColl[trimedColl.length]=tagColl[i];
			}
		}
		return trimedColl;
	}
}

function setLinks(linkTags){
	var linkCollection = [];
	for (var j = 0; linkTags[j]; j++) {
		linkCollection[j] = getByTag('',linkTags[j]);
		for (var i = 0; linkCollection[j][i]; i++) {
			if(/external/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].onclick = function(e) {
					if (!e) var e = window.event;
					if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
						return true;
					window.open(this.href);
					return false;
				}
			}
		}
	}
}

function fixIE() {
	var h2Coll = getByTag(getById('content'),'h2');
	for (var i = 0; h2Coll[i]; ++i) {
		h2Coll[i].innerHTML = '{ ' + h2Coll[i].innerHTML + ' }';
	}
	var pC = getByClass('contact',getById('content'),'p');
	if(pC && pC[0])
		pC[0].innerHTML = '» ' + pC[0].innerHTML;
}

function fixLowIE() {

}

/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(!document.getElementsByTagName)
		return;
	addClass(getById('page'),'scripted');
	setLinks(['a','area']);

	/*@cc_on @*/
	/*@if (@_win32)
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null) {
			rv = parseFloat( RegExp.$1 );
			if(rv < 7) fixLowIE();
			if(rv < 8) fixIE();
		}
	/*@end @*/
}

if (/WebKit/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			clearInterval(_timer);
			init();
		}
	}, 10);
}

else if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, null);
}

else {
	/*@cc_on @*/
	/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init();
		}
	};
	/*@end @*/
	window.onload = init;
}