$.extend(DateInput.DEFAULT_OPTS, {
	month_names: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
	short_day_names: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
	events: ['']
});

$.extend(DateInput.prototype, {
    moveMonthBy: function(amount) {
    	var oThis = this;
    
        var newMonth = new Date(
			this.currentMonth.getFullYear(),
			this.currentMonth.getMonth() + amount,
			this.currentMonth.getDate()
		);
		
		var	aNewDate = this.dateToString(newMonth).split(" ", 3),
			sMonth = aNewDate[1],
			sYear = aNewDate[2];
		
		if( typeof(CConfig.WWW) == 'string' ) {
			jQuery.ajax({
	   			type: "POST", 
	   			url: CConfig.WWW + "/index.php/ajax/get-calendar-events", 
	   			data: {month: sMonth, year: sYear, hl: 'en'}, 
	   			success: function(sRes) {
	   				var aRes = sRes.split('|||');
	   				oThis.events = aRes;
    				oThis.selectMonth(newMonth);
	   			}
	 		});
	 	}
    },
    
    selectDate: function(date) {
    	var oThis = this;
    	
		if (typeof(date) == "undefined") {
			var getDateVal = this.input.val();
			var theDateVal = '';
			
			getDateVal = getDateVal.split(' ');
			for(i=0;i<getDateVal.length;i++){
				if(getDateVal[i].length < 2){
					if(i == 0)
						theDateVal += '0'+getDateVal[i];
					else
						theDateVal += ' 0'+getDateVal[i];
				}
				else
					if(i == 0)
						theDateVal += getDateVal[i];
					else
						theDateVal += ' '+getDateVal[i];
			}
			
		  date = this.stringToDate(theDateVal);
		};
		if (!date) date = new Date();
		
		this.selectedDate = date;
		this.selectedDateString = this.dateToString(this.selectedDate);
		
		var	aNewDate = this.selectedDateString.split(" ", 3),
			sMonth = aNewDate[1],
			sYear = aNewDate[2];
		
		if( typeof(CConfig.WWW) == 'string' ) {
			jQuery.ajax({
	   			type: "POST", 
	   			url: CConfig.WWW + "/index.php/ajax/get-calendar-events", 
	   			data: {month: sMonth, year: sYear, hl: 'en'}, 
	   			success: function(sRes) {
    				//example: oThis.events = ['12 10 2010||http://localhost/estrada/index.php/pl/program/10,20,11,wydarzenie-estrady---1','22 10 2010|||http://localhost/estrada/index.php/pl/program/10,20,29,koncert-stinga-pl'];
	   				var aRes = sRes.split('|||');
	   				oThis.events = aRes;
    				oThis.selectMonth(oThis.selectedDate);
	   			}
	 		});
	 	}
	}
});

$('.frm').ready(function(){
	// validate signup form on keyup and submit
	$('.frm').validate({
		rules: {
			fi: {
				required: true,
				minlength: 3
			},
			fn: {
				required: true,
				minlength: 3
			},
			ft: {
				required: true,
				minlength: 7,
				digits: 7
			},
			fe: {
				required: true,
				email: true
			}
		},
		messages: {
			fi: {
				required: 'Type your name, please.',
				minlength: 'Your name can not be shorter than 3 characters'
			},
			fn: {
				required: 'Type your surname, please.',
				minlength: 'Your surname can not be shorter than 3 characters'
			},
			ft: {
				required: 'Type your phone number, please.',
				digits: 'Only numbers can be included in phone number',
				minlength: 'Phone number can not by shorter than 7 numbers'
			},
			fe: {
				required: 'Type your e-mail, please',
				email: 'Your e-mail is invalid'
			}
		}
	});
});
