/*
JK Engineering Forum 1.01
(c) 2008 Jeroen Kuijper
*/

var http_request = false;
var eigen_id = 0;

function gebid(id){
	return document.getElementById(id);
}
function ec(str){
	return encodeURIComponent(str);	
}
function ajax(url,vars,callbackFunction){
	if(window.XMLHttpRequest){
		var request = new XMLHttpRequest();
	} else {
		var request = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	}

	request.open('POST',url,true);
	request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	request.onreadystatechange = function(){
		if(request.readyState == 4 && request.status == 200){
			if(request.responseText){
				callbackFunction(request.responseText);
			}
		}
	}
	request.send(vars);
}
function melding(result){
	alert(result);
}
function voorbeeld(){
	ajax('../preview.php',"bericht="+ec(gebid('mess').value),preview);
}
function favorieten_verw(tid){
	if(confirm('Weet je zeker dat je deze topic uit je favorieten wilt verwijderen?')){
		var poststr = "t="+tid;
		gebid('fav_'+tid).style.display = 'none';
		ajax('../ajax/favorieten_verwijderen.php',poststr,melding);
	}
}
function favorieten(tid){
	ajax('../ajax/favorieten.php',"t="+tid,melding);
}

function snelreageren(id,bd){
	gebid('replyknop').innerHTML = 'Moment...';
	gebid('replyknop').disabled = 'disabed';
	gebid('preview').style.display = 'none';
	ajax('../ajax/reageer.php',"bericht="+ec(gebid('mess').value)+'&tid='+id+'&bd='+bd,updateposts);
}

function preview(result){
	gebid('preview').innerHTML = result;
}

function updateposts(result){
	var filter  = /^</;
	if(filter.test(result)){
		gebid('quick').style.display = 'none';
		gebid('nieuwereactie').innerHTML = result;
	} else {
		gebid('error').innerHTML = result;
		gebid('replyknop').innerHTML = 'Reageer';
	}
}
function replaceTzmlMarkup(name,text){
	var regstart = new RegExp("\\["+name+"\\]","g");
	var regend = new RegExp("\\[\\/"+name+"\\]","g");
	if (text.match(regstart) || text.match(regend)){
		text = text.replace(regstart,"");
		text = text.replace(regend,"");
	} else {
		text = '['+name+']'+text+'[/'+name+']';
	}
	return text;
}
function tzmlInsert(myField,type,code){

	if(document.selection){

		myField.focus();
		var sel = document.selection.createRange();
		var selection = sel.text
		var text = tzmlMakeText(type,selection,code);
		if(type != 'smilie'){
			sel.text = text;
		}

	} else if (myField.selectionStart || myField.selectionStart == 0){

		var scrollPos = myField.scrollTop;

		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var selectionlength = endPos - startPos;
		var selection = myField.value.substring(startPos,endPos);
		var text = tzmlMakeText(type, selection, code);

		myField.value = myField.value.substring(0,startPos)+text+myField.value.substring(endPos,myField.value.length);
		if(type != 'smilie'){
			var sStart = startPos;
			var sEnd = startPos+text.length;
			myField.setSelectionRange(sStart,sEnd);
		}

		myField.scrollTop = scrollPos;
		myField.focus();

	} else {
		var text = tzmlMakeText(type,'',code);
		myField.value = myField.value + text;
		myField.focus();
	}

}

function tzmlMakeText(type,selection,code){
	var text
	switch(type){

		case 'bold':
			text = replaceTzmlMarkup('b',selection);
		break
		case 'underline':
			text = replaceTzmlMarkup('u',selection);
		break
		case 'sub':
			text = replaceTzmlMarkup('sub',selection);
		break
		case 'sup':
			text = replaceTzmlMarkup('sup',selection);
		break
		case 'quote':
			text = replaceTzmlMarkup('quote',selection);
		break
		case 'doorhalen':
			text = replaceTzmlMarkup('strike',selection);
		break
		case 'user':
			text = replaceTzmlMarkup('user',selection);
		break
		case 'lmgtfy':
			text = replaceTzmlMarkup('lmgtfy',selection);
		break
		case 'important':
			text = replaceTzmlMarkup('!',selection);
		break;
		case 'italic':
			text = replaceTzmlMarkup('i',selection);
		break;
		case 'verborgen':
			text = replaceTzmlMarkup('hide',selection);
		break
		case 'anchor':
			var url = prompt('Voer de URL in:','http:\/\/');
			if(url !== null && url !== '' && url !== 'http:\/\/'){
				if(selection == ''){
					var selection = prompt('Voer een naam voor je link in:\nleeg laten is geen naam!','');
				}

				if(selection !== null && selection !== ''){
					var text = '[url='+url+']'+selection+'[/url]';
				} else {
					var text = '[url]'+url+'[/url]';
				}
			} else {
				text = selection;
			}
		break
		case 'image':
			if(selection == ''){
				var selection = prompt('Voer de URL naar de afbeelding in:','http://');
			}
			if(selection !== null && selection !== '' && selection !== 'http:\/\/'){
				var text = '[img]'+selection+'[/img]';
			} else {
				var text = selection;
			}
		break
		case 'video':
			if(selection == ''){
				var selection = prompt('Voer de youtube code in:','');
			}
			if(selection !== null && selection !== ''){
				var text = '[youtube]'+selection+'[/youtube]';
			} else {
				var text = selection;
			}
		break	
		case 'google':
			if(selection == ''){
				var selection = prompt('Voer de googlevideo code in:','');
			}
			if(selection !== null && selection !== ''){
				var text = '[google]'+selection+'[/google]';
			} else {
				var text = selection;
			}
		break
		default:
			var text = selection + type;
		break
	}

	return text;

}

function AddSmile(SmileCode){
	var SmileCode;
	var newMessage;
	var oldMessage = document.reageer.reactie.value;
	newMessage = oldMessage+SmileCode;
	document.reageer.reactie.value=newMessage;
	document.reageer.reactie.focus();
	return;
}

function confirmLink(theLink,tekst){
	var is_confirmed = confirm('Weet u zeker dat u "'+tekst+'" wilt verwijderen?');
	return is_confirmed;
}

function qs(variable){
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for(var i=0;i<vars.length;i++){	
		var pair = vars[i].split("=");
		if(pair[0] == variable){
			return pair[1];
		}
	}
}

function schaalplaatje(plaatje){
	maxbreedte = 550;
	orgbreedte = plaatje.width;
	orghoogte = plaatje.height;
	verhouding = orgbreedte/orghoogte;

	if(orgbreedte > maxbreedte){
		plaatje.width = maxbreedte;
		plaatje.height = Math.round((maxbreedte/verhouding));
		plaatje.onclick = openplaatje;
		plaatje.style.cursor='pointer';
		plaatje.style.border='1px dashed #252525';
	}	
}

function openplaatje(){
	var winwidth = (this.naturalWidth < screen.availWidth ? this.naturalWidth : screen.availWidth);
	var winheight = (this.naturalHeight < screen.availHeight ? this.naturalHeight : screen.availHeight);
	openvenster(this.src,'',winwidth,winheight);
}

function openvenster(url,winname,width,height){
	var popup = window.open(url,winname,'toolbar=no,location=no,menubar=no,width='+width+',height='+height+',resizable=yes,status=no,scrollbars=no,left=0,top=0');
	try{ popup.focus();	} catch(e) {}
}

function r(rid,lid,user,bericht,stat,rank,posts,datum,ava,sig,admin,adminid,admindatum,leeftijd,geslacht,extratool,ext2){
	if(stat==1){
		titel = 'Global Admin';
		kleur = 'dir';
	} else if(stat==2){
		titel = 'Forum Crew';
		kleur = 'mod';
	} else if(stat==3){
		titel = 'Administrator';
		kleur = 'adm';
	} else if(stat==4){
		titel = 'Moderator';
		kleur = 'gmd';
	} else if(stat==5){
		titel = 'Clan Crew';
		kleur = 'fmod';
	} else if(stat==6){
		titel = 'Development';
		kleur = 'screw';
	} else if(stat==7){
		titel = 'RIP 17-08-09';
		kleur = 'chatcrew';
	} else if(stat==8){
		titel = 'FrontPage Crew';
		kleur = 'ccrew';
	} else if(stat==9){
		titel = 'OnzinLog Crew';
		kleur = 'rcrew';
	} else {
		titel = rank;
		kleur = 'usr';
	}

	tid = qs('id');
	tool = '<a href="nieuwbericht.php?to='+lid+'"><img src="img/stuurpm.gif" alt="PM"/></a>&nbsp;<a href="http://www.onzin.com/profile.php?id='+lid+'" target="_blank"><img title="'+(geslacht=='man'?'Man':'Vrouw')+', '+leeftijd+' jaar" src="http://www.onzin.com/img/'+geslacht+'.gif" alt="" /><!--<img src="img/pro.gif" alt="Profiel" title="Profiel"/>--></a>&nbsp;<a href="history.php?id='+lid+'"><img src="img/his.gif" title="History" alt="History" /></a>&nbsp;<a href="report.php?id='+rid+'"><img src="img/report.gif" alt="Melden" title="Topic Report: Meld een overtreding aan de crew"/></a>&nbsp;<a href="mijntopics.php?id='+lid+'"><img src="img/t.gif" Title="Topics van deze gebruiker" alt="Topics" /></a>&nbsp;<a href="reageer.php?id='+tid+'&amp;q='+rid+'"><img src="img/q.gif" title="Quote" alt="Quote" /></a>&nbsp;'+extratool+'';

	if(eigen_id == lid){
		document.write('<div id="r'+rid+'" class="bl" style="background-color: #f7f4c5;">');
	} else if(posterid == lid){
		document.write('<div id="r'+rid+'" class="bl" style="background-color: #b9e2ff;">');
	} else {
		document.write('<div id="r'+rid+'" class="bl">');
	}
	document.write('<div class="info">');
	document.write('<h6><a class="'+kleur+'" href="http://www.onzin.com/profile.php?id='+lid+'" target="_blank">'+user+'</a></h6>'+titel+'<a href="http://www.onzin.com/profile.php?id='+lid+'" target="_blank"><img src="http://www.onzin.com/img/avatars/'+ava+'" alt="'+user+'" class="ava" /></a><br /><!--<strong>Posts:</strong> '+posts+'<br />--><!--'+leeftijd+' jaar-->');
	document.write('</div>');
	document.write('<div class="dat"><span>'+ext2+'Door: <font class="'+kleur+'">'+user+'</font> op '+datum+'</span> '+tool+'</div>');
	document.write('<div class="mssg">');
	document.write(bericht);

	if(admin != ''){
		if(adminid.toLowerCase() == user.toLowerCase()){
			document.write('<p style="color: #c0c0c0;"><strong>Dit bericht is aangepast door: <b>'+adminid+' </b>op: '+admindatum+'</strong><br />'+admin+'</p>');
		} else {
			document.write('<p style="color: #f58787; font-size: 14px;"><b> <img src="http://forum.onzin.com/img/crewbreak.png"> </b></p><p style="color: #ed5665;">'+admin+'</p><p style="color: #ed5665;"><b>Door:</b><i> '+adminid+' op '+admindatum+'</i></p>');
		}
	}
	document.write('</div>');
	if(sig != ''){
		document.write('<div class="sig"><em>'+sig+'</em></div>');
	}

	document.write('<div class="ext"></div>');
	document.write('</div>');
}
function checktopic(){
	if(gebid('titel').value == ''){
		alert('Je hebt geen titel opgegeven!');
		return false;
	} else if(gebid('mess') == ''){
		alert('Je hebt geen titel opgegeven!');
		return false;		
	} else {
		return true;
	}
}


function sigRichard() {
document.body.style.backgroundRepeat="repeat";
}