function showHideAJAX(id, a_reference, arr_words){
	if ($(id)){
		if ($(id).style.overflow != 'visible' || $(id).style.display == 'none'){
			if (a_reference != null && arr_words.length == 2){
				a_reference.innerHTML = arr_words[1];
			}
			if ($(id).style.height == null || $(id).style.height == 0){
				Effect.BlindDown(id, {
					duration: 0.5
				});
			}
		}
		else{
			if (a_reference != null && arr_words.length == 2){
				a_reference.innerHTML = arr_words[0];
			}
			Effect.BlindUp(id, {
				duration: 0.5
			});
		}
	}
	return false;
}

/* NEW OVERLAY */
var overlayers = [];
function showOverlayers(divId, html){
	$(document.body).observe('keydown', bodyClickHandler);
	showOverlayer();
	showOverlayDiv(divId, html);
}

function showOverlayer(){
	var id = 'gg_layer';
	overlayers.push(id);
	
	var overlay = $(id);
	overlay.observe('click', hideOverlayers);
	var width = $(document.body).measure('width');
	var height = $(document.body).measure('height');
	
	height = (height < document.viewport.getHeight()) ? document.viewport.getHeight() : height;
	
	overlay.style.width = width + 'px';
	overlay.style.height = height + 'px';
	
	overlay.show();
}

function hideOverlayers(){
	for(var i = 0; i < overlayers.length; i++){
		$(overlayers[i]).hide();	
	}
}

function showOverlayDiv(divId, html){
	var elm = $(divId);
	elm.addClassName('overlayDiv');
	overlayers.push(divId);
	
	//get viewport's width and height
	var vpWidth = document.viewport.getWidth();
	var vpHeight = document.viewport.getHeight();
	
	if(html != ''){
		elm.innerHTML = html;
	}
	
	//get dialog's width and height
	var elmOffsets = elm.getDimensions();
	var dialogWidth = elmOffsets.width; 
	var dialogHeight = elmOffsets.height;
	
	//calculate position
	var scrollOffsets = document.viewport.getScrollOffsets();
	var dialogTop = (vpHeight/2) - (dialogHeight/2) + scrollOffsets.top;
	var dialogLeft = (vpWidth/2) - (dialogWidth/2) + scrollOffsets.left;
	
	//Position the Dialog
	elm.style.top = dialogTop + 'px';
	elm.style.left = dialogLeft + 'px';
	
	elm.style.display = 'block';
}

function bodyClickHandler(e){
	if(e.keyCode == Event.KEY_ESC){
		$(document.body).stopObserving('keydown');
		hideOverlayers();
	}
}

/* END OVERLAY */


// JavaScript Document
function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
	cntfield.value = maxlimit - field.value.length;
}

String.prototype.trim = function() {
    return this.replace( /^\s+|\s+$/, "" );
}

// google adsense 
// var prev_ads = 0;
// var pe_adsense = null;
function google_ad_request_done(google_ads) {
    var s = '';
    var i;

    if (google_ads.length == 0) {
      return;
    }

	if(pe_google_layout == 1) {
		s += '<h3>'  + '<a href="'+google_info.feedback_url+'">' + 'Ads door Google' + '</a>' + '</h3>';
		for(i=0; i < google_ads.length; ++i) {
			url = '<a style="cursor:pointer;cursor:hand;" target="_blank" onclick="javascript:window.open(\'' + google_ads[i].url  +
				 '\');" onmouseover="window.status=\'ga naar ' + google_ads[i].visible_url + '\'" onmouseout="window.status=\'\'">';
			s += '<div style="float:left;width:230px;padding:10px 5px;"><dl>';
			s += '<dt>' + url + google_ads[i].line1 + '</a></dt>';
			s += '<dd>' + google_ads[i].line2 + '&nbsp;' + google_ads[i].line3 + '</dd>';
			s += '</dl>';
			s +=  url + google_ads[i].visible_url + '</a></div>';
		}
	}
	else if(pe_google_layout == 2) {
		s += '<h3>'  + '<a href="'+google_info.feedback_url+'">' + 'Ads door Google' + '</a>' + '</h3>';
		for(i=0; i < google_ads.length; ++i) {
			url = '<a style="cursor:pointer;cursor:hand;" target="_blank" onclick="javascript:window.open(\'' + google_ads[i].url  +
				 '\');" onmouseover="window.status=\'ga naar ' + google_ads[i].visible_url + '\'" onmouseout="window.status=\'\'">';
			s += '<div><dl>';
			s += '<dt>' + url + google_ads[i].line1 + '</a></dt>';
			s += '<dd>' + google_ads[i].line2 + '&nbsp;' + google_ads[i].line3 + '</dd>';
			s += '</dl>';
			s +=  url + google_ads[i].visible_url + '</a></div>';
		}
			s+= '<div class="gen_clear"></div>';
	}
	else if(pe_google_layout == 3) {
		s += '<h3>'  + '<a href="'+google_info.feedback_url+'">' + 'Ads door Google' + '</a>' + '</h3>';
		for(i=0; i < google_ads.length; ++i) {
			url = '<a style="cursor:pointer;cursor:hand;" target="_blank" onclick="javascript:window.open(\'' + google_ads[i].url  +
				 '\');" onmouseover="window.status=\'ga naar ' + google_ads[i].visible_url + '\'" onmouseout="window.status=\'\'">';
			s += '<div style="float:left;width:326px;padding:0 0 5px 0;"><dl>';
			s += '<dt>' + url + google_ads[i].line1 + '</a></dt>';
			s += '<dd>' + google_ads[i].line2 + '&nbsp;' + google_ads[i].line3 + '</dd>';
			s += '</dl>';
			s +=  url + google_ads[i].visible_url + '</a></div>';
		}
	}
	else if(pe_google_layout == 4) {
		s += '<h3>'  + '<a href="'+google_info.feedback_url+'">' + 'Ads door Google' + '</a>' + '</h3>';
			for(i=0; i < google_ads.length; i++) {
				url = '<a style="cursor:pointer;cursor:hand;" target="_blank" onclick="javascript:window.open(\'' + google_ads[i].url  + '\');" onmouseover="window.status=\'ga naar ' + google_ads[i].visible_url + '\'" onmouseout="window.status=\'\'">';

				s += '<div style="margin: 0 10px 0 0; padding: 10px 0px; float: left; width: 192px;">';
				s += '<dl>';
				s += '<dt>' + url + google_ads[i].line1 + '</a></dt>';
				s += '<dd>' + google_ads[i].line2 + '&nbsp;' + google_ads[i].line3 + '</dd>';
				s += '</dl>';
				s +=  url + google_ads[i].visible_url + '</a>';
				s += '</div>';
			}
	}

	document.write(s);
	return;
}

function setCookie(c_name,value,expiredays,domain){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ '=' +escape(value)+
	";path=/" + 
	((domain==null) ? '' : ';domain='+domain) +
	((expiredays==null) ? '' : ';expires='+exdate.toGMTString());
}

function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + '=');
		if (c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return '';
}

//googleAnalytics
function measureClick (zone){
	var component='gClicks';
	if (zone!=undefined  && zone != ''){
		component += '/'+zone;
	}
	_gaq.push(['_trackPageview', component]);
}

function checkField(elm, text, i){
	if(i==1){
		if(elm.value == text)
			elm.value = '';
	} else{
		if(elm.value == '')
			elm.value = text;
	}
}

function newsletterSignIn(form){
	var name = $(form.name);
	var email = $(form.email);
    var nieuwsbrief = $(form.nieuwsbrief);

	var proceed = true;
	var url = "/jobs_j2ee/alg/jsp/j_nieuwsbrief.jsp";

	if(!/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(email.value)){
		proceed = false;
		email.removeClassName('validation-passed');
		email.addClassName('validation-failed');
	}
	else{
		email.addClassName('validation-passed');
		email.removeClassName('validation-failed');
	}
	if(name.value.replace(/\s/g,'').length <= 0 || name.title == name.value){
		proceed = false;
		name.removeClassName('validation-passed');
		name.addClassName('validation-failed');
	}
	else{
		name.addClassName('validation-passed');
		name.removeClassName('validation-failed');
	}
	if(proceed){
		new Ajax.Updater("newsletter", url, {
						 asynchronous: true,
						 encoding: 'UTF-8',
						 method: 'post',
						 parameters:{'name': name.value, 'email': email.value, 'nieuwsbrief':nieuwsbrief.value}
						 });
	}
	return false;
}

function getValue(elm){
	var value = '';
	switch(elm.type){
		case 'select-one':
			if (elm.options.length > 0 && elm.selectedIndex >= 0){
				value = elm.options[elm.selectedIndex].value;
			}
			break;
		case 'text':
			value = elm.value;
			break;
		case 'hidden':
			value = elm.value;
			break;
	}
	return value;
}

function isChecked(elm){
	return elm.checked ? true : false;
}
