var calendar, calendar2;
/*var canRefresh = true;*/
var canRefresh = true;
var timerID = false;
var ajax = null;
function init(d1, m1,y1, d2, m2, y2) {
	calendar = new Calendar('divCalendar');
	calendar.weekOffset = 1;
	calendar.outputFormat =	"%D/%M/%Y";
	if(arguments.length >= 3) 
	{
		calendar.setDate(d1, m1, y1);
	}
	calendar.onSelectDate =	function(date)
	{
		document.getElementById("date1").value = date;
	}
	document.getElementById("date1").value = calendar.getDate();
	calendar.setMinDate(); // current date if no arguments;
	calendar.draw();


	calendar2 = new	Calendar('divCalendar2');
	calendar2.outputFormat = "%D/%M/%Y";
	calendar2.weekOffset = 1;
	calendar2.onSelectDate = function(date)
	{
		document.getElementById("date2").value = date;
	}
	if(arguments.length == 6)
		calendar2.setDate(d2, m2, y2);
	else
		document.getElementById('divCalendar2').style.display = 'none';
	calendar2.setMinDate();
	calendar2.draw();

	document.getElementById("date2").value = calendar2.getDate();

	new AutoComplete([{ id:	'city1', align: "left bottom", url: 'ajax.citylist.php', minchars: 3 }, { id: 'city2', align: "left bottom", url: 'ajax.citylist.php', minchars: 3 } ]);
	document.getElementById("city1").focus();

/////
// creating childs table:
	var t =	document.getElementById('forcemajor');
	var cnt	= 0;
	for(var	i=0; i<	1; i++)	{
		row = t.insertRow(i);
		for(var	j=0; j<10; j++) 
		{
			cell = row.insertCell(j);

			var sel	= document.createElement("SELECT");
			sel.style.font = 'normal 11px tahoma';
			sel.style.visibility = 'hidden';

			cell.appendChild(sel);
			for(var	k=0; k<18; k++)
				sel.options[k+1] = new Option(k, k, false, false);
			sel.options[0] = new Option('ikä', '-1', false, true);

			for(var	k=0; k<18; k++)
				sel.options[k+1] = new Option(k.toString(), k.toString(), false, false);
			sel.id = "childs_" + cnt;
			cnt++;
		}
	}
}

function search(f)
{
	var p =	{ city1: f.city1.value,	city2: f.city2.value };
	for(var	i in p)	{
		if(p[i]	== 0 ||	p[i] ==	'') {
			alert("Fill mandatory fields.");
			return;
		}
	}
	if(f.city1.value == f.city2.value) {
		alert('Choose different cities');
		return false;
	}

	if(! f.oneway.checked && calendar.timestamp() >	calendar2.timestamp()) {
		alert("Tarkista lentopäivät. Paluulento ei voi olla ennen lähtöä.");
		return false;
	}
	
	p.date1	= f.date1.value;
	if(! f.oneway.checked) p.date2 = f.date2.value;

	if(f.daytime1.checked) p.daytime1 = 1;
	if(f.daytime2.checked) p.daytime2 = 1;
	if(f.daytime3.checked) p.daytime3 = 1;

	p.departure_date = f.dateType[0].checked ? 1: 0

	p.adults = f.adults.value;
	p.childs = [];
	p.direct_flight	= f.direct_flight.checked == true ? 1 :	0;
	for(var	i=0; i<	9; i++)
		if(document.getElementById('childs_' + i).style.visibility == 'visible')
				p.childs[i] = document.getElementById('childs_' + i).value;

	p.ref =	'search';
	
	/*document.write("aaaaaaaaaaaaaaaaaaaaaaa");*/

	ajaxSearch(p);
	canRefresh = false;
	document.getElementById('searchContainer').innerHTML = '';
	document.getElementById('pageNav').innerHTML = '';
	document.getElementById('searchMessage').style.display = 'block';
	document.getElementById('searchButton').disabled = true;
	document.getElementById('searchTotal').innerHTML = '';
	document.getElementById('searchButton').className = 'button'
	document.getElementById('sortOrder').style.visibility = 'hidden';
	document.getElementById('sortOrder').options.selectedIndex = 0;
}

function ajaxSearch(post)
{

	var params = { url: 'ajax.search.php', method: 'POST', handle: 'search', result: 'reqObject', onDataReady: onData }
	ajax = new ajax_request();

	if(post) ajax.setPostData(post);
	
	
//	alert(params);
	
	ajax.send(params);
}


function onData(xml)
{
//	alert(xml.responseText); //return;
//	alert(xml.responseXML); //return;
	
//	alert(xml.responseXML.getElementsByTagName("stopRefresh")); /// object html collection

//	alert(xml.responseXML.getElementsByTagName("stopRefresh")[0]);

	//alert(xml.responseXML.getElementsByTagName("ruoka")[0]);


	
	if( xml.responseXML.getElementsByTagName("data").length )
	{
	
	//alert ( "data ok, tehdaan muuttujat" );
	
	
		if( xml.responseXML.getElementsByTagName("data")[0].childNodes[0].nodeValue )
		{
			document.getElementById('searchContainer').innerHTML = '';
			var a =	document.createElement("DIV");
			a.innerHTML = xml.responseXML.getElementsByTagName("data")[0].childNodes[0].nodeValue;
			document.getElementById('searchContainer').appendChild(a);
		}


		var cFound = xml.responseXML.getElementsByTagName("totalFound")[0];
		if(cFound && cFound.childNodes[0].nodeValue)
		{
			var el = document.createTextNode("Hakutuloksia: " + cFound.childNodes[0].nodeValue );
			var el2	= document.getElementById('searchTotal').childNodes[0];
			if(el2)	document.getElementById('searchTotal').removeChild(el2);
			document.getElementById('searchTotal').appendChild(el);
		}
	}

	var nav	= xml.responseXML.getElementsByTagName("nav")[0];
	if(nav && nav.childNodes[0].nodeValue)
	{
		var a =	document.getElementById('pageNav');
		a.innerHTML = nav.childNodes[0].nodeValue;
	}


	var stop = xml.responseXML.getElementsByTagName("stopRefresh")[0];
	
	//var stop = "false";
	
	/////////////////////////////
	//alert ( stop );
	
	if(stop	&& stop.childNodes[0].nodeValue	== "false")
	{
	//alert ( "stop on false, loop 2 sek" );
		timerID	= setTimeout("ajaxSearch()", 2000);
		document.getElementById('searchButton').disabled = true;
	}
	else {
	
	//alert( xml.responseXML.getElementsByTagName("stopRefresh")[0] );
	
		document.getElementById('searchMessage').style.display = 'none';
		document.getElementById('searchButton').disabled = false;
		 //alert( xml.responseText ); // php error
	}

	var displayOrders = xml.responseXML.getElementsByTagName("displayOrders")[0];
	if(displayOrders && displayOrders.childNodes[0].nodeValue == 'true')
		document.getElementById('sortOrder').style.visibility = 'visible';
	canRefresh = true;
	if( document.getElementById('sortOrder').disabled == true) 
		document.getElementById('sortOrder').disabled = false;
}

function childsChanged(obj) {
	var min	= 0;
	var cnt	= 0;

	for(var	j = 0; j < 3; j++)
	for(var	i = 2; i >=0; i--) 
	{
		var x =	3 * j +	i

		if(cnt >= obj.value) document.getElementById("childs_" + x).style.visibility = 'hidden';
		else document.getElementById("childs_" + x).style.visibility = 'visible';
		cnt++;
	}
}

function onewayChanged(obj)
{
	if(obj.checked)	document.getElementById('divCalendar2').style.display = 'none';
	else document.getElementById('divCalendar2').style.display = 'block';
}

function search_gopage(pagenum)
{
	if( ! canRefresh ) return;
	document.getElementById('searchContainer').innerHTML = '';
	document.getElementById('searchMessage').style.display = 'block';
	var params = { url: 'ajax.search.php', method: 'POST', result: 'reqObject', onDataReady: onData }
	ajax = new ajax_request();
	var post = {pg:	pagenum};
	ajax.setPostData(post);
	ajax.send(params);
	canRefresh = false;
	document.getElementById('sortOrder').disabled = true;

}

function changeSortOrder(el)
{

	if( ! canRefresh ) return;
	var params = { url: 'ajax.search.php', method: 'POST', handle: 'search', result: 'reqObject', onDataReady: onData }
	ajax = new ajax_request();
	var p =	{order:	el.value, ref: 'change_order'};
	document.getElementById('searchContainer').innerHTML = '';
	document.getElementById('searchMessage').style.display = 'block';
	ajax.setPostData(p);
	ajax.send(params);
	canRefresh = false;
	el.disabled = true;
}


