// JavaScript Document

function myCalendar(which, tag, region, salida, imgpath) {
	this.tag = tag;
	this.region = region;
	this.which = which;
	this.lang = lang;
	lang(region);
	this.salida = salida;
	this.setFieldDate = setFieldDate;
	this.makeMonth = makeMonth;
	this.imgpath = imgpath;
}

function move(objeto) {
	left = getAbsoluteLeft(objeto.id);
	tope = getAbsoluteTop(objeto.id) + 25;
	new Effect.Appear('calendar');
	$('calendar').setStyle({left:left+'px', top:tope+'px'});
}

function hideC(e) {
	if(document.getElementById('calendar').style.display != "none") {
		$('calendar').style.display = "none";	
	}
}

document.onclick = hideC;

<!-- Begin
//dateLimit = 90; //new
document.write('<div style="position: absolute; left: 8px; top: 10px; display:none" id="calendar"></div>');
var cutOff = 0; //new
var backDate = 0; //new

var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;
var n6 = (document.getElementById&&!document.all) ? 1:0;

var agt = navigator.userAgent.toLowerCase();
var is_ie4 = (agt.indexOf("msie 4")!=-1);
var mac   = (agt.indexOf("this.mac")!=-1); 

var monthnames = new Array();
var monthnmUtf = new Array();
var days = new Array();

function lang(region) {
	if (region) {
		if (region == 'IT') {
			monthnames[1 - 1] = "enero"; monthnames[2 - 1] = "febrero";monthnames[3 - 1] = "marzo";monthnames[4 - 1] = "abril";
			monthnames[5 - 1] = "mayo";monthnames[6 - 1] = "junio";monthnames[7 - 1] = "julio";monthnames[8 - 1] = "agosto";
			monthnames[9 - 1] = "septiembre";monthnames[10 - 1] = "octubre";monthnames[11 - 1] = "noviembre";monthnames[12 - 1] = "diciembre";

			monthnmUtf[1]="Enero";monthnmUtf[2]="Febrero";monthnmUtf[3]="Marzo";monthnmUtf[4]="Abril";monthnmUtf[5]="Mayo";monthnmUtf[6]="Junio";
			monthnmUtf[7]="Julio";monthnmUtf[8]="Agosto";monthnmUtf[9]="Septiembre";monthnmUtf[10]="Octubre";monthnmUtf[11]="Noviembre";monthnmUtf[12]="Diciembre";
	
			days[0] = "D";days[1] = "L";
			days[2] = "M";days[3] = "M";
			days[4] = "J";days[5] = "V";
			days[6] = "S";
		}
		
		if (region == 'ES') {
			monthnames[1 - 1] = "enero"; monthnames[2 - 1] = "febrero";monthnames[3 - 1] = "marzo";monthnames[4 - 1] = "abril";
			monthnames[5 - 1] = "mayo";monthnames[6 - 1] = "junio";monthnames[7 - 1] = "julio";monthnames[8 - 1] = "agosto";
			monthnames[9 - 1] = "septiembre";monthnames[10 - 1] = "octubre";monthnames[11 - 1] = "noviembre";monthnames[12 - 1] = "diciembre";

			monthnmUtf[1]="Enero";monthnmUtf[2]="Febrero";monthnmUtf[3]="Marzo";monthnmUtf[4]="Abril";monthnmUtf[5]="Mayo";monthnmUtf[6]="Junio";
			monthnmUtf[7]="Julio";monthnmUtf[8]="Agosto";monthnmUtf[9]="Septiembre";monthnmUtf[10]="Octubre";monthnmUtf[11]="Noviembre";monthnmUtf[12]="Diciembre";
	
			days[0] = "D";days[1] = "L";
			days[2] = "M";days[3] = "M";
			days[4] = "J";days[5] = "V";
			days[6] = "S";
		}
		
		if (region == 'FR') {
			monthnames[1 - 1] = "janvier"; monthnames[2 - 1] = "f&eacute;vrier";monthnames[3 - 1] = "mars";monthnames[4 - 1] = "avril";
			monthnames[5 - 1] = "mai";monthnames[6 - 1] = "juin";monthnames[7 - 1] = "juillet";monthnames[8 - 1] = "ao&ucirc;t";
			monthnames[9 - 1] = "septembre";monthnames[10 - 1] = "octobre";monthnames[11 - 1] = "novembre";monthnames[12 - 1] = "d&eacute;cembre";

			monthnmUtf[1] = "Janvier"; monthnmUtf[2] = "F\u00e9vrier";monthnmUtf[3] = "Mars";monthnmUtf[4] = "Avril";
			monthnmUtf[5] = "Mai";monthnmUtf[6] = "Juin";monthnmUtf[7] = "Juillet";monthnmUtf[8] = "Ao\u00fbt";
			monthnmUtf[9] = "Septembre";monthnmUtf[10] = "Octobre";monthnmUtf[11] = "Novembre";monthnmUtf[12] = "D\u00e9cembre";
	
			days[0] = "D";days[1] = "L";
			days[2] = "M";days[3] = "M";
			days[4] = "J";days[5] = "V";
			days[6] = "S";		
		}
		
		if (region == 'EN') {
			monthnames[1 - 1] = "january"; monthnames[2 - 1] = "february";monthnames[3 - 1] = "march";monthnames[4 - 1] = "april";
			monthnames[5 - 1] = "may";monthnames[6 - 1] = "jun";monthnames[7 - 1] = "july";monthnames[8 - 1] = "august";
			monthnames[9 - 1] = "september";monthnames[10 - 1] = "october";monthnames[11 - 1] = "november";monthnames[12 - 1] = "december";

			monthnmUtf[1]="January";monthnmUtf[2]="February";monthnmUtf[3]="March";monthnmUtf[4]="April";monthnmUtf[5]="May";monthnmUtf[6]="Jun";
			monthnmUtf[7]="July";monthnmUtf[8]="August";monthnmUtf[9]="September";monthnmUtf[10]="October";monthnmUtf[11]="November";monthnmUtf[12]="December";
	
			days[0] = "S";days[1] = "M";
			days[2] = "T";days[3] = "W";
			days[4] = "T";days[5] = "F";
			days[6] = "S";
		}
	}
	//this.region = region;
}

var linkcount=0;
var calCode1;

function addlink(month, day, href) {
	var entry = new Array(3);
	entry[0] = month;
	entry[1] = day;
	entry[2] = href;
	this[linkcount++] = entry;
}

Array.prototype.addlink = addlink;
this.linkdays = new Array();
monthdays     = new Array(12);
monthdays[ 0] = 31;
monthdays[ 1] = 28;
monthdays[ 2] = 31;
monthdays[ 3] = 30;
monthdays[ 4] = 31;
monthdays[ 5] = 30;
monthdays[ 6] = 31;
monthdays[ 7] = 31;
monthdays[ 8] = 30;
monthdays[ 9] = 31;
monthdays[10] = 30;
monthdays[11] = 31;
var previousMonth = '';
var nextMonth = '';
var yearsFuture = 1;

function makeStop() { //new function
	currentMonth = 0;
	backDate = 0;
	todayDate=new Date();
	year=todayDate.getYear();
	day = todayDate.getDate();
	backDate = (day -1);
	if (currentMonth==0){ 
		month = todayDate.getMonth();
	} else {
		month = currentMonth;
	}
	if (month > 11) {
		monthMultiplier = Math.floor(month/12);
		month = month-(12*monthMultiplier);
		year = year+monthMultiplier;
	}
	
	year = year % 100;
	year = ((year < 50) ? (2000 + year) : (1900 + year));
	
	if (month == 0){
		stopMonth = 11;
	} else {
		stopMonth = todayDate.getMonth() - 1;    
	}	
	stopYear = year + 1;
}
	 
makeStop(); //new

function makeMonth(sDay) {
	var gotoMonth = this.which;
	var region = this.region;
	var date1 = $(this.tag).value.split(" ");

	toDo = false;
	//noCorrect=false
	var year = todayDate.getYear();

	if ($(this.tag).value.length >= 12) {
		wroteMonth = document.getElementById(this.tag).value.split(" ");
		//wM = wroteMonth[2].substr(0,3);
		//month1 = parseMonth(wM);
		month1 = parseMonth(wroteMonth[2], region);
		year1 = date1[3];
		day1 = date1[1]; 
		//alert(wroteMonth+' .. '+'wM : '+wM+' - year1 : '+year1+' - day1 : '+day1+' - month1 : '+month1);
		var myDate=new Date(year1+"/"+month1+"/"+day1);
		if (myDate) {
			toDo=true;
			//year=year1
			if(month1 && this.salida || this.salida==false)	{
				gotoMonth= month1-1;
				if (gotoMonth<todayDate.getMonth()){
					gotoMonth=gotoMonth+12;
				}
			}
		}
	}
	
	todayDate = new Date();
	
	if (gotoMonth == 0) { 
		month = todayDate.getMonth();
		nextMonth = month + 1;
		previousMonth = month - 1; 
	} else {
		month = gotoMonth;
		nextMonth = month+1;
		previousMonth = month-1; 
	}
	if (month > 11){
		monthMultiplier = Math.floor(month / 12);
		month = month-(12 * monthMultiplier);
		year = year + monthMultiplier;
	}

	year = year % 100;
	year = ((year < 50) ? (2000 + year) : (1900 + year));
	
	if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)) {
		monthdays[1] = 29;
	} else {
		monthdays[1] = 28;
	}

	var firstOfMonth = new Date (year, month, 1);
	beginMon = 0;
	if (this.region == 'FR') beginMon = 1;	
	var startspaces = firstOfMonth.getDay() - beginMon;
	if (firstOfMonth.getDay() - beginMon == -1) startspaces = 6
	
	calCode1 = "<table border='0' cellpadding='0' cellspacing='0' style='border:solid #666666 1px;'>";
	calCode1 = calCode1 + "<tbody><tr valign='top'><td>";
	if (previousMonth >= todayDate.getMonth()) {
		link1 = "<a href='javascript:void(0)' onMouseDown='doCalendar("+previousMonth+",\""+this.tag+"\");return false;'><img src='" + this.imgpath + "btn_preview.gif' border='0' height='9' width='8' align='left'></a>";
	} else {
		link1 = "<img src='" + this.imgpath + "empty.png' border='0' height='9' width='8' align='left'>";
	}
	calCode1 = calCode1+"<div class='month'>"+ link1 + monthnames[month] + " " + year + "</div>";
	calCode1 = calCode1 + "<table id='firstCalendar' align='center' border='0' cellpadding='0' cellspacing='0' width='100%'>";
	calCode1 = calCode1 + "<thead>";
	calCode1 = calCode1 + "<tr align='center' valign='bottom'>";
	
	if(this.region == 'FR') {
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[1] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[2] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[3] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[4] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[5] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[6] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[0] + "</td>";
	} else {
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[0] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[1] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[2] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[3] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[4] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[5] + "</td>";
		calCode1 = calCode1 + "<td class='day' width='15'>" + days[6] + "</td>";
	}
	
	calCode1 = calCode1 + "</tr></thead><tbody><tr><td colspan='7'><table class='all_border' cellpadding='0' cellspacing='0' width='100%'><tbody>";
	calCode1 = calCode1 + "<tr class='days'>";
	for (s=0; s<startspaces; s++) {
		calCode1 = calCode1 + "<td class='date'>&nbsp;</td>";
	}

	count = 1;
	while (count <= monthdays[month]) {
		for (b = startspaces; b<7; b++) {
			linktrue=false;
			disabled=false;
			daySelected=false;
			mesActual=stopMonth + 1;
			if (count <= monthdays[month]) {
				if (month == mesActual && count == todayDate.getDate() && year <= stopYear) {
					today=true;
				} else {
					today=false;
				}
				if (toDo) {
					today = false;
					realMonth = month + 1;
					actualDate = new Date(year+"/"+realMonth+"/"+count);
					if (month == mesActual && count == todayDate.getDate() && year <= stopYear) {
						today = true;
					} else {
						today = false;
					}
					if (this.salida == false) {
						if (myDate >= actualDate) {
							disabled = false;
							if(myDate <= actualDate) daySelected=true;
						}
					}
				}
			}
			if (this.salida!=false && myDate) {
				if (month == month1-1 && count == day1 && year <= stopYear) {
					daySelected = true;
				} else {
					daySelected = false;
				}
			}
			if (month == mesActual && count == todayDate.getDate() && year <= stopYear) {
				today = true;
			} else {
				today = false;
			}
			
			if (today) {
				calCode1 = calCode1 + "<td class='date today' align='right' style='color:white'>";
			} else if(daySelected) {
				calCode1 = calCode1 + "<td class='date selected' align='right'>";
			} else {
				calCode1 = calCode1 + "<td class='date' align='right'>";
			}
			if (count <= monthdays[month]) {
				cutOff = cutOff + 1;
				if (month >= stopMonth && year >= stopYear) {
					calCode1 = calCode1 + count;
				} else {
					if (month == todayDate.getMonth() && count <= backDate) {
						//calCode1 = calCode1 + "<i>" + count + "</i>";
						calCode1 = calCode1 + count;
					} else {
						if (is_ie4) {
							calCode1 = calCode1 + "";
						} else {
						  	if(!disabled){
								calCode1 = calCode1 + "<a href='javascript:void(0)' onMouseDown='setFieldDate("+Number(month+1)+","+count+","+year+",\""+this.tag+"\",\""+this.region+"\");return false;'>";					
							}
							calCode1 = calCode1 + count;					
						}
							
						if (is_ie4) {
							calCode1 = calCode1 + "";
						} else {
							if(!disabled) {
								calCode1 = calCode1 + "</a>";
							}
						}
					}
				}
			} else {
				calCode1 = calCode1 + "&nbsp;";
			}
				
			calCode1 = calCode1 + "</td>";
			count++;
			today = false;
		}
		calCode1 = calCode1 + "</tr>";
		calCode1 = calCode1 + "<tr>";
		startspaces = 0;
	}
	calCode1 = calCode1 + "</tr></tbody></table></td></tr></tbody></table></td>";
	calCode1 = calCode1 + "<td bgcolor='#666666'><img src='" + this.imgpath + "empty.png' border='0' height='118' width='1'></td>"; //Imagen que separa el calendario
	calCode2 = "<td>";	

	if (month==11) { 
		month2 = 0;
		year2 = year+1;
	} else { 
		month2 = month+1;
		year2 = year;
	}
	
	var firstOfMonth2 = new Date (year2, month2, 1);
	var startspaces2  = firstOfMonth2.getDay()-beginMon;
	if(firstOfMonth2.getDay()-beginMon == -1) startspaces2=6;
	if (month2 == stopMonth){
		link2 = "<img src='" + this.imgpath + "empty.png' border='0' height='9' width='8' align='right'>";
	} else {
		link2 = "<a href='javascript:void(0)' onMouseDown='doCalendar("+nextMonth+",\""+this.tag+"\");return false;'><img src='" + this.imgpath + "btn_next.gif' border='0' height='9' width='8' align='right'></a>";
	}

	calCode2 = calCode2 + "<div class='month'>"+ link2 + monthnames[month2] + " " + year2 + "</div>";
	calCode2 = calCode2 + "<table id='secondCalendar' align='center' border='0' cellpadding='0' cellspacing='0' width='100%'><tbody>";
	calCode2 = calCode2 + "<tr align='center' valign='bottom'>";
	
	if(this.region == 'FR') {
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[1] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[2] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[3] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[4] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[5] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[6] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[0] + "</td>";
	} else {
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[0] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[1] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[2] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[3] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[4] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[5] + "</td>";
		calCode2 = calCode2 + "<td class='day' width='15' align='center'>" + days[6] + "</td>";
	}
	
	calCode2 = calCode2 + "</tr>";
	calCode2 = calCode2 + "<tr><td colspan='7'><table class='all_border' cellpadding='0' cellspacing='0' width='100%'><tbody><tr>";

	for (s=0;s<startspaces2;s++) {
		calCode2 = calCode2 + "<td class=\"date\">&nbsp;</td>";
	}
	count=1;
	while (count <= monthdays[month2]) {
		for (b = startspaces2; b<7; b++) {
			linktrue=false;
			disabled=false;
			daySelected=false;
			if (count <=monthdays[month2]) {
				mesActual=stopMonth + 1;
				if (month2 == mesActual && count == todayDate.getDate() && year2 <= stopYear) {
					today=true;
				} else {
					today=false;
				}
				if (toDo) {
					today=false;
					realMonth=month2 + 1;
					actualDate=new Date(year2+"/"+realMonth+"/"+count);
					if (month2 == mesActual && count == todayDate.getDate() && year2 <= stopYear) {
						today=true;
					} else {
						today=false;
					}
					if(this.salida==false) {
						if (myDate>=actualDate) {
							disabled=false;
							if(myDate<=actualDate) daySelected=true;
						}
					}
				}
			}
			if(this.salida!=false && myDate) {
				if (month2 == month1-1 && count == day1 && year <= stopYear) {
					daySelected=true;
				} else {
					daySelected=false;
				}
			}
			
			if(today) {
				calCode2 = calCode2 + "<td class='date today' align='right' style='color:white'>";
			} else if (daySelected) {
				calCode2 = calCode2 + "<td class='date selected' align='right'>";
			} else {
				calCode2 = calCode2 + "<td class='date' align='right'>";
			}
			if (count <=monthdays[month2]) {
				if (is_ie4) {
					calCode2 = calCode2 + "";
				} else {
					if(!disabled) {
						calCode2 = calCode2 + "<a href='javascript:void(0)' onMouseDown='setFieldDate("+Number(month2+1)+","+count+","+year2+",\""+this.tag+"\",\""+this.region+"\");return false;'>";
					} else {
						//calCode2 = calCode2 + " <i>";
						calCode2 = calCode2;
					}
				}
				calCode2 = calCode2 + count;
				if (is_ie4) {
					calCode2 = calCode2 + "";
				} else {
					if(!disabled) {
						calCode2 = calCode2 + "</a>";
					} else {
						//calCode2 = calCode2 + " </i>";
						calCode2 = calCode2;
					}
				}
			} else {
				calCode2 = calCode2 + "&nbsp;";
			}
				
			calCode2 = calCode2 + "</td>";
			count++;
		}
		calCode2 = calCode2 + "</tr>";
		calCode2 = calCode2 + "<tr>";
		startspaces2=0;
	}
	calCode2 = calCode2 + "</tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table>";

	var errorMs = "";
	if (is_ie4){errorMs = "<CENTER><FONT STYLE='color:#006600;text-decoration:none;font-family:arial,helvetica,sans-serif;font-size:10px;line-height:13px;'>Some calendar features are not supported by this browser.<BR><A HREF='#' onClick='self.close();'><FONT STYLE='color:#006600;text-decoration:underline;font-family:arial,helvetica,sans-serif;font-size:10px;line-height:13px;'>Close window</FONT></A>.</FONT></CENTER>"};

	calCode3 = calCode1 + calCode2 + errorMs;

	if (n) {
		document.calendar.document.write(calCode3);
		document.calendar.document.close();
	}
	if (ie) { 
		if(mac) {
			calendarmac.innerHTML = calCode1;
			calendar2mac.innerHTML = calCode2;
		} else {	
			calendar.innerHTML = calCode3; 
			// calendar.innerHTML = calCode1+calCode2
		}
	}
	if (n6) { 
		document.getElementById('calendar').innerHTML = calCode3;
	}
}

function getday(sDate, lang) {
	var weekday=new Array(7)
	var monthname=new Array(12);

	splitD = sDate.split(",");
	
	if (lang == 'IT') {
		weekday[0] ="Dom"; weekday[1] = "Lun"; weekday[2] = "Mar"; weekday[3] = "Mie"; weekday[4] = "Jue";
		weekday[5] ="Vie"; weekday[6] = "Sab";
		monthname[1]="Enero";monthname[2]="Febrero";monthname[3]="Marzo";monthname[4]="Abril";monthname[5]="Mayo";monthname[6]="Junio";
		monthname[7]="Julio";monthname[8]="Agosto";monthname[9]="Septiembre";monthname[10]="Octubre";monthname[11]="Noviembre";monthname[12]="Diciembre";
	}
	
	if (lang == 'ES') {
		weekday[0] ="Dom"; weekday[1] = "Lun"; weekday[2] = "Mar"; weekday[3] = "Mie"; weekday[4] = "Jue";
		weekday[5] ="Vie"; weekday[6] = "Sab";
		monthname[1]="Enero";monthname[2]="Febrero";monthname[3]="Marzo";monthname[4]="Abril";monthname[5]="Mayo";monthname[6]="Junio";
		monthname[7]="Julio";monthname[8]="Agosto";monthname[9]="Septiembre";monthname[10]="Octubre";monthname[11]="Noviembre";monthname[12]="Diciembre";
	}
	
	if (lang == 'EN') {
		weekday[0]="Sun";weekday[1]="Mon";weekday[2]="Tue";weekday[3]="Wed";weekday[4]="Thu";
		weekday[5]="Fri";weekday[6]="Sat";
		monthname[1]="January";monthname[2]="February";monthname[3]="March";monthname[4]="April";monthname[5]="May";monthname[6]="Jun";
		monthname[7]="July";monthname[8]="August";monthname[9]="September";monthname[10]="October";monthname[11]="November";monthname[12]="December";
	}
	
	if (lang == 'FR') {
		weekday[0]="Dim";weekday[1]="Lun";weekday[2]="Mar";weekday[3]="Mer";weekday[4]="Jeu";
		weekday[5]="Ven";weekday[6]="Sam";
		monthname[1] = "Janvier"; monthname[2] = "F\u00e9vrier";monthname[3] = "Mars";monthname[4] = "Avril";
		monthname[5] = "Mai";monthname[6] = "Juin";monthname[7] = "Juillet";monthname[8] = "Ao\u00fbt";
		monthname[9] = "Septembre";monthname[10] = "Octobre";monthname[11] = "Novembre";monthname[12] = "D\u00e9cembre";
	}
	
	dateF = new Date(splitD[0] + "/" + splitD[1] + "/" + splitD[2]);
	d = weekday[dateF.getDay()];
   	m = monthname[parseInt(splitD[1], 10)];
	y = splitD[0];
	dateD = splitD[2];
	
	result = d + " " + dateD + " " + m + " " + y;
	
	return result;
}

function parseMonth(wM, region) {
	var numberMonth = 0;
	for (var iCpt = 1; iCpt < monthnmUtf.length; iCpt++) {
		if (monthnmUtf[iCpt].toLowerCase() == wM.toLowerCase()) {
			numberMonth = iCpt;
			break;
		}
	}
	//switch (wM) {
	//	case "Janu":
	//	case "Ener":
	//	case "Janv":
	//		numberMonth=1;
	//		break;
	//	case "Febr":
	//	case "F\u00e9vr":
	//		numberMonth=2;
	//		break;
	//	case "Marz":
	//	case "Marz":
	//	case "Mars":
	//		numberMonth=3;
	//		break;
	//	case "Avr":
	//	case "Apr":
	//	case "Abr":
	//		numberMonth=4;
	//		break;
	//	case "Mai":
	//	case "May":
	//		numberMonth=5;
	//		break;
	//	case "Jui":
	//	case "Jun":
	//		numberMonth=6;
	//		break;
	//	case "Jui":
	//	case "Jul":
	//		numberMonth=7;
	//		break;
	//	case "Ao\u00fb":
	//	case "Ago":
	//	case "Aug":
	//		numberMonth=8;
	//		break;
	//	case "Sep":
	//		numberMonth=9;
	//		break;
	//	case "Oct":
	//		numberMonth=10;
	//		break;
	//	case "Nov":
	//		numberMonth=11;
	//		break;
	//	case "Dec":
	//	case "D\u00e9c":
	//	case "Dic":
	//		numberMonth=12;
	//		break;
	//	default:
	//		numberMonth=0;
	//		break;
	//}
	return numberMonth
}

function iGetYearDate(iDay, iMonth) {
	var sDayD = new Date();
	var iYear = sDayD.getYear();

	if (sDayD.getMonth() > iMonth) {
		iYear += 1;
	} else {
		if (sDayD.getMonth() == iMonth) {
			if (sDayD.getDate() > iDay) {
				iYear += 1;
			}
		}
	}
	
	return iYear;
}

function checkInputDate(sFldName, region) {
	//alert(document.getElementById(sFldName).name+" : "+document.getElementById(sFldName).value);
	if (sFldName.length) {
		var sIValue = document.getElementById(sFldName).value;
		var aIValue = sIValue.split(" ");
		
		if (aIValue.length == 4) {
			aIValue[0] = aIValue[1];
			//aIValue[1] = parseMonth(aIValue[2].substr(0, 3))
			aIValue[1] = parseMonth(aIValue[2], region);
			aIValue[2] = aIValue[3];
		} else {
			if (aIValue.length == 1) {
				aIValue = sIValue.split("/");
				if (aIValue.length == 1) {
					aIValue = sIValue.split("-");
				}
			}
			if (aIValue.length) {
				if (aIValue.length == 1) {
					if (region == 'FR' || region != 'FR') {
						if (aIValue[0].length == 4) {
							aIValue[1] = aIValue[0].substr(2, 2);
							aIValue[0] = aIValue[0].substr(0, 2);
							aIValue[2] = iGetYearDate(aIValue[0], aIValue[1]);
						} else if (aIValue[0].length == 6 || aIValue[0].length == 8) {
							aIValue[1] = aIValue[0].substr(2, 2);
							aIValue[0] = aIValue[0].substr(0, 2);
							aIValue[2] = iGetYearDate(aIValue[0], aIValue[1]);
						}
					}
				} else {
					if (region == 'FR' || region != 'FR') {
						aIValue[2] = iGetYearDate(aIValue[0], aIValue[1]);
					}
				}
			}
		}
		//alert(aIValue[1] + " - " + aIValue[0] + " - " + aIValue[2] + " - " + sFldName + " - " + region);
		var sDtD = new Date();
		var sDtE = new Date(sDtD.getFullYear(), sDtD.getMonth(), sDtD.getDate() + 330); // -- max days to search
		var sDtC = new Date(parseInt(aIValue[2], 10), parseInt(aIValue[1], 10) - 1, parseInt(aIValue[0], 10));
		if (sDtC < sDtD) sDtC = sDtD;
		if (sDtC > sDtE) sDtC = sDtE;
		setFieldDate(sDtC.getMonth() + 1, sDtC.getDate(), sDtC.getFullYear(), sFldName, region);
	}
}

function validateInputs(tag, region) 	{
	try {
		split1 = $(input1).value.split(" ");
		splitM1 = split1[2].substr(0, 3);
		year1 = split1[3];
		day1 = split1[1]; 
		//month1 = parseMonth(splitM1);
		month1 = parseMonth(split1[2], region);
		
		split2 = $(input2).value.split(" ");
		splitM2 = split2[2].substr(0,3);
		year2 = split2[3];
		day2 = split2[1]; 
		//month2 = parseMonth(splitM2);
		month2 = parseMonth(split2[2], region);

		nD1 = new Date(year1 + "/" + month1 + "/" + day1);
		nD2 = new Date(year2 + "/" + month2 + "/" + day2);
		iDiff = setFieldDatesHiddenDiff(input1, input2);
		
		var sDtD = new Date();
		var sDtE = new Date(sDtD.getFullYear(), sDtD.getMonth(), sDtD.getDate() + 330); // -- max days to search
		
		if (tag == input1) {
			if (nD1 > nD2) {
				var sDtC = new Date(nD1.getFullYear(), nD1.getMonth(), nD1.getDate() + iDiff);
				//alert(sDtD + " < " + sDtC + " < " + sDtE);
				if (sDtC < sDtD) sDtC = sDtD;
				//alert("tag == input1" + " - " + iDiff+ " - " + (sDtC.getMonth() + 1) + " - " + sDtC.getDate());
				setFieldDateShowed(sDtC.getMonth() + 1, sDtC.getDate(), sDtC.getFullYear(), input2, region);
				setFieldDateHidden(sDtC.getMonth() + 1, sDtC.getDate(), sDtC.getFullYear(), input2, region);
			}
		} else if (tag == input2) {
			if (nD1 > nD2) {
				var sDtC = new Date(nD2.getFullYear(), nD2.getMonth(), nD2.getDate() - iDiff);
				//alert(sDtD + " < " + sDtC + " < " + sDtE);
				if (sDtC < sDtD) sDtC = sDtD;
				if (sDtC > sDtE) sDtC = sDtE;
				//alert("tag == input2" + " - " + iDiff + " - " + (sDtC.getMonth() + 1) + " - " + sDtC.getDate());
				setFieldDateShowed(sDtC.getMonth() + 1, sDtC.getDate(), sDtC.getFullYear(), input1, region);
				setFieldDateHidden(sDtC.getMonth() + 1, sDtC.getDate(), sDtC.getFullYear(), input1, region);
			}
		}
	} catch(e){}
}

function setFieldDate(gMonth, gDay, gYear, tag, region) { // -- ie : DateFromDisp
	//alert(document.getElementById(tag).name+" : "+gYear + "," + gMonth + "," + gDay);
	setFieldDateShowed(gMonth, gDay, gYear, tag, region)
	validateInputs(tag, region);
	setFieldDateHidden(gMonth, gDay, gYear, tag, region);
}

function setFieldDateShowed(gMonth, gDay, gYear, tag, region) { // -- ie : DateFromDisp
	format = gYear + "," + gMonth + "," + gDay;	
	format = getday(format, region);
	//alert(gYear + "," + gMonth + "," + gDay + "\n" + format);
	
	document.getElementById(tag).value = format;
	document.getElementById('calendar').style.display = "none";
}

function setFieldDateHidden(gMonth, gDay, gYear, tag, region) { // -- ie : DateFromDisp => DateFrom
	var sHTag = setFieldDateHiddenName(tag);
	
	if (sHTag != tag && sHTag.length > 0) {
		document.getElementById(sHTag).value = gYear + "-" + gMonth + "-" + gDay;
	}
}

function setFieldDateHiddenName(tag) {
	var sHTag = tag;
	var iPos1 = tag.search('Disp');
	var iPos2 = tag.search('Value');
	
	if (iPos1 != -1) {
		sHTag = tag.substr(0, iPos1);
	} else {
		if (iPos2 != -1) {
			sHTag = tag.substr(0, iPos2);
		}
	}
	return sHTag;
}

function setFieldDatesHiddenDiff(sTag1, sTag2) {
	var sTmp;
	
	var sHTag1 = setFieldDateHiddenName(sTag1);
	var sHTag2 = setFieldDateHiddenName(sTag2);
	
	var sDatR1 = document.getElementById(sHTag1).value;
	var sDatR2 = document.getElementById(sHTag2).value;
	
	var aDatR1 = sDatR1.split('-');
	var aDatR2 = sDatR2.split('-');
	
	var sDate1 = new Date(parseInt(aDatR1[0], 10), parseInt(aDatR1[1], 10) - 1, parseInt(aDatR1[2], 10));
	var sDate2 = new Date(parseInt(aDatR2[0], 10), parseInt(aDatR2[1], 10) - 1, parseInt(aDatR2[2], 10));
	
	return parseInt(((Date.parse(sDate2) - Date.parse(sDate1)) / (24 * 60 * 60 * 1000)), 10);
}
// End -->

if (this.ie || this.n || this.n6) { 
	if(this.mac) {
		document.write('<div style="position:absolute;left:8px;top:10px;" id="calendar">&nbsp;</div>');
		document.write('<div style="position:absolute;left:8px;top:10px;" id="calendar">&nbsp;</div>');
		document.write('<div style="position:absolute;left:150px;top:10px;" id="calendar">&nbsp;</div>');
	} else{	
		// document.write('<div style="position:absolute;left:8px;top:10px;" id="calendar" onblur="hideC()"> &nbsp;</div>');
	}
}
