﻿var lastctrlid=null;
var lastctrlfromid=null;
var lastctrltoid=null;
var lastctrldaysid=null;
var yccall=null;
var yccallhide=true;
var yccallwidth=360;

var curlan='en';
var daystrans=null;

var isMultiSel=false;
var selState=0;
var clearDeselect=true;

var transArrivalDateTitle="Select arrival date";
var transDepartureDateTitle="Select departure date";
var transSingleDateTitle="";

var agent = navigator.userAgent.toLowerCase();        
if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1))
{document.attachEvent('onclick',YCDocumentClicked);} 
else 
{document.addEventListener('click',YCDocumentClicked,false);} 

function initDaysTrans(lang)
{
	curlan = lang;
	switch(lang)
	{
		case 'nl':
			daystrans = new Array("nacht","nachten","nachten","nachten","nachten","nachten","nachten","nachten","nachten","nachten");
			break;
		case 'de':
			daystrans = new Array("Nacht","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte","N&#xe4;chte");
			break;
		case 'es':
			daystrans = new Array("noche","noches","noches","noches","noches","noches","noches","noches","noches","noches");
			break;
		case 'pt':
			daystrans = new Array("noite","noites","noites","noites","noites","noites","noites","noites","noites","noites");
			break;
		case 'fr':
			daystrans = new Array("nuit","nuits","nuits","nuits","nuits","nuits","nuits","nuits","nuits","nuits");
			break;
		case 'it':
			daystrans = new Array("notte","notti","notti","notti","notti","notti","notti","notti","notti","notti");
			break;
		case 'se':
			daystrans = new Array("natt","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter","n&#xe4;tter");
			break;
		case 'pl':
			daystrans = new Array("noc","noce","noce","noce","nocy","nocy","nocy","nocy","nocy","nocy");
			break;
		case 'cz':
			daystrans = new Array("noc","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;","noc&#xed;");
			break;
		case 'hu':
			daystrans = new Array("&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j","&#xe9;j");
			break;
		case 'lt':
			daystrans = new Array("par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)","par(a/os)");
			break;
		case 'bg':
			daystrans = new Array("&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;","&#x43d;&#x43e;&#x449;&#x443;&#x432;&#x43a;&#x430;");
			break;
		case 'ru':
			daystrans = new Array("&#x43d;&#x43e;&#x447;&#x44c;","&#x43d;&#x43e;&#x447;&#x438;","&#x43d;&#x43e;&#x447;&#x438;","&#x43d;&#x43e;&#x447;&#x438;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;");
			break;
		case 'ua':
			daystrans = new Array("&#x43d;&#x456;&#x447;","&#x43d;&#x43e;&#x447;&#x456;","&#x43d;&#x43e;&#x447;&#x456;","&#x43d;&#x43e;&#x447;&#x456;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;","&#x43d;&#x43e;&#x447;&#x435;&#x439;");
			break;
		case 'he':
			daystrans = new Array("&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;","&#x5dc;&#x5d9;&#x5dc;&#x5d4;");
			break;
		case 'jp':
			daystrans = new Array("&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;","&#x6cca;");
			break;
		default:
			daystrans = new Array("night","nights","nights","nights","nights","nights","nights","nights","nights","nights");
			curlan = 'en';
			break;
	}
}

function CheckDaysTrans(lang)
{
	if(daystrans==null || curlan!=lang)
	{
		initDaysTrans(lang);
	}
}

function GetDaysSentence(days, lang)
{
	CheckDaysTrans(lang);
	var ind=parseInt(days)-1;
	if(ind>=10)ind=9;
	if(ind<0)return '';
	
	return days+' '+daystrans[ind];
}



function InitCalendar(ctrl,lang,type,mindate,maxdate,ctrlfrom,ctrlto,ctrldays) //mindate i maxdate ma miec format M/d/yyyy
{
	CheckDaysTrans(lang);
	
	
	selState=0;
	if(ctrlfrom!=null)
	{
		lastctrlfromid=ctrlfrom;
	}
	else 
	{
		lastctrlfromid=null;
	}
	if(ctrlto!=null)
	{
		isMultiSel=true;
		lastctrltoid=ctrlto;
	}
	else 
	{
		isMultiSel=false;
		lastctrltoid=null;
	}
	if(ctrldays!=null)
	{
		lastctrldaysid=ctrldays;
	}
	else
	{
		lastctrldaysid=null;
	}
	
	//pobranie pozycji kontroli
	button=document.getElementById(ctrl);
	var curleft = curtop = 0;
    if (button.offsetParent) {
		curleft = button.offsetLeft;
		curtop = button.offsetTop;
		while (button = button.offsetParent) {
			curleft += button.offsetLeft;
			curtop += button.offsetTop;
		}
	}
	if(pagedir=='rtl')
	{
		curleft-=yccallwidth;
		if(curleft<0)curleft=0;
	}
	
	lastctrlid=ctrl;
	
	//pobranie diva do ktorego ma trafic kalendarz
	obj=YCGetCalendarDIV();
	
	
	if(obj!=null)
	{
		yccallhide=false;
		//podpięcie obsługi zdażeń
							
		//mamy diva mozemy na nim operowac
		lastctrl=ctrl;
		
		//ustawienie diva
		YCSetPossitionAndVisibility(curleft,curtop);
		
		//wstawienie kalendarza
		YCInitializeYahooCalendar(lang,type,mindate,maxdate);
		
		
	}
	else
	{
		//nie udalo sie pobrac diva, nic sie nie dzieje
		alert("nie ma diva");
	}
}

function YCCalDivClicked()
{
	yccallhide=false;
}

function YCDocumentClicked()
{
	if(yccallhide)
	{
		if(yccall!=null)
		{
			yccall.hide();
		}
	}
	yccallhide=true;
}

function YCGetCalendarDIV()
{
	//wyszukanie diva o podanym id na stronie
	var obj=document.getElementById("YahooCalendarDiv");
	if(obj==null)
	{
		/*
		//jesli nie ma diva, dodajemy go na koncu body
		var divadd=document.body.innerHTML;
		divadd+="<div id=\"YahooCalendarDiv\" class=\"yui-skin-sam\"><div id=\"YCCalPlace\" onclick=\"YCCalDivClicked();\"></div></div>";
		document.body.innerHTML=divadd;
		
		//proba ponownego pobrania diva do zmiennej
		obj=document.getElementById("YahooCalendarDiv");*/
		
		alert("YahooCalendarDiv can't be found on page!");
	}
	return obj;
}

function YCSetPossitionAndVisibility(left,top)
{
	divstyle=document.getElementById("YahooCalendarDiv");
	if(divstyle)
	{
		//ustawienie diva z kalendarzem w odpowiedniej pozycji
		divstyle.style.top=top+"px";
		divstyle.style.left=left+"px";
		
		//wyświetlenie diva
		divstyle.style.display="block";
	}
}

function dateString(d)
{
	var a = new Array();
	a[(yccall.cfg.getProperty("MDY_YEAR_POSITION")-1)] = d.getFullYear();
	a[yccall.cfg.getProperty("MDY_MONTH_POSITION")-1] = (d.getMonth() + 1);
	a[yccall.cfg.getProperty("MDY_DAY_POSITION")-1] = d.getDate();
	var s = yccall.cfg.getProperty("DATE_FIELD_DELIMITER");
	return a.join(s);
}

function dateIntervalString(from,to)
{
	var s = yccall.cfg.getProperty("DATE_DELIMITER");//"DATE_RANGE_DELIMITER");
    return (dateString(from) + s + dateString(to));
}

function setDays(lang,ctrl,ctrlfrom,ctrlto)
{
	lastctrl=document.getElementById(ctrlfrom);
	lastctrlto=document.getElementById(ctrlto);
	if(lastctrl!=null && lastctrlto!=null)
	{
		var tab=lastctrl.value.split("-");
		var from = new Date(tab[0],parseInt(tab[1])-1,tab[2]);
		var tab=lastctrlto.value.split("-");
		var to = new Date(tab[0],parseInt(tab[1])-1,tab[2]);
		days = (to-from);
		//if(days<0)days=days*-1;
		days = days/(1000*60*60*24);
		days=parseInt(days);
		var sdays = GetDaysSentence(days,lang);
		lastdays = document.getElementById(ctrl);
		if(lastdays)
		{
			lastdays.innerHTML=sdays;
			lastdays.value=sdays;
		}
	}
}

function correctDates(ctrlfrom,ctrlto)
{
	lastctrl=document.getElementById(ctrlfrom);
	lastctrlto=document.getElementById(ctrlto);
	if(lastctrl!=null && lastctrlto!=null)
	{
		var tab=lastctrl.value.split("-");
		var from = new Date(tab[0],parseInt(tab[1])-1,tab[2]);
		var tab=lastctrlto.value.split("-");
		var to = new Date(tab[0],parseInt(tab[1])-1,tab[2]);
		if(from>=to)
		{
			to.setTime(from.getTime()+86400000); 
			lastctrlto.value = to.getFullYear() + '-' + (to.getMonth() + 1) + '-' +to.getDate();
		}
	}
}

var YCSelectHandler = function(type,args,obj){ 
	
	if(!isMultiSel)
	{
		
		selected=yccall.getSelectedDates();
		
		lastctrl=document.getElementById(lastctrlid);
		
		lastctrl.value=dateString(selected[0]);//[0]+"-"+selected[0][1]+"-"+selected[0][2];
		
		if(yccall!=null)
		{
			
			//ukrycie kalendarza
			yccall.hide();
		}
	}
	else
	{
		selected=args[0];
		var s = yccall.cfg.getProperty("DATE_FIELD_DELIMITER");
		lastctrl=document.getElementById(lastctrlid);
		lastctrl.value = selected[0][0]+s+selected[0][1]+s+selected[0][2];
		
		if(lastctrlid==lastctrlfromid)
		{
			correctDates(lastctrlfromid,lastctrltoid);
		}
		
		if(lastctrldaysid!=null && lastctrltoid!=null)
		{
			setDays(curlan,lastctrldaysid,lastctrlfromid,lastctrltoid);
		}
		
		if(yccall!=null)
		{
			
			//ukrycie kalendarza
			yccall.hide();
		}
		
		
		
		/*selected=yccall.getSelectedDates();
		if(selState!=2)
		{
			if(selected.length > 1) {
				var from = selected[0];
				var to = selected[selected.length - 1];
				this.cfg.setProperty('selected', dateIntervalString(from, to), false);
			}
			// Render changes
			yccall.render();
		}
		else
		{
			if(selected.length > 1) {
				var from = selected[0];
				lastctrl=document.getElementById(lastctrlid);
				if(lastctrl)lastctrl.value=dateString(from);
				var to = selected[selected.length - 1];
				lastctrlto=document.getElementById(lastctrltoid);
				if(lastctrlto)lastctrlto.value=dateString(to);
				if(lastctrldaysid!=null)
				{
					lastdays = document.getElementById(lastctrldaysid);
					if(lastdays)
					{
						days = (to-from)/(1000*60*60*24);
						lastdays.innerHTML=days;
						lastdays.value=days;
					}
				}
				if(yccall!=null)
				{
					//ukrycie kalendarza
					yccall.hide();
				}
			}
		}*/
	}
};

var YCPreSelectHandler = function(type,args,obj){
	/*if(isMultiSel)
	{
		selState = (selState + 1) % 3;
		if(selState == 1) {
			clearDeselect=false;
			yccall.deselectAll();
			clearDeselect=true;
			yccall.cfg.setProperty("title", transDepartureDateTitle);
		}
	}*/
}

var YCDeSelectHandler = function(type,args,obj){
	/*if(isMultiSel && clearDeselect)
	{
		selState = 1;
		clearDeselect=false;
		yccall.deselectAll();
		clearDeselect=true;
			
		var d = args[0];
		var dDate=new Date();
		dDate.setFullYear(d[0], d[1] - 1, d[2]);
		yccall.cfg.setProperty('selected', dateString(dDate));
		yccall.render();
		return false;
	}*/
}

function YCInitializeYahooCalendar(lang,type,mindate,maxdate)
{
	if(yccall==null)
	{
		if(type == 1)
		    yccall = new YAHOO.widget.Calendar("cal1","YCCalPlace",{ close:true } );
		else
		//if(type == 2)
		    yccall = new YAHOO.widget.CalendarGroup("cal1","YCCalPlace",{ PAGES:type, close:true } );
		
		//separator części daty
		yccall.cfg.setProperty("DATE_FIELD_DELIMITER", "-");
		//separator kolejnych dat
		yccall.cfg.setProperty("DATE_DELIMITER", ",");
		//separator dat w przedziale
		yccall.cfg.setProperty("DATE_RANGE_DELIMITER", "/");

		//pozycja liczb w dacie pełnej
		yccall.cfg.setProperty("MDY_DAY_POSITION", 3);
		yccall.cfg.setProperty("MDY_MONTH_POSITION", 2);
		yccall.cfg.setProperty("MDY_YEAR_POSITION", 1);

		//pozycja liczb w dacie dzień miesiąc
		yccall.cfg.setProperty("MD_DAY_POSITION", 1);
		yccall.cfg.setProperty("MD_MONTH_POSITION", 2);
		
		
		//minimalna data
		if(mindate!='')
			yccall.cfg.setProperty("mindate", mindate);
		
		//maksymalna data
		if(maxdate!='')
			yccall.cfg.setProperty("mindate", maxdate);
		
		yccall.cfg.setProperty("start_weekday",1);
		
		//tłumaczenia
		switch(lang)
		{
			case "jp":
				//japoński
				yccall.cfg.setProperty("MONTHS_SHORT",   ["1&#x6708;", "2&#x6708;", "3&#x6708;", "4&#x6708;", "5&#x6708;", "6&#x6708;", "7&#x6708;", "8&#x6708;", "9&#x6708;", "10&#x6708;", "11&#x6708;", "12&#x6708;"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["1&#x6708;", "2&#x6708;", "3&#x6708;", "4&#x6708;", "5&#x6708;", "6&#x6708;", "7&#x6708;", "8&#x6708;", "9&#x6708;", "10&#x6708;", "11&#x6708;", "12&#x6708;"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["&#x65e5;", "&#x6708;", "&#x706b;", "&#x6c34;", "&#x6728;", "&#x91d1;", "&#x571f;"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["&#x65e5;", "&#x6708;", "&#x706b;", "&#x6c34;", "&#x6728;", "&#x91d1;", "&#x571f;"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["&#x65e5;", "&#x6708;", "&#x706b;", "&#x6c34;", "&#x6728;", "&#x91d1;", "&#x571f;"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["&#x65e5;&#x66dc;&#x65e5;", "&#x6708;&#x66dc;&#x65e5;", "&#x706b;&#x66dc;&#x65e5;", "&#x6c34;&#x66dc;&#x65e5;", "&#x6728;&#x66dc;&#x65e5;", "&#x91d1;&#x66dc;&#x65e5;", "&#x571f;&#x66dc;&#x65e5;"]);
			break;
			case "pl":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["N", "P", "W", "Ś", "C", "P", "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Nd", "Po", "Wt", "Śr", "Cz", "Pt", "So"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"]);
				transArrivalDateTitle="Wybierz dat&#x119; przyjazdu";
				transDepartureDateTitle="Wybierz dat&#x119; wyjazdu";
				transSingleDateTitle="";

			break;
			case "de":
				// Date labels for German locale
				//yccall.cfg.setProperty("title", "Dać niemiecki tekst:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["S", "M", "D", "M", "D", "F", "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]);
				transArrivalDateTitle="Ankunftsdatum w&#xe4;hlen";
				transDepartureDateTitle="Abreisedatum w&#xe4;hlen";
				transSingleDateTitle="";
				break;
			case "es":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sá"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"]);
				transArrivalDateTitle="Seleccione la fecha de llegada";
				transDepartureDateTitle="Seleccione la fecha de salida";
				transSingleDateTitle="";
			break;
			case "fr":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jui", "Aoû", "Sep", "Oct", "Nov", "Déc"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);
				transArrivalDateTitle="Choisissez la date de l'arriv&#xe9;e";
				transDepartureDateTitle="Choisissez la date de d&#xe9;part";
				transSingleDateTitle="";
			break;
			case "it":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Gen"    , "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["D"       , "L"     , "M"      , "M"        , "G"      , "V"      , "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Do"      , "Lu"    , "Ma"     , "Me"       , "Gi"     , "Ve"     , "Sa"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Dom"     , "Lun"   , "Mar"    , "Mer"      , "Gio"    , "Ven"    , "Sab"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"]);
				transArrivalDateTitle="Scegli la data d'arrivo";
				transDepartureDateTitle="Scegli la data di partenza";
				transSingleDateTitle="";
			break;
			case "pt":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Jan"    , "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["D"       , "2"     , "3"      , "4"        , "5"      , "6"      , "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Do"      , "2a"    , "3a"     , "4a"       , "5a"     , "6a"     , "Sá"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Dom"     , "Seg"   , "Ter"    , "Qua"      , "Qui"    , "Sex"    , "Sáb"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]);
			break;
			case "ru":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Янв"    , "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["В"       , "П"     , "В"      , "С"        , "Ч"      , "П"      , "С"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Во"      , "По"    , "Вт"     , "Ср"       , "Че"     , "Пя"     , "Су"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Вос"     , "Пон"   , "Вто"    , "Сре"      , "Чет"    , "Пят"    , "Суб"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]);
				transArrivalDateTitle="&#x412;&#x44b;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x443; &#x43f;&#x440;&#x438;&#x435;&#x437;&#x434;&#x430;";
				transDepartureDateTitle="&#x412;&#x44b;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x443; &#x432;&#x44b;&#x435;&#x437;&#x434;&#x430;";
				transSingleDateTitle="";
			break;
			case "cz":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Led"    , "Úno", "Bře", "Dub", "Kvě", "Čer", "Čer", "Srp", "Zář", "Říj", "Lis", "Pro"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["N"       , "P"     , "Ú"      , "S"        , "Č"      , "P"      , "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Ne"      , "Po"    , "Út"     , "St"       , "Čt"     , "Pá"     , "So"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Ned"     , "Pon"   , "Úte"    , "Stř"      , "Čtv"    , "Pát"    , "Sob"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"]);
				transArrivalDateTitle="Zvolte datum p&#x159;&#xed;jezdu";
				transDepartureDateTitle="Zvolte datum odjezdu";
				transSingleDateTitle="";
			break;
			case "bg":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Янв"    , "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["Н"       , "П"     , "В"      , "С"        , "Ч"      , "П"      , "С"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Не"      , "По"    , "Вт"     , "Ср"       , "Че"     , "Пе"     , "Съ"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Нед"     , "Пон"   , "Вто"    , "Сря"      , "Чет"    , "Пет"    , "Съб"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"]);
				transArrivalDateTitle="&#x418;&#x437;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x430; &#x43d;&#x430; &#x43f;&#x440;&#x438;&#x441;&#x442;&#x438;&#x433;&#x430;&#x43d;&#x435;";
				transDepartureDateTitle="&#x418;&#x437;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x430; &#x43d;&#x430; &#x437;&#x430;&#x43c;&#x438;&#x43d;&#x430;&#x432;&#x430;&#x43d;&#x435;";
				transSingleDateTitle="";
			break;
			case "hu":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Jan"    , "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["V"       , "H"     , "K"      , "S"        , "C"      , "P"      , "S"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Va"      , "Hé"    , "Ke"     , "Sz"       , "Cs"     , "Pé"     , "Sz"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Vas"     , "Hét"   , "Ked"    , "Sze"      , "Csü"    , "Pén"    , "Szo"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"]);
			break;
			case "lt":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Sau"    , "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rug", "Rug", "Spa", "Lap", "Gru"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["S"       , "P"     , "A"      , "T"        , "K"      , "P"      , "Š"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Se"      , "Pi"    , "An"     , "Tr"       , "Ke"     , "Pe"     , "Še"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Sek"     , "Pir"   , "Ant"    , "Tre"      , "Ket"    , "Pen"    , "Šeš"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"]);
				transArrivalDateTitle="Pasirinkite atvykimo dat&#x105;";
				transDepartureDateTitle="Pasirinkite i&#x161;vykimo dat&#x105;";
				transSingleDateTitle="";
			break;
			case "he":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["א", "ב", "ג", "ד", "ה", "ו", "ש"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["א", "ב", "ג", "ד", "ה", "ו", "ש"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["א", "ב", "ג", "ד", "ה", "ו", "ש"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["יום ראשון", "יום שני", "יום שלישי", "יום רביעי", "יום חמישי", "יום שישי", "שבת"]);
			break;
			case "nl":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["jan"    , "feb", "maa", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["zo"       , "m"     , "di"      , "w"        , "do"      , "v"      , "za"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["zo"      , "ma"    , "di"     , "wo"       , "do"     , "vr"     , "za"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["zon"     , "maa"   , "din"    , "woe"      , "don"    , "vri"    , "zat"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"]);
			break;
			case "se":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["jan"    , "feb", "mar", "apr", "mey", "jun", "jul", "aug", "sep", "okt", "nov", "dec"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["januari", "februari", "mars", "april", "may", "juni", "juli", "augusti", "september", "oktober", "november", "december"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["s"       , "m"     , "ti"      , "o"        , "to"      , "f"      , "l"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["sö"      , "må"    , "ti"     , "on"       , "to"     , "fr"     , "lö"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["sön"     , "mån"   , "tis"    , "ons"      , "tor"    , "fre"    , "lör"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"]);
			break;
			case "ua":
				//yccall.cfg.setProperty("title", "Proszę wybrać datę:");
				yccall.cfg.setProperty("MONTHS_SHORT",   ["Січ"    , "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"]);
				yccall.cfg.setProperty("MONTHS_LONG",    ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"]);
				yccall.cfg.setProperty("WEEKDAYS_1CHAR", ["Н"       , "П"     , "В"      , "С"        , "Ч"      , "П'"      , "Су"]);
				yccall.cfg.setProperty("WEEKDAYS_SHORT", ["Не"      , "По"    , "Ві"     , "Се"       , "Че"     , "П'я"     , "Су"]);
				yccall.cfg.setProperty("WEEKDAYS_MEDIUM",["Нед"     , "Пон"   , "Вів"    , "Сер"      , "Чет"    , "П'ят"    , "Суб"]);
				yccall.cfg.setProperty("WEEKDAYS_LONG",  ["Неділю", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"]);
				transArrivalDateTitle="&#x412;&#x438;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x443; &#x43f;&#x440;&#x438;&#x457;&#x437;&#x434;&#x443;";
				transDepartureDateTitle="&#x412;&#x438;&#x431;&#x435;&#x440;&#x438; &#x434;&#x430;&#x442;&#x443; &#x432;&#x438;&#x457;&#x437;&#x434;&#x443;";
				transSingleDateTitle="";
			break;
			default:
				//yccall.cfg.setProperty("title", "Please choose a date:");
			break;
		}
		
		yccall.render();
		yccall.selectEvent.subscribe(YCSelectHandler, yccall, true);
		yccall.beforeSelectEvent.subscribe(YCPreSelectHandler, yccall, true);
        yccall.deselectEvent.subscribe(YCDeSelectHandler, yccall, true);
		
	}
	else yccall.show();
	
	
	
	if(isMultiSel)
	{
		yccall.cfg.setProperty("multi_select", true);
		if(lastctrlfromid==lastctrlid)
		{
			yccall.cfg.setProperty("title", transArrivalDateTitle);
		}
		else if(lastctrltoid==lastctrlid)
		{
			yccall.cfg.setProperty("title", transDepartureDateTitle);
		}
		lastctrl=document.getElementById(lastctrlfromid);
		lastctrlto=document.getElementById(lastctrltoid);
		if(lastctrl.value!="" && lastctrlto.value!="")
		{
			yccall.cfg.setProperty("selected", lastctrl.value + yccall.cfg.getProperty("DATE_DELIMITER") + lastctrlto.value);
			var selectedDates = yccall.getSelectedDates();
			if (selectedDates.length > 0) {
				var firstDate = selectedDates[0];
				yccall.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "-" + firstDate.getFullYear());
			}
		}
	}
	else
	{
		yccall.cfg.setProperty("multi_select", false);
		yccall.cfg.setProperty("title", transSingleDateTitle);
		lastctrl=document.getElementById(lastctrlid);
		if(lastctrl.value!="")
		{
			yccall.cfg.setProperty("selected", lastctrl.value);
			var selectedDates = yccall.getSelectedDates();
			if (selectedDates.length > 0) {
				var firstDate = selectedDates[0];
				yccall.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "-" + firstDate.getFullYear());
			}
		}
	}
	yccall.render();
	
	
}
