// sIFR

document.observe('dom:loaded', function(){
	h1 = {
		sSelector: "h1",		
		sFlashSrc: "/www/swf/frutiger.swf",
		sWmode: "transparent"
	}
	tosIFR(h1);
	//sIFR.replaceElement( named( h1 ) );
	if ($('error')){
		show_hide_message('error');
	}
	if ($('message')){
		show_hide_message('message');
	}
});

/* custom effects */

function show_hide_message (id){
	Effect.Appear(id, { duration: 0.5 });
	Effect.Fade('overlay', { duration: 0.5, delay: 3 });
	Effect.Fade(id, { duration: 0.5, delay: 4 });
}
function hide_message_direct (id){
	Effect.Fade(id, { duration: 0.1});
	Effect.Fade('overlay', { duration: 0.2, delay: 0 });
}
function open_day(date){
	window.location = '/mijn-dagboek/' + date + '/ontbijt';
}
function open_overzicht(date){
	window.location = '/mijn-dagboek/mijn-adviezen/overzicht-ingevoerde-producten/' + date;
}
function open_advies(date){
	window.location = '/mijn-dagboek/mijn-adviezen/' + date;
}
function choose_period(date){
	if(this.element.identify() == 'action')$(this.element.identify()).up('form').action = date;
	else $$('input[name='+ this.element.identify() +']').first().value = date;
}
document.observe('dom:loaded', function(){
	if($('choose_day') && $('choose_period')){
		$$('#day-or-period input[type=radio]').each((function(s){
			s.onclick = (function(){
				  if(this.value == 'd'){
					  $('choose_period').hide();
					  $('qck-ga').hide();
					  $('choose_day').show();
				  }else{
					  $('choose_day').hide();
					  $('choose_period').show();
					  $('qck-ga').show();
				  }
			});
			if(s.checked)s.onclick.call(s);
		}));
		
		$('kies_d').onclick = (function(){				  			
			var loc = window.location.href;
			if(loc.indexOf('?') != -1){
				loc = loc.split('?');
				loc = loc[0];
			}
			window.location.href = loc;
		});		
		$('qck_kies').onclick = (function(){				  			
			$('choose_period').hide();
			$('qck-ga').hide();						  					  
			$$('span.datum input').invoke('remove');
			$('msg-loading').show();
			$('ajaxloader').src='/www/images/ajax-loader.gif';
			setTimeout(sumbit_ch_date, 1400);
		});
	}
});

function sumbit_ch_date (){
	$('ch_date').submit();	
}

function jumpYear(targ,selObj,restore){ //v3.0
  eval(targ+".location='/mijn-dagboek/download/"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

/* validate form */
function submit_form (){
	$('nvb-form').submit();	
}

function submit_validate_form (){
	if (validate_form() == true){
		$('nvb-form').submit();	
	}
}

function submit_ajax_validate_form (){
	if (ajax_validate_form() == true){
		$('nvb-form').submit();	
	}
}

function validate_form(){
	var validator = new Validation('nvb-form', {onSubmit : false});
	
	Validation.addAllThese([	
		['validate-required-email', '', function (v) {
			/*return !Validation.get('IsEmpty').test(v) && /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)*/
			return !Validation.get('IsEmpty').test(v) &&  /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/.test(v)
		}],		
		['validate-unique-email', '', function(v, elm) {
			return validate_field('check_email_exist', 'advice-validate-unique-email-email');
		}],
		['validate-current-password', '', function(v, elm) {
			return validate_field('validate_current_password', 'advice-validate-current-password-current_password');
		}],
		['validate-password', '', {
			minLength : 6	
		}],
		['validate-day', 'Please use a valid day value', function(v) {
			if(Validation.get('IsEmpty').test(v)) return true;
			return Validation.get('IsEmpty').test(v) || (!isNaN(v) && !/^\s+$/.test(v) && v < 32);
		}],
		
		['validate-month', 'Please use a valid month value', function(v) {
			if(Validation.get('IsEmpty').test(v)) return true;
			return Validation.get('IsEmpty').test(v) || (!isNaN(v) && !/^\s+$/.test(v) && v < 13);
		}],	
		
		['validate-date-nl', 'Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.', function(v) {
					if(Validation.get('IsEmpty').test(v)) return true;
					var regex = /^(\d{2}|\d{1})-(\d{2}|\d{1})-(\d{4})$/;
					if(!regex.test(v)) return false;
					var d = new Date(v.replace(regex, '$2-$1-$3'));
					return ( parseInt(RegExp.$2, 10) == (1+d.getMonth()) ) && 
								(parseInt(RegExp.$1, 10) == d.getDate()) && 
								(parseInt(RegExp.$3, 10) == d.getFullYear() );
		}],
		['validate-password-confirm', '', {
			equalToField : 'password'
		}]
	]);

	if (validator.validate()) {
		// $('errormsg','registerform').invoke('hide');
		return true;
	}else{
		$('errormsg').show();
		return false;
	}
}

function ajax_validate_form(){
	Ajax._return = false;
	new Ajax.Request('/ajax/', {
	  parameters : $('nvb-form').serialize(true),
	  asynchronous : false,
	  onSuccess  : function(t, json) {

		if (json.error == true) {
			$('notice').update(json.notice);
			$('errormsg').show();
			Ajax._return = false;
		} else {
			$('errormsg').hide();
			Ajax._return = true;
		}
	}
	});
	//return false;
	return Ajax._return;
}

function validate_field (validaton_type, messenger){
	Ajax._return = false;
	
	var params = $('nvb-form').serialize(true);
		params.goto = 'validate_field';
		
	new Ajax.Request('/ajax/?validaton_type=' + validaton_type, {
	  parameters : params,
	  asynchronous : false,
	  onSuccess  : function(t, json) {

		if (json.error == true) {
			$(messenger).update(json.notice);
			Ajax._return = false;
		} else {
			$(messenger).hide();
			Ajax._return = true;
		}
	}
	});
	//return false;
	return Ajax._return;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function is_checked(form) {
    return $$('#nvb-form-flotr input').find( function(item) { return item.checked; });
};

change_graph = function(elm, event){
	var success_event = function( t, json ){
		var graph = $('flotr-container').update();
		if(json.series && json.options){
			graph.show();	
			Flotr.draw(graph, json.series, json.options);
		}	
	}
	var parameters = {
		user_id: $F('user_id'),
		wg: is_checked().value,
		goto: 'json_flotr'
	};
	var options =  {
		method:'get',
		onSuccess: success_event,
		parameters: parameters
	}			
	new Ajax.Request('/ajax/', options );
	
	return false;
};
