var itour_dates = new Array();
var itour_hotels_selected = new Array();

function itour_HideColumn(id,display){
	var cols = document.getElementsByTagName('td');
	for(var c=0; c<cols.length; c++){
		if(cols[c].getAttribute('c') == id){
			cols[c].style.display = display; 
		}
	}
	cols = document.getElementsByTagName('th');
	for(var c=0; c<cols.length; c++){
		if(cols[c].getAttribute('c') == id){
			cols[c].style.display = display; 
		}
	}
}


function itour_checkDate()
{
	var date1 = document.getElementById('itour_date_start').value;
	var date2 = document.getElementById('itour_date_end').value;

	var d1 = date1.substr(0,2);
	var m1 = date1.substr(3,2);
	var y1 = date1.substr(6,4);

	var d2 = date2.substr(0,2);
	var m2 = date2.substr(3,2);
	var y2 = date2.substr(6,4);

	if(y1 > y2 || ( (y1==y2) && (m1 > m2) ) || ( (y1==y2) && (m1==m2) && (d1 > d2) ) ) {
		document.getElementById('itour_date_end').value=d1+'.'+m1+'.'+y1;
	}
}

function itour_getServices(formVars)
{
	var div = document.getElementById('itour_div_category');
	var categories = div.getElementsByTagName('input');
	for(var c = 0; c < categories.length; ++c) {
		var name = categories[c].getAttribute('name');
		if(!name) continue;
		if(name.substring(0,8) == 'service_') {
			if(categories[c].checked) {
				var v = new Object;
				v.name = name;
				v.value = '1';
				formVars.push(v);
			}
		}
	}
}	

function itour_getTransport(formVars)
{
	var div = document.getElementById('itour_div_transport');
	var categories = div.getElementsByTagName('input');
	for(var c = 0; c < categories.length; ++c) {
		var name = categories[c].getAttribute('name');
		if(!name) continue;
		if(name.substring(0,7) == 'trtype_') {
			if(categories[c].checked) {
				var v = new Object;
				v.name = name;
				v.value = '1';
				formVars.push(v);
			}
		}
	}
}	


function itour_getCategories(formVars)
{
	var div = document.getElementById('itour_div_category');
	var categories = div.getElementsByTagName('input');
	for(var c = 0; c < categories.length; ++c) {
		var name = categories[c].getAttribute('name');
		if(!name) continue;
		if(name.substring(0,9) == 'category_') {
			if(categories[c].checked) {
				var v = new Object;
				v.name = name;
				v.value = '1';
				formVars.push(v);
			}
		}
	}
}	

function itour_getCountries(formVars)
{
	var div = document.getElementById('itour_div_country');
	var countries = div.getElementsByTagName('input');
	for(var c = 0; c < countries.length; ++c) {
		var name = countries[c].getAttribute('name');
		if(!name) continue;
		if(name.substring(0,8) == 'country_') {
			if(countries[c].checked) {
				var v = new Object;
				v.name = name;
				v.value = '1';
				formVars.push(v);
			}
		}
	}
}	

function itour_getRegions(formVars)
{
	var div = document.getElementById('itour_div_region');
	var regions = div.getElementsByTagName('input');
	for(var r = 0; r < regions.length; ++r) {
		var name = regions[r].getAttribute('name');
		if(!name) continue;
		if(name.substring(0,7) == 'region_') {
			if(regions[r].checked) {
				var v = new Object;
				v.name = name;
				v.value = '1';
				formVars.push(v);
			}
		}
	}
}	

function itour_getHotelsSelected(formVars)
{
	for(var i in itour_hotels_selected) {
		var v = new Object;
		v.name = i;
		v.value = '1';
		formVars.push(v);
	}
}

function itour_changeDisp()
{
	var childs = document.getElementById('itour_childs').value;
	if(childs < 0) childs = 1;
	if(childs > 3) childs = 3;
	document.getElementById('itour_childs').value = childs;
	for(var i = 1; i <= childs; ++i)
		document.getElementById('itour_div_child' + i).style.display = 'block';
	for(var i = childs + 1; i <= 3; ++i) {
		var obj = document.getElementById('itour_div_child'+i);
		if(obj) obj.style.display = 'none';
	}
}

function onFormChange(what)
{
	var formVars = new Array();
	document.getElementById('itour_loading').style.display = 'block';
	document.getElementById('itour_results').innerHTML = '';
	if(what != 'hotel') {
		itour_hotels_selected = new Array();
	}

	itour_getRegions(formVars);
	itour_getCategories(formVars);
	itour_getHotelsSelected(formVars);
	var v = new Object;
	v.name = 'hotel';
	v.value = document.getElementById('itour_input_hotel').value;
	formVars.push(v);
	var operator = document.getElementById('itour_operator_id').value;
	var region = document.getElementById('from_region_id').value;
	var v = new Object;
	v.name = 'operator_id';
	v.value = operator;
	formVars.push(v);
	v = new Object;
	v.name = 'single_country';
	v.value ='1';
	formVars.push(v);
	v = new Object;
	v.name = 'country_' + document.getElementById('country_id').value;
	v.value ='1';
	formVars.push(v);
	v = new Object;
	v.name = 'from_region_id';
	v.value = region;
	formVars.push(v);
	v = new Object;
	v.name = 'change';
	v.value = what;
	formVars.push(v);
	postUrl('onChange.php', urlEncodeDict(formVars), true, execOnSuccess(itour_handleChange));
}

function onHotelChange(obj)
{
	if(obj.checked) {
		itour_hotels_selected[obj.name] = 1;
	} else {
		if(typeof(itour_hotels_selected[obj.name]) != 'undefined') {
			delete itour_hotels_selected[obj.name];
		}
	}
	onFormChange('hotel');
}

function itour_handleChange(req)
{
	document.getElementById('itour_loading').style.display = 'none';
	var div_category = document.getElementById('itour_div_category');
	var inputs = div_category.getElementsByTagName('input');
	for(r = 0; r < inputs.length; ++r) 
		inputs[r].disabled = false;

	var blocks = req.responseText.split('#');
	for(var i = 0; i < blocks.length; ++i) {
		var block = blocks[i].split('=');
		var html = block.slice(1).join('=');
		switch(block[0]) {
			case 'country':
				document.getElementById('itour_div_country').innerHTML = html;
				break;
			case 'from_region':
				document.getElementById('itour_div_from_region').innerHTML = html;
				break;
			case 'region':
				document.getElementById('itour_div_region').innerHTML = html;
				break;
			case 'hotel':
				document.getElementById('itour_div_hotel').innerHTML = html;
				break;
			case 'date':
				itour_dates = block[1].split('|');
				break;
			case 'service':
				services = block[1].split('|');
				for(r = 0; r < inputs.length; ++r) {
					name = inputs[r].getAttribute('name');
					if(!name) continue;
					if(name.substring(0,8) == 'service_') {
						inputs[r].disabled = true;
						for(x = 0; x < services.length; ++x)
							if(name.indexOf(services[x]) > 0) {
								inputs[r].disabled = false;
								break;
							}
					}
				}

				break;
		};
	}
}

function itour_handleSearch(req)
{
	document.getElementById('itour_loading').style.display = 'none';
	document.getElementById('itour_results').innerHTML = req.responseText;
}


function itour_getValue(formVars, id)
{
	var v = new Object;
	if(id.indexOf("itour_") != -1) v.name = id.substr(6); else
		v.name = id;
	v.value = document.getElementById(id).value;
	formVars.push(v);
}

function itour_getValueRadioBox(formVars, id, name)
{
	var e = document.getElementById(id);
	if(!e.checked) return;
	var v = new Object;
	v.name = name;
	v.value = e.value;
	formVars.push(v);
}

function itour_getValueCheckBox(formVars, id)
{
	var e = document.getElementById(id);
	if(!e.checked) return;
	var v = new Object;
	if(id.indexOf("itour_") != -1) v.name = id.substr(6); else
		v.name = id;
	v.value = '1';
	formVars.push(v);
}

function itour_search()
{
	if(document.getElementById('itour_new_window').checked) {
		return true;
	}
	var formVars = new Array();
	document.getElementById('itour_loading').style.display = 'block';

	itour_getRegions(formVars);
	itour_getCategories(formVars);
	itour_getHotelsSelected(formVars);
	itour_getServices(formVars);
	v = new Object;
	v.name = 'country_' + document.getElementById('country_id').value;
	v.value ='1';
	formVars.push(v);
	
	itour_getValue(formVars, 'itour_operator_id');
	itour_getValue(formVars, 'from_region_id');


	itour_getValue(formVars, 'itour_date_start'); itour_getValue(formVars, 'itour_date_end');
	itour_getValue(formVars, 'itour_price_start'); itour_getValue(formVars, 'itour_price_end');
	itour_getValue(formVars, 'itour_nights_start'); itour_getValue(formVars, 'itour_nights_end');
	
	itour_getValue(formVars, 'itour_adults'); itour_getValue(formVars, 'itour_childs'); itour_getValue(formVars, 'itour_child1'); itour_getValue(formVars, 'itour_child2'); itour_getValue(formVars, 'itour_child3');
	itour_getValue(formVars, 'itour_nres');	
	
	
	itour_getValueCheckBox(formVars, 'itour_transfer_included');
	
	itour_getValueRadioBox(formVars, 'itour_order1', 'order');
	itour_getValueRadioBox(formVars, 'itour_order2', 'order');

	v = new Object;
	v.name = 'ajax';
	v.value = '1';
	formVars.push(v);

	postUrl('search_results.php', urlEncodeDict(formVars), true, execOnSuccess(itour_handleSearch));
	return false;
}

function itour_changeSort(request_id, page, order)
{
	document.getElementById('itour_loading').style.display = 'block';
	var formVars = new Array();
	var v = new Object;
	v.name = 'request_id';
	v.value = request_id;
	formVars.push(v);
	var v = new Object;
	v.name = 'p';
	v.value = page;
	formVars.push(v);
	var v = new Object;
	v.name = 'o';
	v.value = order;
	formVars.push(v);
	var v = new Object;
	v.name = 'ajax';
	v.value = '1';
	formVars.push(v);
	postUrl('search_results.php', urlEncodeDict(formVars), true, execOnSuccess(itour_handleSearch));
}

function itour_pager(request_id, page)
{
	document.getElementById('itour_loading').style.display = 'block';
	var formVars = new Array();
	var v = new Object;
	v.name = 'request_id';
	v.value = request_id;
	formVars.push(v);
	var v = new Object;
	v.name = 'p';
	v.value = page;
	formVars.push(v);
	var v = new Object;
	v.name = 'ajax';
        v.value = '1';
	formVars.push(v);
	postUrl('search_results.php', urlEncodeDict(formVars), true, execOnSuccess(itour_handleSearch));
}

function itour_onload()
{
	onFormChange('operator');
	itour_changeDisp();
}

