	
function textChanger_cb(result) {
	result = (unescape(result));
//    	alert('wynik: '+result);
    var result_array = result.split("~~|~~");
	    var result_text_split = result_array[0].split("#^#"); 
	    var result_js = result_array[0].split("#JS#"); 
	    
    if ( result_array[0] == 'Location' )
    {
    	document.location = result_array[1];
    } else {
    	if (result_text_split.length == 2){
    		document.getElementById(result_array[1]).innerHTML = result_text_split[0];
    		document.getElementById(result_array[1]+'_promo').innerHTML = result_text_split[1];
    	}
    	else{
    	 document.getElementById(result_array[1]).innerHTML = result_array[0];	
      }
    }
    
    var objChars = Array("<!--","-->");
    var objChRep = Array("","");
    for (var i = 1; i < result_js.length; i++) {
      result_js[i] = result_js[i].replace(objChars[i], objChRep[i]);
//          alert(result_js[i]);
      eval(result_js[i]);
    }
    //wlaczWarstwe("waitIcon","off");
    //setOrderValues();
}

/**
* Pobranie danych z AJAX i wyswietlenie CENY
*/
function parseFormGetTripPrice(cellID, roomID, transportID, maitenanceID, periodID) {
   
    //wlaczWarstwe("waitIcon","on",150,50,posYgrek);
    
    var transportVal;
    if (document.getElementById(transportID)) transportVal = document.getElementById(transportID).value; // czy nie jest transport własny
          
    var st = escape(document.getElementById(roomID).value) 
    		+ '~~|~~' + escape(transportVal) 
    		+ '~~|~~' + escape(document.getElementById(maitenanceID).value) 
    		+ '~~|~~' + escape(document.getElementById(periodID).value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_hotel_code').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_date_from').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_id_xml_file').value) 
    		+ '~~|~~' + cellID;
//              alert(st);
    document.getElementById(cellID).innerHTML = "<img height='16' width='16' src='images/schemat/throbber.gif'>";
    x_getPrice(st, textChanger_cb);
    
}

var event;
var posYgrek=0;
function setEvent(ev)
{
	//event = ev;	
	if (transDet = document.getElementById('room_description')) {
		if (transDet.style.top) posYgrek = transDet.style.top;
	}
	
}

function parseFormGetTripTransport(cellID, roomID, transportID, maitenanceID, periodID) {
    
    wlaczWarstwe("waitIcon","on",150,50);
    
    var transportVal;
    var departureSelect = document.getElementById(transportID);
    if ( !departureSelect ) return false;
    else transportVal = document.getElementById(transportID).value; // czy nie jest transport własny
    if ( transportVal.length < 1 ) return false;
    
    $sCell = cellID.split("#^#"); //explode("#^#", cellID);
  	$id_hotel_date = $sCell[0];
  	$transportType = $sCell[2];

    cellID = 'departure_details';
    
    var st = escape(transportVal) 
    		+ '~~|~~' + escape(document.getElementById(periodID).value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_hotel_code').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_date_from').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_id_xml_file').value) 
    		+ '~~|~~' + escape($transportType)
    		+ '~~|~~' + cellID;
    		
    document.getElementById('departure').innerHTML = departureSelect.options[departureSelect.selectedIndex].text;
    document.getElementById('departure_details').innerHTML = "<B>Wylot:</B><br><img height='16' width='16' src='images/schemat/throbber.gif'>";
    
    x_getTransport(st, textChanger_cb);
    
}

function parseFormGetTripRoom( cellID, roomSelectId ) {
	        
    var roomSelector = document.getElementById(roomSelectId);
    var st = escape(roomSelector.value) 
			          + '~~|~~' + escape(document.getElementById('ajax_hotel_code').value) 
              + '~~|~~' + escape(document.getElementById('ajax_id_xml_file').value) 
								+ '~~|~~' + cellID;
//        alert(st);
    document.getElementById(cellID).innerHTML = "<img height='16' width='16' src='images/schemat/throbber.gif'>";
    x_getRoomDescription(st, textChanger_cb);
}

function parseFormGetTripPricePromo(cellID, roomID, transportID, maitenanceID, periodID, promoValue) {
    wlaczWarstwe("waitIcon","on",150,50);
    var transportVal;
    if (document.getElementById(transportID)) transportVal = document.getElementById(transportID).value; // czy nie jest transport własny
    var st = escape(document.getElementById(roomID).value) 
    		+ '~~|~~' + escape(transportVal) 
    		+ '~~|~~' + escape(document.getElementById(maitenanceID).value) 
    		+ '~~|~~' + escape(document.getElementById(periodID).value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_hotel_code').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_date_from').value) 
    		+ '~~|~~' + escape(document.getElementById('ajax_id_xml_file').value) 
    		+ '~~|~~' + promoValue 
    		+ '~~|~~' + cellID;
          
    document.getElementById(cellID).innerHTML = "<img height='16' width='16' src='images/schemat/throbber.gif'>";
    x_getPricePromo(st, textChanger_cb);
    
}
/**
* Przekazanie danych do AJAX i dodanie pozycji do ulubionych
*/
function parseFormAddFavorite(cellID, idHoteldate) {
    
    var st = idHoteldate+ '~~|~~' + cellID;
          
    wlaczWarstwe("waitIcon","on",150,50);
    x_addFavorite(st, textChanger_cb);
    
}

function ajaxAddRouteFerry(cellID, Route) {
    
    var st = Route + '~~|~~' + cellID;
          
    x_addRouteFerry(st, textChanger_cb);
    
}

function ajaxAddRouteCharter(cellID, Route) {
    
    var st = Route + '~~|~~' + cellID;
          
    x_addRouteCharter(st, textChanger_cb);
    
}

var editCellHeight = 0;
function setEditCellHeight( el )
{
	editCellHeight = el+"px";
}

var ie4 = (document.all)? true:false;

function editCell(id, cellSpan) {
    var inputWidth = ( document.getElementById(id).offsetWidth );
    var inputHeight = ( document.getElementById(id).style.height );
    
    if ( inputHeight == '' )
    {
    	if ( editCellHeight != '' )
    	{
    		inputHeight = editCellHeight;	
    	} else {
    		inputHeight = "40px";        		
    	}
    }
    
    var oldCellSpan = cellSpan.innerHTML;
    
    //alert(oldCellSpan);
    oldCellSpan = escape(oldCellSpan);
    var objChars = Array('%0D%0A');
    var objChRep = Array("");
    for (var i = 0; i < objChars.length; i++) {
    	while (oldCellSpan.match(objChars[i])) 
    	{ 
    		
    		oldCellSpan = oldCellSpan.replace(objChars[i], objChRep[i]); 
    	}	
    }
    oldCellSpan = unescape(oldCellSpan);
    //alert(oldCellSpan);
	
    var objChars = Array("<br>\n","<BR>\n",'<BR>','<br>','&nbsp;');
    var objChRep = Array("\n","\n","\n","\n",'');
    for (var i = 0; i < objChars.length; i++) {
    	while (oldCellSpan.match(objChars[i])) 
    	{ 
    		
    		oldCellSpan = oldCellSpan.replace(objChars[i], objChRep[i]); 
    	}	
    }
    
    /*var objChars = Array("\n");
    if ( ie4 == false )
    {
    	var objMozilla = Array("\n");
    	for (var i = 0; i < objMozilla.length; i++) {
    		while (oldCellSpan.match(objMozilla[i])) { oldCellSpan = oldCellSpan.replace(objMozilla[i], ''); }	
    	}
    }*/

    document.getElementById(id).innerHTML = "<form name=\"activeForm\" onsubmit=\"parseForm('"+id+"', '"+id+"input');return false;\" style=\"margin:0;\" action=\"\"><TEXTAREA ROWS=\"2\" class=\"editBox\" id=\""+id+"input\" size=\""+ inputWidth + "\" onblur=\"parseForm('"+id+"', '"+id+"input');return false;\" style=\"width:100%;height:"+inputHeight+"\"></TEXTAREA><br /><noscript><input value=\"OK\" type=\"submit\"></noscript></form>";
    document.getElementById(id+"input").value = oldCellSpan;
    document.getElementById(id+"input").className = 'editBox';
//        document.getElementById(id+"input").select();
    document.getElementById(id+"input").focus();
}

function sajaxGetTripPrice(id) {

    parseFormGetTripPrice( id, id+"_room", id+"_transport", id+"_maitenance", id+"_period" );

}
function sajaxGetTripTransport(id) {
    parseFormGetTripTransport( id, id+"_room", id+"_transport", id+"_maitenance", id+"_period" );

}

function setRoomDescription(id,idSelectRoom) {

    parseFormGetTripRoom( id, idSelectRoom );

}

function sajaxGetTripPricePromo(id, promoValue) {

    parseFormGetTripPricePromo( id, id+"_room", id+"_transport", id+"_maitenance", id+"_period", promoValue );

}
    
function bgSwitch(ac, td, col) {
    if (ac == 'on'){
        td.style.background = '#ffc';
    } else if (ac == 'off' && !col){
        td.style.background = '#FFFFFF';            
    }  else if (ac == 'off' && col){
        td.style.background = col;            
    }
}    

function sajaxGetTripPriceAll(id) {
    parseFormGetTripPriceAll( id, id+"_room", id+"_transport", id+"_maitenance" );
}
/**
* Pobranie danych z AJAX i wyswietlenie CEN
*/
function parseFormGetTripPriceAll(cellID, roomID, transportID, maitenanceID) {
    var transportVal;
    if (document.getElementById(transportID)) transportVal = document.getElementById(transportID).value; // czy nie jest transport własny
    var st = escape(document.getElementById(roomID).value) + '~~|~~' + escape(transportVal) + '~~|~~' + escape(document.getElementById(maitenanceID).value) + '~~|~~' + cellID;
          
    document.getElementById(cellID).innerHTML = "<BR><DIV class='ajax_working'>AJAX &nbsp;&nbsp;<IMG SRC='images/schemat/throbber.gif' WIDTH='16' HEIGHT='16' BORDER='0' ALT='AJAX'>&nbsp; working...</DIV><BR><DIV class='update'>Pobieram dane...</DIV>";
    x_getPriceForAll(st, textChanger_cb);
}

function krajAjax(result){
	result = (unescape(result));
    var result_array = result.split("~~|~~");
	document.getElementById(result_array[1]).innerHTML = result_array[0];
}

var aCountryIndex = 0;
	var aCountryAjax = new Array(); 
	aCountryAjax[0] = "kraj_ajax_egipt";  
	aCountryAjax[1] = "kraj_ajax_tunezja";
	aCountryAjax[2] = "kraj_ajax_wlochy";
	aCountryAjax[3] = "kraj_ajax_turcja";
	aCountryAjax[4] = "kraj_ajax_grecja";

	function ajaxThumbsLoad()
	{
		var st;
		 for(i=0; i<aCountryAjax.length;i++){
		 	st = escape(document.getElementById('tourOp_'+aCountryAjax[i]).value) + '~~|~~' + escape(document.getElementById('hotelCode_'+aCountryAjax[i]).value) + '~~|~~' + aCountryAjax[i];
		 	x_ajaxThumbTop3(st, krajAjax);
		 }
	}

	function insertDescToTrip(result){
  result = (unescape(result));
  var result_array = result.split("~~|~~");
  document.getElementById(result_array[3]).innerHTML = result_array[1]+""+result_array[2];	  
	}

	function insertPriceValue(result){
	    result = (unescape(result));
	    var result_array = result.split("~~|~~");
	    document.getElementById(result_array[1]).innerHTML = result_array[0];	  
	    document.getElementById('kat_'+result_array[1]).innerHTML = '';	  
	    if (result_array[2] != '') { // inne dane 
	      document.getElementById(result_array[3]).innerHTML = result_array[2];
	    }
	}

	function insertDescTransport(result){
	    result = (unescape(result));
	    var result_array = result.split("~~|~~");
	    if (result_array[1] == 'AUTOKAR'){    
	      document.getElementById(result_array[2]).innerHTML = '<IMG SRC="images/schemat/bus.gif" WIDTH="25" HEIGHT="18" BORDER="0" ALT="autokar">';	  
	      document.getElementById(result_array[3]).innerHTML = 'AUTOKAR';	  
	    }
	    else if (result_array[0] == 'SAMOLOT'){
	      document.getElementById(result_array[2]).innerHTML = '<IMG SRC="images/schemat/plain.gif" WIDTH="20" HEIGHT="20" BORDER="0" ALT="samolot">';
	      document.getElementById(result_array[3]).innerHTML = 'SAMOLOT';
	    }
	}

	function insertDeparture(result){
	    result = (unescape(result));
	    var result_array = result.split("~~|~~");
	      document.getElementById(result_array[1]).innerHTML = 'Miejsce wyjazdu/wylotu: '+result_array[0];	  
	}
	
	function ajaxAddDescTransport(tripID, transportID, cellID, cellFullID){
	  var st;
	 	st = escape(tripID) + '~~|~~' + escape(transportID) + '~~|~~' + cellID + '~~|~~' + cellFullID;
	 	x_addDescTransport(st, insertDescTransport);
	}

	function insertPromoValue(result){
  result = (unescape(result));
  var result_array = result.split("~~|~~");
    if (document.getElementById(result_array[1])) document.getElementById(result_array[1]).innerHTML = result_array[0];	  
    if (document.getElementById('kat_'+result_array[1])) document.getElementById('kat_'+result_array[1]).innerHTML = '';	  
	}
	
	function ajaxCheckPromoValue(tripID, price, currency, cellID){
	  var st;
	 	st = escape(tripID) + '~~|~~' + escape(price) + '~~|~~' + escape(currency) + '~~|~~' + cellID;
	 	x_checkPromoValue(st, insertPromoValue);
	}
	function ajaxAddDeparture(departureCode, cellID){
	  var st;
	 	st = escape(departureCode) + '~~|~~' + cellID;
	 	x_addDeparture(st, insertDeparture);
	}

function messageHotelRanking(result){

}

function messageReservationStatus(result){

}
function insertBannerTableText(result){
    result = (unescape(result));
    var result_array = result.split("~~|~~");
    document.getElementById(result_array[1]).innerHTML = result_array[0];	  
}

function ajaxAddHotelRanking(idClient, hotelCode, touroperatorID, rankingType){
  var st;
 	st = escape(idClient) + '~~|~~' + escape(hotelCode) + '~~|~~' + escape(touroperatorID) + '~~|~~' + escape(rankingType);
 	x_addHotelRanking(st, messageHotelRanking);
}

function ajaxUpdateReservationStatus(statusID, idReservation){
  var st;
 	st = escape(statusID) + '~~|~~' + escape(idReservation);
 	x_updateReservationStatus(st, messageReservationStatus);
}		

function ajaxUpdateReservationNumber(rsvNumber, idReservation){
  var st;
 	st = escape(rsvNumber) + '~~|~~' + escape(idReservation);
 	x_updateReservationNumber(st, messageReservationStatus);
}
	
function insertPeriodAndPrice(result){
	result = (unescape(result));
	var result_array = result.split("~~|~~");
	document.getElementById(result_array[1]).innerHTML = result_array[0];	  
}

function ajaxGetPeriodAndPrice(hotelDateID, cellID){
    var waitFor = document.getElementById("priceWaitFor");
    if (!waitFor) return false;
    try {
    	priceWaitFor = document.getElementById(waitFor.value);
    } catch (err) {
    	//alert(err.description);
    }
    if (!priceWaitFor) {
 	 window.setTimeout("ajaxGetPeriodAndPrice('"+hotelDateID+"','"+cellID+"')",  500);
 	} else {
	  var st;
	 	st = escape(hotelDateID) + '~~|~~' + cellID;
 	    x_getPriceAndPeriod(st, insertPeriodAndPrice);
 	}
}	
	
function ajaxGetBannerTable(bannerName, bannerClass, bannerLinkClass, cellID){
    var st;
 	st = escape(bannerName) + '~~|~~' + escape(bannerClass) + '~~|~~' + escape(bannerLinkClass) + '~~|~~' + cellID;
 	x_getBannerText(st, insertBannerTableText);
}	
  
/*function ajaxGetBannerTableWithTemplate(bannerName, id_main_page_header, image_src, template_name, cellID){
    var st;
    st = escape(bannerName) + '~~|~~' + escape(id_main_page_header) + '~~|~~' + escape(image_src) + '~~|~~' + escape(template_name) + '~~|~~' + cellID;
    x_getBannerTextWithTemplate(st, insertBannerTableText);
}*/

function rejsyCountryList() {
    var disable = true;
    
    if (document.getElementById('rejsy_pl')) { // odznaczenie checkboxa REJSY
        if (!document.getElementById('rejsy_pl').checked) {
            disable = false;
        }
    }
		
		if (document.getElementById('rejsy_pl').checked) {
			$('rejsy_search_td_label_1').show();
			$('rejsy_search_td_select_1').show();
			$('rejsy_search_td_label_2').show();
			$('rejsy_search_td_select_2').show();			
			$('trips_search_button').hide();
			$('voyagers_search_button').show();
		} else {
			$('rejsy_search_td_label_1').hide();
			$('rejsy_search_td_select_1').hide();
			$('rejsy_search_td_label_2').hide();
			$('rejsy_search_td_select_2').hide();
			$('trips_search_button').show();
			$('voyagers_search_button').hide();		
		}
    
    clearForm(); // wyczyść wszystkie pola formularza
    new Effect.BlindUp(document.getElementById('searchDetails'), {duration:0.5}); // schowaj zaawansowane
    
    // wstaw puste selektory
    var inner = '<SELECT SIZE="1" class="formSearch" style="width:140px;background:#F0F0F0" DISABLED><OPTION VALUE="">dowolny</OPTION></SELECT>';
    setInnerAndDisable( 'td_region', inner, disable );
    setInnerAndDisable( 'td_hotel_name', inner, disable );
    setInnerAndDisable( 'select_departures', inner, disable );
    
    // wyczysc selektory i pola
    inner = '';
	setValueAndDisable( 'country', inner, disable );
    setValueAndDisable( 'region', inner, disable );
    setValueAndDisable( 'period', inner, disable );
	setValueAndDisable( 'calendarInputFrom', inner, disable );
	setValueAndDisable( 'calendarInputTo', inner, disable );
    setValueAndDisable( 'transport', inner, disable );
    setValueAndDisable( 'maintenance', inner, disable );
    setValueAndDisable( 'typ_oferty', inner, disable );
    setValueAndDisable( 'udogodnienia', inner, disable );
    setValueAndDisable( 'hotel_name', inner, disable );
    setValueAndDisable( 'hotel_standard', inner, disable );
    setValueAndDisable( 'departures_city_list', inner, disable );
    setValueAndDisable( 'price_from', inner, disable );
    setValueAndDisable( 'price_to', inner, disable );
    setValueAndDisable( 'hotel_room', inner, disable );
    setValueAndDisable( 'spec_offer', inner, disable );
    setValueAndDisable( 'hotels_list', inner, disable );
    setValueAndDisable( 'hotel_city', inner, disable );
    
    if (document.getElementById('lastminute')) { // odznacz
        document.getElementById('lastminute').checked = false;
        document.getElementById('lastminute').disabled = disable;
    }
    if (!disable) {
        window.location.reload();
        return;
    }
    
    var tdRegionRejsu = document.getElementById('td_region_rejsu');
    tdRegionRejsu.innerHTML = '<IMG src="images/schemat/throbber.gif" width="16" height="16">';
    var tdTerminRejsu = document.getElementById('td_termin_rejsu');
    tdTerminRejsu.innerHTML = '<IMG src="images/schemat/throbber.gif" width="16" height="16">';    
    // tutaj akcja AJAX do ładowania krajów rejsów
		new Ajax.Updater('td_region_rejsu', 'ajax/voyager.php',
		  { method:'get',
		    parameters: {type: 'countries'}
		  });
			
		new Ajax.Updater('td_termin_rejsu', 'ajax/voyager.php',
		  { method:'get',
		    parameters: {type: 'terms'}
		  });			
}

function setInnerAndDisable( object_id, value, disable ) {
    if (!document.getElementById(object_id)) return false;
    document.getElementById(object_id).innerHTML = value;
}
function setValueAndDisable( object_id, value, disable ) {
    if ($(object_id) == null) return false;
    //alert(object_id + '\n' + value + '\n' + disable + '\n'+$(object_id));
    try {
	    $(object_id).innerHTML = value;
	    $(object_id).disabled = disable;
	    $(object_id).style["background"] = "#F0F0F0";
    } catch (err) {}
}