function confirm_delete(obj, text) {	
	table_mode = false;
	try {
		if (!obj) {
			throw(e);
		}
		i = 0;
		element = obj;
		tagName = 'tr';
		while (element.parentNode && (!element.tagName ||
			(element.tagName.toUpperCase() != tagName.toUpperCase())))
		{
			element = element.parentNode;
			if (i++ > 2) throw e;
		}
		
		Element.addClassName(element, 'toDelete');

		table_mode = true;
	}
	catch (e) {
		table_mode = false;
	}
	conf = confirm("Διαγραφή: \n" + text + "\n\nΕίστε βέβαιος;");
	if (table_mode) {
		Element.removeClassName(element, 'toDelete');
	}
	return conf;
}

window.onload = setup_page;


function setup_page() {
	// Date fields
	date_fields = document.getElementsByClassName('date_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		cal = document.createElement('img');

		cal.src = '' + APP_DIR + '/image/calendar.png';
		cal.id = date_fields[i].id + "_trigger";

		date_fields[i].size = '11'
		date_fields[i].style.padding = '2px;';
//		date_fields[i].style.paddingRight = '17px;';
		date_fields[i].style.background = '#fff url( '+ APP_DIR + '/image/calendar.png) 99% 50% no-repeat';
		date_fields[i].style.border = "1px solid #bbb"

		Calendar.setup({
			inputField     :    date_fields[i].id,
			ifFormat       :    "%d/%m/%Y",
			button         :    date_fields[i].id + "_trigger",
			singleClick    :    true
		});
		date_fields[i].onblur = function () {
			if (this.value != '' && !this.value.match('^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$')) {
				
				this.value = '';
				alert('Η ημερομηνία δεν έχει σωστή μορφή');
				return false;
			}
		}
	}

	// Numeric fields
	date_fields = document.getElementsByClassName('numeric_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		date_fields[i].onkeydown = validateNumChar;
		date_fields[i].onblur = validateNumeric;
	}

	// Float fields
	date_fields = document.getElementsByClassName('float_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		date_fields[i].onkeydown = validateNumChar;
		date_fields[i].onblur = validateFloat;
	}

	try {
		$('loader').style.display = 'none';
	}
	catch (e) {
	}

	try {
		d = $$('.menu_img');
		if (d[0].offsetHeight < $('main').offsetHeight) {
			d[0].style.height = ($('main').offsetHeight-318) + 'px';
		}
	}
	catch (e) {
	}
}

function validateNumChar(e) {

	res = true;

	switch (e.which)
	{	
		case 9: res = true; break; // TAB
		case 39: res = true; break; // LEFT
		case 37: res = true; break; // RIGHT
		case 38: res = true; break; // UP
		case 40: res = true; break; // DOWN
		case 106: res = true; break; // F5
		
		case 48: res = true; break; // 0
		case 49: res = true; break; // 1
		case 50: res = true; break; // 2
		case 51: res = true; break; // 3
		case 52: res = true; break; // 4
		case 53: res = true; break; // 5
		case 54: res = true; break; // 6
		case 55: res = true; break; // 7
		case 56: res = true; break; // 8
		case 57: res = true; break; // 9

		case 188: this.value += '.'; res = false; break; // ,
		case 190: res = true; break; // .
		case 8: res = true; break; // del

		default: res = false;
	}

	return res;
}

function validateNumeric() {

	this.style.padding = "0px";

	if (this.value == '' || this.value.match('^[0-9]+$')) {
		this.style.border = "1px solid ActiveBorder";
		this.style.backgroundColor = "#fff";
		return;
	}

	this.style.border = "1px solid red";
	this.style.backgroundColor = "#fdd";

}

function validateFloat() {

	this.style.padding = "0px";

	if (this.value == '' || this.value.match('^[0-9]+[\.]{0,1}[0-9]+$') || this.value.match('^[0-9]+$')) {
		this.style.border = "1px solid ActiveBorder";
		this.style.backgroundColor = "#fff";
		return;
	}

	this.style.border = "1px solid red";
	this.style.backgroundColor = "#fdd";

}

function subRowPersons(){
	var num = parseInt($('num_persons').value);
	if (num > 1){
		$('num_persons').value = num - 1;

		$('rowNumPer').innerHTML = num - 1;

		var div_id = 'person_' + num;
		$(div_id).remove();
	}
}

function addRowPersons(){

	var new_num = parseInt($('num_persons').value) + 1;
	$('num_persons').value = new_num;

	var div_id = 'person_' + new_num;
	
	var div = new Element('div', {
		'id': div_id,
		'class': 'person'
	});
	
	var div_name = new Element('div', {
		'class': 'site_label1',
		'style': 'width: 15px;'
	});
	$(div_name).innerHTML = new_num + '. ';

	var div_name_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 140px;'
	});
	var input_text_name = new Element('input', {
		'type': 'text',
		'name': 'new_request[name][' + new_num + ']',
		'id': 'new_request[name]_' + new_num,
		'size': '10'
	});


	var div_surname_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 140px;'
	});
	var input_text_surname = new Element('input', {
		'type': 'text',
		'name': 'new_request[surname][' + new_num + ']',
		'id': 'new_request[surname]_' + new_num,
		'size': '10'
	});

	var div_age_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 140px;'
	});

	var select_age = new Element('select', {
		'name': 'new_request[age][' + new_num + ']',
		'id':'new_request[age]_' + new_num,
		'style': 'font-size: 8pt;'
	});
	
	for (k in people_age){
		var value = people_age[k];

		if (typeof(value) == 'string'){
			var option_age = new Element('option', {
				'value': k
			});
			option_age.innerHTML = value;
			select_age.insert(option_age);
		}
	}
	
	var div_sex = new Element('div', {
		'class': 'site_label1'
	});
	
	var div_sex_input = new Element('div', {
		'class': 'site_input1'
	});
	var radio_sex_1 = new Element('input', {
		'type': 'radio', 
		'name' : 'new_request[male_female][' + new_num + ']',
		'id' : 'new_request[male_female]_' + new_num + '_1',
		'value' : '1',
		'checked' : "CHECKED"
	});
	$(div_sex_input).insert(radio_sex_1);
	$(div_sex_input).insert('<label for="new_request[male_female]_' + new_num + '_1">' + words["male"] + '</label>');
	var radio_sex_2 = new Element('input', {
		'type': 'radio', 
		'name' : 'new_request[male_female][' + new_num + ']',
		'id' : 'new_request[male_female]_' + new_num + '_2',
		'value' : '2'
	});
	
	$(div_sex_input).insert('&nbsp;');
	$(div_sex_input).insert(radio_sex_2);
	$(div_sex_input).insert('<label for="new_request[male_female]_' + new_num + '_2">' + words["female"] + '</label>');
	
	$(div).insert(div_name);
	$(div_name_input).insert(input_text_name);
	$(div).insert(div_name_input);

	$(div_surname_input).insert(input_text_surname);
	$(div).insert(div_surname_input);

	$(div_age_input).insert(select_age);
	$(div).insert(div_age_input);
	
	$(div).insert(div_sex);
	$(div).insert(div_sex_input);

	$('people').insert(div);
	//$('people').insert('<br style="clear: left;"/>');

	$('rowNumPer').innerHTML = new_num;

}



function subRowVehicles(){
	var num = parseInt($('num_vehicles').value);
	$('num_vehicles').value = num - 1;

	$('rowNumVeh').innerHTML = num - 1;

	var div_id = 'vehicle_' + num;
	$(div_id).remove();
}

function addRowVehicles(){

	var new_num = parseInt($('num_vehicles').value) + 1;
	$('num_vehicles').value = new_num;

	var div_id = 'vehicle_' + new_num;
	
	var div = new Element('div', {
		'id': div_id,
		'class': 'vehicle'
	});
	
	var div_reg_num = new Element('div', {
		'class': 'site_label1',
		'style': 'width: 15px;'
	});
	$(div_reg_num).innerHTML += new_num + '. ';

	var div_reg_num_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 120px;'
	});
	var input_text_reg_num = new Element('input', {
		'type': 'text',
		'name': 'new_request[reg_num][' + new_num + ']',
		'id': 'new_request[reg_num]_' + new_num,
		'style': 'width: 100px;'
	});


	var div_length_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 100px;'
	});
	var input_text_length = new Element('input', {
		'type': 'text',
		'name': 'new_request[length][' + new_num + ']',
		'id': 'new_request[length]_' + new_num,
		'style': 'width: 50px;',
		'class': 'float_field'
	});

	var div_width_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 100px;'
	});
	var input_text_width = new Element('input', {
		'type': 'text',
		'name': 'new_request[width][' + new_num + ']',
		'id': 'new_request[width]_' + new_num,
		'style': 'width: 50px;',
		'class': 'float_field'
	});


	var div_height_input = new Element('div', {
		'class': 'site_input1',
		'style': 'width: 100px;'
	});
	var input_text_height = new Element('input', {
		'type': 'text',
		'name': 'new_request[height][' + new_num + ']',
		'id': 'new_request[height]_' + new_num,
		'style': 'width: 50px;',
		'class': 'float_field'
	});

	var div_type_input = new Element('div', {
		'class': 'site_input1'
	});

	var select_type = new Element('select', {
		'name': 'new_request[type][' + new_num + ']',
		'id':'new_request[type]_' + new_num,
		'style': 'font-size: 8pt;'
	});

	for (k in vehicle_type){
		var value = vehicle_type[k];

		if (typeof(value) == 'string'){
			var option_type = new Element('option', {
				'value': k
			});
			option_type.innerHTML = value;
			select_type.insert(option_type);
		}
	}
	
	$(div).insert(div_reg_num);
	$(div_reg_num_input).insert(input_text_reg_num);
	$(div).insert(div_reg_num_input);

	$(div_length_input).insert(input_text_length);
	$(div).insert(div_length_input);

	$(div_width_input).insert(input_text_width);
	$(div).insert(div_width_input);

	$(div_height_input).insert(input_text_height);
	$(div).insert(div_height_input);

	$(div_type_input).insert(select_type);
	$(div).insert(div_type_input);
	
	$('vehicles').insert(div);
//	$('vehicles').insert('<br style="clear: left;"/>');

	$('rowNumVeh').innerHTML = new_num;

}

function fill_cities(){
	var country = $('new_request_country_id').value;
	if (country != 0){
		if ($('city_select_div')){
			$('city_select_div').remove();
		}

		var city_select_div = new Element('div', {
			'id': 'city_select_div'
		});
		var select = new Element('select', {
			'name':'new_request[city_id]',
			'id':'new_request_city_id',
			'onchange':'fill_hotels()'
		});
		var option = new Element('option', {
			'value': 0
		});
		option.innerHTML = '';
		$(select).insert(option);
		for (k in cities[country]){
			var value = cities[country][k];
			if (typeof(value) == 'string'){
				var option = new Element('option', {
					'value':k
				});
				option.innerHTML = value;
				$(select).insert(option);
			}
		}
		$(city_select_div).insert(select);
		$('city_select').insert(city_select_div);
		$('city').style.display = '';
	} else {
		$('city_select_div').remove();
		$('city').style.display = 'none';

		$('hotel_select_div').remove();
		$('hotel').style.display = 'none';
	}
}
/*
function fill_hotels(){
	var city = $('new_request_city_id').value;

	if (city != 0){
		if ($('hotel_select_div')){
			$('hotel_select_div').remove();
		}

		var hotel_select_div = new Element('div', {
			'id': 'hotel_select_div'
		});
		var select = new Element('select', {
			'name':'new_request[hotel_id]',
			'id':'new_request_hotel_id'
		});
		var option = new Element('option', {
			'value': 0
		});
		option.innerHTML = '';
		$(select).insert(option);
		for (k in hotels[city]){
			var value = hotels[city][k];
			if (typeof(value) == 'string'){
				var option = new Element('option', {
					'value':k
				});
				option.innerHTML = value;
				$(select).insert(option);
			}
		}
		$(hotel_select_div).insert(select);
		$('hotel_select').insert(hotel_select_div);
		$('hotel').style.display = '';
	} else {
		$('hotel_select_div').remove();
		$('hotel').style.display = 'none';
	}
}
*/
/*
function fill_hotels(id){
	var city = $('new_request_city').value;
	if (city != ''){
		alert($('new_request_city').value);
		new Ajax.Request(APP_DIR + '/city/find_city/' + php_urlencode($('new_request_city').value) , {
			'onSuccess': createHotelSelect
		});
	} else {
		if ($('hotel_select_div')){
			$('hotel_select_div').remove();
			$('hotel').style.display = 'none';
		}
	}
}
*/

function createHotelDiv(id){
	var city = id;
	if (city != 0){

		new Ajax.Request(APP_DIR + '/hotel/search/' + city , {
			'onSuccess': createHotelDiv2
		});

	}
}
function createHotelDiv2(resp){
	var nancy2 = eval ( '(' + resp.responseText + ')' );
	if (nancy2.hotels){
		if ($('hotel_list_div')){
			$('hotel_list_div').remove();
		}

		var hotel_list_div = new Element('div', {
			'id': 'hotel_list_div'
		});

		var hotel_ul = new Element('ol', {
			'style': 'margin-left: 20px; margin-top:0; padding: 0'
		});

		for (k in nancy2.hotels){
			var value = nancy2.hotels[k];
			if (typeof(value) == 'string'){

				var hotel_li = new Element('li');

				var hotel_a = new Element('a', {
					'href': APP_DIR + '/hotel_reservation/view_hotel/' + k
				}).update(value);
				$(hotel_li).insert(hotel_a);;
				$(hotel_ul).insert(hotel_li);
			}
		}

		$(hotel_list_div).insert(hotel_ul);
		$('hotel_list').insert(hotel_list_div);
		$('hotel').style.display = '';
	} else {
		$('hotel_list_div').remove();
		$('hotel').style.display = 'none';
	}
	
}


function createHotelSelect(id){
	var city = id;
	if (city != 0){

		new Ajax.Request(APP_DIR + '/hotel/search/' + city , {
			'onSuccess': createHotelSelect2
		});

	}
}
function createHotelSelect2(resp){
	var nancy2 = eval ( '(' + resp.responseText + ')' );
	if (nancy2.hotels){
		if ($('hotel_select_div')){
			$('hotel_select_div').remove();
		}

		var hotel_select_div = new Element('div', {
			'id': 'hotel_select_div'
		});
		var select = new Element('select', {
			'name':'new_request[hotel_id]',
			'id':'new_request_hotel_id'
		});
		var option = new Element('option', {
			'value': 0
		});
		option.innerHTML = CHOOSE_HOTEL;
		$(select).insert(option);
		for (k in nancy2.hotels){
			var value = nancy2.hotels[k];
			if (typeof(value) == 'string'){
				var option = new Element('option', {
					'value':k
				});
				option.innerHTML = value;
				$(select).insert(option);
			}
		}
		$(hotel_select_div).insert(select);
		$('hotel_select').insert(hotel_select_div);
		$('hotel').style.display = '';
	} else {
		$('hotel_select_div').remove();
		$('hotel').style.display = 'none';
	}
	
}


function subPersons(){
	var num = parseInt($('num_persons').value);
	if (num > 1){
		$('num_persons').value = num - 1;

		$('rowNumPer').innerHTML = num - 1;
	}
}

function addPersons(){
	var new_num = parseInt($('num_persons').value) + 1;
	$('num_persons').value = new_num;

	$('rowNumPer').innerHTML = new_num;
}
