jQuery(function($){
$.datepicker.regional['es'] = {clearText: 'Limpiar', clearStatus: '',
closeText: 'Cerrar', closeStatus: '',
prevText: '&lt;Ant', prevStatus: '',
nextText: 'Sig&gt;', nextStatus: '',
currentText: 'Hoy', currentStatus: '',
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;dabo'],
dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
dayNamesMin: ['<strong>Do</strong>','Lu','Ma','Mi','Ju','Vi','<strong>S&aacute;</strong>'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 1, 
onSelect: function(dateText, inst)
{
try
{
ajax = new XMLHttpRequest();
}
catch (error)
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (error)
{
ajax = null;
return false;
}
}
ajax.open("GET", "/comboturno_process.php?c=" + codigo_restaurante + "&fecha=" + dateText);
ajax.onreadystatechange=function(){
if (ajax.readyState==4){     
document.getElementById('ComboTurno_select_cell').innerHTML =ajax.responseText;      
}
}
ajax.send(null);
},
beforeShowDay: function(date){
var cerrado = false;
var cerrado_disponible = false;
var medio_cerrado_comida_disponible=false;
var medio_cerrado_comida = false;
var medio_cerrado_cena = false;
var today=new Date();
var fecha_picker= new Date(today.getFullYear(), today.getMonth(), today.getDate());
var mot_cierre;
var continuar=true;
var apertura=false;
var apertura_comida=false;
var apertura_cena=false;

if (date >=fecha_picker)
{	
for (i = 0; i < aperturas_extras.length; i++)
{
if (date.getMonth() == aperturas_extras[i][0] - 1 && date.getDate() == aperturas_extras[i][1] && date.getFullYear() == aperturas_extras[i][2])
{
apertura=true;
apertura_comida=true;
apertura_cena=true;
break;
}
}
if (!apertura)
{
for (i = 0; i < medio_aperturas_extras_comida.length; i++)
{
if (date.getMonth() == medio_aperturas_extras_comida[i][0] - 1 && date.getDate() == medio_aperturas_extras_comida[i][1] && date.getFullYear() == medio_aperturas_extras_comida[i][2])
{
apertura_comida=true;
break;
}
}
}
if (!apertura)
{
for (i = 0; i < medio_aperturas_extras_cena.length; i++)
{
if (date.getMonth() == medio_aperturas_extras_cena[i][0] - 1 && date.getDate() == medio_aperturas_extras_cena[i][1] && date.getFullYear() == medio_aperturas_extras_cena[i][2])
{ 		  
apertura_cena=true;
break;
}  
}
}	
for (i = 0; i < dia_cierre.length; i++)
{
if (date.getDay() == dia_cierre[i])
{		
if (!apertura) 
{
if (apertura_comida)
{
medio_cerrado_cena=true;
mot_cierre="Reservable comida";
}
else if (apertura_cena)
{
 medio_cerrado_comida=true;
 mot_cierre="Reservable cena";
}
else
{
cerrado=true;
mot_cierre=motivo_dia_cierre[i];
continuar=false;
break;
}
}
}
}
if (continuar)
{
for (i = 0; i < cierres_extras.length; i++)
{
if (date.getMonth() == cierres_extras[i][0] - 1 && date.getDate() == cierres_extras[i][1] && date.getFullYear() == cierres_extras[i][2]) 
{
cerrado=true;
mot_cierre=motivo_cierres_extras[i];
continuar=false;
break;
}
}
}	
if (continuar)
{
for (i = 0; i < cierres_disponible.length; i++)
{
if (date.getMonth() == cierres_disponible[i][0] - 1 && date.getDate() == cierres_disponible[i][1] && date.getFullYear() == cierres_disponible[i][2]) 
{
cerrado_disponible=true;
mot_cierre="No disponible online";
continuar=false;
break;
}
}
}	
if (continuar)
{
for (i = 0; i < medio_cierres_extras.length; i++)
{
if (date.getMonth() == medio_cierres_extras[i][0] - 1 && date.getDate() == medio_cierres_extras[i][1] && date.getFullYear() == medio_cierres_extras[i][2])
{
mot_cierre=motivo_medio_cierres_extras[i];
if (mot_cierre=="Reservable cena") 
{
medio_cerrado_comida=true;
for (i = 0; i < mediodia_cierre.length; i++)
{
if ( (date.getDay() == mediodia_cierre[i]) && (!apertura) && (!apertura_cena) )
{
if (motivo_cierre[i]!="Reservable cena")
{
cerrado=true;
medio_cerrado_comida=false;
}
break;
}
}
}
else
{
medio_cerrado_cena=true;
for (i = 0; i < mediodia_cierre.length; i++)
{
if ( (date.getDay() == mediodia_cierre[i]) && (!apertura) && (!apertura_comida) )
{
if (motivo_cierre[i]=="Reservable cena")
{
cerrado=true;
medio_cerrado_cena=false;
}
break;
}
}
}
continuar=false;
break;
}
}
}
if ( (continuar) && (!apertura))
{
for (i = 0; i < mediodia_cierre.length; i++)
{
if (date.getDay() == mediodia_cierre[i])
{
mot_cierre=motivo_cierre[i];
if ((motivo_cierre[i]=="Reservable cena") && (!apertura_comida) )
{
medio_cerrado_comida=true;
}
else
{
if (!apertura_cena)
{
medio_cerrado_cena=true;
}
}
break;
}
}
}
if  (continuar) 
{
for (i = 0; i < medio_cierres_disponible.length; i++)
{
if (date.getMonth() == medio_cierres_disponible[i][0] - 1 && date.getDate() == medio_cierres_disponible[i][1] && date.getFullYear() == medio_cierres_disponible[i][2]) 
{
medio_cerrado_comida_disponible=true;
break;
}
}
}
if (continuar)
{
for (i = 0; i < cierres_generales.length; i++)
{
if (date.getMonth() == cierres_generales[i][0] - 1 && date.getDate() == cierres_generales[i][1] && date.getFullYear() == cierres_generales[i][2])
{
cerrado=true;
mot_cierre=motivo_cierres_generales[i];
continuar=false;
break;
}
}
}	
if (cerrado)    return [false, 'cerrado_picker',mot_cierre];
else 
if (cerrado_disponible)    return [false, 'nodisponible_picker',mot_cierre];
else 
if (medio_cerrado_comida)
{
return [true, 'cerrado_comida_picker', mot_cierre];
}
else
if (medio_cerrado_cena)
{
if (!medio_cerrado_comida_disponible)
{
mot_cierre="Reservable comida"; 
return [true, 'cerrado_cena_picker', mot_cierre];
}
else 
{
mot_cierre="No disponible online comida - Cerrado cena";
return [false, 'nodisponible_cena_picker', mot_cierre];
}
}
else
if (medio_cerrado_comida_disponible)
{
mot_cierre="No disponible online comida - Reservable cena"; 
return [true, 'nodisponible_comida_picker', mot_cierre];
}
else
{
return [true, 'abierto_picker','Reservable comida y cena'];
}
}
else
return [false, ''];
},
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['es']);
});
