//Load Functions
//*****************************************************************************************************

addDOMLoadEvent = (function(){
    // create event function stack
    var load_events = [],
        load_timer,
        script,
        done,
        exec,
        old_onload,
        init = function () {
            done = true;

            // kill the timer
            clearInterval(load_timer);

            // execute each function in the stack in the order they were added
            while (exec = load_events.shift())
                exec();

            if (script) script.onreadystatechange = '';
        };

    return function (func) {
        // if the init function was already ran, just run this function now and stop
        if (done) return func();

        if (!load_events[0]) {
            // for Mozilla/Opera9
            if (document.addEventListener)
                document.addEventListener("DOMContentLoaded", init, false);

            // for Internet Explorer
            /*@cc_on @*/
            /*@if (@_win32)
                document.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");
                script = document.getElementById("__ie_onload");
                script.onreadystatechange = function() {
                    if (this.readyState == "complete")
                        init(); // call the onload handler
                };
            /*@end @*/

            // for Safari
            if (/WebKit/i.test(navigator.userAgent)) { // sniff
                load_timer = setInterval(function() {
                    if (/loaded|complete/.test(document.readyState))
                        init(); // call the onload handler
                }, 10);
            }

            // for other browsers set the window.onload, but also execute the old window.onload
            old_onload = window.onload;
            window.onload = function() {
                init();
                if (old_onload) old_onload();
            };
        }

        load_events.push(func);
    }
})();

//AJAX functions
//*****************************************************************************************************

// creeer een cross-browser XMLHttpClient
function initXMLHttpClient() {
	var xmlhttp;
	try {
		// Mozilla / Safari / IE7
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		// IE
		var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP' );
		var success = false;
		
		for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
			try {
				xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
				success = true;
			} catch (e) {}
		}

		if (!success) {
			throw new Error('Unable to create XMLHttpRequest object.');
		}
	}

	return xmlhttp;
}
//*****************************************************************************************************

//General functions
//*****************************************************************************************************
function clearJobbrokersSearchBox(){
	var keyword = document.getElementById('jobbrokers_keyword').value;
	
	if (keyword == 'Trefwoord...'){
		document.getElementById('jobbrokers_keyword').value = '';
	}
}

function gup( name ){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );

	if( results == null )
		return "";
	else    
		return results[1];
}

function getDateFromString(strDate){
	var date = strDate;
	
	var day = date.substring(0, 3);
	var daynumber = date.substring(4, 7);
	var month = date.substring(8, 11);
	var year = date.substring(12, 16);
	
	switch (day) {
		case 'Mon': 
			day = 'Maandag';
			break;
		case 'Tue': 
			day = 'Dinsdag';
			break;
		case 'Wed': 
			day = 'Woensdag';
			break;
		case 'Thu': 
			day = 'Donderdag'; 
			break;
		case 'Fri':
			day = 'Vrijdag'; 
			break;
		case 'Sat': 
			day = 'Zaterday'; 
			break;
		case 'Sun': 
			day = 'Sunday'; 
			break;
		default: 
			day = '';
	}
	
	switch (month) {
		case 'Jan': 
			month = 'Januari';
			break;
		case 'Feb': 
			month = 'Februari';
			break;
		case 'Mar': 
			month = 'Maart';
			break;	
		case 'Apr': 
			month = 'April';
			break;
		case 'May': 
			month = 'Mei';
			break;
		case 'June': 
			month = 'Juni';
			break;	
		case 'July': 
			month = 'Juli';
			break;	
		case 'Aug': 
			month = 'Augustus';
			break;		
		case 'Sept': 
			month = 'September';
			break;			
		case 'Oct': 
			month = 'Oktober';
			break;		
		case 'Nov': 
			month = 'November';
			break;		
		case 'Dec': 
			month = 'December';
			break;	
		default: 
			month = '';			
	}		
	
	date = day + ', ' + daynumber + ' ' + month + ' ' + year;
	return date;
}

function appendJobbrokersCategoryOption(){
	var myCategories = new Array("Alles","Directie/management","Staf, advies en beleid","Juridisch/bestuurlijk","Financieel/economisch","Administratief en secretarieel","Personeel en organisatie","Verkoop en marketing","Inkoop en logistiek","Reclame en communicatie","Techniek","Automatisering","Onderwijs en wetenschap","Medisch/verzorging","Productie","Overige");
	var i = 0;
	
	for (i=0; i<=15; i++){
		var elOptNew = document.createElement('option');
		
		if (i != 0){
			elOptNew.text = myCategories[i];
			elOptNew.value = i;
		} else {
			elOptNew.text = myCategories[i];
			elOptNew.value = '';
		}
		
		var elSel = document.getElementById('jobbrokers_category');
	
		try {
	    	elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	  	}
	  	catch(ex) {
	    	elSel.add(elOptNew); // IE only
	  	}
	}
}

function appendJobbrokersProvinceOption(){
	var myCategories = new Array("Alle provincies","Groningen","Friesland","Drenthe","Overijssel","Flevoland","Gelderland","Utrecht","Noord-Holland","Zuid-Holland","Noord-Brabant","Zeeland","Limburg");
	var i = 0;
	
	for (i=0; i<=12; i++){
		var elOptNew = document.createElement('option');
		
		if (i != 0){
			elOptNew.text = myCategories[i];
			elOptNew.value = myCategories[i];
		} else {
			elOptNew.text = myCategories[i];
			elOptNew.value = '';
		}
		
		var elSel = document.getElementById('jobbrokers_province');
	
		try {
	    	elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	  	}
	  	catch(ex) {
	    	elSel.add(elOptNew); // IE only
	  	}
	}
}

//*****************************************************************************************************
