// JavaScript Document

dojo.require("dojo.fx.easing");
dojo.require("dojox.fx.scroll");
dojo.require("dijit.form.Form");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.SimpleTextarea");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.Dialog");

document.createElement('header');
document.createElement('nav');
document.createElement('content');
document.createElement('figure');
document.createElement('section');
document.createElement('mark');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');	


function gotoName(name){
// summary; searches for a <a name=""></a> attrib, and scrolls to it
dojo.query('a[name="'+name+'"]').forEach(function(node){
// first one wins
var anim = dojox.fx.smoothScroll({
node: node,
win:window,
duration:600,
easing:dojo.fx.easing.cubicOut

}).play();
return;
});
}


function clearField(field) {
  // Check if field contains the default value
  if (field.value == field.defaultValue) {
    // It does, so clear the field
    field.value = "";
  }
}


function classActive(alias) {
	console.log(alias);
	//dojo.byId(alias).addClass('sub-over-head');
	dojo.addClass(alias, "sub-over-head");
}

function classInActive(alias) {
	console.log(alias);
	//dojo.byId(alias).removeClass('sub-over-head');
	dojo.removeClass(alias, "sub-over-head");
}

function isEmail(inputVal) {
	var regex = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]{2,4}$/
	if (!regex.test(inputVal)) {
		return true;
	}
	return false;
}

function subReactie() {	
   dojo.xhrPost({
	  url: '/ajax/nieuwsReacties.asp?actie=opslaan',
	  form: document.formulier,
	  load: function(response, ioArgs){
		  openPage('reacties', '/ajax/nieuwsReacties.asp?n='+response);
		 //dijit.byId('reacties').refresh();
		 dojo.byId('frmDivReacties').innerHTML = '<img src="images/opgeslagen.jpg" align="absmiddle" /> Bedankt! Uw reactie is met succes opgeslagen.';			  }, error: function(response, ioArgs){alert('error:'+ response);} 
	  })	
}

function openPage(divId, url) {
	dijit.byId(divId).set('href', url);
	return false;
}

function submitNieuwsbrief(divje,actie) {
	if (actie == 'submit') {
		var actie = '/ajax/nieuwsbrief.asp?blok_aanmelden=true';
	} else {
		var actie = '/ajax/nieuwsbrief.asp';
	}
	dojo.xhrPost({
		form: dojo.byId('nieuwsbrief'),
		url: actie,
		load: 	function(response, ioArgs){
			dojo.byId(divje).innerHTML = response;						
		},
		error: function(response, ioArgs){alert('error:'+ response);
	}})
}


function medewerker(m) {
	popPage('Medewerker','/ajax/medewerker.asp?n='+m+'','medewerker');	
}

/** Call a Dialog with URL	*/
function popPage (titel,url, idname, onLoadHandler) {
	diag = new dijit.Dialog({href: url, title: titel, id: idname, autofocus: false});
	//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();
 		}));
	}));
	//diag.connect(diag, "_onBlur", "hide");
	
	if (onLoadHandler) {
		  diag.connect(diag, "onLoad", onLoadHandler); 
	};	
	
	diag.show();
	//console.dir(diag);
}

