function hide(element) {
	
	var el = $(element);
	
	if (el != null) {
		el.addClass('hide');
	}
	
}
function show(element) {
	
	var el = $(element);
	
	if (el != null) {
		el.removeClass('hide');
	}
	
}

function set_checked(element) {
	
	$(element).setProperties({
    	checked: 'checked'
	});

	
	
	
}

function submit_form(form_id) {
	
	var form = $(form_id);
	
	form.submit();
	
}

function copy(el1,el2) {
	
	$(el2).set('html', $(el1).get('html'));
	
}

function update(uri,div) {
	
	var req = new Request.HTML({
		'method': 'get',
		'url': uri, 
		'evalScripts': false,
		'evalResponse': false,
		'onSuccess': function(responseTree, responseElements, responseHTML, responseJavaScript) {
			//Clear the text currently inside the results div.
			$(div).set('html', responseHTML);
			//Inject the new DOM elements into the results div.
			//$(div).adopt(html);
			$exec(responseJavaScript);
		},
		//Our request will most likely succeed, but just in case, we'll add an
		//onFailure method which will let the user know what happened.
		'onFailure': function() {
			$(div).set('text', 'The request failed.');
		}
	});
	req.send();
	
}
function update_old(uri,div) {
	
	var req = new Request.HTML({
		'method': 'get',
		'url': uri, 
		'onSuccess': function(html) {
			//Clear the text currently inside the results div.
			$(div).set('text', '');
			//Inject the new DOM elements into the results div.
			$(div).adopt(html);
		},
		//Our request will most likely succeed, but just in case, we'll add an
		//onFailure method which will let the user know what happened.
		'onFailure': function() {
			$(div).set('text', 'The request failed.');
		}
	});
	req.send();
	
}

function set_default_input_value(el,val) {
	
	var el;
	
	el = $(el);
	
	if (el.value == '') { 
		el.value = val;
	}
	el.addClass('defualt_value');
	
	el.addEvents({
		'focus': function() {
			if (el.value == '' || el.value == val) {
				el.value = '';
				el.removeClass('defualt_value');
			}
		},	
		'blur': function() {
			if (el.value == '') {
				el.value = val;
				el.addClass('defualt_value');
			}
		}	
	});

}



function update_select_disorder(div,question,value,id) { // div, question, body, name, id

	var rnd=Math.floor(Math.random()*1001)
	
	var url = http_root + 'lib/ajax/cl_select_disorder.php?number='+question+'&body='+value+'&name=body_'+question+'[]&id='+id+'&rnd='+rnd;
	
	update(url,div);
	
}

//function get_select_disorder(d,q,b,n,i) { // div, question, body, name, id
//
//	var rnd=Math.floor(Math.random()*1001)
//	
//	var url = http_root + 'lib/ajax/cl_select_disorder.php?number='+q+'&body='+b+'&name='+n+'&id='+i+'&rnd='+rnd;
//	
//	update(url,d);
//	
//}

//function add_question(question) {
//	
//	
//	
//	$('answers_'+question).removeClass('hide');
//	
//	var a_holder = $('answer_holder_'+question);
//	
//	var a_children = a_holder.getElements('.question_holder');
//	
//	var new_id = a_children.length + 1;
//	var new_id_name = 'question_holder_'+question+'_'+new_id;
//	
//	var new_element = new Element('div', {
//		'id': new_id_name,
//		'class': 'question_holder',
//	});
//	
//	var url = http_root + 'lib/ajax/cl_get_question.php?number='+question+'&name=select_body_'+question+'&id='+new_id;
//	
//	update(url,new_id_name);
//	
//	a_holder.grab(new_element);
//	
//}

//function delete_question(question) {
//	
//	var holder = $('answer_holder_'+question);
//	
//	holder.set('text','');
//	
//}
//
//function show_add_question(element) {
//	
//	var el = $(document.body).getElement(element);
//	el.removeClass('hide');
//	
//}

function validate_clausule() {
	
	var num_of_answers = 5;
	
	var has_errors = false;
	var error_html = "<div class='error'><ul>";
	
	var questions = $$('#questions .question');
	
	for (var i=0; i<4; i++) {
		
		q = questions[i];
		
		var radio = q.getElement('.ja_nee .questions_add_radio');

		var has_disorder = radio.get('checked');
			
		if (has_disorder == true) {
			
			// all questions where body < 0 valideren
			var answers = $$('#answers_holder_'+(i+1)+' .answer');
			
			for (x=0; x<num_of_answers; x++) {
				
				if ($('answer_'+(i+1)+'_'+(x+1)).hasClass('hide') == false) {
			
					var a_body = $('select_body_'+(i+1)+'_'+(x+1)).get('value');
					var a_disorder = $('select_disorder_'+(i+1)+'_'+(x+1)).get('value');
					
					
					if (a_body == 0 || a_disorder == 0) {
						
						has_errors = true;
						error_html = error_html + "<li>Geef antwoord op vraag "+(i+1);
						if (x != 0) {
							error_html = error_html + "."+x;
						}
					
					}
					
					if (i == 3) {
					
						// now also check for a date
						var a_date = $('select_date_'+(i+1)+'_'+(x+1)).get('value');
						
						if (a_date == 0) {
							
							has_errors = true;
							error_html = error_html + "<li>Geef de maand op bij vraag "+(i+1);
							if (x != 0) {
								error_html = error_html + "."+x;
							}
							
						}
					
					}
					
				}
			
			}
		
		}
	
	}
	
	
	var q5 = questions[4].getElement('.ja_nee .radio');
	var q5_disorder = q5.get('checked');
	
	if (q5_disorder == true) {
	
		error_html = "<div class='error'><ul><li>Helaas kunnen wij uw huisdier niet verzekeren.</li></ul></div>";
		has_errors = true;
	
	}
	
	
	error_html = error_html + "</ul></div>";
	
	var error_holder = $('feedback');
	
	if (has_errors == true) {
		
		error_holder.set('html',error_html);
		
		//var scroll = new Fx.Scroll(window); 
		//scroll.toTop(); 
		var myFx = new Fx.Scroll(window).toElement('content');

		
	} else {
		
		error_holder.set('html','');
		
		var form = $('clausule_vragen');
		form.submit();
	
	}
	
}


function validate_age(dd,mm,jjjj,div) {
	
	var dob = jjjj+'-'+mm+'-'+dd;
	var min_age = 18;
	
	var url = http_root + 'lib/ajax/validate_age.php?dob='+dob+'&min_age='+min_age;
	
	var req = new Request({
		method:'get',
		url:url, 
		onComplete: function(response) {
			
			holder = response.split('|');
			
			if (holder[0] == 'ERROR') {
			
				$(div).setProperty('text',holder[1]);
				$(div).setStyle('display','block');
			
			}
						
		}		
	});
	req.send();
	
}

function validate_email(email,div) {
	
	var url = http_root + 'lib/ajax/validate_email.php?email='+email;
	
	var req = new Request({
		method:'get',
		url:url, 
		onComplete: function(response) {
			
			holder = response.split('|');
			
			if (holder[0] == 'ERROR') {
			
				$(div).setProperty('text',holder[1]);
				$(div).setStyle('display','block');
			
			}
						
		}		
	});
	req.send();
	
}



/*function lightbox(src,width,height) {
	
	var lbd = $('lightbox_dimmer');
	var lbc = $('lightbox_container');
	var lbclose = $('lightbox_close_bar');
	var lbh = $('lightbox_holder');
	
	lbd.setStyle('display','block');
	lbc.setStyle('display','block');
	lbc.setStyle('width',width);
	lbc.setStyle('height',height);
	lbc.setStyle('margin-left',-width/2);
	lbc.setStyle('margin-top',-height/2);
	
	lbd.addEvent('click',function(){
		lbd.setStyle('display','none');
		lbc.setStyle('display','none');
	});
	
	lbclose.addEvent('click',function(){
		lbd.setStyle('display','none');
		lbc.setStyle('display','none');
	});
	
	var html_request = new Request.HTML({url:src,update:lbh}).get();

	
}

function lightbox_redirect(url) {
	
	var html_request = new Request.HTML({
		url:url, 
		method: 'get', 
		update:$('lightbox_holder')
	}).get();

}

function update_select(element,url) {
	//alert("element: "+element_id);
	var obj = document.getElementById(element);

	obj.options.length = 1;	// Empty element
	var html_request = new Request({
		method:'get',
		url:url,
		onSuccess: function(response){
			eval(response);
		}
		}).get();
	
}

function update_events(div,param) {
	
	var el = $(div);
	
	var req = new Request.HTML({
		method:'get',
		url:http_root+'lib/ajax/get_events.php?'+param, 
		onSuccess: function(html) {
			//Clear the text currently inside the results div.
			$(div).set('text', '');
			//Inject the new DOM elements into the results div.
			$(div).adopt(html);
		},
		//Our request will most likely succeed, but just in case, we'll add an
		//onFailure method which will let the user know what happened.
		onFailure: function() {
			$('result').set('text', 'The request failed.');
		}
	});
	req.send();
		
}*/