/*******************************************************************************
	Customize two date pickers to work as a date range
	Note: Used in jQuery UI Datepicker
*******************************************************************************/
function customRangeHeader(input) {
	var date = document.getElementById("fromHeader").value;
	var giorni;
    var today = new Date();

	if(date.length>0)
	{
		var re1='([-+]?\\d+)';	// Integer Number 1
	    var re2='.*?';	// Non-greedy match on filler
	    var re3='([-+]?\\d+)';	// Integer Number 2
	    var re4='.*?';	// Non-greedy match on filler
	    var re5='((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])';	// Year 1
	
	    var p = new RegExp(re1+re2+re3+re4+re5,["i"]);
	    var m = p.exec(date);
	    
	    if (m.length>0)
	    {
	        var day=m[1];
	        var month=m[2];
	        var year=m[3];
	         
	        var start = new Date();
	        start.setFullYear(year.replace(/</,"&lt;"));
	        start.setMonth(month.replace(/</,"&lt;")-1);
	        start.setDate(day.replace(/</,"&lt;"));
	        
	        
			var one_day=1000*60*60*24;
        	giorni = ((start.getTime()-today.getTime())/one_day)+1;
	        giorni = '+'+Math.round(giorni)+'d';
		}
	}
    return {minDate: (input.id == 'toHeader' ? giorni : today)}; 
}

function customRange(input) { 
	var date_c = document.getElementById("fromPages").value;
	var giorni_c;
	
	if(date_c.length>0)
	{
		var re1='([-+]?\\d+)';	// Integer Number 1
	    var re2='.*?';	// Non-greedy match on filler
	    var re3='([-+]?\\d+)';	// Integer Number 2
	    var re4='.*?';	// Non-greedy match on filler
	    var re5='((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])';	// Year 1
	
	    var p_c = new RegExp(re1+re2+re3+re4+re5,["i"]);
	    var m_c = p_c.exec(date_c);
	    
	    if (m_c.length>0)
	    {
	        var day_c=m_c[1];
	        var month_c=m_c[2];
	        var year_c=m_c[3];
	         
	        var start_c = new Date();
	        start_c.setFullYear(year_c.replace(/</,"&lt;"));
	        start_c.setMonth(month_c.replace(/</,"&lt;")-1);
	        start_c.setDate(day_c.replace(/</,"&lt;"));
	        
	        var today_c = new Date();
	        
			var one_day_c=1000*60*60*24;
        	giorni_c = ((start_c.getTime()-today_c.getTime())/one_day_c)+1;
	        giorni_c = '+'+Math.round(giorni_c)+'d';
	        
	    }  
	 }
    return {minDate: (input.id == 'toPages' ? giorni_c : null)}; 
}

/*******************************************************************************
	Funzione per creare un indirizzo e-mail anti-spam
	
	<a href="javascript:MailAntiSpam('info', 'dominio.it');">
*******************************************************************************/
function MailAntiSpam(user, domain)
{
	var url = "mailto:" + user + "@" + domain;
	document.location = url;
}

/*******************************************************************************
	Funzione per settare un cookie
	
	Chiamata tipo: setCookie('mps','it',360);
*******************************************************************************/
function setCookie(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=/";
}

/*******************************************************************************
	Funzione per abilitare/disabilitare il button di un form cliccando 
	una check box
	
	<input type="checkbox" id="cprivacy" onclick="ok_privacy('cprivacy','idButton');" /> 
*******************************************************************************/
function ok_privacy(idCheck, idButton)
{
	if (document.getElementById(idCheck).checked == true)
	{
		document.getElementById(idButton).disabled = false;
		document.getElementById(idButton).className = "button";
	}
	else
	{
		document.getElementById(idButton).disabled = true;
		document.getElementById(idButton).className = "button_disabled";
	}

}

/*******************************************************************************
	Funzioni per editare prefisso internazionale.
	N.B.: Funzione specifica, per il momento non resa indipendente dai nomi 
	dei campi
*******************************************************************************/
function prefIntDisplay() {
			
	box = document.forms['booking'].nazione;
	nat = box.options[box.selectedIndex].value;
	
	switch(nat)
	{
		case 'Italia':
			pre = '+39';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Japan':
			pre = '+81';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Russia':
			pre = '+7';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Austria':
			pre = '+43';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Switzerland':
			pre = '+41';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Belgium':
			pre = '+32';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Netherlands':
			pre = '+31';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Norway':
			pre = '+47';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Sweden':
			pre = '+46';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Ireland':
			pre = '+353';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Portugal':
			pre = '+351';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Finland':
			pre = '+358';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Saudi Arabia':
			pre = '+966';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'United Arab Emirates':
			pre = '+971';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Qatar':
			pre = '+974';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'France':
			pre = '+33';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Spain': 
			pre = '+34';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'United Kingdom': 
			pre = '+44';
			document.forms['booking'].int_pref.disabled=true;
		break;
		case 'Germany':
			pre = '+49';
			document.forms['booking'].int_pref.disabled=true;
		break;
		default: 
			pre = '+'; 
			document.forms['booking'].int_pref.disabled=false; 
		break;
	}

	document.getElementById("int_pref").value = pre;

}

function prefIntActiveField() {
	document.forms['booking'].int_pref.disabled=false;
}

/*******************************************************************************
	Funzioni split bovolo
	BOVOLO da verificare e se il caso da togliere.
*******************************************************************************/
/*function appCfgDisplay() {
	box = document.forms['booking'].app;
	cfg = box.options[box.selectedIndex].value;
	
	if(cfg == 12)
	{
		document.getElementById('split').style.display = '';
	}
	else
	{
		document.getElementById('split').style.display = 'none';
	}
}*/

/*******************************************************************************
	Funzione per calcolare le notti totali di soggiorno
	
*******************************************************************************/
function showDays(date) {

	date1 = new Date();
	date2 = new Date();
	diff  = new Date();
	
	from = $('#fromPages').datepicker('getDate');
	to = $('#toPages').datepicker('getDate');

	date1temp = new Date(from);
	date1.setTime(date1temp.getTime());

	date2temp = new Date(to);
	date2.setTime(date2temp.getTime());

	diff.setTime(Math.abs(date1.getTime() - date2.getTime()));
	
	timediff = diff.getTime();

	days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 

	timediff = days * (1000 * 60 * 60 * 24);

	if (from != null & to != null){
		$("#totalDays").css({ display:"inline"});
		$("#totalDaysN").html(days);
	}
}