// JavaScript Document
//Form button calendar
//poner en el onload del body la funcion thismonth


function setDate(str) {
 if (str == "") {
  return;
 }
 if(document.getElementById("control").value=="fini"){
 mnth1 = document.getElementById("month").value;
 mnth = mnth1;
 mnth++;
 year = document.getElementById("year").value;
 dateStr = year+"-"+mnth+"-"+str;

 dateStr = trim(dateStr);
 c=document.getElementById("control").value;
 document.getElementById(c).value=dateStr;
  f= new Date(year,mnth,str);
  dateStr2=f.getFullYear()+"-"+f.getMonth()+"-"+(f.getDate()+3);

 document.getElementById('ffin').value=dateStr2;
// document.getElementById("ffin").value=dateStr;

hideCal();
}else{
    setDate2(str);
}
}//setDate()

function setDate2(str) {
 if (str == "") {
  return;
 }
 mnth1 = document.getElementById("month").value;
 mnth = mnth1;
 mnth++;
 year = document.getElementById("year").value;
 dateStr = year+"-"+mnth+"-"+str;

 dateStr = trim(dateStr);
 c=document.getElementById("control").value;
 document.getElementById(c).value=dateStr;
// document.getElementById("ffin").value=dateStr;

hideCal();
}

function trim(str) {
 res="";
 for(var i=0; i< str.length; i++) {
   if (str.charAt(i) != " ") {
     res +=str.charAt(i);
  }
 }
 return res;
}//trim()


function getMonthName(mnth) {

 if (mnth == 0) {
  name = "Enero";
 }else if(mnth==1) {
  name = "Febrero";
 }else if(mnth==2) {
  name = "Marzo";
 }else if(mnth==3) {
  name = "Abril";
 }else if(mnth==4) {
  name = "Mayo";
 } else if(mnth==5) {
  name = "Junio";
 } else if(mnth==6) {
  name = "Julio";
 } else if(mnth==7) {
  name = "Agosto";
 } else if(mnth==8) {
  name = "Septiembre";
 } else if(mnth==9) {
  name = "Octubre";
 } else if(mnth==10) {
  name = "Noviembre";
 } else if(mnth==11) {
  name = "Diciembre";
 }

 return name;

}//getMonthName()


function getNoOfDaysInMnth(mnth,yr) {

 rem = yr % 4;

 if(rem ==0) {
   leap = 1;
 } else {
  leap = 0;
 }

 noDays=0;

 if ( (mnth == 1) || (mnth == 3) || (mnth == 5) ||
      (mnth == 7) || (mnth == 8) || (mnth == 10) ||
      (mnth == 12)) {
  noDays=31;
 } else if (mnth == 2) {
           noDays=28+leap;
        } else {
           noDays=30;
 }

 //alert(noDays);
 return noDays;


}//getNoOfDaysInMnth()



function fillDates(dayOfWeek1,noOfDaysInmnth) {



 for(var i=1; i<43; i++) {

   str = "s"+i;

   document.getElementById(str).value="";

   }



 startSlotIndx = dayOfWeek1;

 slotIndx = startSlotIndx;

 cd= new Date();

 cdd=cd.getDate();

 cdm=cd.getMonth();

 for(var i=1; i<(noOfDaysInmnth+1); i++) {

  slotName = "s"+slotIndx;



  val="";

  if (i<10) {

    val = i;

  } else {

    val = i;

  }


//si esta seleccionada la fecha inicial, desactivar un dia más.
if(document.getElementById("fini").value !== ""){

var cdc= document.getElementById("fini").value;
var nc,i;
nc=cdc.replace('-',',');
nc=nc.replace('-',',');
ncd=new Date(nc);
ncdd=ncd.getDate();

document.getElementById(slotName).value=val;

	if(i<=ncdd+2 && document.getElementById("month").value == cdm)
		{

			document.getElementById(slotName).disabled="disabled";

			document.getElementById(slotName).style.color="#aaa";

		}



}else{

document.getElementById(slotName).value=val;
	if(i<=cdd+1 && document.getElementById("month").value == cdm)

		{

			document.getElementById(slotName).disabled="disabled";

			document.getElementById(slotName).style.color="#aaa";

		}

}




//  document.form0.elements[slotName].value = val;

  slotIndx++;

 }



}//fillDates()

//cargar esta funciona l inicio
function thisMonth() {

  dt = new Date();
  mnth  = dt.getMonth(); /* 0-11*/
  dayOfMnth = dt.getDate(); /* 1-31*/
  dayOfWeek = dt.getDay(); /*0-6*/
  yr = dt.getFullYear(); /*4-digit year*/

  mnthName = getMonthName(mnth)+ " ";
  document.getElementById("month").value = mnth;
  document.getElementById("year").value = yr;
  document.getElementById("currMonth").value = mnth;
  document.getElementById("currYear").value = yr;
  document.getElementById("monthYear").value = mnthName+yr;
  //document.getElementById("fini").value ="";
  //document.getElementById("ffin").value ="";

  startStr = (mnth+1)+"/1/"+yr;
  dt1 = new Date(startStr);
  dayOfWeek1 = dt1.getDay(); /*0-6*/

  noOfDaysInMnth = getNoOfDaysInMnth(mnth+1,yr);

  fillDates(dayOfWeek1+1,noOfDaysInMnth);

}//thisMonth()


function nextMonth() {
for(var i=1; i<43; i++) {
   str = "s"+i;
   document.getElementById(str).disabled="";
   document.getElementById(str).style.color="#000";
   }
 var currMnth = document.getElementById("month").value;
 currYr = document.getElementById("year").value;

 if (currMnth == "11") {
    nextMnth = 0;
    nextYr = currYr;
    nextYr++;
 } else {
   nextMnth=currMnth;
   nextMnth++;
   nextYr = currYr;
 }

 mnthName = getMonthName(nextMnth);
 document.getElementById("month").value=nextMnth;
 document.getElementById("year").value=nextYr;
 document.getElementById("monthYear").value= mnthName+" "+nextYr;
 str = (nextMnth+1)+"/1/"+nextYr;
 dt = new Date(str);
 dayOfWeek = dt.getDay();
 noOfDays = getNoOfDaysInMnth(nextMnth+1,nextYr);
 fillDates(dayOfWeek+1,noOfDays);

}//nextMonth()

function prevMonth() {

 var currMnth = document.getElementById("month").value;
 currYr = document.getElementById("year").value;

 if (currMnth == "0") {
    prevMnth = 11;
    prevYr = currYr;
    prevYr--;
 } else {
   prevMnth=currMnth;
   prevMnth--;
   prevYr = currYr;
 }

 str = (prevMnth+1)+"/1/"+prevYr;
 dt = new Date(str);
 dayOfWeek = dt.getDay();

 /***********************************************
   Evitar que se vaya a un mes anterior al actual
  ***********************************************/


 runningMonth = document.getElementById("currMonth").value;
 rMonth=runningMonth;
 rMonth++;
 runningYear = document.getElementById("currYear").value;
 rYear=runningYear;

 str = (rMonth)+"/1/"+rYear;
 dt1 = new Date(str);

 if (dt.valueOf() < dt1.valueOf()) {
   alert('No puede seleccionar un mes anterior al actual.');
   return;
 }


 /**************************************************
 * fin del comentario
 **************************************************/

 mnthName = getMonthName(prevMnth);
 document.getElementById("month").value=prevMnth;
 document.getElementById("year").value=prevYr;
 document.getElementById("monthYear").value= mnthName+" "+prevYr;

 noOfDays = getNoOfDaysInMnth(prevMnth+1,prevYr);
 fillDates(dayOfWeek+1,noOfDays);

}//prevMonth()

function showCal(vv)
{
	thisMonth();
	document.getElementById("control").value=vv;
	document.getElementById("cc").style.display="";
	document.getElementById("cat").style.display="none";
	//document.getElementById("action").style.display="none";
	//document.getElementById("agencia").style.display="none";
	//document.getElementById("transm").style.display="none";
}
function hideCal()
{
	document.getElementById("cc").style.display="none";
	document.getElementById("cat").style.display="";
	//document.getElementById("action").style.display="";
	//document.getElementById("agencia").style.display="";
	//document.getElementById("transm").style.display="";
}
