var InGoedeBanenLoader = {
	loadSnelzoeken: false,
	loadContent: false,
	proxy: '/pages/proxy.aspx',
	map: '',
	locatie: '',

	setProxy: function() {
		if (window.location.host == 'vitae.ingoedebanen.nl') {
			InGoedeBanenLoader.proxy = '/vacatures_zoeken/proxie.php';
		}
	},

	loadCSS: function(fileName, media) {
		document.write('<link type="text/css" rel="stylesheet" href="http://vitae.ingoedebanen.nl/css/'+fileName+'" media="'+media+'">');
	},

    loadJS: function(fileName) {
		var script = document.createElement('script');
		script.type = 'text/javascript';
		script.src = fileName;
		document.body.appendChild(script);
    },

	loadHTML: function() {
		if ($('ingoedebanen_snelzoeken_container')) {
			InGoedeBanenLoader.loadSnelzoeken = true;
		}

		if ($('ingoedebanen_content_container')) {
			InGoedeBanenLoader.loadJS('http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjW66r_K7lZMx3_xSF48ZNhQHdD6VzZ1uR0Iw7zfy_PIwttERWxRcV1LhQAHST0NMLk-CoZLlPdx8AQ&async=2');
			InGoedeBanenLoader.loadContent = true;
		}

		var params = new Hash({
			loadSnelzoeken: InGoedeBanenLoader.loadSnelzoeken,
			loadContent: InGoedeBanenLoader.loadContent,
			cookie: InGoedeBanenLoader.getCookie('InGoedeBanenLoaderCookie')
		});

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params.toQueryString()+'&'+window.location.search.substring(1),

			onComplete: function(originalRequest) {
				var ajaxArray = originalRequest.responseText.evalJSON(true);

				if (ajaxArray.snelzoeken) {
					$('ingoedebanen_snelzoeken_container').update(ajaxArray.snelzoeken);
				}

				if (ajaxArray.content) {
					$('ingoedebanen_content_container').update(ajaxArray.content);
				}

				if (ajaxArray.cookie) {
					InGoedeBanenLoader.setCookie('InGoedeBanenLoaderCookie', $H(ajaxArray.cookie).toJSON());
				}
				
				if ($('ingoedebanen_locatie')) {
					InGoedeBanenLoader.locatie = $F('ingoedebanen_locatie');
					setTimeout('InGoedeBanenLoader.drawMap()', 1000);
				}
			}
		});
	},

	reCount: function() {
		$('ingoedebanen_aantal_vacatures').innerHTML = '<img src="http://vitae.ingoedebanen.nl/images/loader_small.gif" alt="" style="width:16px; height: 16px;" />';

		var params = $H($('ingoedebanen_zoeken_formulier').serialize(true));
		params.set('action', 'ajax');
		params.set('cmd', 'getSearchCount');

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				$('ingoedebanen_aantal_vacatures').innerHTML = originalRequest.responseText;
			}
		});
	},

	doSearch: function(formid) {
		var params = $H($(formid).serialize(true));
		params.set('action', 'ajax');
		params.set('cmd', 'saveSearch');
		params.set('cookie', InGoedeBanenLoader.getCookie('InGoedeBanenLoaderCookie'));

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				InGoedeBanenLoader.setCookie('InGoedeBanenLoaderCookie', originalRequest.responseText);
				window.location = '/vacatures_zoeken?resultaat=1';
			}
		});
	},

	viewVac: function(id, pageNr) {
		window.location = '/vacatures_zoeken?vacature_id='+id+'&b='+pageNr;
	},

	backToList: function(pageNr) {
		window.location = '/vacatures_zoeken?resultaat='+pageNr;
	},

	setCookie: function(name, value, path, expires, domain, secure) {
		document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	},

	getCookie: function(name) {
		var dc = document.cookie;
		var prefix = name + "=";

		var begin = dc.indexOf("; " + prefix);
		if (begin == -1) {
			begin = dc.indexOf(prefix);
			if (begin != 0) return null;
		} else {
			begin += 2;
		}

		var end = document.cookie.indexOf(";", begin);
		if (end == -1) {
			end = dc.length;
		}

		return unescape(dc.substring(begin + prefix.length, end));
	},

	deleteCookie: function(name, path, domain) {
		if (getCookie(name)) {
			document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
		}
	},

	clearDefault: function(obj, text) {
		if (obj.value == text) {
			obj.value = '';
		}
	},

	setDefault: function(obj, text) {
		if (obj.value == '') {
			obj.value = text;
		}
	},

	showTAF: function(vid) {
		$('ingoedebanen_popup_overlay').style.display = 'block';

		var params = new Hash({
			action: 'ajax',
			cmd: 'tipaFriend',
			id: vid
		});

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				$('ingoedebanen_popup_container').innerHTML = originalRequest.responseText;
				$('ingoedebanen_popup_container').style.display = 'block';
			}
		});
	},

	sendTAF: function(vid) {
		var params = $H($('ingoedebanen_taf_formulier').serialize(true));
		params.set('action', 'ajax');
		params.set('cmd', 'tipaFriendSend');
		params.set('id', vid);

		$('ingoedebanen_popup_container').style.display = 'none';
		$('ingoedebanen_popup_container').innerHTML = '';

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				$('ingoedebanen_popup_container').innerHTML = originalRequest.responseText;
				$('ingoedebanen_popup_container').style.display = 'block';
			}
		});
	},

	closeTAF: function() {
		$('ingoedebanen_popup_overlay').style.display = 'none';
		$('ingoedebanen_popup_container').style.display = 'none';
		$('ingoedebanen_popup_container').innerHTML = '';
	},

	RSS: function() {
		var params = new Hash({
			action: 'ajax',
			cmd: 'saveRss',
			cookie: InGoedeBanenLoader.getCookie('InGoedeBanenLoaderCookie')
		});

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				window.location = 'http://vitae.ingoedebanen.nl/rss/'+originalRequest.responseText;
			}
		});
	},

	showMeer: function(obj, tabelnaam) {
		$('ingoedebanen_snelzoeken_container').select('.ingoedebanen_hidden_verfijnen_'+tabelnaam).each(function(node) {
			node.show();
		});

		$('ingoedebanen_verfijnen_meer_'+tabelnaam).hide();
	},

	verfijnen: function(tabelnaam, id) {
		var params = $H(InGoedeBanenLoader.getCookie('InGoedeBanenLoaderCookie').evalJSON().search);
		params.set('action', 'ajax');
		params.set('cmd', 'saveSearch');
		params.set('vacature_'+tabelnaam, id);

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				InGoedeBanenLoader.setCookie('InGoedeBanenLoaderCookie', originalRequest.responseText);
				window.location = '/vacatures_zoeken?resultaat=1';
			}
		});
	},

	verfijnenU: function(tabelnaam) {
		var params = $H(InGoedeBanenLoader.getCookie('InGoedeBanenLoaderCookie').evalJSON().search);
		params.set('action', 'ajax');
		params.set('cmd', 'saveSearch');
		params.unset('vacature_'+tabelnaam);

		var myAjax = new Ajax.Request(InGoedeBanenLoader.proxy,
		{
			method: 'post',
			parameters: params,
			onComplete: function(originalRequest) {
				InGoedeBanenLoader.setCookie('InGoedeBanenLoaderCookie', originalRequest.responseText);
				window.location = '/vacatures_zoeken?resultaat=1';
			}
		});
	},

	drawCircle: function(lat, lng, radius, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity) {
		var d2r = Math.PI/180;
		var r2d = 180/Math.PI;
		var Clat = radius * 0.014483;  // Convert statute miles into degrees latitude
		var Clng = Clat/Math.cos(lat*d2r); 
		var Cpoints = []; 
		for (var i=0; i < 66; i++) { 
			var theta = Math.PI * (i/32); 
			Cy = lat + (Clat * Math.sin(theta)); 
			Cx = lng + (Clng * Math.cos(theta)); 
			var P = new GPoint(Cx,Cy); 
			Cpoints.push(P); 
	 	}
	 	
		var polygon = new GPolygon(Cpoints, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity);
		InGoedeBanenLoader.map.addOverlay(polygon);
	},
	
	drawMap: function() {
	 	var mapobj = $('ingoedebanen_googlemap');
	
		InGoedeBanenLoader.map = new GMap2(mapobj);
		InGoedeBanenLoader.map.enableContinuousZoom();
		InGoedeBanenLoader.map.enableDoubleClickZoom();
		InGoedeBanenLoader.map.enableScrollWheelZoom(); 
	
		// Map centreren op gekozen adres, inzoomen
		new GClientGeocoder().getLatLng(
			InGoedeBanenLoader.locatie,
			function(point) {
				if (point) {
					InGoedeBanenLoader.map.setCenter(point, 14);
					
					// Circel van 0,3 mijl tonen om het punt
					InGoedeBanenLoader.drawCircle(point.y, point.x, .3, "#F47820", 1, 1, "#AF500A", .3);
				}
			}
		);
	}
}

InGoedeBanenLoader.setProxy();
InGoedeBanenLoader.loadCSS('stijl.css', 'screen');
InGoedeBanenLoader.loadCSS('print.css', 'print');
Event.observe(window, 'load', function() {
	InGoedeBanenLoader.loadHTML();
}, false);