/*zoek alle a links
check of deze de reageer links zijn
maak een onclick die het form toont
todo: overige reageerformpjes sluiten wanneer een nieuwe opent
done: href plaatsen in html tbv webrichtlijnen, weghalen met js wanneer js aan staat
*/
function replaceReactUrls() {
	var form_loaded = false;	
	var links = document.getElementsByTagName("a");
	for (var j=0; j < links.length; j++ ) {
		if (links[j].title.indexOf("reageer") != -1) {
		
			//url aanpassen met enkel de anchor zodat ajax thingies werken
			var form_id_array = links[j].href.split("#");
			links[j].href = "#" + form_id_array[1];
			//links[k].onmouseover = function (){this.className = "over";}
			//links[k].onmouseout = function (){this.className = "";}
			links[j].onclick = function () {
				//get html id
				var form_id_array = this.href.split("#");
				document.getElementById(form_id_array[1]).className = "";
				document.getElementById(form_id_array[1]).innerHTML = '<p class="loader"><img alt="loading..." src="img/ajax-loader.gif" /></p>'; 
				//get objectid
				var objectid_array = form_id_array[1].split("_");
				objectid = objectid_array[2];
				//ajax
				xmlhttp=GetXmlHttpObject();
				if (xmlhttp==null)
				  {
				  alert ("Browser does not support HTTP Request");
				  return;
				  }
				var url="lib/reactionform_js.php";
				url=url+"?objectid="+objectid;
				url=url+"&sid="+Math.random();
				xmlhttp.onreadystatechange=function () { if (xmlhttp.readyState==4){
					document.getElementById(form_id_array[1]).innerHTML = xmlhttp.responseText;		
					}
				}
				xmlhttp.open("GET",url,true);
				xmlhttp.send(null);
			}				 
		}
	}
}

/*
zoek alle a links
check of deze de reactieoverzichts links zijn 
maak een onclick die de reacties toont
*/
function replaceReactionsOverwiewUrls() {
	var form_loaded = false;	
	var links = document.getElementsByTagName("a");
	for (var j=0; j < links.length; j++ ) {
		if (links[j].title.indexOf("reactie_overzicht") != -1) {		
			//url aanpassen met enkel de anchor zodat ajax thingies werken
			var form_id_array = links[j].href.split("#");
			links[j].href = "#" + form_id_array[1];
			links[j].onclick = function () {
				//get objectid
				var objectid_array = this.href.split("_");
				objectid = objectid_array[1];
				//ajax
				getComments(objectid,false);
			}
		}
	}
}

function reactlinks2() {
	var form = document.getElementById("reageer");
	var link2 = document.getElementById("reageerlink");
	link2.onclick = function (){
		form.className = "formulier";
	}
}

/*
toon de comments onder een object
input:objectid
output: html van getcomments; naam, comment
*/
function getComments(objectid,last_commit){
	document.getElementById("comments_"+objectid).className = "reactionlist";
	document.getElementById("comments_"+objectid).innerHTML = '<p class="loader"><img alt="loading..." src="img/ajax-loader.gif" /></p>'; 
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Browser does not support HTTP Request");
	  return;
	  }
		var url="lib/getcomments.php";
		url=url+"?objectid="+objectid;
		url=url+"&sid="+Math.random();
		//herladen na een submit? highlight de laatste commit
		url=url+"&last_commit="+last_commit;
		xmlhttp.onreadystatechange=function () { if (xmlhttp.readyState==4){
		document.getElementById("comments_"+objectid).innerHTML = xmlhttp.responseText;		
		}
	}
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
/*
Submit de reactie naar db
input: objectid
output:reload comments or error on form field
*/
function submitReactionForm(objectid) {
	//do stuff
	xmlhttp=GetXmlHttpObject();
	xmlhttp.onreadystatechange=function(){
	 if (xmlhttp.readyState==4){
	  if (xmlhttp.status==200 || window.location.href.indexOf("http")==-1){
	   document.getElementById("form_comments_"+objectid).innerHTML=xmlhttp.responseText
	   getComments(objectid,true);
	  }
	  //else{
	  // alert("An error has happend, regards..")
	  //}
	 }
	}
	
	var name=encodeURIComponent(document.getElementById("naam").value);
	var reaction=encodeURIComponent(document.getElementById("reactie_inhoud").value);
	//velden valideren
	if (name != "" && reaction != ""){
		xmlhttp.open("GET", "lib/reactionform_js.php?naam="+name+"&reactie_inhoud="+reaction+"&objectid="+objectid, true);
		xmlhttp.send(null);
		document.getElementById("form_comments_"+objectid).innerHTML = '<p class="loader"><img alt="loading..." src="img/ajax-loader.gif" /></p>'; 
	}
	else {
		var formtemp = document.getElementById("form_comments_"+objectid).innerHTML;
		//bestaat de foutmelding al?
		if (document.getElementById("form_comments_"+objectid).getElementsByClassName('error_marker')[0] != null) {
			document.getElementById("form_comments_"+objectid).innerHTML = formtemp;			
		}
		else {
			document.getElementById("form_comments_"+objectid).innerHTML = "<p class='rood'><span class='error_marker'>!</span>Niet alle velden zijn ingevuld.</p>"+formtemp;			
		}
		
	}
}

/*algemene meuk*/
function GetXmlHttpObject()	{
	if (window.XMLHttpRequest) {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  return new XMLHttpRequest();
	  }
	if (window.ActiveXObject) {
	  // code for IE6, IE5
	  return new ActiveXObject("Microsoft.XMLHTTP");
	  }
	return null;
}


$(document).ready(function() {

	var xmlhttp;
	replaceReactUrls(); //reageer linkjes aanpassen
	replaceReactionsOverwiewUrls(); //reactieoverzicht linkjes aanpassen
	
	$('#cms_article_selector').change(function() {
		str = $("cms_article_selector option:selected");
		str = str.text();
		alert(str);
	});
	
	
	
	$("#account_creating").hide();
	$("#netplay_texteditor").hide();
	
	$('#a_netplay_texteditor').click(function() {
		$('#netplay_texteditor').show('slow', function() {
		// Animation complete.
	  });
	});
	
	$('#a_account_creating').click(function() {
		$('#account_creating').show('slow', function() {
		// Animation complete.
	  });
	});
	
	prepareCanvas(); //drawing.js	
	
});

