
/*		DO NOT GRAP ANYTHING OF THIS PAGE WITHOUT THE PRMISSION OF
 * 	THE OWNER (= SMOERIJF FORUMS - SMOERIJF.BE)
 *
 *		ONLY FOR USE ON SMOERIJF FORUMS
 *
 **/

var kill, iTimeout = 200, bPopupShown = false, xMouse, yMouse, xOffset = 11, yOffset = 5, sPopUpDiv = 'popup', sPopUpDivTxt = 'popupTxt', clientPC = navigator.userAgent.toLowerCase(), clientVer = parseInt(navigator.appVersion)
var ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var ns6 = document.getElementById&&!document.all
function showPopUpDiv(sInhoud)
{
	div = document.getElementById(sPopUpDiv)
	divTxt = document.getElementById(sPopUpDivTxt)
	if(sInhoud != 'kill')
	{
		bPopupShown = true;
		divTxt.innerHTML = sInhoud
		if(ie)
		{
			div.style.left = event.clientX + xOffset +'px'
			div.style.top = event.clientY + yOffset +'px'
		}
		setTimeout('updateMousePos(\''+ sPopUpDiv +'\')', 1)			
	}
	else
	{
		bPopupShown = false;
		div.style.left = '-2000px'
		divTxt.innerHTML = ' '
	}
	clearTimeout(kill);
}

function updateMousePos(divIn)
{
	div = document.getElementById(divIn)
	if(bPopupShown)
	{
		div.style.left = xMouse + xOffset +'px'
		div.style.top = yMouse + yOffset +'px'
		setTimeout('updateMousePos(\''+ divIn +'\')', 100);
	}
}

function hidePopUpDiv()
{
	kill = setTimeout('showPopUpDiv("kill")', iTimeout);
}

function getMousePos(e)
{
	if(document.layers && !ie)
	{
		xMouse = e.pageX;
		yMouse = e.pageY;
	}
	else if(document.all)
	{
		xMouse = window.event.clientX + document.body.scrollLeft;
		yMouse = window.event.clientY + document.body.scrollTop;
	}
	else if(document.getElementById && !ie)
	{
		xMouse = e.pageX;
		yMouse = e.pageY;
	}
	// gebug
	// window.status = "xMouse=" + xMouse + ", yMouse=" + yMouse
}

if(document.layers) 
{
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = getMousePos;
} 
else if(document.all || document.getElementById) 
{
    document.onmousemove = getMousePos;
}



/**
 * (c) SMOERIJF
 **/
var SERVER = {
	loaded: false,
	requestobj: false,
	load: function() {
		if(SERVER.loaded == false){
			this.loaded = SERVER.loadrequestobj(); //probeer te laden
		}
		return this.loaded;
	},
	loadrequestobj: function(){
		if (window.XMLHttpRequest){ // if Mozilla, Safari etc or IE7
			this.requestobj = new XMLHttpRequest();
			if (this.requestobj.overrideMimeType) this.requestobj.overrideMimeType('text/xml');
			return true;
		}
		else if (window.ActiveXObject){ // if IE, not IE7
			try{
				this.requestobj = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e){
				try {
					this.requestobj = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e){
					return false;
				}
			}
			return true;
		}
		return false;
	},
	GETrequest: function(url, data, func){
		if(!this.load()) return false;
		this.requestobj.open('GET', '/js/ajax/'+ url +'?'+ data +'&rrd='+ Math.random(), true);
		if(func) this.requestobj.onreadystatechange = func;
		this.requestobj.send(null);
		return true;
	},
	receive: function(){
		if( this.requestobj.readyState != 4) return false;
		else if(this.requestobj.status != 200) return 'Fout: '+ this.requestobj.statusText;
		else return this.requestobj.responseText;
	}
}



function $id(id){
	return document.getElementById(id);
}

function positionAJX(){
	$("popup2").style.top = (yMouse+8) +"px";
	$("popup2").style.left = (xMouse-($id("popup2").clientWidth/2)) +"px";
	$("popup2").show();
}

function centerAJX(){
	$("popup2").style.top = (yMouse + 4) +"px";
	$("popup2").style.left = (screen.width-($id("popup2").clientWidth))/2 +"px";
	$("popup2").show();
}

function closeAJX(){
	$("popup2").hide();
}

function showAJX(){
	var data = SERVER.receive();
	if(data){
		$id("popup2text").innerHTML = data;
	}
}

function evalAJX(){
	var data = SERVER.receive();
	if(data){
		if (data.substr(0,2) == "/*") {
			data = data.substring(2, data.length - 2);
		}
		setTimeout('eval("'+ data +'");', 2);
	}
}


///
var base = "http://smoerijf.be/"
function login(){
	positionAJX();		
	$("popup2Admin").innerHTML = 'Login';
	$("popup2text").innerHTML = "Loading...";
	SERVER.GETrequest('login.php', 'show=1', showAJX);		
}

function showGlobalError(){
	centerAJX();		
	$("popup2Admin").innerHTML = 'Error'
	$("popup2").style.top= "50px";		 
	$("popup2").style.width = "200px";
	setTimeout("closeAJX();", 10000);
}

var bDoingCode = false;
var iBufferCID;
var bNoHil = new Array();
function noHighlighting(TMID, CID){
	if(!bDoingCode){
		var mode = 1; 		
		if(bNoHil[CID]) mode = bNoHil[CID];				
		if(!bNoHil[CID] || bNoHil[CID] == 1) bNoHil[CID] = 2;
		else bNoHil[CID] = 1;		
		
		bDoingCode = true;
		iBufferCID = CID;
		$id("code"+ CID +"d").innerHTML = "Loading...";
		$id("code"+ CID +"d").style.display = "block";
		SERVER.GETrequest('code.php', 'mode='+ mode +'&tmid='+ TMID +'&cid='+ CID, noHighlightingHandle);		
	}
}
function saveCode(TMID, CID){
	location.href = "/script/"+ TMID +"/"+ CID
}

function noHighlightingHandle(){
	var data = SERVER.receive();
	if(data){
		$id("code"+ iBufferCID +"d").innerHTML = data;
		iBufferCID = 0;
		bDoingCode = false;	
	}		
}

function toggle(CID){
	if($id("code"+ CID +"d").style.display == "" || $id("code"+ CID +"d").style.display == "block"){
		$id("code"+ CID +"d").style.display = "none"
	}
	else{
		$id("code"+ CID +"d").style.display = "block"
	}
}

function reloadTagList(){
	centerAJX();		
	$id("popup2Admin").innerHTML = 'Tags loading';
	$id("popup2text").innerHTML = "Loading...";	
	SERVER.GETrequest('admin_tags.php', 'show=tableAll', reloadTagListHandle);
	if(location.href.indexOf("#") != -1){
		location.href="#"
	}
}
function reloadTagListHandle(){	
	var data = SERVER.receive();
	if(data){
		if (data.substr(0,2) == "/*") {
			data = data.substring(2, data.length - 2);
		}
		eval("var aData = "+ data);
		var r = '<table cellspacing="0" cellpadding="0" style="width:100%;"><tr style="background-color:'+ aData[0][0] +';"><td style="width:30px;"></td><td>Tag</td><td></td></tr>'
		for(i=1; i<=aData[0][1]; i++){
			r += '<tr style="background-color:'+ aData[i][0] +';vertical-align:center;">'
			r += '<td style="width:25px;">&nbsp;</td>'
			r += '<td><a href="#'+ (aData[i][2]).replace(" ", "-").toLowerCase() +'" onclick="showTagID(\''+ aData[i][1] +'\')"><h'+ aData[i][3] +'>'+ aData[i][2] + ((showAdmin == 1) ? ' <span onmouseover="showPopUpDiv(\'Tag level: '+ aData[i][3] +'\')" onmouseout="hidePopUpDiv()">('+ aData[i][3] +')</span>': '') +'</h'+ aData[i][3] +'></a></td>'
			if(showAdmin == 1){
				r += '<td style="width:40px;vertical-align:center;"><a href="javascript:deleteTag('+ aData[i][1] +');" onmouseover="showPopUpDiv(\'Delete tag\')" onmouseout="hidePopUpDiv()">[X]</a>'
				r += '<a href="javascript:editTag('+ aData[i][1] +');" onmouseover="showPopUpDiv(\'Edit tag\')" onmouseout="hidePopUpDiv()">[E]</a></td>'
			}
			r += '</tr>'
		}
		$id("tagContainer").innerHTML = r +'</table>';
		closeAJX();
	}
}
function showTagID(tgid){
	centerAJX();		
	$id("popup2Admin").innerHTML = 'Tag loading';
	$id("popup2text").innerHTML = "Loading...";	
	SERVER.GETrequest('admin_tags.php', 'show=tag&tgid='+ tgid, showTagHandle);
}
function showTagHandle(){	
	var data = SERVER.receive();
	if(data){
		if (data.substr(0,2) == "/*") {
			data = data.substring(2, data.length - 2);
		}
		eval("var aData = "+ data);
		var r = '<table cellspacing="0" cellpadding="0" style="width:100%;"><tr style="background-color:'+ aData[0][0] +';"><td style="width:30px;"></td><td>Item</td><td style="width:175px;">Laatst gewijzigd</td><td></td></tr>'
		for(i=1; i<=aData[0][1]; i++){
			r += '<tr style="background-color:'+ aData[i][0] +';">'
			r += '<td style="width:25px;">&nbsp;</td>'
			r += '<td><a href="'+ (aData[i][2]).replace(/[" "\r]+/g, "-").toLowerCase() +'.tm">'+ aData[i][2] +'</a></td>'
			r += '<td style="width:80px;">&nbsp;'+ aData[i][3] +'</td>'
			r += '</tr>'
		}
		if(i == 1){
			r += '<tr><td colspan="3">Geen items</td></tr>'
		}
		$id("tagContainer").innerHTML = r +'</table>';
		closeAJX();
	}
}
