dojo.require("dojo.parser");
dojo.require("dijit.Dialog");
dojo.require("dojo.fx");
dojo.require("dojo.fx.easing");
dojo.require("vhl.widget.Popup");
dojo.require("dijit.form.Form");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.Button");
//sitemap
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Tree");
dojo.require("vhl.widget.FullscreenBackground");


(function() {

vhl.setText = function(node, text) {
  node = dojo.byId(node);
 if (node) {
	 	dojo.empty(node);
		dojo.place(dojo.doc.createTextNode(text?text:""), node);
	}
}
})()
		
function init() {
	dojo.connect(dojo.byId("tagcloud_vrijzoeken"), 'onkeypress', function(e) {
		if (e.keyCode == dojo.keys.ENTER) {
			matchmaker_search();
		}
	});
	
	dojo.connect(dojo.byId("txtSearch"), 'onkeypress', function(e) {
		if (e.keyCode == dojo.keys.ENTER) {
			doSearch();
		}
	});
}
dojo.addOnLoad(init);

/* HOMEPAGE */
function openDiv(divje) {
	var speed = 1000;
	var spacer = 250;
	var node = dojo.byId("matchmaker_woorden");
	
	
	var setTagCloudRemove = function(prop) {
		var h = parseFloat(prop.height);
		dojo.style('tagcloud_remove', "height", ((h < spacer) ? spacer - h : 1)+"px");
	}
	
	if (node._anim) {
		node._anim.stop();
	}
	
	if (dojo.style(node,"display") == "none") {
		node._anim = dojo.fx.wipeIn({
			node: node,
			duration: speed,
			easing: dojo.getObject("dojo.fx.easing.expoOut"),
			onAnimate: setTagCloudRemove
		})
		node._anim.play();
	}
	else {
		node._anim = dojo.fx.wipeOut({
			node: node,
			duration: speed,
			easing: dojo.getObject("dojo.fx.easing.expoOut"),
			onAnimate: setTagCloudRemove
		});
		node._anim.play();
	}
}

/* Homepage: nieuwsbrief Blok  */
function subscribeToNwsbrief() {
	dojo.xhrPost({
		url: '/ajax/nieuwsbrief.asp?blok_aanmelden=true',
		form: dojo.byId('formAanmelden'),
		load: 	function(response, ioArgs){
			dijit.byId('dialogNwsbrief').setContent(response);
		},
		error: function(response, ioArgs){
					alert('error:'+ response);
				}
		})	
}

/* Homepage: MATCHMAKER  */
function matchmaker_restart() {
	//dojo.byId('matchmaker_woorden').innerHTML = '<img src="/images/loading.gif" width="16" height="16" alt="" border="0">';
	dojo.byId('matchmaker_resultaat').style.display = "none";
	dojo.xhrGet({
		url: '/ajax/matchmaker.asp?restart=true',
		load: 	function(response, ioArgs){
					dojo.byId('matchmaker_woorden').innerHTML = response;
				},
		error: function(response, ioArgs){
					alert('error:'+ response);
				}
		})	
}

function matchmaker(woord) {
	//haal het zoekresultaat op.
	dojo.byId('tagcloud_rechts_remove').style.display='none';	
	dojo.byId('matchmaker_resultaat').style.display = "block";
	dojo.byId('matchmaker_resultaat').innerHTML = '<img src="/images/loading.gif" width="16" height="16" alt="" border="0">';
	dojo.xhrGet({
		url: '/ajax/matchmaker.asp?woord='+woord,
		load: 	function(response, ioArgs){
					dojo.byId('matchmaker_resultaat').innerHTML = response;
					
					//toon de woorden opnieuw 
					//dojo.byId('matchmaker_woorden').innerHTML = '<img src="/images/loading.gif" width="16" height="16" alt="" border="0">';
					dojo.xhrGet({
						url: '/ajax/matchmaker.asp?showWords=true',
						load: 	function(response, ioArgs){
									dojo.byId('matchmaker_woorden').innerHTML = response;
								},
						error: function(response, ioArgs){
									alert('error:'+ response);
								}
						})	
					//einde
				},
		error: function(response, ioArgs){
					alert('error:'+ response);
				}
		})
}

function matchmaker_search() {
	//haal het zoekresultaat op, op basis van zoekwoorden.
	dojo.byId('tagcloud_rechts_remove').style.display='none';
	dojo.byId('matchmaker_resultaat').style.display = "block";
	dojo.byId('matchmaker_resultaat').innerHTML = '<img src="/images/loading.gif" width="16" height="16" alt="" border="0">';
	woord = dojo.byId('tagcloud_vrijzoeken').value;
	dojo.xhrGet({
		url: '/ajax/matchmaker.asp?keywords='+woord,
		load: 	function(response, ioArgs){
					dojo.byId('matchmaker_resultaat').innerHTML = response;
				},
		error: function(response, ioArgs){
					alert('error:'+ response);
				}
		})
}


/* algemeen bruikbaar */
function toggleDiv(divje) {
	var speed = 2000;
	var spacer = 250;
	var node = dojo.byId(divje);
	
	if (node._anim) {
		node._anim.stop();
	}
	
	if (dojo.style(node,"display") == "none") {
		node._anim = dojo.fx.wipeIn({
			node: node,
			duration: speed,
			easing: dojo.getObject("dojo.fx.easing.expoOut")
		})
		node._anim.play();
	}
	else {
		node._anim = dojo.fx.wipeOut({
			node: node,
			duration: speed,
			easing: dojo.getObject("dojo.fx.easing.expoOut")
		});
		node._anim.play();
	}
}

/** Call a Dialog with URL              */
function popPage (url, titel, idname, onLoadHandler) {
 	diag = new dijit.Dialog({href: url, title: titel, id: idname, autofocus: false, preventCache: true});
 	
 	//pas de positie aan.
 	diag._endDrag = function(e){
 		if(e && e.node && e.node === this.domNode){
    	var p = e._leftTop || dojo.coords(e.node,true);
    	this._relativePosition = { //we don't want our dialog to scroll.
     		t: p.t,
     		l: p.l
    	}   
   		this._firstRun = false;  
   	}
	}

  diag._position = function(){
  	if(!dojo.hasClass(dojo.body(),"dojoMove")){
    	var node = this.domNode;
    	if (!this._relativePosition || this._firstRun  ) { 
     		this._firstRun = this._firstRun ? false: true;
     		var viewport = dijit.getViewport();
     		var mb = dojo.marginBox(node);
     		//console.log("vp.w="+viewport.w+" mb.w="+mb.w);

     		this._relativePosition = {
       		l: Math.floor(viewport.l + ((((viewport.w - mb.w) / 2) < 0) ? 10 : ((viewport.w - mb.w) / 2))),
       		t: Math.floor(viewport.t + ((((viewport.h - mb.h) / 2) < 0) ? 10 : ((viewport.h - mb.h) / 2)))
     		}  
    	}
    	var p = this._relativePosition;
    	dojo.style(node,{
     		left: p.l + "px",
     		top: p.t + "px"
    	});
   	}
  }
  
  
 	diag.connect(diag, "hide", dojo.hitch(diag, function() {
 		this.connect(this._fadeOut, "onEnd", dojo.hitch(this, function() {
 			this.destroyRecursive();
 		}));
	}));

 	if (onLoadHandler) {
 		diag.connect(diag, "onLoad", onLoadHandler); 
 	};            
	
	diag.show();
	
	return false;
}

function doSearch() {
	location.href='/zoek_resultaat/?zoekterm='+dojo.byId('txtSearch').value;
}
