
var sUrlC = "/chart/calendar.php";
var sUrlQ = "/chart/custom_quotas.php";

var visibleCalendar = false;
var calendarBox = null;

function zeroPad(num,count) {
   var numZeropad = num + '';
   while(numZeropad.length < count){
      numZeropad = "0" + numZeropad;
   }
   return numZeropad;
}

function toggleCalendar() {
	if (visibleCalendar) {
		calendarBox.style.visibility = "hidden";
		document['calendarForm'].year_end.style.visibility = 'visible';
		document['calendarForm'].month_end.style.visibility = 'visible';
		document['calendarForm'].day_end.style.visibility = 'visible';
		visibleCalendar = false;
	} else {	
		calendarBox.style.visibility = "visible";
		visibleCalendar = true;
	}
}

function showCalendar(response) {

	var respondStructure = eval( '(' + response + ')' );

	var iconCalendar = document.getElementById("iconCalendar_"+respondStructure.identifier);
			
	XY_cal = findPos(iconCalendar);
	
	calendarBox.innerHTML = respondStructure.content;
	
	finalCalendarWidth = calendarBox.offsetWidth;
	finalCalendarHeight = calendarBox.offsetHeight + 50; 
	

	ratio = finalCalendarWidth / finalCalendarHeight;
	X1 = XY_cal[0] - finalCalendarWidth - 4;
	Y1 = XY_cal[1] + iconCalendar.offsetHeight + 4;

	calendarBox.style.left = X1;
	calendarBox.style.top = Y1;
	calendarBox.style.zIndex = 100;

	if (!visibleCalendar) {	
		if (respondStructure.identifier == 'start') {
			document['calendarForm'].year_end.style.visibility = 'hidden';
			document['calendarForm'].month_end.style.visibility = 'hidden';
			document['calendarForm'].day_end.style.visibility = 'hidden';
		} 
		toggleCalendar();
	} 
	
}


function setForm(day,month,year,calendar) {
	
	if (document['calendarForm']) {
		
		var yearForm = eval("document['calendarForm'].year_"+calendar);
		var monthForm = eval("document['calendarForm'].month_"+calendar);
		var dayForm = eval("document['calendarForm'].day_"+calendar);
	
		for (i=0; i < yearForm.length; i++) {
			if (yearForm[i].value == year) {
				yearForm.selectedIndex = i;
			}
		}
		for (i=0; i < monthForm.length; i++) {
			if (monthForm[i].value == month) {
				monthForm.selectedIndex = i;
			}
		}
		 dayForm.selectedIndex = day - 1; 
	}

	if (visibleCalendar) {
		toggleCalendar();
	}
}

function callCalendar(calendar,fondo,when,setform,lingua) {
	if (setform) {
		if (document['calendarForm']) {
	
			var year = parseInt(when.substring(0,4));
			var month = parseFloat(when.substring(5,7));
			var day = parseFloat(when.substring(8));
			

			var yearForm = eval("document['calendarForm'].year_"+calendar);
			var monthForm = eval("document['calendarForm'].month_"+calendar);
			var dayForm = eval("document['calendarForm'].day_"+calendar);

			for (i=0; i < yearForm.length; i++) {
				if (yearForm.options[i].value == year) {
					yearForm.selectedIndex = i;
					break;
				}
			}
			for (i=0; i < monthForm.length; i++) {
				if (parseInt(monthForm.options[i].value) == month) {
					monthForm.selectedIndex = i;
					break;
				}
			}
			
			checkYear(yearForm, monthForm, dayForm);
			
		}		
	}
	params = "fondo=" + encodeURIComponent(fondo);
	params += "&when=" + encodeURIComponent(when);
	params += "&identifier=" + encodeURIComponent(calendar);
	params += "&lingua=" + encodeURIComponent(lingua);
	

	var request = YAHOO.util.Connect.asyncRequest('POST', sUrlC, callbackC, params);
}

var handleSuccessC = function(o){
	if(o.responseText !== undefined){
		showCalendar(o.responseText);
	}
};

var handleFailureC = function(o){
	if(o.responseText !== undefined){
		alert("Connection Error");
	}
};

var callbackC = {
  success:handleSuccessC,
  failure:handleFailureC,
  argument:['foo','bar']
};


var handleSuccessQ = function(o){
	if(o.responseText !== undefined){
		var customQuotas = document.getElementById("customQuotas");
		customQuotas.innerHTML = o.responseText;
	}
};

var handleFailureQ = function(o){
	if(o.responseText !== undefined){
		alert("Connection Error");
	}
};

var callbackQ = {
  success:handleSuccessQ,
  failure:handleFailureQ,
  argument:['foo','bar']
};


function getCalendar(calendar, fondo, form, toggle,lingua) {

	var year = eval('form.year_'+calendar);
	var month = eval('form.month_'+calendar);
	var day = eval('form.day_'+calendar);
	
	when = year.options[year.selectedIndex].value + '-' + zeroPad(month.options[month.selectedIndex].value,2) + '-' + zeroPad(day.options[day.selectedIndex].value,2);

	calendarBox = document.getElementById("calendarBox");
	
	if ((!toggle) && visibleCalendar) {
		callCalendar(calendar,fondo,when,false,lingua);
	} else if (toggle) { 
		if(!visibleCalendar) {
			callCalendar(calendar,fondo,when,false,lingua);
		} else {
			toggleCalendar();
		}
	}

}

