jQuery(document).ready(function(){
    if(typeof(datepickerStartDateminDate) == "undefined")
        datepickerStartDateminDate = 1;
	jQuery("#datepicker_start_date").datepicker({
		minDate: datepickerStartDateminDate,
		dateFormat: 'dd.M.yy',
		defaultDate: '+3',
		onSelect: function(dateText, inst) {
			 var date_err_msg = dateRangeDone();
			 if(date_err_msg != '')
				jAlert(date_err_msg,"Kauas");
		 }

	});

	jQuery("#datepicker_end_date").datepicker
	({
		minDate: 1,
		dateFormat: 'dd.M.yy',
		defaultDate: '+18',
		onSelect: function(dateText, inst) {
			var date_err_msg = dateRangeDone();
			if(date_err_msg != '')
				jAlert(date_err_msg,"Kauas");
		}
	});
});

function getDateFormat(dat){
	var arr_dat = dat.split('-');
	var dat_time = new Date(arr_dat[0],(arr_dat[1] -1),arr_dat[2]);
	return dat_time;
}

function getDateFormatByMonthName(dat){
	var arr_dat = dat.split('.');
	var dat_time = new Date(arr_dat[2],jQuery.inArray(arr_dat[1],arr_default_month),arr_dat[0]);
	return dat_time;
}

function checkForm(fromEle,user_id){
	var err_msg = '';

	if(jQuery.trim(jQuery("#plan_name").val()) == ""){
		err_msg = 'Fill in the title';
	}else if(jQuery("#dateRangeCalendar").css('display') == 'block') {
		err_msg = dateRangeDone();
	}

	//err_msg = 'Fill in the trip note';

	var num_from = jQuery.trim(jQuery("#from").val());
	var num_to = jQuery.trim(jQuery("#to").val());
	if(num_from != '' && err_msg == ''){
		if(!/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(num_from))
			err_msg = 'Fill in the budget in valid format';
		else if(num_to == '')
			err_msg = 'Fill in the budget range';
		else if(num_to != ''){
			if(!/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(num_to))
				err_msg = 'Fill in the budget in valid format';
			if(err_msg == '' && parseInt(num_to) < parseInt(num_from))
				err_msg = 'Fill in the budget range in valid format';
		}
	}

	if(jQuery.trim(jQuery("#trip_note").val()) == '' && err_msg == ''){
		err_msg = 'Fill in the trip description';
	}else if(jQuery.trim(jQuery("#trip_category").val()) == "" && err_msg == '') {
		err_msg = 'Choose the category';
	}

	if(err_msg != '') {
		if(jQuery(".errmsg"))
			jQuery(".errmsg").remove();
		var err_container = jQuery("<div>");
		err_container.addClass("errmsg");
		err_container.html(err_msg);
		jQuery("#jsErr").append(err_container);
		return false;
	}else {
		if(jQuery(".errmsg"))
			jQuery(".errmsg").remove();
		//if(user_id != "")
			fromEle.submit();
		/*else {
			jQuery.post("/default/index", jQuery("#createplan").serialize(),
			function(data, textStatus){
				alert(data);
				if(data)
					jQuery.colorbox({href:"/login",height: 330,width: 485,iframe: true});
			},
			"html");
		}*/
	}
}

function dateRangeDone() {

	var return_val = '';
	var arr_month = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' );

	var start_date = new Date(jQuery("#datepicker_start_date").datepicker('getDate'));
	var end_date = new Date(jQuery("#datepicker_end_date").datepicker('getDate'));

	var start_val = Date.UTC(start_date.getFullYear(), start_date.getMonth(), start_date.getDate());
	var end_val = Date.UTC(end_date.getFullYear(), end_date.getMonth(), end_date.getDate());

	if(end_val >= start_val) {
		var day = (start_date.getDate() < 10) ? "0"+start_date.getDate() : start_date.getDate();
		jQuery("#start_date_trip").val( day +"."+ arr_month[start_date.getMonth()] +"."+start_date.getFullYear());

		var day = (end_date.getDate() < 10) ? "0"+end_date.getDate() : end_date.getDate();
		jQuery("#end_date_trip").val( day +"."+ arr_month[end_date.getMonth()] +"."+end_date.getFullYear());
	}
	else {
		return_val = "End date must be greater than start date";

		jQuery("#datepicker_end_date").datepicker('setDate', start_date);

		var day = (start_date.getDate() < 10) ? "0"+start_date.getDate() : start_date.getDate();
		jQuery("#start_date_trip").val( day +"."+ arr_month[start_date.getMonth()] +"."+start_date.getFullYear());
		jQuery("#end_date_trip").val( day +"."+ arr_month[start_date.getMonth()] +"."+start_date.getFullYear());
	}
	return return_val;
}

function dateRangeClick(){

	jQuery("#datepicker_start_date").datepicker( 'setDate', getDateFormatByMonthName(jQuery("#start_date_trip").val()));
	jQuery("#datepicker_end_date").datepicker( 'setDate', getDateFormatByMonthName(jQuery("#end_date_trip").val()));

	jQuery("#sliderCalendar").css('display','none');
	jQuery("#dateRangeDivLink").css('display','none');
	jQuery("#dateRangeCalendar").css('display','block');
}

function cancelDate() {

	var dateDiff_val = dateDiff();
	if(dateDiff_val == "yes"){
		jQuery("#sliderCalendar").css('display','block');
		jQuery("#dateRangeDivLink").css('display','block');
		jQuery("#dateRangeCalendar").css('display','none');
	}else
		jAlert("Duration is greater than 60 days so day slider will not display","Kauas");
}

function dateDiff(){

	var arr_month = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' );

	var end_date = new Date(jQuery("#datepicker_end_date").datepicker('getDate'));
	var day = (end_date.getDate() < 10) ? "0"+end_date.getDate() : end_date.getDate();
	jQuery("#end_date_trip").val( day +"."+ arr_month[end_date.getMonth()] +"."+end_date.getFullYear());

	var start_date = new Date(jQuery("#datepicker_start_date").datepicker('getDate'));
	var day = (start_date.getDate() < 10) ? "0"+start_date.getDate() : start_date.getDate();
	jQuery("#start_date_trip").val( day +"."+ arr_month[start_date.getMonth()] +"."+start_date.getFullYear());

	var new_plan_start_time = getDateFormatByMonthName(jQuery("#start_date_trip").val());
	var new_plan_end_time = getDateFormatByMonthName(jQuery("#end_date_trip").val());

	var ret = "yes";
	var one_day = 1000*60*60*24;
	var day_diff = new_plan_end_time.getTime() - new_plan_start_time.getTime();
	if(day_diff  > (one_day * 60))
		ret = "no";
	else{
		var day_array = new Array();
		var i = 0;
		var tmp_month = start_date.getMonth();
		var tmp_year = start_date.getFullYear();
		for(i =0 ; i< 3; i++) {
			day_array[i] = new Array(arr_month[tmp_month],tmp_year);
			if(tmp_month >= 11){
				tmp_month = 0;
				tmp_year++;
			}
			else {
				tmp_month++;
			}
		}
		setNextMonthDay(day_array,day,'slidervalnotchange');
		jQuery('#sliderDay').slider( 'values' , 0 , 0);
		jQuery('#sliderDay').slider( 'values' , 1 , Math.floor(day_diff/one_day));
		setMonthSlider(start_date.getFullYear(),start_date.getMonth());
		setUnbindDiv();
		setMonthSliderBackground();
		defaultSliderVal();
	}
	return ret;
}

function setMonthSlider(center_year, center_month_idx){
	var arr_month = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' );

	var center_div = Math.floor(eval(jQuery(".keval").size())/2);
	var center_month = arr_month[center_month_idx];
	
	//old
	//jQuery(".keval:eq("+center_div+")").attr('year', center_year);
	
	jQuery(".keval:eq("+center_div+")").html(center_month.toUpperCase() +"<br />"+ center_year);
	
	//old
	//jQuery(".keval:eq("+center_div+")").attr('month', center_month);
	
	//new
	jQuery(".keval:eq("+center_div+")").attr('id', center_month+'_'+center_year);

	var year = center_year;
	var month_idx = center_month_idx;

	for(i = (center_div -1); i >= 0; i--){
		month_idx--;
		if(month_idx < 0){
			month_idx = 11;
			year = year - 1;
		}
		month = arr_month[month_idx];
		
		//old
		//jQuery(".keval:eq("+i+")").attr('year', year);
		
		jQuery(".keval:eq("+i+")").html(month.toUpperCase() +"<br />"+ year);
		
		//old
		//jQuery(".keval:eq("+i+")").attr('month', month);
		
		//new
		jQuery(".keval:eq("+i+")").attr('id', month+'_'+year);
	}

	year = center_year;
	month_idx = center_month_idx;

	for(i = (center_div  + 1); i <= jQuery(".keval").size(); i++){
		month_idx++;
		if(month_idx > 11){
			month_idx = 0;
			year = year + 1;
		}
		month = arr_month[month_idx];
		
		//old
		//jQuery(".keval:eq("+i+")").attr('year', year);
		
		jQuery(".keval:eq("+i+")").html(month.toUpperCase() +"<br />"+ year);
		
		//old
		jQuery(".keval:eq("+i+")").attr('month', month);
		
		//new
		jQuery(".keval:eq("+i+")").attr('id', month+'_'+year);
	}
	newDivClick();
}

