
	function domFunction(f, a)
	{
		var n = 0;
		var t = setInterval(function()
		{
			var c = true;
			n++;
			if(typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null))
			{
				c = false;
				if(typeof a == 'object')
				{
					for(var i in a)
					{
						if
						(
							(a[i] == 'id' && document.getElementById(i) == null)
							||
							(a[i] == 'tag' && document.getElementsByTagName(i).length < 1)
						) 
						{ 
							c = true; 
							break; 
						}
					}
				}
				if(!c) { f(); clearInterval(t); }
			}
			
			if(n >= 60)
			{
				clearInterval(t);
			}
		}, 250);
	}
	
	function explode( delimiter, string, limit ) {   
     var emptyArray = { 0: '' };
    
    // third argument is not required
    if ( arguments.length < 2 ||
        typeof arguments[0] == 'undefined' ||
        typeof arguments[1] == 'undefined' )
    {
        return null;
    }
 
    if ( delimiter === '' ||
        delimiter === false ||
        delimiter === null )
    {
        return false;
    }
 
    if ( typeof delimiter == 'function' ||
        typeof delimiter == 'object' ||
        typeof string == 'function' ||
        typeof string == 'object' )
    {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
    
    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
	}

	function in_array(needle, haystack) {
		var i = 0;
    for (key in haystack) {
    	i++;
        if (haystack[key] == needle) {
            return eval(i);
        }
    } 
 
    return false;
	}

	function ucfirst( str ) {
    str += '';
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
	}

	function calender()	{
		if(document.getElementById('vanDatum') && document.getElementById('totDatum'))	{
			var vanDatum = document.getElementById('vanDatum');
			var totDatum = document.getElementById('totDatum');
			var monthArray = ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'];
			
			vanDatum.onfocus = function() { displayCalendar(document.forms['sdu_news_search_form'].vanDate,'dd/mm/yyyy',this); return false; };
			vanDatum.onchange = function() {
				var vanDatum_replaced = vanDatum.value.replace(/-/gi,' ');
				var vanDatum_arr = explode(' ',vanDatum_replaced);
				if(vanDatum_replaced.length > 3 && vanDatum_arr.length == 3)
				{					
					var van_month = vanDatum_arr[1];
					if(in_array(ucfirst(van_month),monthArray) || in_array(ucfirst(van_month),monthArrayShort))
					{
						van_month = (in_array(ucfirst(van_month),monthArray)) ? in_array(ucfirst(van_month),monthArray) : in_array(ucfirst(van_month),monthArrayShort);
					}				
					if(van_month.toString().length == 1)
					{
						van_month = '0' + van_month;
					}
					if(vanDatum_arr[0].length == 1)
					{
						vanDatum_arr[0] = '0' + vanDatum_arr[0];
					}
					vanDatum.value = vanDatum_arr[0] + ' ' + van_month + ' ' + vanDatum_arr[2];
				}
			};
			
			totDatum.onfocus = function() { displayCalendar(document.forms['sdu_news_search_form'].totDate,'dd/mm/yyyy',this); return false; };
			totDatum.onchange = function() { 
				var totDatum_replaced = totDatum.value.replace(/-/gi,' ');
				var totDatum_arr = explode(' ',totDatum_replaced);
				if(totDatum_replaced.length > 3 && totDatum_arr.length == 3)
				{	
					var tot_month = totDatum_arr[1];
					if(in_array(ucfirst(tot_month),monthArray) || in_array(ucfirst(tot_month),monthArrayShort))
					{
						tot_month = (in_array(ucfirst(tot_month),monthArray)) ? in_array(ucfirst(tot_month),monthArray) : in_array(ucfirst(tot_month),monthArrayShort);
					}				
					if(tot_month.toString().length == 1)
					{
						tot_month = '0' + tot_month;
					}
					if(totDatum_arr[0].length == 1)
					{
						totDatum_arr[0] = '0' + totDatum_arr[0];
					}
					totDatum.value = totDatum_arr[0] + ' ' + tot_month + ' ' + totDatum_arr[2];
				}
			};
		}
	}
	
	function listen()	{
		if(document.getElementById('chAll')) {
		var links = document.getElementById('chAll');
		links.onclick = function() { 
			for (i=0; i<document.emaillok.elements.length; i++) {
				if (document.emaillok.elements[i].type=="checkbox")
					document.emaillok.elements[i].checked=true;
				};
			return false;
			};
		};
		if(document.getElementById('unchAll')) {
		var links = document.getElementById('unchAll');
		links.onclick = function() { 
			for (i=0; i<document.emaillok.elements.length; i++) {
				if (document.emaillok.elements[i].type=="checkbox")
					document.emaillok.elements[i].checked=false;
					
				};
			return false;
			};
		};
	}
	function addEvent(obj, evType, fn){ 
		if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
		} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
		} else { 
		return false; 
		} 
	}
	
	function showMarker(){ 
		if(document.getElementById('content')) {
			if (document.getElementsByClassName) {
				var links = document.getElementById('content').getElementsByClassName('mapresult');
				linklength = links.length; 
				for(var i=0;i<linklength;i++) {		
					links[i].onclick = function() { 
						var marker_id = this.id.split('_');	
						start_edit_id(marker_id[1]);
						return false; 			
					}
				}
			}
			else {
		  i = 0;
		  var links = document.getElementsByTagName("a");
		  while (element = links[i++]) {
		    if (element.className == "mapresult") {
		    	links[i-1].onclick = function() {
		    		var marker_id = this.id.split('_');	
						start_edit_id(marker_id[1]);
		        return false;
		      }
		    }
		  }			
		}
	}
}
