var d=document;
// add an event cross-browser
function listenTo(on, type, fn){
	if(window.addEventListener) {
		on.addEventListener(type, fn, false);
	} else if (window.attachEvent) {
		on.attachEvent('on'+type, function(){ fn.call(this, window.event) } );
	}
}
    
// cross browser get event target
function target(ev){
	var target;
	if (ev.target){ target = ev.target; }
	else if(ev.srcElement){ target = ev.srcElement; }
	if (target.nodeType == 3){ target = target.parentNode; }
	return target; 
}

function exp(e, id){
	var item = $('meer'+id);
	if(item.style.display=="none"){
		target(e).innerHTML = "[-] minder";
		item.style.display="";
	} else {
		target(e).innerHTML = "[+] meer";
		item.style.display="none";
	}
}

// showhide
function toggle(item){
	if(item.style.display=="none"){
		item.style.display="";
	} else {
		item.style.display="none";
	}
}

// cross browser preventdefault
function stop(e){
	if (e && e.preventDefault){ e.preventDefault(); }
	else if (window.event){ window.event.returnValue = false; }
}

	
function $(el){
	return d.getElementById(el);
}

function $T(tagname, el){
	if(!el){ el = document; } 
	return el.getElementsByTagName( tagname );
}

var xHR = function(url,options) {
	var req = createXMLHTTPObject();
	if(!req){ throw('no xmlhttprequest available!'); }
	method = (options.method) ? options.method : "GET";
	req.open(method, url, true);
	//req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if(method=='POST'){ req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); }
	req.onreadystatechange = function (){
		if (req.readyState != 4){ return; }
		else if (req.status != 200 && req.status != 304){ throw('xmlhttprequest error'); }
		else if(options.update){
			options.update.innerHTML = req.responseText; 
			if(options.evalScripts){ 
				var scripts = options.update.getElementsByTagName("script"); 
				for(i = 0; i < scripts.length; i++){eval(scripts[i].innerHTML);}
			}
		}
		if(options.evalResponse){ eval(req.responseText); }
		if(options.onComplete){ options.onComplete(req); }
	}
	req.send(options.data);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject(){
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++){
		try{ xmlhttp = XMLHttpFactories[i]();}catch(er){continue;}break;
	}
	return xmlhttp;
}

link = 0;
function linkout(e){
	if(target(e).tagName.toLowerCase()=="a"&&target(e).target=="_blank"){
		stop(e);
		link++;
		//window.open( target(e).href, 'win');
		window.open( target(e).href, 'win'+link );
		xHR("out.php?url="+target(e).href, {} );
	}
}

function meer(id){
	xHR('meer.php?cat='+id, {update: $('xtra'+id) })
}
