/* --- Swazz Javascript Calendar ---
/* --- v 1.0 3rd November 2006
By Oliver Bryant
http://calendar.swazz.org */
if (typeof DOMParser == "undefined") {
   DOMParser = function () {}

   DOMParser.prototype.parseFromString = function (str, contentType) {
      if (typeof ActiveXObject != "undefined") {
         var d = new ActiveXObject("MSXML.DomDocument");
         d.loadXML(str);
         return d;
      } else if (typeof XMLHttpRequest != "undefined") {
         var req = new XMLHttpRequest;
         req.open("GET", "data:" + (contentType || "application/xml") +
                         ";charset=utf-8," + encodeURIComponent(str), false);
         if (req.overrideMimeType) {
            req.overrideMimeType(contentType);
         }
         req.send(null);
         return req.responseXML;
      }
   }
}
var mn=new Array('ENERO','FEBRERO','MARZO','ABRIR','MAYO','JUNIO','JULIO','AGOSTO','SETIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE');
var mnn=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var mnl=new Array(31,29,31,30,31,30,31,31,30,31,30,31);
var calvalarr=new Array(42);//valores del calendario
var calevarr=new Array(42);//valores del eventos
var now = new Date;
var sccm=now.getMonth();
var sccy=now.getFullYear();
var ccd='';
var ccm=now.getMonth();
var ccy=now.getFullYear();
var updobj;
var GLBeventos=new Array();

function lcs(ielem) {
	// First check date is valid
	curdt=ielem.value;
	curdtarr=curdt.split('/');
	isdt=true;
	for(var k=0;k<curdtarr.length;k++) {
		if (isNaN(curdtarr[k]))
			isdt=false;
	}
	if (isdt&(curdtarr.length==3)) {
		ccd=curdtarr[0];
		ccm=curdtarr[1]-1;
		ccy=curdtarr[2];
		var ajax = new PhpConnection();
	ajax.executeQueryMejorado("php/transaccionesBusqueda.php?Modo=SacarMes&Mes="+(ccm+1)+"&Anno="+ccy,callbackMes);
	}
	else
	{
		alert("Fecha no valida");
	}
}

function cs_over(e) {
	e.parentNode.style.background='#FFCC66';
}
function cs_out(e) {
	e.parentNode.style.background='#C4D3EA';
}

function cs_outP(e) {
	e.parentNode.style.background='#FFF799';
}

function cs_click(e) {
	if(!updobj) updobj=getObj("flb");
	updobj.value=calvalarr[e];
	lcs(updobj);
}

function f_cps(obj) {
	obj.style.background='#C4D3EA';
	obj.style.font='10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.textDecoration='none';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='pointer';
}

function f_cpps(obj) {
	obj.style.background='#C4D3EA';
	obj.style.font='10px Arial';
	obj.style.color='#ABABAB';
	obj.style.textAlign='center';
	obj.style.textDecoration='line-through';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='default';
}

function f_hds(obj) {
	obj.style.background='#FFF799';
	obj.style.font='bold 10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='pointer';
}

function ActivarCuadro(objeto,color){
	var obj=document.getElementById(objeto);
	obj.style.background=color;
	obj.style.border='1px dotted #000000';
}
function DesactivarCuadro(objeto){
	var obj=document.getElementById(objeto);
	obj.style.background='#FFFFFF';
	obj.style.border='0';
}
function Reservar(fecha,tipo,objeto,eventoA){
	var horario="";
	var evento="";
	
	switch(eventoA){
		case 0:
			evento="Cumpleanos";
			break;
		case 1:
			evento="Té";
			break;
		case 2:
			evento="Kinder";
			break;
		case 3:
			evento="Navidad";
			break;
		case 4:
			evento="Sacramento";
			break;
		case 5:
			evento="Boda";
			break;
			
	}
	
	var stringEl="";
	switch(tipo){
		case "0":
			switch(eventoA){
				case 0:
					stringEl+="Mañana (10 a.m. - 1 p.m.) ";
					break;
				case 1:
					stringEl+="Mañana (11 a.m. - 2 p.m.) ";
					break;
				case 2:
					stringEl+="Mañana (9 a.m. - 12 p.m.) ";
					break;
				case 3:
					stringEl+="Mañana (10 a.m. - 1 p.m.) ";
					break;
				case 4:
					stringEl+="Mañana (10 a.m. - 1 p.m.) ";
					break;
				case 5:
					stringEl+="Mañana (11 a.m. - 3 p.m.) ";
				
					break;	
			}
			horario="Manana";
			break;
		case "1":
			switch(eventoA){
				case 0:
					stringEl+="Tarde (3 p.m. - 6 p.m.) ";
					break;
				case 1:
					stringEl+="Tarde (3 p.m. - 6 p.m.) ";
					break;
				case 2:
					stringEl+="Tarde (1 p.m. - 4 p.m.) ";
					break;
				case 3:
					stringEl+="Tarde (3 p.m. - 6 p.m.) ";
					break;
				case 4:
					stringEl+="Tarde (3 p.m. - 6 p.m.) ";
					break;
				case 5:
					stringEl+="Tarde (5 p.m. - 9 p.m.) ";
				
					break;	
			}
			horario="Tarde";
			break;
		case "2":
			switch(eventoA){
				case 0:
					stringEl+="Noche (7 p.m. - 10 p.m.) ";
					break;
				case 1:
					stringEl+="Noche (7 p.m. - 10 p.m.) ";
					break;
				case 2:
					stringEl+="Noche (5 p.m. - 8 p.m.) ";
					break;
				case 3:
					stringEl+="Noche (7 p.m. - 10 p.m.) ";
					break;
				case 4:
					stringEl+="Noche (7 p.m. - 10 p.m.) ";
					break;
				case 5:
					stringEl+="Noche (6 p.m. - 10 p.m.) o ";
					stringEl+="Noche (7 p.m. - 11 p.m.) ";
					break;	
			}
			break;
			
	}
	document.BB_BuyButtonForm.item_name_1.value="Reservar evento >> Fecha: "+fecha+" Horario: "+stringEl+" Evento: "+evento;
	document.BB_BuyButtonForm.submit();
	
	//window.location.href="registroCliente.php?fecha="+fecha+"&horario="+tipo+"&evento="+eventoA;
}
				
				
// day selected
function prepcalendar(hd,cm,cy)
{
	var element=document.getElementById("Categoria");
	var tipo=element.options[element.selectedIndex].value;
	var Cbusqueda = new CBuscar();
	now=new Date();
	sd=now.getDate();
	td=new Date();
	td.setDate(1);
	td.setFullYear(cy);
	td.setMonth(cm);
	var cd=td.getDay();
	getObj('mns').innerHTML=mn[cm]+ ' ' + cy;
	var marr=((cy%4)==0)?mnl:mnn;
	var casilla;
	var fecha='';
	var manana;
	var tarde;
	var noche;
	var idObj="";
	for(var d=1;d<=42;d++) {
		casilla = getObj('v'+parseInt(d));
		if(casilla){
			f_cps(casilla);
			var inicio = (cd + 1);
			var fin = cd + (marr[cm]);
			if ((d >= inicio) && (d <= fin))
			{
				dip=((d-cd < sd)&&(cm==sccm)&&(cy==sccy));
				htd=((hd!='')&&(d-cd==hd));
				if (dip)
					f_cpps(getObj('v'+parseInt(d)));
				else if (htd)
					f_hds(getObj('v'+parseInt(d)));
				else
					f_cps(getObj('v'+parseInt(d)));
				
				if(dip)
					getObj('v'+parseInt(d)).innerHTML=(d-cd);
				else
				{	
					
					fecha =cy+'-';
					if((cm+1)<10)
						 fecha+=('0'+(cm+1)+'-');
					else fecha+=(cm+1)+'-';
					
					if((d-cd)<10)
						 fecha+=('0'+(d-cd));
					else fecha+=(d-cd);
					
					manana = Cbusqueda.verifica(fecha,0,tipo);
					tarde = Cbusqueda.verifica(fecha,1,tipo);
					noche = Cbusqueda.verifica(fecha,2,tipo);
					
					var coloBac="#FFFFFF";
					var str ="";
					var primero="4";
					if((manana) && (tarde) && (noche)){
						coloBac="#CCCCCC";
					}
					if(!(manana)){
						primero='0';
					}
					else{
						if(!(tarde)){
							primero='1';
						}
						else{
							if(!(noche)){
								primero='2';
							}
						}
					}
					idObj="cuadro_"+fecha+"_"+primero;
					str = '<table border="0" width="100px" cellspacing="0" cellpadding="0" style="background-color:'+coloBac+';border:1px solid #999999">'
					str += '<tr>';
					if(primero!='4'){
						str += '<td width="60%" height="30" onmouseover="ActivarCuadro(\''+idObj+'\',\'#FFFF66\');" onmouseout ="DesactivarCuadro(\''+idObj+'\');"'+'" onclick ="Reservar(\''+fecha+'\',\''+primero+'\',\''+idObj+'\','+tipo+');"><center>'+(d-cd)+'</center></td>';
					}
					else{
						str += '<td width="60%" style="cursor:default" height="30"><center>'+(d-cd)+'</center></td>';
					}
					str += '<td width="40%" height="30">';
					str += '<table width="100%" border="0" cellspacing="1" cellpadding="1" align="right">';
					str += '<tr>';
					
					if(!(manana))
					{
						idObj="cuadro_"+fecha+"_0";
						str += '<td width="100%" height="10" id="'+idObj+'" style="background-color:#FFFFFF;" onmouseover="ActivarCuadro(\''+idObj+'\',\'#FFFF66\');" onmouseout ="DesactivarCuadro(\''+idObj+'\');"'+'" onclick ="Reservar(\''+fecha+'\',\'0\',\''+idObj+'\','+tipo+');"></td>';
					}
					else{
						if((manana) && (tarde) && (noche)){
							str += '<td width="100%" height="10" style="background-color:'+coloBac+';cursor:default"></td>';
						}
						else{
							str += '<td width="100%" height="10" style="background-color:#CCCCCC; border:1px solid #666666;cursor:default"></td>';
		
						}
					}
					str += '</tr><tr>';
					if(!(tarde))
					{
						idObj="cuadro_"+fecha+"_1";
						str += '<td width="100%" id="'+idObj+'" height="10" style="background-color:#FFFFFF;" onmouseover="ActivarCuadro(\''+idObj+'\',\'#FF9900\');" onmouseout ="DesactivarCuadro(\''+idObj+'\');"'+'" onclick ="Reservar(\''+fecha+'\',\'1\',\''+idObj+'\','+tipo+');"></td>';
					}
					else{
						if((manana) && (tarde) && (noche)){
							str += '<td width="100%" height="10" style="background-color:'+coloBac+';cursor:default"></td>';
						}
						else{
							str += '<td width="100%" height="10" style="background-color:#CCCCCC; border:1px solid #666666;cursor:default"></td>';
						}
					}
					str += '</tr><tr>';
					if(!(noche))
					{
						idObj="cuadro_"+fecha+"_2";
						str += '<td width="100%" id="'+idObj+'" height="10" style="background-color:#FFFFFF;" onmouseover="ActivarCuadro(\''+idObj+'\',\'#6487AE\');" onmouseout ="DesactivarCuadro(\''+idObj+'\');"'+'" onclick ="Reservar(\''+fecha+'\',\'2\',\''+idObj+'\','+tipo+');"></td>';
					}
					else{
						if((manana) && (tarde) && (noche)){
							str += '<td width="100%" height="10" style="background-color:'+coloBac+';cursor:default"></td>';
						}
						else{
							str += '<td width="100%" height="10" style="background-color:#CCCCCC; border:1px solid #666666;cursor:default"></td>';
		
						}
					}
					str += '</tr></table></td></tr></table>';
					getObj('v'+parseInt(d)).innerHTML=str;
					calvalarr[d]=''+(d-cd)+'/'+(cm+1)+'/'+cy;
					calevarr[d]=new Array(manana,tarde,noche);
				}
			}
			else
			{
				casilla.innerHTML='&nbsp;';
				casilla.onmouseover=null;
				casilla.onmouseout=null;
				getObj('v'+parseInt(d)).style.cursor='default';
			}
		}
	}
}

function CBuscar()
{
	this.verifica= function(fecha,id_horario,id_evento)
	{
		var retorno = false;
		for(i=0;i<GLBeventos.length;i++){
			if(fecha==GLBeventos[i][0]){
				if(id_horario==GLBeventos[i][1]){
					return true;
				}
				//Noche de bodas bloquea tarde de todos
				if(GLBeventos[i][1]==2 && GLBeventos[i][2]==5 && id_horario==1){
					return true;
				}
				//Manana de bodas bloquea manana y tarde de todos
				if(GLBeventos[i][1]==0 && GLBeventos[i][2]==5 && (id_horario==0 || id_horario==1)){
					return true;
				}
				//Tarde de lo que sea bloquea todas las bodas
				if(GLBeventos[i][1]==1 && (id_evento==5)){
					return true;
				}
				//Manana de lo que sea bloquea tarde las bodas
				if(GLBeventos[i][1]==0 && (id_evento==5) && id_horario==1){
					return true;
				}
				//Manana de cumpleanos bloquea tarde las kinder
				if(GLBeventos[i][1]==0 && GLBeventos[i][2]==0 && (id_evento==2) && id_horario==1){
					return true;
				}
				//Manana de te bloquea tarde las kinder
				if(GLBeventos[i][1]==0 && GLBeventos[i][2]==1 && (id_evento==2) && id_horario==1){
					return true;
				}
				//Tarde de lo que sea bloquea todas las tardes
				if(GLBeventos[i][1]==1 && (id_horario==1)){
					return true;
				}
				//Noche de lo que sea bloquea todas las noches
				if(GLBeventos[i][1]==2 && (id_horario==2)){
					return true;
				}
				//Manana de lo que sea bloquea todas las Mananas
				if(GLBeventos[i][1]==0 && (id_horario==0)){
					return true;
				}
				//evento=evento && horario=horario se bloquea
				if(GLBeventos[i][2]==id_evento && (GLBeventos[i][1]==id_horario)){
					return true;
				}
			}
		}
		return false;
	}
}
//getObj('fc'+cc).style.visibility='hidden';
function caddmconsult()
{
	ccm+=1;
	if (ccm>=12) {
		ccm=0;
		ccy++;
	}
	cdayf();
	ccd='';
	var ajax = new PhpConnection();
	ajax.executeQueryMejorado("php/transaccionesBusqueda.php?Modo=SacarMes&Mes="+(ccm+1)+"&Anno="+ccy,callbackMes);
}

function callbackMes(res) {
	var xmlstring=res.responseText;
	var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
	var arrEventos = new Array();
	var eventos = xmlobject.getElementsByTagName('eventos')[0];
	var evento;
	var fecha;
	var id;
	for (var iNode = 0; iNode < eventos.childNodes.length; iNode++) {
		var evento = eventos.childNodes.item(iNode);
	   
		fecha = evento.childNodes.item(0);
		if (fecha.childNodes.length > 0) 
		{
			fecha = fecha.childNodes.item(0);
			fecha = fecha.data;
		}
		
		id_horario = evento.childNodes.item(1);
		if (id_horario.childNodes.length > 0) 
		{
			
			id_horario = id_horario.childNodes.item(0);
			id_horario = parseInt(id_horario.data);
		}
		id_evento = evento.childNodes.item(2);
		if (id_evento.childNodes.length > 0) 
		{
			
			id_evento = id_evento.childNodes.item(0);
			id_evento = parseInt(id_evento.data);
		}
		arrEventos[iNode]=new Array(fecha,id_horario,id_evento);
	}
	GLBeventos=arrEventos;
	prepcalendar(ccd,ccm,ccy);
}

function csubmconsult()
{
	ccm-=1;
	if (ccm<0) {
		ccm=11;
		ccy--;
	}
	cdayf();
	ccd='';
	var element=document.getElementById("Categoria");
	var tipo=element.options[element.selectedIndex].value;
	var ajax = new PhpConnection();
	ajax.executeQueryMejorado("php/transaccionesBusqueda.php?Modo=SacarMes&Mes="+(ccm+1)+"&Anno="+ccy+"&Tipo="+tipo,callbackMes);
}

function cdayf() {
if ((ccy>sccy)|((ccy==sccy)&&(ccm>=sccm)))
	return;
else {
	ccy=sccy;
	ccm=sccm;
	}
}

function Crearcalendario()
{
	document.write('<table  id="fc" style="border-collapse:collapse;background:#FFFFFF;border:1px solid #ABABAB;" rules="rows" width="99%" border="1" cellspacing="0" cellpadding="0">');
	
	document.write('<tr><td  style="cursor:pointer" onclick="csubmconsult()"><img src="images/arrowleftmonth.gif"></td><td colspan=4 id="mns" align="center" style="font:bold 15px Verdana;"></td><td align="right" style="cursor:pointer;" onclick="caddmconsult()"><img src="images/arrowrightmonth.gif"></td></tr>');
	document.write('<tr>');
	document.write('<td class="title" align=center style="background:#64A3C4;height:23px">Lunes</td>');
	document.write('<td class="title" align=center style="background:#64A3C4;">Martes</td>');
	document.write('<td class="title" align=center style="background:#64A3C4;">Miércoles</td>');
	document.write('<td class="title" align=center style="background:#64A3C4;">Jueves</td>');
	document.write('<td class="title" align=center style="background:#64A3C4;">Viernes</td>');
	document.write('<td class="title" align=center style="background:#64A3C4;">Sábado</td></tr>');
	for(var kk=1;kk<=6;kk++) {
		document.write('<tr>');
		for(var tt=1;tt<=7;tt++) {
			num=7 * (kk-1) - (-tt);
			if(tt!=1){
				document.write('<td id="v' + num + '" style="width:16.6%;height:39px">&nbsp;</td>');
			}
		}
		document.write('</tr>');
	}
	document.write('</table>');
	csubmconsult();
}