/**
 * Standaard Dreamweaver scripts
 */
 
 function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
       if (obj.style) { 
	     obj=obj.style; 
		d=(v=='show')?'block':(v=='hide')?'none':'none';
		v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
		contObj = MM_findObj(args[i]);
		contObj.style.display = d;
	    obj.visibility=v; 
		obj.display=d; 
	}
	}
}
function isEmail (string) {
	var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	return pattern.test(string);
}

/**
 * Converteer string naar een URL geëncode string
 * @param str
 */
function URLEncode(str){
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	if(str && str.length>0){
	var plaintext = str;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == " ") {
			encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				showMessage( "Unicode Character '"
						+ ch
						+ "' cannot be encoded using standard URL encoding.\n" +
						  "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	}
	return encoded;
	}
	return str;
}

/**
 * Scripts voor dragable div
 */

 var highZ = 3;

//window.onload = function()
//{
//  divDialogSetup();
//}
var lastDivTarget = null;
function divDialogSetup(xd1Width, xd1Height, xTarget, laadtext, showOpaque)
{
	showOpaque=1;
  if(!xTarget)
  {
  	xTarget = 'divDialog';
  }
  
  document.body.scrollTop = 0;
  

  var divDialog = xGetElementById(xTarget);
  lastDivTarget = divDialog;
  var rBtn = xGetElementById(xTarget + 'ResizeBtn');
  var rBar = xGetElementById(xTarget + 'Bar');
  rBtn.parentName = xTarget;
  rBar.parentName = xTarget;
  divDialog.parentName = xTarget;
 // var mBtn = xGetElementById('divDialogMaxBtn');
  var xd1Width  = (xd1Width == null) ? 600 : xd1Width;
  var xd1Height = (xd1Height == null) ? 400 : xd1Height;

  if(!divDialog.loaded){
	  //alert(xTarget + 'Content');
  	var content = MM_findObj(xTarget + 'Content');
  	
  	 if(isIE()){
  		content.style.height = xd1Height - 125 ;
  	 }
  	 else
  	 {
  	 	content.style.height = xd1Height - 225 ;
  	 }
//  	content.style.height = Math.round(xd1Height * 0.65) ;
  	
  	if(laadtext)
  	{
  		setData(content,'<center>'+laadtext+'</center>');
  	}
  	else
  	{
   		setData(content,'<center>Laden...</center>');
  	}
   	var title = MM_findObj(xTarget + 'Title');
   	setData(title,'&nbsp;');

   	if(xd1Width>0 && xd1Height>0)
   	{
	  xResizeTo(divDialog, xd1Width, xd1Height);

	  offsetHeight = document.body.scrollTop;
	 // xLeftPos  = (is_nav)?(window.innerWidth- xd1Width)/2:(document.body.clientWidth-xd1Width)/2;
	 // xTopPos  = (is_nav)?(window.innerHeight- xd1Height)/2:(document.body.clientHeight-xd1Height)/2;
  	  xLeftPos  = (is_nav)?(window.innerWidth- xd1Width)/2:(document.body.clientWidth-xd1Width)/2;
	  xTopPos  = 25;//(is_nav)?(offsetHeight + (window.innerHeight- xd1Height)/2):(offsetHeight + (document.body.clientHeight-xd1Height)/2);
   	
	  if(xTopPos<0) {
		  xTopPos=25;
	  }
	 
   	}
	
   	addMainObject(divDialog);
	 
	if(xd1Width>0 && xd1Height>0)
   	{
	  xMoveTo(divDialog, xLeftPos, xTopPos);
   	}
	
   	divDialogPaint(xTarget);
  }
	  xEnableDrag(xTarget + 'Bar', divDialogBarOnDragStart, divDialogBarOnDrag, null);
	  xEnableDrag(rBtn, divDialogRBtnOnResizeStart, divDialogRBtnOnResize, null);
	 // mBtn.onclick = divDialogMBtnOnClick;
	 if(showOpaque)
	 {
  		var divDialogOpaque = xGetElementById('divDialogOpaque');
		xMoveTo(divDialogOpaque, 0, document.body.scrollTop);
  		xShow(divDialogOpaque);
	 }
  xShow(divDialog);
}

function scrollDivs()
{
	var divDialogOpaque = xGetElementById('divDialogOpaque');
	xMoveTo(divDialogOpaque, 0, document.body.scrollTop);
	if(lastDivTarget)
	{
		//xLeftPos  = (is_nav)?(window.innerWidth- xd1Width)/2:(document.body.clientWidth-xd1Width)/2;
	  	xTopPos  = document.body.scrollTop + 25;//(is_nav)?(window.innerHeight- xd1Height)/2:(document.body.clientHeight-xd1Height)/2;
	  	
	  	if(xTopPos<0) {
		  xTopPos=25;
	  	}
//	    xMoveTo(lastDivTarget, xLeftPos, xTopPos);
	}
}

window.onscroll=scrollDivs;
winkelmandjepopup = false;


function divDialogClose(xTarget, xCloseURL)
{
	var divDialog = xGetElementById(xTarget);
	xHide(divDialog);
	if(xCloseURL)
	{
		var content = xGetElementById(xTarget + 'Content');
		content.innerHTML = '';
		loadAjaxPopup(xCloseURL, xTarget, null, 'Close');
	}
	xHide(divDialogOpaque);
}
function divDialogPaint(xTarget)
{
  var divDialog = xGetElementById(xTarget);
  var rBtn = xGetElementById(xTarget + 'ResizeBtn');
  //var mBtn = xGetElementById('divDialogMaxBtn');
 
  xMoveTo(rBtn, xWidth(divDialog) - xWidth(rBtn), xHeight(divDialog) - xHeight(rBtn));
 
  //xMoveTo(mBtn, xWidth(divDialog) - xWidth(rBtn), 0);
}
function divDialogBarOnDragStart(ele, mx, my)
{
  obj = xGetElementById(ele);
  xZIndex(obj.parentName, highZ++);
}
function divDialogBarOnDrag(ele, mdx, mdy)
{
	obj = xGetElementById(ele);
  xMoveTo(obj.parentName, xLeft(obj.parentName) + mdx, xTop(obj.parentName) + mdy);
}
function divDialogRBtnOnResizeStart(ele, mx, my)
{
	obj = xGetElementById(ele);
  xZIndex(obj.parentName, highZ++);
}
function divDialogRBtnOnResize(ele, mdx, mdy)
{
	obj = xGetElementById(ele);
  xResizeTo(obj.parentName, xWidth(obj.parentName) + mdx, xHeight(obj.parentName) + mdy);

  divDialogPaint(obj.parentName);
}
function divDialogMBtnOnClick(xTarget)
{
  var divDialog = xGetElementById(xTarget);
  if (divDialog.maximized) {
	divDialog.maximized = false;
	xResizeTo(divDialog, divDialog.prevW, divDialog.prevH);
	xMoveTo(divDialog, divDialog.prevX, divDialog.prevY);
	divDialogPaint(xTarget);
  }
  else {
	divDialog.prevW = xWidth(divDialog);
	divDialog.prevH = xHeight(divDialog);
	divDialog.prevX = xLeft(divDialog);
	divDialog.prevY = xTop(divDialog);
	xMoveTo(divDialog, xScrollLeft(), xScrollTop());
	divDialog.maximized = true;
	
	xResizeTo(divDialog, xClientWidth(), xClientHeight());
	divDialogPaint(xTarget);
  }
}
var mainObjects = new Array();
function addMainObject(obj)
{
	mainObjects[mainObjects.length] = obj;
}

function isMainObject(obj){

	var found = false;
	for(i=0;i<mainObjects.length;i++)
	{
		if(mainObjects[i]==obj)
		{
			found = true;
		}
	}
	return found;
}

function getAbsolutePos(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = this.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

function getVisib(obj){
	var value = obj.style.visibility;
	if (!value) {
		if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
			value = '';
		} else if (obj.currentStyle) { // IE
			value = obj.currentStyle.visibility;
		} else
			value = '';
	}
	return value;
};

function setData(obj, data){
	var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
	var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
	var bMoz = (navigator.appName == 'Netscape');

	if(obj){
		if (bSaf) {
			obj.innerHTML = data;
		} else if (bOpera) {
			obj.innerHTML = data;
		} else if (bMoz) {
			obj.innerHTML = data;
		} else {
			obj.innerHTML = data;
		}
	}
}

function tagSelectNodes(obj, tag){
	var nodes = obj.getElementsByTagName('select');

	for(var i=0;i<nodes.length; i++) {
		nodes[i].parentName = tag;
	}
}

function execJS(node) {
	var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
	var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
	var bMoz = (navigator.appName == 'Netscape');

	var st = node.getElementsByTagName('SCRIPT');
	//alert(st.length)
	var strExec;

		for(var i=0;i<st.length; i++) {
			if (bSaf) {
				strExec = st[i].innerHTML;
			} else if (bOpera) {
				strExec = st[i].text;
			} else if (bMoz) {
				strExec = st[i].textContent;
			} else {
				strExec = st[i].text;
			}
			try {
				if(strExec.length>0){
//					alert(strExec);
					eval(strExec);
				}
			} catch(e) {
				alert(e.message);
			}
		}
	}

function trim(str)
{

}

function setDateTime(field, defaultval, format, d, m, y, h, i, s){
	fieldObj = MM_findObj(field);
	dt = fieldObj.value;
	if(dt.length == 0){
		dt = defaultval;
	}

	dtParts = dt.split(' ');
	formatParts = format.split(' ');

	newDate = dateChange(dtParts[0],formatParts[0], d, m, y);
	newTime = timeChange(dtParts[1],formatParts[1], h, i, s);

	fieldObj.value = newDate + ' ' + newTime;

}

function setDate(field, defaultval, format, d, m, y){
	fieldObj = MM_findObj(field);
	dt = fieldObj.value;
	if(dt.length == 0){
		dt = defaultval;
	}
	newDate = dateChange(dt,format, d, m, y);
	fieldObj.value = newDate;
}

function setTime(field, defaultval, format, h, i, s){
	fieldObj = MM_findObj(field);
	dt = fieldObj.value;
	if(dt.length == 0){
		dt = defaultval;
	}
	newTime = timeChange(dt,format, h, i, s);
	fieldObj.value = newTime;
}


// dateChange
if(!window.dateChange)
{
	function dateChange(dateStr, format, d, m, y)
	{
		var splitChar = (format.indexOf('-')>0?'-':(format.indexOf('/')>0?'/':(format.indexOf('.')>0?'.':'')));
		var formatArr = format.split(splitChar);
		var dateArr = dateStr.split(splitChar);
		var retArr = new Array(formatArr.length);

		
		d = d==null?null:(d.length==2?d:(d.length==1?'0' + new String(d):''));
		m = m==null?null:(m.length==2?m:(m.length==1?'0' + new String(m):''));		
		y = y==null?null:(y.length==4?y:(y.length==2?(y<10?'20'+new String(y):'19'+new String(y)):''));


		if(dateArr.length == formatArr.length)
		{
			for(i=0;i<formatArr.length;i++)
			{
				if(formatArr[i]=="d" && dateArr[i]<=31)
				{
					retArr[0] = dateArr[i];
					if(d != null){
						retArr[0] = d;
					}
				}
				else if(formatArr[i]=="m" && dateArr[i]<=12)
				{
					retArr[1] = dateArr[i];
					if(m != null){
						retArr[1] = m;
					}
				}
				else if(formatArr[i]=="Y" && dateArr[i]<3000)
				{
					retArr[2] = dateArr[i];
					if(y != null){
						retArr[2] = y;
					}
				}
				else
				{
					return null;
				}
			}
			return retArr.join(splitChar);
		}
		else
		{
			return null;
		}
	}
}


// timeChange
if(!window.timeChange)
{
	function timeChange(timeStr, format, h, i, s)
	{
		var splitChar = (format.indexOf(':')>0?':':(format.indexOf('.')>0?'.':(format.indexOf('_')>0?'_':'')));
		var formatArr = format.split(splitChar);
		var timeArr = timeStr.split(splitChar);
		var retArr = new Array(formatArr.length);

		h = h==null?null:(h.length==2?h:(h.length==1?'0' + new String(h):''));
		i = i==null?null:(i.length==2?i:(i.length==1?'0' + new String(i):''));		
		s = s==null?null:(s.length==2?s:(s.length==1?'0' + new String(s):''));		
		
		if(timeArr.length == formatArr.length)
		{
			for(j=0;j<formatArr.length;j++)
			{
				if(formatArr[j]=="H" && timeArr[j]<=23)
				{
					retArr[0] = timeArr[j];
					if(h != null){
						retArr[0] = h;
					}
				}
				else if(formatArr[j]=="i" && timeArr[j]<=59)
				{
					retArr[1] = timeArr[j];
					if(i != null){
						retArr[1] = i;
					}
				}
				else if(formatArr[j]=="s" && timeArr[j]<59)
				{
					retArr[2] = timeArr[j];
					if(s != null){
						retArr[2] = s;
					}
				}
				else
				{
					return null;
				}
			}
			return retArr.join(splitChar);
		}
		else
		{
			return null;
		}
	}
}

function trim(str)
{
	str = str.replace( /^\s+/g, "" );// strip leading
	return str.replace( /\s+$/g, "" );// strip trailing
}

function insertAtCursor(myField, myValue) {
	//IE support
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		+ myValue
		+ myField.value.substring(endPos, myField.value.length);
	} else {
		myField.value += myValue;
	}
}


function checkTextLengths(textFieldArray, minLength)
{
	var result = false;
	for(var i = 0; i < textFieldArray.length; i++)
	{
		var text = textFieldArray[i].value;
		if(null != text && trim(text).length >= minLength)
		{
			result = true;
			break;
		}
	}
	return result;
}


function copyToClipboard(val)
{
	if( window.clipboardData && clipboardData.setData )
    {
    	clipboardData.setData("Text", val);
    }
}


function swapMaattabel(){
	var image = document.getElementById("imageToSwap");
	var dropd = document.getElementById("maattabel");
	image.src = dropd.value;	
}

function isIE(){
  // only for Win IE 6+
  // But not in Windows 98, Me, NT 4.0, 2000
  var strBrwsr= navigator.userAgent.toLowerCase();
  if(strBrwsr.indexOf("msie") > -1 && strBrwsr.indexOf("mac") < 0){
    if(parseInt(strBrwsr.charAt(strBrwsr.indexOf("msie")+5)) < 6){
      return false;
    }
    if(strBrwsr.indexOf("win98") > -1 ||
       strBrwsr.indexOf("win 9x 4.90") > -1 ||
       strBrwsr.indexOf("winnt4.0") > -1 ||
       strBrwsr.indexOf("windows nt 5.0") > -1)
    {
      return false;
    }
    return true;
  }else{
    return false;
  }
}



