var multikeyUrl = aspLink+'?alias='+siteAlias+ '&id=i000256';
var conceptUrl = aspLink+'?alias='+siteAlias+'&page_alias=object';
var	multikeyUrl = "";
var actionList = new Array();

/*
if (pageId == "i000271") {
	// rob_glas_typologie
	multikeyUrl = aspLink+'?alias='+siteAlias+ '&id=i000270';
}
else if (pageId == "i000273") {
	// aid ivoor demo
	multikeyUrl = aspLink+'?alias='+siteAlias+ '&id=i000272';
}
else {
	// sprinkhanen_determinatie
	multikeyUrl = aspLink+'?alias='+siteAlias+ '&id=i000256';
}
*/
function deleteSelection(query) {
	selectProperty(query, 'enable');
}

function undoLastAction() {
	var x = actionList.pop()
	if (actionList.length == 0) {
		selectProperty("", false);
	}
	else {
		selectProperty(actionList[actionList.length-1], false);
	}
	return true;
}

function selectProperty(query, undo) {			
	//new Ajax.Request(multikeyUrl+'&action=updateproperties&query='+query, { onComplete: function(t) { updateProperties(t, action); } } );		
	new Ajax.Updater('properties-content', multikeyUrl+'&action=property&query='+query, { onComplete: function(t) { updateHelpButtons(); } });
	if ($('selection-content')) {
		//Haal selectiegegevens op
		new Ajax.Updater('selection-content', multikeyUrl+'&action=select&query='+query);
	}
	//resultaat update
	new Ajax.Updater('result-content', multikeyUrl+'&action=result&query='+query);		
	if (undo != false) {
		actionList.push(query);
	}
}

function resultPaging (query, offset, count) {
   //alert(multikeyUrl+'&action=result&query='+query+'&offset='+offset+'&count='+count);
   //alert(pageLink+'&query='+query+'&pagingStart='+pagingStart+'&pagingSet='+pagingSet);
   new Ajax.Updater('result-content', multikeyUrl+'&action=result&query='+query+'&offset='+offset+'&count='+count);	
} 

function updateProperties(t, action) {
	//alert(t.responseText);	
	var domProperties = $('properties').childNodes;
	var xmlProperties = t.responseXML.getElementsByTagName('property');
	
	//Loop door huidige properties
	for (var i=0; i < domProperties.length; i++) {
		var domPropertyId = domProperties[i].getAttribute('id');	
		var domPropertyStatus = domProperties[i].status = 'disable';

		//loop door response items
		for (var j=0; j < xmlProperties.length; j++) {
			xmlPropertyId = xmlProperties[j].getAttribute('id');
			xmlFacet = xmlProperties[j].getAttribute('facet');
									
			//gelijke id's --> update onderliggende values 
			if (domPropertyId == xmlPropertyId) {	
				//alert('gelijk: update values - ' + domPropertyId);				
				var domPropertyValues = $('values-'+domPropertyId); //UL
				var xmlPropertyValues = xmlProperties[j].childNodes; //value					
				
				//Verwijder oude values
				Element.update(domPropertyValues, '');
				//Toevoegen nieuwe values
				for (var k=0; k < xmlPropertyValues.length; k++) {				 
					if (xmlFacet == 'E.Doorsnede_afbeelding') {
						var li = document.createElement('li');				 
						var a = document.createElement('a');
						a.href = xmlPropertyValues[k].getAttribute('href');
						a.className = "thumb";
						var img = document.createElement('img');
						img.src = siteFolder + "/contents/i000272/" + xmlPropertyValues[k].getAttribute('name'); 
						img.className = "thumb";
						a.appendChild(img);
						a.appendChild(document.createTextNode(" (" + xmlPropertyValues[k].getAttribute('count') + ")"));
						li.appendChild(a);
						li.className = 'enabled';
						domPropertyValues.appendChild(li);
					}
					else {
						var li = document.createElement('li');				 
						var a = document.createElement('a');
						a.href = xmlPropertyValues[k].getAttribute('href');
						a.appendChild(document.createTextNode(xmlFacet + xmlPropertyValues[k].getAttribute('name')));
						li.appendChild(a);
						li.className = 'enabled';
						domPropertyValues.appendChild(li);
					}
				}
				//Zet status op enabled
				var domPropertyStatus = domProperties[i].status = 'enable';								
			}			
		}
	}
	
	//(In)actief zetten items
	for (var i =0; i < domProperties.length; i++) {
		var itemId = domProperties[i].getAttribute("id");						
		//alert(domProperties[i].status);
		//Elementen inactief maken.
		if (domProperties[i].status=='disable' && Element.classNames(itemId)=='enabled') { //Element.hasClassName(itemId, 'disabled')) {				
			Element.hide('values-'+itemId);
			//new Effect.Opacity(itemId, { from: 1.0, to: 0.4 } );
			changeClassName(itemId, 'disabled');		
			
			/*new Effect.Parallel( 
			[	new Effect.Opacity(itemId, { sync: true, from: 1.0, to: 0.4 } ),
				new Effect.BlindUp('values-'+itemId, { sync: true } ) ],
				{ afterFinish: Element.addClassName(itemId, "disabled") }
			);	*/
		} 
		else if (domProperties[i].status=='enable' && Element.classNames(itemId)=='disabled' && action=='enable') {
			//new Effect.Opacity(itemId, {from: 0.4, to: 1.0, afterFinish: changeClassName(itemId, 'enabled') } );	
			changeClassName(itemId, 'enabled');
		}			
	}		
}

function zoomImage(id){
	changeClassName(id, 'full');
}

function unZoomImage(id){
	changeClassName(id, 'thumb');
}

function changeClassName(item, className){
	var domObject = $(item);
	var currentClassName = Element.classNames(domObject);
	if (currentClassName!=''){
		Element.removeClassName(domObject, currentClassName);
	}
	Element.addClassName(domObject, className);
}

function showValues(id){
	//Toon waarden indien property niet 'disabled'
	var values = 'values-'+id;
	if (Element.classNames(id)=='enabled'){
		Element.toggle(values);
	}
}

function showConcept(id, url) {
	//laad conceptkaart
	if (Element.empty(id)) {
		new Ajax.Updater(id, url, { onSuccess: toggleConcept(id) } );
	} else {
		toggleConcept(id);
	}
}

function toggleConcept(id) {	
	Element.toggle(id);
}


function clickHelp() {
	var win = new Window({url: this.getAttribute("href"), className: "gray",  width:500, height:300, zIndex: 100, resizable: false, title: "Help", draggable:true})

	//win.setStatusBar("Status bar info");
	win.showCenter();        
	//Dialog.alert({url: this.getAttribute("href"), options: {method: 'get'}}, 
	//{className: "alphacube", width:540, okLabel: "Close"});
	return false;
}
            
function detectEvent(e) {
	var evt = e || window.event;
	if (evt.keyCode == 8) {
		undoLastAction();
		return false;
	}
	else {
		return document.defaultAction;
	}
}

function updateHelpButtons() {
	var anchors = document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++)
	{
		if (anchors[i].className == "help") {
			anchors[i].onclick = clickHelp;
		}	
	}
}

function init()
{	
	new Ajax.Updater('properties-content', multikeyUrl+'&action=property', { onComplete: function(t) { updateHelpButtons(); } });
	if ($('selection-content')) {
		new Ajax.Updater('selection-content', multikeyUrl+'&action=select');
	}
	new Ajax.Updater('result-content', multikeyUrl+'&action=result');
}

Event.observe (
	window,
	'load',
	init,
	false
)

document['onkeydown'] = detectEvent;