var cur_input_id = 0;
var cur_input_id_active = 1;

disable_past_dates = 1;
var disable_to_date = 0;
var days_short = new Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
var months_short = new Array(
		"Jan",
		"Feb",
		"Mar",
		"Apr",
		"May",
		"Jun",
		"Jul",
		"Aug",
		"Sep",
		"Oct",
		"Nov",
		"Dec"
		);

var months_full = new Array(
		"January",
		"February",
		"March",
		"April",
		"May",
		"June",
		"July",
		"August",
		"September",
		"October",
		"November",
		"December"
		);

var del = '-';
var today = 'Today';

function calendar_init(dpd) {

	disable_past_dates = dpd;
}

function get_td_class(d, d_today, d_selected) {

	var ret = 'td_date';
	
	if(d.getDay() == 6 || d.getDay() == 0) {
		ret = 'td_date_weekend';
	}
	if(d.getDate() == d_today.getDate() && d.getMonth() == d_today.getMonth() &&
			d.getFullYear() == d_today.getFullYear()) {
		ret = 'td_date_today';
	}
	if(d.getDate() == d_selected.getDate() && d.getMonth() == d_selected.getMonth() && 
			d.getFullYear() == d_selected.getFullYear()) {
		ret = 'td_date_selected';
	}

	return ret;
}

function get_td_class_w(w_d, w_d_today, w_d_selected) {

	var ret = 'td_date';
	
	if(w_d.getDay() == 6 || w_d.getDay() == 0) {
		ret = 'td_date_weekend';
	}
	if(w_d.getDate() == w_d_today.getDate() && w_d.getMonth() == w_d_today.getMonth() &&
			w_d.getFullYear() == w_d_today.getFullYear()) {
		ret = 'td_date_today';
	}
	if(w_d.getDate() == w_d_selected.getDate() && w_d.getMonth() == w_d_selected.getMonth() && 
			w_d.getFullYear() == w_d_selected.getFullYear()) {
		ret = 'td_date_selected';
	}

	return ret;
}

function calendar(div_id, input_id, month, year, ci, language) {

if(language == 'en'){
if(input_id == 'datefrom'){text = 'Pick Up Date';}
if(input_id == 'dateto'){text = 'Drop off Date';}
var before_today_onclick_text=' The pick up date is too soon! \\n Please, call: \\n Sofia:  +359 888 333 548 \\n Varna:  +359 887 205 813 \\n Burgas: +359 882 425 516 \\n UK number: +44 792 459 0474 \\n ';
}
if(language == 'bg'){
if(input_id == 'datefrom'){text = 'Дата Вземане';}
if(input_id == 'dateto'){text = 'Дата връщане';}
var before_today_onclick_text=' Датата на вземане е твърде скоро! \\n Моля, обадете се на: \\n София:  0888 333 548 \\n Варна:  0887 295 813 \\n Бургас: 0882 425 516 \\n ';
}
if(language == 'de'){
if(input_id == 'datefrom'){text = 'Mietdatum';}
if(input_id == 'dateto'){text = 'Rückgabedatum';}
var before_today_onclick_text=' Das Datum für die Abholung ist zu früh! \\n Bitten ruffen Sie uns an: \\n Sofia:  +359 888 333 548 \\n Varna:  +359 887 205 813 \\n Burgas: +359 882 425 516 \\n ';
}
if(language == 'ru'){
if(input_id == 'datefrom'){text = 'Дата Посадки';}
if(input_id == 'dateto'){text = 'Дата Высадки';}
var before_today_onclick_text=' The pick up date is too soon! \\n Please, call: \\n Sofia:  +359 888 333 548 \\n Varna:  +359 887 205 813 \\n Burgas: +359 882 425 516 \\n UK number: +44 792 459 0474 \\n';
}
if(language == 'es'){
if(input_id == 'datefrom'){text = 'Fecha de alquiler';}
if(input_id == 'dateto'){text = 'Fecha de devolución';}
var before_today_onclick_text=' La date de charge est trop tôt! \\n S\'il vous plaît, appelez le: \\n Sofia:  +359 888 333 548 \\n Varna:  +359 887 205 813 \\n Burgas: +359 882 425 516 \\n ';
}
if(language == 'fr'){
if(input_id == 'datefrom'){text = 'Date de prise en charge';}
if(input_id == 'dateto'){text = 'Date de retour';}
var before_today_onclick_text=' La fecha de recogida es demasiado pronto! \\n Por favor, llame al: \\n Sofia:  +359 888 333 548 \\n Varna:  +359 887 205 813 \\n Burgas: +359 882 425 516 \\n ';
}
//-------------------------------------------------------CALENDAR 1
	var input = document.getElementById(input_id);
	var d_today = new Date();
	var d_selected = new Date();

	var before_today_info=0;

	if(ci && input && input.value && input.value && input.value != "0000-00-00") {
		a = input.value.split(del);
		year = a[0];
		month= a[1];
		day = a[2];
		d_selected.setYear(year);
		d_selected.setDate(day);
		d_selected.setMonth(month-1);
	}else if(month==0 && year == 0){
		year = d_today.getFullYear();
		month= d_today.getMonth()+1;

		d_selected.setYear(0);
		d_selected.setDate(0);
		d_selected.setMonth(0);
	}


	if(month == 0) {
		year -= 1;
		month = 12;
	}
	if(month == 13) {
		year += 1;
		month = 1;
	}

	var d = new Date();

	d.setMinutes(0);
	d.setSeconds(0);
	d.setDate(1);
	d.setMonth(month-1);
	d.setYear(year);

	var cmonth = d.getMonth();
	
	var ret;

	var pmonth;
	var pyear;
	var nmonth;
	var nyear;
//---------------------------------------------------CALENDAR_2

	var w_input = document.getElementById(input_id);
	var w_d_today = new Date();
	var w_d_selected = new Date();


	if(ci && w_input && w_input.value && w_input.value && w_input.value != "0000-00-00") {
		w_a = w_input.value.split(del);
		year = w_a[0];
		month= w_a[1];
		w_day = w_a[2];
		w_d_selected.setYear(year);
		w_d_selected.setDate(w_day);
		w_d_selected.setMonth(month-1);
	}else if(month==0 && year == 0){
		w_year = w_d_today.getFullYear();
		w_month= w_d_today.getMonth()+1;

		w_d_selected.setYear(0);
		w_d_selected.setDate(0);
		w_d_selected.setMonth(0);
	}
	
	
	
	if(month == 0) {
		year -= 1;
		month = 12;
	}
	if(month == 13) {
		year += 1;
		month = 1;
	}
	
	var w_d = new Date();

	w_d.setMinutes(0);
	w_d.setSeconds(0);
	w_d.setDate(1);
	w_d.setMonth(month);
	w_d.setYear(year);

	var w_cmonth = w_d.getMonth();
	

	var w_ret;

	var w_pmonth;
	var w_pyear;
	var w_nmonth;
	var w_nyear;


	ret = '<span class="calendar_iframe"></span>';
	ret += '<table class="table_two">';
	ret += '<tr><td colspan="2" class="td_close" onmouseover="hover(this)" onmouseout="unhover(this)" onclick="hide_calendar(\''+input_id+'\')">'+text+'</td></tr>';

	
	ret += '<tr>';
	
	//-------------------------->>> CALENDAR 1 START
	ret += '<td valign="top">';
	
	ret += '<table class="table_calendar" border="0" cellspacing="0" cellpadding="0" bgcolor="#F8F8F8">';
	
	ret += '<tr>';
	
	month_aaa = d.getMonth();
	year_aaa  = d.getFullYear();
	
	if(month_aaa == 0){
	month_aaa = 12;
	year_aaa  = d.getFullYear()-1	
	}
	
		ret += '<td class="td_arrows_month" onmouseover="hover(this)" onmouseout="unhover(this)"   onclick="update_calendar(\''+div_id+'\', \''+input_id+'\','+(month_aaa-1)+', '+(year_aaa)+')"><</td>';
    ret += '<td class="td_year_month" colspan="5">' + months_full[d.getMonth()] + ', ' +d.getFullYear()+ '</td>';	
	
	
	ret += '</tr>';
	ret += '<tr>';
	for(i=0;i<7;i++) {
		ret += '<td class="td_weekdays">' + days_short[i] + '</td>';
	}

	for(w=0;w<6;w++) {
		ret += '<tr>';
		if(d.getDate() == 1) {
			for(i=d.getDay();i>1;i--) {
				ret += '<td/>';
			}
		}
		if(d.getDay() == 0) {
			for(i=0;i<6;i++)
				ret += '<td/>';
		}

		while(d.getDay() != 0) {
			

			var date = d.getDate();

			
			var month = d.getMonth()+1;
			var year = d.getFullYear();


			var tdclass = get_td_class(d, d_today, d_selected);
			
			if(date<10) 
				date = '0'+date;

			if(month<10)
				month = '0'+month;

			
			if(cmonth == d.getMonth()) {
				var before_today_info=before_today(d, input_id);
				if(before_today_info && disable_past_dates == 1) {
				//if(d.getYear() < d_today.getYear() || d.getMonth() < d_today.getMonth() || d.getDate() < d_today.getDate()) {
					if(before_today_info==2){
						before_today_onclick=' onclick="alert(\''+before_today_onclick_text+'\')" ';
					}else{
						before_today_onclick='';
					}
					tdclass = 'td_date_disabled';
					ret += '<td class="'+tdclass+'" '+before_today_onclick+'>' + d.getDate() + '</td>';
				}else{
					ret += '<td class="'+tdclass+'"  onmouseover="hover(this)" onmouseout="unhover(this)" onclick="';
					ret += 'set_date(\''+input_id+'\', \''+div_id+'\', \''+d.getFullYear()+del+(month)+del+date+'\')';
							ret += '">' + d.getDate() + '</td>';
							}
			}else{
				ret += '<td/>';
			}
			d.setDate(d.getDate()+1);
			
		}
		if(cmonth == d.getMonth()) {

			var date = d.getDate();

			var tdclass = get_td_class(d, d_today, d_selected);

			if(date<10) date = '0'+date;
			var month = d.getMonth()+1;
			if(month<10) month = '0'+month;
				
			if(before_today(d, input_id) && disable_past_dates == 1) {
				tdclass = 'td_date_disabled';
				ret += '<td class="'+tdclass+'">' + d.getDate() + '</td>';
			}else{
				ret += '<td class="'+tdclass+'"  onmouseover="hover(this)" onmouseout="unhover(this)" onclick="';
				ret += 'set_date(\''+input_id+'\', \''+div_id+'\', \''+d.getFullYear()+del+(month)+del+date+'\')';
				ret += '">' + d.getDate() + '</td>';
			}
		}else{
			ret += '<td/>';
		}
		

		d.setDate(d.getDate() + 1);	
		ret += '</tr>';
		if(cmonth != d.getMonth())
			break;
	}

	ret += '</tr>';

	ret += '</table>';
	
	ret += '</td>';
	//-----CALENDAR 1 END
	//--------------------------->>> CALENDAR 2 START
	
	month_aaa = w_d.getMonth();
	year_aaa  = w_d.getFullYear();
	
	if(month_aaa == 0){
	year_aaa           = w_d.getFullYear()+1;
	w_d.setYear(year_aaa)
	}

	
	ret += '<td valign="top">';
	
	ret += '<table class="table_calendar" border="0" cellspacing="0" cellpadding="0" bgcolor="#F8F8F8">';
	ret += '<tr>';
	ret += '<td/>';
	ret += '<td class="td_year_month" colspan="5">' + months_full[month_aaa] + ', ' +(year_aaa)+ '</td>';
	ret += '<td class="td_arrows_month"  onmouseover="hover(this)" onmouseout="unhover(this)" onclick="update_calendar(\''+div_id+'\', \''+input_id+'\','+(month_aaa+2)+', '+(year_aaa)+ ')">></td>';
	
	ret += '</tr>';
	
	ret += '<tr>';
	for(i=0;i<7;i++) {
		ret += '<td class="td_weekdays">' + days_short[i] + '</td>';
	}

	for(w=0;w<6;w++) {
		ret += '<tr>';
		if(w_d.getDate() == 1) {
			for(i=w_d.getDay();i>1;i--) {
				ret += '<td/>';
			}
		}
		if(w_d.getDay() == 0) {
			for(i=0;i<6;i++)
				ret += '<td/>';
		}

		while(w_d.getDay() != 0) {
			

			var date_2_2_2 = w_d.getDate();
			var month_2  = w_d.getMonth()+1;
			var year_2   = w_d.getFullYear()+1;
			
			var tdclass = get_td_class_w(w_d, w_d_today, w_d_selected);
			
			if(w_d.getDate()<10){ 
				date_2_2_3 = '0'+w_d.getDate();
			}else{
				date_2_2_3 = w_d.getDate();
				}
			if(month_2<10)
				month_2 = '0'+month_2;

			
			if(w_cmonth == w_d.getMonth()) {
				if(before_today(w_d, input_id) && disable_past_dates == 1) {
				//if(d.getYear() < d_today.getYear() || d.getMonth() < d_today.getMonth() || d.getDate() < d_today.getDate()) {
					tdclass = 'td_date_disabled';
					ret += '<td class="'+tdclass+'">' + w_d.getDate() + '</td>';
				}else{
					ret += '<td class="'+tdclass+'"  onmouseover="hover(this)" onmouseout="unhover(this)" onclick="';
					ret += 'set_date(\''+input_id+'\', \''+div_id+'\', \''+w_d.getFullYear()+del+(month_2)+del+(date_2_2_3)+'\')';
							ret += '">' + w_d.getDate() + '</td>';
							}
			}else{
				ret += '<td/>';
			}
			w_d.setDate(w_d.getDate()+1);
			
		}
		if(w_cmonth == w_d.getMonth()) {

			var w_date = w_d.getDate();

			var tdclass = get_td_class_w(w_d, w_d_today, w_d_selected);
				
			if(before_today(w_d, input_id) && disable_past_dates == 1) {
				tdclass = 'td_date_disabled';
				ret += '<td class="'+tdclass+'">' + w_d.getDate() + '</td>';
			}else{
			
			date_2_2_2 = w_d.getDate();
				
			if(w_d.getDate()<10) 
				date_2_2_2 = '0'+w_d.getDate();

			if(month_2<10)
				month_2 = month_2;
				
				if(date_2_2_2 == 1){
					month_2 = w_d.getMonth()+1;
					if(month_2<10){month_2 = '0' + month_2;}
					}
				
				ret += '<td class="'+tdclass+'"  onmouseover="hover(this)" onmouseout="unhover(this)" onclick="';
				ret += 'set_date(\''+input_id+'\', \''+div_id+'\', \''+w_d.getFullYear()+del+(month_2)+del+(date_2_2_2)+'\')';
				ret += '">' + w_d.getDate() + '</td>';
			}
		}else{
			ret += '<td/>';
		}
		

		w_d.setDate(w_d.getDate() + 1);	
		ret += '</tr>';
		if(w_cmonth != w_d.getMonth())
			break;
	}
	ret += '</tr>';

	ret += '</table>';
	
	ret += '</td>';
	//-----CALENDAR 2 END
	ret += '</tr>';
	ret += '</table>';
	
cur_input_id = input_id;
cur_input_id_active = 1;	
setTimeout('change_cur_input_id_active_onmouseout()', 10);

	return ret;
}

function change_cur_input_id_active_onmouseover(){

cur_input_id_active = 1;	

}

function change_cur_input_id_active_onmouseout(){

cur_input_id_active = 0;	

}

function set_date(input_id, div_id, date) {

	var div = document.getElementById(div_id);
	var input = document.getElementById(input_id);
	var hour;

	if(div && input) {
		div.style.display = (div.style.display == 'block') ? 'none' : 'block';
		input.value = date;
		if(input_id == 'datefrom') {
			// set hourfrom
			hour = document.getElementById('selectC');
			if(hour && hour.selectedIndex == "00:00") hour.selectedIndex = "11:00";
			input = document.getElementById('dateto');
			input_2 = document.getElementById('datefrom');
			
			//-------------------------------------->>> DOBAVENO OT TOTI ZA + 7 DNI NAPRED
			dateto 	= date.split('-');
			day     = parseInt(dateto[2]);	//day
			month   = parseInt(dateto[1]);	//month
			year    = parseInt(dateto[0]);	//year
			
			day += 7;
			
			if(dateto[2] == 8){day = 15;}
			if(dateto[2] == 9){day = 16;}
			if(dateto[1] == '09'){month = 9;}
			if(dateto[1] == '08'){month = 8;}
			
			var month_2=["0", "31", "28", "31", "30", "31", "30", "31", "30", "30", "31", "30", "31"];
			
			if(year %4 == 0){month[2] = month[2] + 1;}
			
			if(day > month_2[month]){
				day = (day - month_2[month]);
				month += 1;
				if(month >= 13){
				month = 1;
				year += 1;
				}
			}
			
			day_3   = '0'+day;
			month_3 = '0'+month;
			
			if(day_3.length == 3){
				day_3 = day;
				}


			if(month_3.length == 3){
				month_3 = month;
				}
			
			date_1 = year+'-'+month_3+'-'+day_3;
			
			if(input.value == false){ 
				input.value = date_1;
				disable_to_date = date;
			}
			else{
				dateto_1_1   = input_2.value.split('-');
				day_1_1      = dateto_1_1[2];  // Day
				month_1_1    = dateto_1_1[1];  // Month
				year_1_1     = dateto_1_1[0];  // Year
				
				dateto_2_2   = input.value.split('-');
				day_2_2      = dateto_2_2[2];  // Day
				month_2_2    = dateto_2_2[1];  // Month
				year_2_2     = dateto_2_2[0];  // Year
				
				sum_2 = year_2_2+month_2_2+day_2_2;
				sum_1 = year_1_1+month_1_1+day_1_1;
				
				sum_2 = parseInt(sum_2);
				sum_1 = parseInt(sum_1);
				
				//+'->'+sum_2+'<'+sum_1
				
				if(sum_2 < sum_1){
					
					input.value     = date;
					disable_to_date = date;	
				}
				else{
					disable_to_date = date;
				}
			
			}
			//<<<--------------------------------------
			
			//alert(disable_to_date);
		}else if(input_id == 'dateto') {
			// set hourto
			hour = document.getElementById('selectD');
			if(hour && hour.selectedIndex == "00:00") hour.selectedIndex = "11:00";
		}
	}

}
function go_today(input_id) {

	var div;

	div = document.getElementById('div_calendar');

	if(div) {
		div.innerHTML = calendar('div_calendar', input_id, 0, 0, 0);
	}
	
}

function update_calendar(div_id, input_id, month, year) {

	var div;
	var input;

	div = document.getElementById(div_id);

	if(div) {
		div.innerHTML = calendar(div_id, input_id, month, year, 0);
	}
}

function hide_calendar(input_id) {

	if(input_id=='x' && cur_input_id_active==1){
		return;
	}else if(cur_input_id!=0){
		input_id=cur_input_id;
		cur_input_id=0;
	}
	
	
	var parent;
	var input;
	var div;

	input = document.getElementById(input_id);
	if(input) {
		parent = input.parentNode;
		div = document.getElementById("div_calendar");
		if(div && parent) {
			parent.removeChild(div);
		}
	}
}

Date.prototype.addDays = function(days)
 {
     var dat = new Date(this.valueOf())
     dat.setDate(dat.getDate() + days);
     return dat;
 }

var dat = new Date()

function before_today(checkdate, input_id) {
	if(disable_to_date != 0 && input_id != 'datefrom') {
		//alert(disable_to_date);
		date_arr = Array();
		date_arr = disable_to_date.split('-');
		year = date_arr[0];
		month = date_arr[1];
		day = date_arr[2];
		d_today = new Date(year, month-1, day); 

		//alert(d_today.getDate());
	}else{
		d_today = new Date();
	}
	
	var tomorrow=dat.addDays(1);
	
	if(checkdate.getYear() == tomorrow.getYear() && checkdate.getMonth() == tomorrow.getMonth() && checkdate.getDate() == tomorrow.getDate()){
		return 2;
	}else if(checkdate.getYear() < d_today.getYear()) {
		return 1;
	}else if(checkdate.getYear() == d_today.getYear()) {
		if(checkdate.getMonth() < d_today.getMonth()) {
			return 1;
		}else if(checkdate.getMonth() == d_today.getMonth()) {
			if(checkdate.getDate() < d_today.getDate()+1) {
				return 1;
			}
		}

	}


	return 0;
}

function show_calendar(input_id,pTop,pLeft, language) {

	var input;
	var parent;
	var div;

	input = document.getElementById(input_id);
	if(input) {
		parent = input.parentNode;
		if(parent) {
			div = document.getElementById("div_calendar");
			if(!div) {
				div = document.createElement("div");
			}else{
				//parent.removeChild(div);
				//div = document.createElement("div");
			}

			div.id = "div_calendar";
			div.innerHTML = '<div onmouseover="change_cur_input_id_active_onmouseover()" onmouseout="change_cur_input_id_active_onmouseout()">'+calendar(div.id, input_id, 0, 0, 1, language)+'</div>';


			div.style.display = 'block';//(div.style.display == 'block') ? 'none' : 'block';
			div.style.position = 'absolute';
			div.style.zIndex = 10;

			parent.appendChild(div);
		}
	}
}


function hover(el) {

	el.className = el.className + "_hover";
}

function unhover(el) {

	var elclass = new String();
	
	elclass = el.className;
	
	elclass = elclass.substr(0, elclass.lastIndexOf("_") );
	el.className = elclass;
}

function popitup_info_aaa2(url) {
	newwindow=window.open(url,'name','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,left=270,top=100,width=665,height=581');
	if (window.focus) {newwindow.focus()}
	return false;
}
