Event.observe(window, 'load', function() { 	 
	setupObservers();
});

function expandNode(node){
	var nodesNrArr = node.split("_");
	var nodeNr = nodesNrArr[1];
 
	if($('cminmax_' + (nodeNr)).src == "http://www.flygresor.se/images/iconsmallexpandminus.gif"){
		$('cminmax_' + (nodeNr)).src = "http://www.flygresor.se/images/iconsmallexpandplus.gif"
	}else{
		$('cminmax_' + (nodeNr)).src = "http://www.flygresor.se/images/iconsmallexpandminus.gif"
	}
	
	var coperator = ('coperator_' + (nodeNr));
	var cflightnr = ('cflightnr_' + (nodeNr));
	var ctime = ('ctime_' + (nodeNr));
	var h5 =  ('h5_' + (nodeNr));
	
	 	if($(coperator)!=null){
		if( $(coperator).match('tr#'+coperator + '.' + 'noshow')  ){ 
				$(coperator).removeClassName('noshow');
				new Effect.Highlight(coperator, { startcolor: '#ffff99',	endcolor: '#ffffff', restorecolor:true });
			}else{ 
				$(coperator).addClassName('noshow');
			}
	}
	
	if($(cflightnr)!=null){
		if( $(cflightnr).match('tr#'+cflightnr + '.' + 'noshow') ) { 
				$(cflightnr).removeClassName('noshow') ;
				new Effect.Highlight(cflightnr, { startcolor: '#ffff99',	endcolor: '#ffffff', restorecolor:true });
		}else{ 
				$(cflightnr).addClassName('noshow'); 
		};
		
	}
     
	
 	if($(ctime)!=null){
		if( $(ctime).match('tr#'+ctime + '.' + 'noshow')  ){ 
				$(ctime).removeClassName('noshow');
				new Effect.Highlight(ctime, { startcolor: '#ffff99',	endcolor: '#ffffff', restorecolor:true });
			}else{ 
				$(ctime).addClassName('noshow');
			}
	}	
	
 
		if( $(h5).match('h5#'+h5 + '.' + 'noshow')  ){ 
				$(h5).removeClassName('noshow');
				new Effect.Highlight(h5, { startcolor: '#ffff99',	endcolor: '#ffffff', restorecolor:true });
			}else{  
				$(h5).addClassName('noshow');
		 }
}


 
function setupObservers(){
	
 	//Event.observe(window, 'resize',  windowChanged  );
	// Event.observe(window, 'scroll',  windowChanged );
	//Event.observe(window, "resize", handleResize);

	//Event.observe(window, "scroll", keepInPlace('leftfilter'));
	
}

function middle(id){
	
	// get enviroment params
	var vpHeight = document.viewport.getHeight();
	var vpWidth = document.viewport.getWidth();
	var alertWidth = $(id).getWidth();
	var alertheight = $(id).getHeight();
  
	// align correctly
	$(id).style.left = ( (vpWidth/2)-(alertWidth/2) ) + document.viewport.getScrollOffsets().left  + "px";
	$(id).style.top = (vpHeight/2)-(alertheight/2) + document.viewport.getScrollOffsets().top + "px";

}

/**
 * this function is observed by several observers, like wimdow-scroll.. 
 * */
function windowChanged(){
	 setTimeout(adjustFilter ,200); // .5 sek wait makes it animate better
}


function adjustFilter(){
 
	/*
	var vpHeight = document.viewport.getHeight();
	var vpWidth = document.viewport.getWidth();
	var alertWidth = $(id).getWidth();
	var alertheight = $(id).getHeight();
	
	$(id).style.left = ( (vpWidth/2)-(alertWidth/2) ) + document.viewport.getScrollOffsets().left  + "px";
	$(id).style.top = (vpHeight/2)-(alertheight/2) + document.viewport.getScrollOffsets().top + "px";
	*/
		
	var vpHeight = document.viewport.getHeight();
	var scrollOffset = document.viewport.getScrollOffsets().top;
	
	// $('leftfilter').style.position = "absolute";
	// $('leftfilter').style.display = "none";
	// $('leftfilter').style.top = scrollOffset + "px";
	 
	 
	 if(scrollOffset > 164){
 
		 new Effect.Move('leftfilter', { x:0, y: scrollOffset-145 , mode: 'absolute' }); 
		 //console.log("x");
		 
	 }else{
		 $('leftfilter').style.top = "0" + "px";
	 }
 
	//console.log(scrolloffset);
	
}


function validateForm(){
	
 
	
	
	if(document.getElementById('fromCity').value == "" && document.getElementById('toCity').value == "" && document.getElementById('days').value == "" && document.getElementById('month').value == "")
	{
		//alert("Välj en av nedan alternativ!")
		window.location = "http://www.flygresor.se/sistaminuten.php";
		return false;
	}
	else{
		return true;
	}
}
function decode_utf8(s)
{
  return decodeURIComponent(escape(s));
}

function ajaxFilter() {
	var query = window.location.search;
		query = query.split('?')[1];
		var values = new Array();
		var values = query.split('&');
		var check = new Array();
		check = values[0].split('=');
		if(check[0] == 'fromCity' && check[1] !='')
		{
			loadListBox(check[1]);
		}
}
function loadListBox(fromCity){
	strContent    ="<label>Till:</label><select id='toCity' name='toCity' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('divTill').innerHTML = strContent;
	strContent    ="<label>Reslangd:</label> <select id='days' name='days' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('daylen-div').innerHTML = strContent;
	strContent    ="<label>Utresemanad:</label> <select id='month' name='month' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('month-div').innerHTML = strContent;	
		
	agent.call('','loadDropdown','loadList',fromCity);
	agent.call('','loadavailablelength','loaddays',fromCity);
	agent.call('','loadavailablemonth','loadmonth',fromCity);
	
}

/**
 * to list the available tocity based on the  from city
 * @param unknown_type $iata
 * @return unknown
 */
function loadList(str)
{
//	alert(str)
	var strContent = "";
	var selstr = "";
	var query = window.location.search;
	if(query != '')
	{
		query = query.split('?')[1];
		var values = new Array();
		var values = query.split('&');
		check = values[0].split('=');
		check1 = values[1].split('=');
	}
	document.getElementById('divTill').innerHTML = "";
	strContent +="<label>Till:</label><select id='toCity' name='toCity' class='selects' onchange='loadTravelLength(this.value)'><option value=''>Alla orter</option>";
//	alert(str)
	for(i=0;i<str.length;i++)
	{   if(query != "" && (document.getElementById('fromCity').value!="") && (document.getElementById('fromCity').value == check[1]))
		{
		if(str[i][0] == check1[1])
			var selstr = 'selected';
		else
			selstr ='';
		}
//		alert(str[i][2]);
		var strn =decode_utf8(str[i][2]);
		strContent +="<option value='"+str[i][0]+"' "+selstr+">"+str[i][1]+" , "+strn+"</option>";
	}
	strContent +="</select>";
		document.getElementById('divTill').innerHTML = strContent;
}

/**
 * to list the available travel length based on the  from city
 * @param unknown_type $iata
 * @return unknown
 */
function loaddays(str)
{
	var strContent = "";
	var selstr= '';
	var query = window.location.search;
	if(query != "")
	{
		query = query.split('?')[1]
		var values = new Array();
		var values = query.split('&');
		check = values[0].split('=');
		check1 = values[2].split('=');
		checkArr = check1[1].split('~');
	}
	document.getElementById('daylen-div').innerHTML = "";
	strContent +="<label>Reslangd:</label> <select id='days' name='days' class='selects' onchange='loadTravelMonth(this.value)'><option value=''>Alla reslangder</option>";
	for(i=0;i<str.length;i++)
	{	
		if(query != "" && (document.getElementById('fromCity').value!="") && (document.getElementById('fromCity').value == check[1]))
		{
		if(str[i][0] == checkArr[0] )
			var selstr = 'selected';
		else
			selstr ='';
		}
		if(str[i][0] == '1')
			strContent +="<option  value='1~4' "+selstr+">1-4 dagar</option>";
		if(str[i][0] == '5')
			strContent +="<option  value='5~10' "+selstr+">5-10 dagar</option>";
		if(str[i][0] == '11')
			strContent +="<option  value='11~17' "+selstr+">11-17 dagar</option>";
		if(str[i][0] == '18')
			strContent +="<option  value='18~' "+selstr+">18 dagar +</option>";
	}
	strContent +="</select>";
		document.getElementById('daylen-div').innerHTML = strContent;
}
/**
 * to list the available travel months based on the from city
 * @param unknown_type $iata
 * @return unknown
 */
function loadmonth(str)
{
	var strContent = "";
	var selstr= '';
	var query = window.location.search;
	if(query != "")
	{
		query = query.split('?')[1]
		var values = new Array();
		var values = query.split('&');
		check = values[0].split('=');
		check1 = values[3].split('=');
	}
	document.getElementById('month-div').innerHTML = "";
	strContent += "<label>Utresemanad:</label> <select id='month' name='month' class='selects'  ><option value=''>Alla manader</option>";
	for(i=0;i<str.length;i++)
	{
		if(query != "" && (document.getElementById('fromCity').value!="") && (document.getElementById('fromCity').value == check[1]))
		{
		if(str[i][0] == check1[1])
			var selstr = 'selected';
		else
			selstr ='';
		}
		strContent +="<option value='"+str[i][0]+"' "+selstr+">"+str[i][1]+"</option>";
	}
	strContent +="</select>";
		document.getElementById('month-div').innerHTML = strContent;
}

/**
 * to list the available travel length,travel months while changing to city
 * @param unknown_type $iata
 * @return unknown
 */
function loadTravelLength(toCity)
{
	strContent    ="<label>Reslangd:</label> <select id='days' name='days' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('daylen-div').innerHTML = strContent;
	strContent    ="<label>Utresemanad:</label> <select id='month' name='month' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('month-div').innerHTML = strContent;
	fmCity = document.getElementById('fromCity').value ;
	agent.call('','loadtravellistbox','loadtravellistbox',fmCity,toCity);
	agent.call('','loadtravelmonthlistbox','loadtravelmonthlistbox',fmCity,toCity);
}


/**
 * to list the available travel length based on the to city
 * @param unknown_type $iata
 * @return unknown
 */
function loadtravellistbox(str)
{
	var strContent = "";
	document.getElementById('daylen-div').innerHTML = "";
	strContent +="<label>Reslangd:</label> <select id='days' name='days' class='selects' onchange='loadTravelMonth(this.value)'><option value=''>Alla reslangder</option>";
	for(i=0;i<str.length;i++)
	{	
		if(str[i][0] == '1')
			strContent +="<option  value='1~4'>1-4 dagar</option>";
		if(str[i][0] == '5')
			strContent +="<option  value='5~10'>5-10 dagar</option>";
		if(str[i][0] == '11')
			strContent +="<option  value='11~17'>11-17 dagar</option>";
		if(str[i][0] == '18')
			strContent +="<option  value='18~'>18 dagar +</option>";
	}
	strContent +="</select>";
		document.getElementById('daylen-div').innerHTML = strContent;
}
/**
 * to list the available travel months based on the to city
 * @param unknown_type $iata
 * @return unknown
 */
function loadtravelmonthlistbox(str)
{
	var strContent = "";
	document.getElementById('month-div').innerHTML = "";
	strContent += "<label>Utresemanad:</label> <select id='month' name='month' class='selects'  ><option value=''>Alla manader</option>";
	for(i=0;i<str.length;i++)
	{
		strContent +="<option value='"+str[i][0]+"'>"+str[i][1]+"</option>";
	}
	strContent +="</select>";
		document.getElementById('month-div').innerHTML = strContent;
}
/**
 * to list the available travel months while changing travel length
 * @param unknown_type $iata
 * @return unknown
 */
function loadTravelMonth(daystr)
{
	strContent ="<label>Utresemanad:</label> <select id='month' name='month' class='selects' ><option value=''>"+'<img src="http://www.flygresor.se/images/38-0.gif" /> Laddar...</option>';	
	$('month-div').innerHTML = strContent;	
	fmCity = document.getElementById('fromCity').value ;
	toCity = document.getElementById('toCity').value ;
	agent.call('','loadtravelMonth','loadtravelMonth',fmCity,toCity,daystr);
}
/**
 * to list the available travel months based on the travel length
 * @param unknown_type $iata
 * @return unknown
 */
function loadtravelMonth(str)
{
	var strContent = "";
	document.getElementById('month-div').innerHTML = "";
	strContent += "<label>Utresemanad:</label> <select id='month' name='month' class='selects'  ><option value=''>Alla manader</option>";
	for(i=0;i<str.length;i++)
	{
		strContent +="<option value='"+str[i][0]+"'>"+str[i][1]+"</option>";
	}
	strContent +="</select>";
		document.getElementById('month-div').innerHTML = strContent;
}
/************ Ajax Fuunctions end *****************************/
