/*
 *  main.js
 *  
 *  dit bestand zorgt voor algemene afhandeling
 */

/* met deze var kan je het menutype instellen:
 * 1 = horizontaal
 * 2 = verticaal
 */
var pageid = 0;
var path = "/";
var menutype = 1;
var http = createHTTPHandler();
var locked;
var editorArray = new Array();
var editorIndex = 0;
var editorOptie = '';

function init(pageid)
{
	this.pageid = pageid;
	var url = path + "verwerking.php?request=lockCheck";
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			
			locked = resultaat;			
			validateUser();	
		}
	} 
}

function testtest(naam)
{
	$( naam ).dialog('open');

}

function fillArray(naam, type, id)
{
	editorArray[editorIndex] = new Array(2);
	editorArray[editorIndex][0] = naam;
	editorArray[editorIndex][1] = type;	
	editorArray[editorIndex][2] = id;	
	editorIndex++;
}

function clickSeo()
{
	if ($("#woot").is(":hidden")) {
		retrieveSeo();
		$("#woot").slideDown("slow");
		} else {
		$("#woot").slideUp("slow");
		}
}
function dragNdrop()
{
	$(function() {
		$("#contentLeft ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
			var order = $(this).sortable("serialize") + '&request=updateRecordsListings';
			$.post("verwerking.php", order, function(theResponse){
			});
		}
		});
	});

}

function dragNdropSubmenu(id, type)
{
	if(type == undefined)
	{
		$(function() {
			$("#contentLeft_"+id+" ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
				var order = $(this).sortable("serialize") + '&request=updateRecordsListings';
				$.post("verwerking.php", order, function(theResponse){
					alert('n');
				});
			}
			});
		});
	}
	else if(type == 'nieuws')
	{
		$(function() {
			$("#contentLeft_"+id+" ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
				var order = $(this).sortable("serialize") + '&request=updateRecordsListings&cmd=nieuws';
				$.post("verwerking.php", order, function(theResponse){
					alert('nieuws');
				});
			}
			});
		});
	}

}

function dragNdropPortfolio(id)
{
	$(function() {
		$("#contentLeft_"+id+" ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
			var order = $(this).sortable("serialize") + '&cmd=portfolio&request=updateRecordsListings';
			$.post("verwerking.php", order, function(theResponse){
				alert('portfolio');
			});
		}
		});
	});

}

function refreshFotos(id)
{
	var url = path + "verwerking.php?request=portfolioItems&id="+id;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;			
			document.getElementById('bewerk_portfolio').innerHTML = resultaat;
		}
	}
}

function removeFoto(id, id2)
{
	var url = path + "verwerking.php?request=removeFoto&id="+id;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;			
			if(resultaat == "true")
				refreshFotos(id2);
			//alert(resultaat);
		}
	}
}
$(function(){

	// Progressbar
	$("#progressbar").progressbar({
		value: 20 
	});
	
	//hover states on the static widgets
	$('#dialog_link, ul#icons li').hover(
		function() { $(this).addClass('ui-state-hover'); }, 
		function() { $(this).removeClass('ui-state-hover'); }
	);
	
});



function getElementsByClassName(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
	}


function check() {
	var url = path + "verwerking.php?request=lockCheck";
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			
			return resultaat;	
		}
	}
}

function retrievePage()
{
	var url = path + "verwerking.php?request=getContent&id="+pageid;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			document.getElementById('contentnormal').innerHTML = resultaat;
		}
	}
}

function retrieveNieuws()
{
	alert(pageid);
	var url = path + "verwerking.php?request=getNieuws&id="+pageid;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			document.getElementById('content').innerHTML = resultaat;
		}
	}
}

function retrieveSeo()
{
	var mogelijkheden 	= '<div id="dialog_seo" title="SEO" style="font-size: 11px;">';
	mogelijkheden		+= "<div id='seo'></div>";
	mogelijkheden		+= "</div>";
	document.getElementById("editbox").innerHTML += mogelijkheden;
	var url = path + "verwerking.php?request=seo&id="+pageid;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			document.getElementById('seo').innerHTML = resultaat;
		}
	}
}
var paramid;
var paramid2;
function ConstrueerMenu()
{
	var menu = document.getElementById("menu");
	if(!document.getElementById("menunieuw"))
	{
		if(menutype == 1)
		{
			var body 	= "";
			body 		+= "<div id='menuitems' class='float'>" + menu.innerHTML + "</div>";
			//body 		+= "<div id='menunieuw' style='display: none;' class='float'><img src='"+path+"images/new.png'  onclick='testtest(\"#dialog_nieuw\");' style='cursor: pointer;' /></div>";
			menu.innerHTML = body;
			/*menu.innerHTML = 
				"\n<table cellpadding='0' cellspacing='0'>" +
					"\n<tr>" +
						"\n<td id='menuitems'>" +
							menu.innerHTML +
						"\n</td>" +
						"\n<td id='menunieuw' style='display: none;'>" +
							"\n<input type='text' id='menuitem' name='menuitem' value='nieuw'>" +
							"\n<img src='"+path+"images/new.png' style='cursor: pointer;' onclick='AddMenuItem();'" +
						"\n</td>" +
					"\n</tr>" +
				"\n</table>\n";*/
		}
		else if(menutype == 2)
		{
			menu.innerHTML = 
				"\n<table cellpadding='0' cellspacing='0'>" +
					"\n<tr>" +
						"\n<td id='menuitems'>" +
							menu.innerHTML +
						"\n</td></tr>" +
						"\n<tr><td id='menunieuw' style='display: none;'>" +
							"\n<input type='text' id='menuitem' name='menuitem' value='nieuw'>" +
							"\n <ul id='icons' class='ui-widget ui-helper-clearfix'><li class='ui-state-default ui-corner-all' title='.ui-icon-circle-check'><span class='ui-icon ui-icon-circle-check' onclick='AddMenuItem();'></span></li></ul> " +
						"\n</td>" +
					"\n</tr>" +
				"\n</table>\n";
		}
	}
	if(locked == "false")
	{ 
		
		setOption("none");	
		//document.getElementById("menunieuw").style.display = "none";	
		if(document.getElementById("editcontent") != null)
			document.getElementById("editcontent").style.display = "none";
		if(document.getElementById("editveld") != null)
			document.getElementById("editveld").style.display = "none";
		if(document.getElementById('contentnormal') != null)
			document.getElementById('contentnormal').style.display = "block";
		document.getElementById("locked").style.display = "block";
		document.getElementById("unlocked").style.display = "none";
		editFields("none");
		//retrievePage();
		
	}
	else
	{
		
		setOption("block");		
		//document.getElementById("menunieuw").style.display = "block";
		if(document.getElementById("editcontent") != null)
			document.getElementById("editcontent").style.display = "block";
		if(document.getElementById("editveld") != null)
			document.getElementById("editveld").style.display = "block";
		//if(document.getElementById('contentnormal') != null)
			//document.getElementById('contentnormal').style.display = "none";			
		document.getElementById("locked").style.display = "none";
		document.getElementById("unlocked").style.display = "block";
		editFields("block");
	}
	
	dragNdrop();
}

function editFields(option)
{
	getal = 0;
	var isTrue = true;
	while(isTrue)
	{
		var element = document.getElementById("editveld_"+getal);
		if(document.getElementById("editveld_"+getal) != null)
		{
			var state = document.getElementById("editveld_"+getal).style.display;
			if(state == 'block')
				document.getElementById("editveld_"+getal).style.display = option;
			else if(state == 'none')
				document.getElementById("editveld_"+getal).style.display = option;
			
		}
		else
		{
			isTrue = false;
			break;
		}
		getal++;
	}
}

function refreshPage()
{
	var url = path + "verwerking.php?request=refreshUrl&id="+pageid;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			window.location.href = resultaat;	
				
		}
	}
}


function setOption(option)
{
	getal = 0;
	var isTrue = true;
	while(true)
	{
		var element = document.getElementById("options"+getal);
		if(document.getElementById("options"+getal) != null)
		{
			element.style.display = option;
			//document.getElementById("veld"+getal).style.display = "none";
			
			subgetal = 0;
			var subisTrue = true;
			
			while(subisTrue)
			{
				var subelement = document.getElementById("suboptions"+subgetal);
				if(document.getElementById("suboptions"+subgetal) != null)
				{
					subelement.style.display = option;
					//document.getElementById("subveld"+subgetal).style.display = "none";
				}
				else
				{
					subisTrue = false;
					break;
				}
				subgetal++;
			}
		}
		else
		{
			isTrue = false;
			break;
		}
		getal++;
	}
	
}

function login()
{
	document.getElementById('button').style.display = 'none';
	document.getElementById('loading').innerHTML = "<img src='"+path + "images/loader.gif' alt='loading'";
	var username 	= document.getElementById('gebnaam').value;
	var pass		= document.getElementById('pass').value;
	var url = path + "verwerking.php?request=inloggen&gebruikersnaam="+username+"&wachtwoord="+pass;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if(resultaat == "false")
			{
				document.getElementById('button').style.display = 'block';
				document.getElementById('loading').innerHTML = "<span class='leonet'>Gebruikersnaam/wachtwoord combinatie onjuist";
			}
			else
			{
				window.location.href = path;
			}
		}
	}
}


function validateUser() {
	var url = path + "verwerking.php?request=login";
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "true") {
				retrieveSeo();
				document.getElementById('editbox').style.display = 'block';
				toonMogelijkheden();				
				
			}
		}
	}

}

function saveMenuItem(id, naam)
{
	var url = path + "verwerking.php?request=saveMenu&id=" + id + "&menunaam=" + naam;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "true")
			{		
				$('#dialog_menu_' + id ).dialog('close');
				refreshPage();
				//refreshMenu();				
				//alert("Menuitem " + naam + " bijgewerkt");
			}
			else
			{	
				$('#dialog_menu_' + id ).dialog('close');
				//refreshMenu();
			}
		}
	}
}

function AddMenuItem(id, subtype, toevoeging, menutype)
{
	var menunaam = document.getElementById("menuitem"+id+toevoeging).value;
	
	var url = path + "verwerking.php?request=insertmenu&menunaam=" + menunaam + "&id="+id+"&subtype="+subtype+"&menutype="+menutype;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "true") {
				refreshMenu();
				//ConstrueerMenu();
				refreshPage();
			} else {
				alert(resultaat);
				alert(menunaam + " niet toegevoegd, menuitem " + menunaam + " bestaat al");
			}
		}
	}
}

function deleteMenuItem(id)
{
	var url = path + "verwerking.php?request=deletemenu&menuid=" + id;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "false") {
				alert(id);
				//refreshMenu();
				refreshPage();
			} else {
				alert(menunaam + " niet toegevoegd, menuitem " + menunaam + " bestaat al");
			}
		}
	}
}

function DelAlert(menunaam, id) 
{ 
	var OK
	OK = confirm("Weet u zeker dat u " + menunaam + " wilt verwijderen?");
	if (OK)
	{
		deleteMenuItem(id);
	}
	return OK 
}

function Bewerk(naam)
{
	var element  = document.getElementById("veld"+naam).style.display;

	if(element == "none")
	{
		document.getElementById("options"+naam).style.display = "none";
		document.getElementById("naam"+naam).style.display = "none";
		document.getElementById("veld"+naam).style.display = "block";
	} 
	else
	{
		
		document.getElementById("veld"+naam).style.display = "none";
		document.getElementById("naam"+naam).style.display = "block";
		document.getElementById("options"+naam).style.display = "block";
	}
   
}

function BewerkMenuItem()
{
	var menunaam = document.getElementById("menuitem").value;
	
	var url = path + "verwerking.php?request=insertmenu&menunaam=" + menunaam;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if (http.readyState != 4) {
			document.getElementById("menuitem").innerHTML = "Menu wordt toegvoegd ..";
		}
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "true") {
				refreshMenu();
				alert('Toegevoegd');
			} else {
				alert(menunaam + " niet toegevoegd, mogelijk bestond menuitem " + menunaam + " al");
			}
		}
	}
}
function refreshMenu()
{
	var url = path + "verwerking.php?request=menuupdate";
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {			
			//alert(http.responseText);
			document.getElementById("menuitems").innerHTML = http.responseText;	
			ConstrueerMenu();
		}
	}
}

function toonMogelijkheden() {
	
	$(function(){
		// Dialog			
		$('#dialog_seo').dialog({
			autoOpen: false,
			width: 600,
			height: 200
		
		});
	});
	var mogelijkheden 	= "<div id='beheer'>";
	mogelijkheden		+= "<span class='float' style='width: 50px;'><img src='" +path + "images/leonet.jpg' style='float: left; ' /></span>";
	mogelijkheden		+= "<span class='float' style='width: 15px;'><img src='" +path + "images/lijn.jpg' /></span>";
	mogelijkheden		+= "<span id='locked' class='clickable' style='float: left;'><img onclick='lock();' src='" +path + "images/lock.jpg' /></span><span style='display: none; float: left;' id='unlocked' class='clickable'><img onclick='lock();'  src='" +path + "images/unlock.jpg' /></span>" 
	mogelijkheden		+= "<span class='float' style='margin-left: 14px; width: 16px;'><img src='" +path + "images/lijn.jpg' /></span>";
	mogelijkheden		+= "<span class='float' class='clickable' onclick='testtest(\"#dialog_seo\");'><img class='clickable' src='" +path + "images/metatags.jpg' /><div id='woot' class='float' style='height: 170px; width: 400px; display: none;'></div></span>" ;
	mogelijkheden		+= "<span class='float' style='margin-left: 14px; width: 16px;'><img src='" +path + "images/lijn.jpg' /></span>";
	mogelijkheden		+= "<span class='float'>Locatie: " + window.location + "</span>" ;
	mogelijkheden		+= "<span style='float: right;'>U bent ingelogd, klik <a class='leonet' href='"+path+"verwerking.php?request=uitloggen'>hier</a> om uit te loggen";
	mogelijkheden 		+= "</div>";
	
	
	/*var mogelijkheden = ""<td><div id='locked'>" + lockedimage +"</div><div style='display: none;' id='unlocked'>"+ unlockedimage +"</div></td>\n" +
			"<td><li class='ui-state-default ui-corner-all' title='Uitloggen'><a href='verwerking.php?request=uitloggen'><span class='ui-icon ui-icon-power'></span></a></li></td>" +
			"<td><li class='ui-state-default ui-corner-all' title='Zoekmachineoptimalisatie'><span class='ui-icon ui-icon-zoomout' onclick='clickSeo();'></span></li>\n" +
			"</tr>\n" +
			"<tr>\n" +
			"<td></td>\n" +
			"<td></td>\n" +
			"<td></div></td>\n" +
			"</tr>\n" +
			"</table>";*/
	document.getElementById("editbox").innerHTML += mogelijkheden;
	ConstrueerMenu();
	
}

function saveSeo(id)
{
	var titel = document.getElementById('titel').value;
	var keywords = document.getElementById('keywords').value;
	var description = document.getElementById('description').value;
	var url = path + "verwerking.php?request=saveSeo&id="+id+"&titel="+titel+"&keywords="+keywords+"&description="+description;
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			var resultaat = http.responseText;
			if (resultaat == "true") {
				alert("Zoekmachine optimalisatie doorgevoerd");	
				//clickSeo();							
			}
		}
	}
}

function lock()
{
	var url = path + "verwerking.php?request=setLock";
	http.open("GET", url, true);
	http.send(null);
	http.onreadystatechange = function() {
		if(http.readyState == 4) 
		{	
			var result = http.responseText;
			locked = result;	
			
			ConstrueerMenu();
			
			
		}
	}
	
}
function createHTTPHandler() {
	/*
	 * De ajax handler
	 */

	httphandler = false;
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		try {
			httphandler = new XMLHttpRequest();
		} catch (e) {
			httphandler = false;
		}
		// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		try {
			httphandler = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				httphandler = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				httphandler = false;
			}
		}
	}
	return httphandler;
}
