// Author: Mr. Jean @ Wax! Interactive
// Location: www.wax.be
// License: Internal usage only, ask for permission!
//
// v 1.0    - Friday, September 4, 2009
//          - First version
//
// Description:
// ============
// Extends the jQuery datepicker with the jTip.
//
//
//	Example:
//  ========
//	WAX.fuseJTipDatepicker({
//		arrEvents		:	eval($('#events').html()),
//		classIsEvent	:	null,
//		idEventPrefix	:	null,
//		jTipWidth		:	null
//	});

if (!WAX) { var WAX = new Object() }

WAX = {
    arrEvents                       :   Array(),
	classIsEvent					:	'ui-state-active',
	idEventPrefix					:	'event',
	jTipWidth						:	'250',
	minDateVal						:	'-3Y',
	maxDateVal						:	'+10Y',
	monthNamesVal					:	['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'],
	monthNamesShortVal				:	['Jan','Feb','Mrt','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
	dayNamesVal						:	['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'],
	dayNamesShortVal				:	['Zo','Ma','Di','Woe','Do','Vr','Za'],
	dayNamesMinVal					:	['Zo','Ma','Di','Wo','Do','Vr','Za'],
	fuseJTipDatepicker              :   function(objData) {
        WAX.arrEvents = objData.arrEvents;
		if(objData.classIsEvent!=null) 			WAX.classIsEvent = objData.classIsEvent;
		if(objData.idEventPrefix!=null)			WAX.idEventPrefix = objData.idEventPrefix;
		if(objData.jTipWidth!=null)				WAX.jTipWidth = objData.jTipWidth;
		if(objData.minDateVal!=null)			WAX.minDateVal = objData.minDateVal;
		if(objData.maxDateVal!=null)			WAX.maxDateVal = objData.maxDateVal;
		if(objData.monthNamesVal!=null)			WAX.monthNamesVal = objData.monthNamesVal;
		if(objData.monthNamesShortVal!=null)	WAX.monthNamesShortVal = objData.monthNamesShortVal;
		if(objData.dayNamesVal!=null)			WAX.dayNamesVal = objData.dayNamesVal;
		if(objData.dayNamesShortVal!=null)		WAX.dayNamesShortVal = objData.dayNamesShortVal;
		if(objData.dayNamesMinVal!=null)		WAX.dayNamesMinVal = objData.dayNamesMinVal;
		WAX.executeDatepicker();
    },
	loadLinkage						:	function() {
		/*$("td."+WAX.classIsEvent+" a").bind('click',function(){
			window.location=this.href;
		});*/
	},
	extendFunctions					:	function() {
		/*$("td."+WAX.classIsEvent+" a").attr("rel", function (arr) {
		   var id = this.parentNode.id.split(" ");
		   $(this).addClass('jTip');
		   $(this).attr({id:'jtip'+id[0]});
		   $(this).attr({href:$('#link_'+id[0]).text()});
		   return '#overlay_'+WAX.idEventPrefix+id[0];
		});
		JT_init(WAX.jTipWidth);*/
	},
	executeDatepicker				:	function() {
		$('#calendar').datepicker({
			minDate: WAX.minDateVal,
			maxDate: WAX.maxDateVal,
			monthNames: WAX.monthNamesVal,
			monthNamesShort: WAX.monthNamesShortVal,
			dayNames: WAX.dayNamesVal,
			dayNamesShort: WAX.dayNamesShortVal,
			dayNamesMin: WAX.dayNamesMinVal,
			dayStatus: 'DD',
			dateStatus: 'D, M d',
			dateFormat: 'dd.mm.yy',
			firstDay: 1,
			beforeShowDay: function(date) {
				for (i = 0; i < WAX.arrEvents.length; i++) {
				  if (date.getMonth() == WAX.arrEvents[i][0] - 1 && date.getDate() == WAX.arrEvents[i][1] && date.getFullYear() == WAX.arrEvents[i][2]) {
					return [false, WAX.classIsEvent];
				  	
				  }
				}
			  return [false, ''];
			},
			onChangeMonthYear: function(date) {
				setTimeout(function(){
					WAX.loadLinkage();
					WAX.extendFunctions();
				},200);
			}
		});	
	}
}