﻿//sitenin yerel bilgisi belirtilmemişse
if (typeof locale == "undefined"){
	//varsayılan yerel bilgisi "en-INT" olacaktır
	var locale = "en-INT";
}


// JavaScript Document
Calendar = {};

Calendar.setup = function (settings){
	
	document.getElementById(settings.button).style.cursor = 'pointer';

	// Listener to show the 1-up Calendar when the button is clicked
	YAHOO.util.Event.addListener(settings.button, "click", function(){
		YAHOO.namespace("example.calendar");
		YAHOO.namespace("example.container");

		//eger su anda acik takvim varsa onu kapat.
		if (typeof YAHOO.example.container.overlay3 != "undefined"){
			YAHOO.example.container.overlay3.hide();
		}
		
		YAHOO.example.container.overlay3 = new YAHOO.widget.Dialog(
				"calendarYUIDialog",
				{
					//neye dayanacağını/yaslanacağını ayarla
					context:[
							 settings.inputField,
							 //takvim ekranın dışına çıkmasın
							 settings.inputField == 'hotelinDate' ? "tl" : "tr",
							 settings.inputField == 'hotelinDate' ? "bl" : "br",
							 ["beforeShow", "windowResize"]
					],
					underlay:"none",
					close:true,
					draggable:true,
					//iframe:true,
					visible:false,//ilk etapta gizli olsun
					width:"175px",
					height:"220px"
				}
		);

		YAHOO.example.container.overlay3.setBody("<div id='calendarContainer'></div>");
		YAHOO.example.container.overlay3.render(document.body);
		
		if(settings.delimiter==undefined)	var arySeciliDayMonthYear = document.getElementById(settings.inputField).value.split('.');	
		else var arySeciliDayMonthYear = document.getElementById(settings.inputField).value.split(settings.delimiter);
	 	
		YAHOO.example.calendar.cal2 = new YAHOO.widget.Calendar(
			"calendarContainer",
			{
				iframe:false,
				pagedate: arySeciliDayMonthYear[1] + '/' + arySeciliDayMonthYear[2],
				selected: arySeciliDayMonthYear[1] + '/' + arySeciliDayMonthYear[0] + '/' + arySeciliDayMonthYear[2]
			}
		);

		YAHOO.example.calendar.cal2.selectEvent.subscribe(
				function (type,args,obj){
					var gun =String(args[0][0][2]);
					if (gun.length<2) gun='0'+gun;
					var ay=String(args[0][0][1]);
					if(ay.length<2) ay='0'+ay;
					var tarih;
					if(settings.delimiter==undefined) tarih=gun + "." + ay + "." + String(args[0][0][0]);	
					else tarih=gun + settings.delimiter + ay + settings.delimiter + String(args[0][0][0]);
					
					var today = new Date;today.setHours(0);today.setMinutes(0);today.setSeconds(0);
					var selectedDate=new Date(ay+"/"+gun+"/"+String(args[0][0][0]));selectedDate.setSeconds(1);
					var selected = false;
					if(settings.allowOlddate==undefined ||settings.allowOlddate==false ) {
						if((selectedDate>=today)) {
							selected = true;
						}
					} else {
						selected = true;
					}
					if (selected){
						document.getElementById(settings.inputField).value = tarih;
						//diğer tarihi aynı yap
						switch(settings.inputField){
							case "departureDate":
								if(compDate(tarih,document.getElementById("returnDate").value))
								document.getElementById("returnDate").value = tarih;
							break;
							case "hotelinDate":
								if(compDate(tarih,document.getElementById("hoteloutDate").value))
								document.getElementById("hoteloutDate").value = tarih;
							break;
						}
						YAHOO.example.container.overlay3.hide();
					}
				},
				YAHOO.example.calendar.cal2,
				true
		);

		YAHOO.example.calendar.cal2.cfg.setProperty("DATE_FIELD_DELIMITER", "-");
		
		YAHOO.example.calendar.cal2.cfg.setProperty("START_WEEKDAY", 1);
		
		YAHOO.example.calendar.cal2.cfg.setProperty("MDY_DAY_POSITION", 1);
		YAHOO.example.calendar.cal2.cfg.setProperty("MDY_MONTH_POSITION", 2);
		YAHOO.example.calendar.cal2.cfg.setProperty("MDY_YEAR_POSITION", 3);
		
		YAHOO.example.calendar.cal2.cfg.setProperty("MD_DAY_POSITION", 1);
		YAHOO.example.calendar.cal2.cfg.setProperty("MD_MONTH_POSITION", 2);
		
		//yerel bilgisine göre metinleri değiştir. özel bir dil değilse, varsayılan dil İngilizce'dir
		switch(locale){
			case "tr-TR": case "aj-TR":
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_SHORT",   ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_LONG",    ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_1CHAR", ["P", "P", "S", "Ç", "P", "C", "C"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_SHORT", ["Pz", "Pt", "Sa", "Ça", "Pe", "Cu", "Ct"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_MEDIUM",["Pzr", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_LONG",  ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"]);
			break;
			case "de-DE":
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Feb", "M\u00e4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_LONG",    ["Januar", "Februar", "M\u00e4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_1CHAR", ["P", "P", "S", "Ç", "P", "C", "C"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_SHORT", ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_MEDIUM",["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_LONG",  ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]);
			break;
			case "fr-FR":case "fr-CH":
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jui", "Aou", "Sep", "Oct", "Nov", "Déc"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("MONTHS_LONG",    ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
				YAHOO.example.calendar.cal2.cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);
				break;
			default:
			break;
		}

		YAHOO.example.container.overlay3.show();
		YAHOO.example.calendar.cal2.render();
		YAHOO.example.calendar.cal2.show();
	}
	);
}

function compDate(d1,d2)
{
	var dizi1 =d1.split('.');
	var date1= new Date(dizi1[2]+'/'+dizi1[1]+'/'+dizi1[0])	
	var dizi2 =d2.split('.');
	var date2= new Date(dizi2[2]+'/'+dizi2[1]+'/'+dizi2[0])	
	if(date1>date2) return true ;
	else return false;	
}


