jQuery(function() {
	jQuery('#inner_header').append('<div id="inner_header_dummy" />');
	jQuery('#inner_header_dummy').css('opacity', '0.7');
});


// Calendari
$(function() {
		$("#datepicker").datepicker({firstDay: 1});
		
});


$.datepicker.regional['ca'] = {
	closeText: 'Tancar',
	prevText: '&#x3c; Anterior',
	nextText: 'Següent &#x3e;',
	currentText: 'Avui',
	monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny','Juliol','Agost','Setembre','Octubre','Novembre','Desembre'],
	monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun','Jul','Ago','Set','Oct','Nov','Des'],
	dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'],
	dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'],
	dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'],
	dateFormat: 'yy-mm-dd', 
	firstDay: 0,
	isRTL: false,
	onChangeMonthYear: ChangeMonth,
	beforeShowDay: showDay,
	onSelect: selectDay
	
};

$.datepicker.setDefaults($.datepicker.regional['ca']);

;
var specialDays = new Array(12);
var specialDays2 = new Array(12);

//specialDays[10] = [1,2];
//specialDays[10] = [5];

var years = new Array();
var years2 = new Array();
//years[2009] = specialDays;

function selectDay(dateText, inst){
	var web = document.domain;
	web = "http://"+web+"/ws_ccjcc2/escola/redireccion_activ.php?fecha=\""+dateText+"\"";
	var fecha = dateText.split('-');
	
	var year =  new Array();
	var days = new Array();
	year = years[fecha[0]];
	
	if ( year != null ){
		var num = 0;
		num = parseInt(fecha[1],10);
		days = year[num];
		if (days != null){
			if ( $.inArray(parseInt(fecha[2],10),days) >= 0){
 				window.open(web,"_parent");
 				return true;
 			}
 		}
 	}
 	
 	year = years2[fecha[0]];
	
	if ( year != null ){
		var num = 0;
		num = parseInt(fecha[1],10);
		days = year[num];
		if (days != null){
			if ( $.inArray(parseInt(fecha[2],10),days) >= 0){
 				window.open(web,"_parent");
 				return true;
 			}
 		}
 	}

 	}
function showDay(thedate){
		var theday = thedate.getDate();
		var themonth = thedate.getMonth() + 1;
		var theyear = thedate.getUTCFullYear();
		
		var year = new Array();
		var days = new Array();
		
		year = years[theyear];
		
		if ( year != null ){
			days = year[themonth];
			if ( days != null ){
				if( $.inArray(theday,days) != -1 ) 
			    return [true, "ui-state-error"]; 
	  	}
  	}
  	
  	year = years2[theyear];
		
		if ( year != null ){
			days = year[themonth];
			if ( days != null ){
				if( $.inArray(theday,days) == -1 ) return [true,""]; 
			    return [true, "ui-state-highlight"]; 
	  	}
  	}
  	
  	return[true,""];
	}
var url_detalles;

function ChangeMonth(year, month, inst){

 if (document.getElementById('detalles') != null){

		 temp = url_detalles;
 		 cargaXML(temp+'?mes='+month+'&any='+year, 'detalles');
	}
}

//AJAX en <div> detalles
var isIE = false;
var req;
var gdiv;
function processReqChange(){
    //    Referencia a nuestro DIV con ID unica:

    var detalles = document.getElementById(gdiv);
    //    Si se ha completado la carga de datos, los mostramos en el DIV...
    if(req.readyState == 4){
    		cadena = unescape(req.responseText);
    		//cadena = cadena.replace(/+/gi," ");
        detalles.innerHTML = cadena;
    } else {
        //    ...en caso contrario, le diremos al usuario que los estamos cargando:
        detalles.innerHTML = 'Cargando...';
    }
  

}

function cargaXML(url, div) {
    //  Primero vamos a ver si la URL es una URL :)
	gdiv = div;
    if(url==''){
        return;
    }
    //  Usuario inteligente...
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    //  ...y usuario de Internet Explorer Windows
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

var gdiv2;
function processReqChange2(){
    //    Referencia a nuestro DIV con ID unica:

    var detalles = document.getElementById(gdiv2);
    //    Si se ha completado la carga de datos, los mostramos en el DIV...
    if(req.readyState == 4){
    		cadena = unescape(req.responseText);
    		//cadena = cadena.replace(/+/gi," ");
        detalles.innerHTML = cadena;
    } else {
        //    ...en caso contrario, le diremos al usuario que los estamos cargando:
       // detalles.innerHTML = 'Cargando...';
    }
  

}

function cargaXML2(url, div) {
    //  Primero vamos a ver si la URL es una URL :)
		if(div==''){
			return;
		}
		gdiv2 = div;
		
    if(url==''){
        return;
    }
    //  Usuario inteligente...
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange2;
        req.open("GET", url, true);
        req.send(null);
    //  ...y usuario de Internet Explorer Windows
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange2;
            req.open("GET", url, true);
            req.send();
        }
    }
}
// fin AJAX

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function imprimir() { top.print(); } 

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function el_mail_es_correcto(mail_a_validar) {        

      var str = mail_a_validar;

      if (str == '') { return true; }

      var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
      var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
      var reg1 = new RegExp(reg1str);
      var reg2 = new RegExp(reg2str);

      if (
             reg1.test(str) || !reg2.test(str)
         )
       { 
          alert ('L\'adreça de correu no és correcta.'); 
          return false;
       }
        
    return true; }

function contiene_tags_prohibidos(texto_a_validar){
 
  if (texto_a_validar == '') 
    {return false;}
 
  var reg1str = "<html";
  var reg1 = new RegExp(reg1str);  

  return reg1.test(texto_a_validar); 

}


function buildCal(m,y,lista_dias){

//  alert(lista_dias);
  var vector_dias = lista_dias.split('|');
  var numero_dias = vector_dias.length - 1;
  var dim = [31,0,31,30,31,30,31,31,30,31,30,31];

var oD = new Date(y, m - 1, 1); //DD replaced line to fix date bug when current day is 31st
oD.od = oD.getDay(); //DD replaced line to fix date bug when current day is 31st
if (oD.od == 0) {
  oD.od = 7;
}

var todaydate = new Date(); //DD added

var scanfortoday = (y == todaydate.getFullYear() && m == todaydate.getMonth() + 1) ? todaydate.getDate() : 0
dim[1] = (((oD.getFullYear()%100 != 0) && (oD.getFullYear()%4 == 0)) || (oD.getFullYear()%400 == 0)) ? 29 : 28;
var t = '<table bordercolor="#ffffff" cols="7" width="145" cellspacing="0" cellpadding="5" border="1"><tr>';

// En general tindrem 5 files, però si el mes comença en dissabte o diumengre tenim 6:
var numero_filas = 5;
if (oD.od == 6 || oD.od == 7)
  numero_filas = 6;

for (i = 1; i <= 7 * numero_filas; i++){ // 

  var x = '&nbsp';

  var temp = i - oD.od;
  if ((temp >= 0) && (temp < dim[m - 1]))
    x = (temp + 1);
        
  // Festius:
  if ((i)%7 == 0) {             

    if (x == scanfortoday) 
      x = '<span id="today">' + x + '</span>'

    t+='<td class="diaf">' + x + '</td>';
  } else  { // No festius:
  
     var claseHTML = "dia";

    // Si és un event la classe serà "diad" 
    // (assumim que en un festiu _no_ hi ha events):
    for (var j = 0; j <= numero_dias; j++)  {
      if (x == vector_dias[j])
        claseHTML = "diad";
    }

   if (x == scanfortoday) 
      x = '<span id="today">' + x + '</span>'

    t+='<td class="' + claseHTML + '">' + x + '</td>';
  }

  if (((i)%7 == 0) && (i < 36))
    t+='</tr><tr>'; 
}

return t+='</tr></table>';
} 
