var tDate=new Date();
var iCurrentMonth=tDate.getMonth(); 
var iCurrentYear=tDate.getFullYear(); 
var iCurrentDay=tDate.getDate();
var Month =new Array("","ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC");
var indice;
function PreviousMonth(){
	ClearCalendar();
	--iCurrentMonth;
	if (iCurrentMonth<0) {
		iCurrentMonth=11;
		--iCurrentYear;
	}
	SetCalendar(fecha,false);
}

function NextMonth(){
	ClearCalendar();
	++iCurrentMonth;
	if (iCurrentMonth==12) {
		iCurrentMonth=0;
		++iCurrentYear;
	}
	SetCalendar(fecha,false);
}
function PreviousYear(){
	ClearCalendar();
	--iCurrentYear;
	SetCalendar(fecha,false);
}

function NextYear(){
	ClearCalendar();
	++iCurrentYear;
	SetCalendar(fecha,false);
}
function SetYear(y){
	ClearCalendar();
	iCurrentYear=y;
	SetCalendar(fecha,false);
}

function ClearCalendar(){
	var i=0;
	var j=0;	
	var oCurRow;
	var oCell;
	var oTable=document.getElementById("tblCalendar");

	for (i=2;i<8;i++){
		oCurRow = oTable.rows[i];
		for (j=0;j<7;j++){
			oCell=oCurRow.cells[j];
			oCell.innerHTML = "<font face=\'Verdana, Arial, Helvetica, sans-serif\' size=1>&nbsp;</font>";
		}
	}
}

function GetDaysPerMonth(iMonth, iYear){
	switch (iMonth){
		case 0: return 31; break;
		case 1: 
			if (iYear % 4 == 0){
				if (iYear % 400 == 0){
					return 29;
				}
				else {
					if (iYear % 100 == 0){
						return 28;
					}
					else {
						return 29;
					}
				}
			}
			else {
				return 28;
			}; 
			break;
		case 2: return 31; break;
		case 3: return 30; break;
		case 4: return 31; break;
		case 5: return 30; break;
		case 6: return 31; break;
		case 7: return 31; break;
		case 8: return 30; break;
		case 9: return 31; break;
		case 10: return 30; break;
		case 11: return 31; break;
		
	}
}
var fecha;
function SetCalendar(obj,init){
	fecha=obj;
	if(fecha.value==""||fecha.value=="00-00-0000"){
		var cDate=new Date();
		var nCurrentMonth=cDate.getMonth(); 
		var nCurrentYear=cDate.getFullYear(); 
		var nCurrentDay=cDate.getDate();
	}else{
		s_fecha=fecha.value;
		f=s_fecha.split("-");
		var nCurrentMonth=f[1]-1;
		var nCurrentYear=f[2]; 
		var nCurrentDay=f[0];
	}
	if(init){
		iCurrentMonth=nCurrentMonth; 
		iCurrentYear=nCurrentYear; 
		iCurrentDay=nCurrentDay;
	}
	var iDay=0;
	var tFirstDayDate = new Date(iCurrentYear,iCurrentMonth,1);
	var iLastDayMonth=GetDaysPerMonth(iCurrentMonth, iCurrentYear);
	var iCol=tFirstDayDate.getDay(); //0-Diumenge ... 6-Dissabte	
	var iRow=2;
	var oTable=document.getElementById("tblCalendar");
	var oCurRow;
	var oCell;
	for (iDay=1;iDay<=iLastDayMonth;iDay++){
		oCurRow = oTable.rows[iRow];
		oCell=oCurRow.cells[iCol];
		if (iCol==0||iCol==6){
			if(nCurrentMonth==iCurrentMonth &&
				nCurrentYear==iCurrentYear &&
				nCurrentDay==iDay){
				oCell.innerHTML = "<div align=center ><font onclick=\'sel_fecha("+iDay+")\' face=\'Verdana, Arial, Helvetica, sans-serif\' size=1 color=red style=\'background-color:#FFFF99;cursor:pointer\'>"+iDay+"</font></div>";
			}else{
				oCell.innerHTML = "<div align=center><font onclick=\'sel_fecha("+iDay+")\' face=\'Verdana, Arial, Helvetica, sans-serif\' size=1 color=red style=\'cursor:pointer\'>"+iDay+"</font></div>";
			}
		}else{
			if(nCurrentMonth==iCurrentMonth &&
				nCurrentYear==iCurrentYear &&
				nCurrentDay==iDay){
				oCell.innerHTML = "<div align=\'center\'><font onclick=\'sel_fecha("+iDay+")\' face=\'Verdana, Arial, Helvetica, sans-serif\' size=\'1\' style=\'background-color:#FFFF99;cursor:pointer\'>"+iDay+"</font></div>";
			}else{
				oCell.innerHTML = "<div align=\'center\'><font onclick=\'sel_fecha("+iDay+")\' face=\'Verdana, Arial, Helvetica, sans-serif\' size=\'1\' style=\'cursor:pointer\'>"+iDay+"</font></div>";
			}
		}
		iCol++;
		if (iCol>6) {
			iCol=0;
			iRow++;
		}
	}
	oCurRow= oTable.rows[0];
	oCell=oCurRow.cells[1];
	oCell.innerHTML = "<div align=\'center\'><font face=\'Verdana, Arial, Helvetica, sans-serif\' size=\'1\'>"+Month[(iCurrentMonth+1)]+"</font></div>";
	oCurRow= oTable.rows[0];
	oCell=oCurRow.cells[4];
	oCell.innerHTML = "<div align=\'center\'><font face=\'Verdana, Arial, Helvetica, sans-serif\' size=\'1\'><INPUT TYPE=\'text\' NAME=\'year\' value="+iCurrentYear+" size=4 maxlength=4 onblur=\'SetYear(this.value)\' onKeypress=\'key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;if (key > 47 && key < 58){ return true;}else{ if (key==13){SetYear(this.value)}else{return false;}}\'></font></div>";
}

function sel_fecha(day){
	if(day==0){
		fecha.value = "";
	}else{
		fecha.value = day+"-"+(iCurrentMonth+1)+"-"+iCurrentYear;
		if(fecha.id=='fecha_inicio'){
			cambiar_vencimiento(fecha);
		}
	}
	showTooltip(false);
}
function cambiar_vencimiento(f){
	s_fecha=f.value;
	f=s_fecha.split("-");
	var dia=new Number(f[0]);
	var mes=new Number(f[1]);
	var anio=new Number(f[2]);
	var addm;
	var n_mes;
	var tipo_abono=document.getElementById('tipo_abono_id').value;
	if(tipo_abono!=""&&tipo_abono!=0){
		switch (eval(tipo_abono)){
			case 1:
				addm=new Number(6);
				break;
			case 2:
				addm=new Number(12);
				break;
			case 3:
				addm=new Number(1);
				break
		}
		n_mes= new Number(mes+addm);
		if(n_mes>11){
			n_mes=new Number(n_mes-12);
			anio++;
		}
		max_dia=GetDaysPerMonth((n_mes-1), anio);
		if(dia>max_dia){
			dia=max_dia;
		}
		document.getElementById('fecha_vencimiento').value= dia+"-"+n_mes+"-"+anio;
		setTimeout("document.getElementById('importe').value=document.getElementById('valor').innerHTML",300);
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}
function validar_fecha(obj){
	var mensaje='';
	var ss1 = obj.value.split("-");
	var ss2 = obj.value.split("/");
	var fecha = new Date(ss1[2],ss1[1]-1,ss1[0]);
	if(isNaN(fecha)){
		fecha = new Date(ss2[2],ss2[1]-1,ss2[0]);
	}
	if(isNaN(fecha)){
		mensaje='Fecha inválida';
	}else{
		var a = fecha.getFullYear();
		var m = fecha.getMonth()+1;
		var d = fecha.getDate();
		obj.value=d +"-"+ m +"-"+ a;
	}
	if(mensaje==''){
		return true;
	}else{
		alert(mensaje);
		obj.value='';
		obj.focus();
		return false;
	}
}

