var doc = document;
var docFrm;

function $( Id ) {
	if ( doc.getElementById( Id ) ) {
		return doc.getElementById( Id );
	}
	return false;
}
function eleId( Id ) {
	return $( Id );
}
function focusOn( Id, S ) {
	if ( $( Id ) ) {
		$( Id ).focus();
	}
	if ( S ) {
		scrollToEle( S );
	}
}
function goTo(url, newWindow) {
	if (newWindow) {
		window.open(url);
	} else {
		doc.location.href = url;
	}
}
function stopBubble(e) {
	if (!e) { var e = window.event; }
	e.cancelBubble = true;
	if (e.stopPropagation) { e.stopPropagation(); }
}
function getOffset(ele) {
	xP = parseInt(ele.offsetLeft);
	yP = parseInt(ele.offsetTop);
	
	var p = ele;
	while (p.offsetParent) {
		p=p.offsetParent;
		xP+=parseInt(p.offsetLeft);
		yP+=parseInt(p.offsetTop);
	}
	return {x: xP, y: yP};
}
function checkAll(eleName) {
	eList = doc.getElementsByName(eleName);
	for (var i = 0; i < eList.length; i++) {
		eList[i].checked = true;
	}
}
function scrollToEle(id) {
	if (eleId(id)) {
		off = getOffset(eleId(id));
		if (off.y >= 20) {
			off.y -= 20;
		}
		window.scrollTo(off.x, off.y);
	}
}
function onlyInt(e) {
	var code;
	if (!e) { var e = window.event; }
	if (e.keyCode) { code = e.keyCode;
	} else if (e.which) { code = e.which;
	} else { return true; }
	
	if ((code >= 48 && code <= 57) || (code >= 96 && code <= 105) || code == 35 || code == 36 || code == 8 || code == 9 || code == 46 || code == 188 || code == 16 || code == 13 || code == 37 || code == 39) {
		return true;
	}
	return false;
}
function trck(ele,k,c,s) {
	if (document.images) {
		u = (ele && s ? escape(ele.href) : 0);
        (new Image()).src = '/tc.php?k='+k+'&d='+dm+'&c='+c+'&s='+s+'&u='+u;
    }
    return true;
}
function addEvent(obj, type, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(type, fn, false);
	} else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent("on"+type, obj[type+fn]);
	}
}
function ucFirst(str) {
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1, str.length-1);
}


/* Tabel en div effecten
------------------------------------------------------------------*/
var effPrevClassName = false;
function effInit() {
	// Tables
	eList = doc.body.getElementsByTagName('table');
	for (var i = 0; i < eList.length; i++) {
		ele = eList[i];
		if (ele.className.indexOf('effhover') >= 0) {
			if (ele.className.indexOf('list') == 0) {
				effRowHover(ele.getElementsByTagName('tbody'));
			} else if (ele.className.indexOf('cells') >= 0 || ele.className.indexOf('promotion') >= 0) {
				effRowHover(ele.getElementsByTagName('td'));
			} else {
				effRowHover(ele.getElementsByTagName('tr'));
			}
		}
	}
	// Divs
	eList = doc.body.getElementsByTagName('div');
	for (var i = 0; i < eList.length; i++) {
		ele = eList[i];
		if (ele.className.indexOf('effhover') >= 0) {
			if (ele.className.indexOf('list') >= 0) {
				effRowHover(ele.getElementsByTagName('div'), 'listitem');
			}
		}
	}		
}
function effRowHover(arr, cssClass) {
	for (var i = 0; i < arr.length; i++) {
		if (arr[i].className.indexOf('nohover') >= 0) {
			continue;
		}
		if (cssClass && arr[i].className.indexOf(cssClass) != 0) {
			continue;
		}
		addEvent(arr[i], 'mouseover', function() {
			effPrevClassName = this.className;
			this.className += ' hover';
		});
		addEvent(arr[i], 'mouseout', function() {
			this.className = effPrevClassName;
		});
	}
}


/* Afbeelding niet aanwezig
------------------------------------------------------------------*/
function imgNo(ele, size) {
	size = (size ? size : 64);
	ele.src = '/images/misc/noimage_'+size+'_'+lng+'.gif';
	ele.style.width = size+'px';
	ele.style.height = size+'px';
	ele.alt = '';
}


/* Dialoog scherm
------------------------------------------------------------------*/
var dlgDiv;
var dlgIFrame;
function dlgView(type, w, h, title, u) {
	if (!dlgDiv) {
		dlgIFrame = doc.createElement('iframe');
		dlgIFrame.id = 'dialogiframe';
		dlgIFrame.frameBorder = '0';
		eleId('main').appendChild(dlgIFrame);
		
		dlgDiv = doc.createElement('div');
		dlgDiv.id = 'dialog';
		eleId('main').appendChild(dlgDiv);
	}
	
	dlgIFrame.style.width		= dlgDiv.style.width = w+'px';
	dlgIFrame.style.height		= dlgDiv.style.height = (h+42)+'px';
	dlgIFrame.style.marginLeft	= dlgDiv.style.marginLeft = ((w / 2) * -1)+'px';
	dlgIFrame.style.display		= dlgDiv.style.display = '';
	
	dlgPosition();
	
	// Titel
	headEle = doc.createElement('div');
	headEle.className = 'head';
	closeEle = doc.createElement('span');
	closeEle.onclick   = dlgClose;
	closeEle.title     = closeDialogText;
	closeEle.appendChild( doc.createTextNode('X') );
	headEle.appendChild( closeEle );
	headEle.innerHTML = title;
	
	// Inhoud
	insEle = doc.createElement('div');
	insEle.className = 'inside';
	if (type == 'img') {
		addEle = doc.createElement('img');
	} else if (type == 'iframe') {
		addEle = doc.createElement('iframe');
		addEle.style.width = w+'px';
		addEle.style.height = h+'px';
		addEle.frameBorder = '0';
	}
	addEle.src = u;
	insEle.appendChild( addEle );
	
	// Sluit venster knop
	closeEle = doc.createElement('div');
	closeEle.className = 'close';
	closeEle.onclick   = dlgClose;
	closeEle.title     = closeDialogText;
	closeEle.appendChild( doc.createTextNode(closeDialogText) );
		
	dlgDiv.innerHTML = ''
	dlgDiv.appendChild( headEle );
	dlgDiv.appendChild( insEle );
	dlgDiv.appendChild( closeEle );
}
function dlgClose() {
	dlgIFrame.style.display = dlgDiv.style.display = 'none';
}
function dlgPosition() {
	if (!dlgDiv) {
		return false;
	}
	dlgIFrame.style.marginTop = dlgDiv.style.marginTop = (docFrm.sT - ( parseInt(dlgDiv.style.height) / 2) )+'px';
}


/* FrameSize
------------------------------------------------------------------*/
function frmSize() {
	// Scrollbar
	var x,y;
	if (self.pageYOffset) {
		// all except Explorer
		x = self.pageXOffset;
		y = self.pageYOffset;
	} else if (doc.documentElement && doc.documentElement.scrollTop) {
		// Explorer 6 Strict
		x = doc.documentElement.scrollLeft;
		y = doc.documentElement.scrollTop;
	} else if (doc.body) {
		// all other Explorers
		x = doc.body.scrollLeft;
		y = doc.body.scrollTop;
	}
	
	// Page frame size
	if (self.innerWidth) {
		// all except Explorer
		fWidth = self.innerWidth;
		fHeight = self.innerHeight;
	} else if (doc.documentElement && doc.documentElement.clientWidth) {
		// Explorer 6 Strict
		fWidth = doc.documentElement.clientWidth;
		fHeight = doc.documentElement.clientHeight;
	} else if (doc.body) {
		// all other Explorers
		fWidth = doc.body.clientWidth;
		fHeight = doc.body.clientHeight;
	}
	
	return {fW: fWidth, sW: fWidth + x, fH: fHeight, sH: fHeight + y, sL: x, sT: y};
}
function frmRecalc() {
	docFrm = frmSize();
	dlgPosition();
}

function innoTrack(cat1, cat2, cat3) { 
	var pageTracker = _gat._getTracker("UA-5097174-7");
	pageTracker._initData();
	pageTracker._trackEvent(cat1, cat2, cat3);
}

addEvent( window, 'scroll', frmRecalc );
addEvent( window, 'resize', frmRecalc );