//pxl.nethotels.app.js
//author: 					Bjoern Sellnau @ PIXELTEX
//project:					PIXELTEX : nethotels Bookingmask Application
//description:	    this is the main file of the PXL Nethotels Application for Zuerich Tourism
//added:						09-12-2009
//modified:					21-03-2011
//version						0.11
//=====================================================

//*** NAMESPACES ***
	if(!pxl) var pxl={};
	if(!pxl.nethotels) pxl.nethotels={};
	if(!pxl.nethotels.zuerich) pxl.nethotels.zuerich={};
	
pxl.nethotels.zuerich.domain = document.URL.split("/")[2];

if(pxl.nethotels.zuerich.domain == 'www.zurigoturismo.com' || pxl.nethotels.zuerich.domain == 'zurigoturismo.com' ) {
	
	pxl.nethotels.zuerich.API_KEY = "ABQIAAAApbec27qYW982Rd3yiv25xxShnEXb4rwelDthqcVZlKrckEZslhSf4sWeJkyIcZD8bJ3sedKzppULZw";

} else {
	pxl.nethotels.zuerich.API_KEY = "ABQIAAAApbec27qYW982Rd3yiv25xxRaHdQafxKNjWnK2-ynIlihmNeWIBR6RElSaI3Cukr8Czm-ZeLzexK7tg";

}
//*** VARIABLES ***
//pxl.nethotels.zuerich.API_KEY = "ABQIAAAAgFXCoK8pnmempj_MEPK8PBRaHdQafxKNjWnK2-ynIlihmNeWIBSD3DfMQ2tc56cploKJIUFkbWBxew";		for zuerich.com domain
//pxl.nethotels.zuerich.API_KEY = "ABQIAAAApbec27qYW982Rd3yiv25xxRaHdQafxKNjWnK2-ynIlihmNeWIBR6RElSaI3Cukr8Czm-ZeLzexK7tg";		//for zuerich.com domain
pxl.nethotels.zuerich.COOKIE_ALIVE_TIME = 0;	//days of life for cookie.
pxl.nethotels.zuerich._currentStep = 0;
pxl.nethotels.zuerich._currentRegion = "ZTOP";
pxl.nethotels.zuerich._currentRegionId = 0;
pxl.nethotels.zuerich._ITEMS = new Array();
pxl.nethotels.zuerich.SHOW_LOADER_INTERVAL = 4000;
pxl.nethotels.zuerich.APP_LANGUAGE = '';
pxl.nethotels.zuerich.APP_RAWLANGUAGE = '';
pxl.nethotels.zuerich.APP_CLIENTID = 'zt';
pxl.nethotels.zuerich.APP_HTTP_HOST = '';
pxl.nethotels.zuerich.APP_PROMO_ID = '';
pxl.nethotels.zuerich.APP_PROVIDERS = '';
pxl.nethotels.zuerich.MAP_DIV = 'map';
pxl.nethotels.zuerich.UIenabled = true;
pxl.nethotels.zuerich.MouseWheelDisabled = true;
pxl.nethotels.zuerich._leaflet = new Array();
pxl.nethotels.zuerich.useScrollIntoView = false;
pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL = 12;	//13
pxl.nethotels.zuerich.RESULT_LIST_CACHE = undefined;
pxl.nethotels.zuerich.LEAFLET_UID = "";
pxl.nethotels.zuerich._about_to_delete = '';
pxl.nethotels.zuerich.translations = [];
pxl.nethotels.zuerich.formData = [];
pxl.nethotels.zuerich.dontShowLoadScreen = "";
pxl.nethotels.zuerich.SEARCH_FORM_URL = "index.cfm";
pxl.nethotels.zuerich.REGION = "";
pxl.nethotels.zuerich.LoadLeafletOnStartup = true;
//pxl.nethotels.zuerich.activeRow = undefined;

// for step4 'detail' 
pxl.nethotels.zuerich.HOTEL_LATITUDE = 0;
pxl.nethotels.zuerich.HOTEL_LONGITUDE = 0;

//this is a configurations object for the person-select-box in the search-form
//if you select a specific-value at the room-type-select-box the person-select-box will display a different number of persons to choose from
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG = {};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.ALL = 				{MIN:1,MAX:5};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.SINGLE = 			{MIN:1,MAX:1};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.DOUBLE = 			{MIN:1,MAX:2};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.BED = 				{MIN:1,MAX:3};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.STUDIO = 			{MIN:1,MAX:4};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.TRIPLE = 			{MIN:2,MAX:3};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.QUAD = 				{MIN:3,MAX:4};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.QUIN = 				{MIN:4,MAX:5};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.SUITE = 			{MIN:1,MAX:4};
pxl.nethotels.zuerich._ROOM_TYPE_CONFIG.JUNIORSUITE = {MIN:1,MAX:5};

//flags
pxl.nethotels.zuerich._RESULT_LIST_LOADED = false;
pxl.nethotels.zuerich._RESULT_LIST_EMPTY = false;

//default latitude and longitude
pxl.nethotels.zuerich.DEFAULT_LATITUDE = 47.375221//47.396955;
pxl.nethotels.zuerich.DEFAULT_LONGITUDE = 8.533201//8.545647;
pxl.nethotels.zuerich.DEFAULT_ZOOM = 14;

//latitude and longitude from zuerich
pxl.nethotels.zuerich.ZUERICH_LATITUDE = 47.375221//47.396955;
pxl.nethotels.zuerich.ZUERICH_LONGITUDE = 8.533201//8.545647;
pxl.nethotels.zuerich.ZUERICH_ZOOM = 14;

//latitude and longitude from baden
pxl.nethotels.zuerich.BADEN_LATITUDE = 47.476347;
pxl.nethotels.zuerich.BADEN_LONGITUDE = 8.311329;
pxl.nethotels.zuerich.BADEN_ZOOM = 15;

//latitude and longitude from lake of zuerich
pxl.nethotels.zuerich.LAKEZUERICH_LATITUDE = 47.286682;
pxl.nethotels.zuerich.LAKEZUERICH_LONGITUDE = 8.706665;
pxl.nethotels.zuerich.LAKEZUERICH_ZOOM = 11;

//latitude and longitude from winterthur
pxl.nethotels.zuerich.WINTERTHUR_LATITUDE = 47.500648;
pxl.nethotels.zuerich.WINTERTHUR_LONGITUDE = 8.723488;
pxl.nethotels.zuerich.WINTERTHUR_ZOOM = 15;

//TopHotels
pxl.nethotels.zuerich.TOPHOTEL_NETHOTELSID = "";
pxl.nethotels.zuerich.TOPHOTEL_GADMINID = "";
pxl.nethotels.zuerich.TOPHOTEL_NAME = "";
pxl.nethotels.zuerich.TOPHOTEL_TITLE = "";

//====================================================================================================
//*** METHODS ***
/*
	The Main Function to start this Application.
	@PARAM: the current step wich we are in.
	@PARAM: properties object with extra options to set.
*/
pxl.nethotels.zuerich.main = function(STEP,OPTIONS)
{
	//set current STEP
  pxl.nethotels.zuerich._currentStep = STEP;

	//set properties by STEP
  pxl.nethotels.zuerich.setPropertiesByStep(STEP,OPTIONS);

	//setup UI
	pxl.nethotels.zuerich.configureUIByStep(STEP);
	
	//start google api loader
	pxl.nethotels.zuerich.initLoader();
}

/*
	this sets additional Properties for each Step
*/
pxl.nethotels.zuerich.setPropertiesByStep = function(STEP,OPTIONS)
{
		pxl.nethotels.zuerich.APP_LANGUAGE = OPTIONS.language;
    pxl.nethotels.zuerich.LoadLeafletOnStartup = true;
   	pxl.nethotels.zuerich.LEAFLET_UID = (OPTIONS.uid)?OPTIONS.uid:'';
		
    if(STEP == 1)					//Search-Form
    {
			pxl.nethotels.zuerich.translations = OPTIONS.translations;
			pxl.nethotels.zuerich.REGION = OPTIONS.region;
			//---
      pxl.nethotels.zuerich.MAP_DIV = 'netGoogleMap';
      pxl.nethotels.zuerich.UIenabled = true;        
      pxl.nethotels.zuerich.useScrollIntoView = false;
      pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL = 14;
    }
    else if (STEP == 2)		//Search-Resultlist
    {
			pxl.nethotels.zuerich.APP_RAWLANGUAGE = OPTIONS.rawlanguage;
			pxl.nethotels.zuerich.translations = OPTIONS.translations;
    	pxl.nethotels.zuerich.formData = OPTIONS.formData;
			pxl.nethotels.zuerich.TOPHOTEL_NETHOTELSID = OPTIONS.tophotel_nethotelsId;
			pxl.nethotels.zuerich.TOPHOTEL_GADMINID = OPTIONS.tophotel_gadminId?OPTIONS.tophotel_gadminId:'';
			pxl.nethotels.zuerich.TOPHOTEL_NAME = OPTIONS.tophotel_name?OPTIONS.tophotel_name:'';
			pxl.nethotels.zuerich.TOPHOTEL_TITLE = OPTIONS.tophotel_title?OPTIONS.tophotel_title:'';
			pxl.nethotels.zuerich.dontShowLoadScreen = OPTIONS.dontShowLoadScreen;
			pxl.nethotels.zuerich.APP_PROMO_ID = (OPTIONS.promoid)?OPTIONS.promoid:'';
			pxl.nethotels.zuerich.APP_PROVIDERS = (OPTIONS.providers)?OPTIONS.providers:'';
			//---
	    pxl.nethotels.zuerich.MAP_DIV = 'netGoogleMap';
    } 
    else if (STEP == 3)		//Favourites-List
    {
			pxl.nethotels.zuerich.translations = OPTIONS.translations;
    	pxl.nethotels.zuerich.formData = OPTIONS.formData;
			//---
	    pxl.nethotels.zuerich.MAP_DIV = 'netGoogleMap';
      pxl.nethotels.zuerich.LoadLeafletOnStartup = false;
    } 
    else if (STEP == 4)		//Hotel Detail
    {
   		pxl.nethotels.zuerich.HOTEL_LATITUDE = (OPTIONS.hotelLatitude)?OPTIONS.hotelLatitude:0;
   		pxl.nethotels.zuerich.HOTEL_LONGITUDE = (OPTIONS.hotelLongitude)?OPTIONS.hotelLongitude:0;
			//---  
      pxl.nethotels.zuerich.MAP_DIV = 'netBox1';
      pxl.nethotels.zuerich.UIenabled = true;
      pxl.nethotels.zuerich.useScrollIntoView = false;
      pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL = 15;
    }
}

/*
	this sets configurations for the UI for each Step
*/
pxl.nethotels.zuerich.configureUIByStep = function(STEP)
{
    
    if(STEP == 1)					//Search-Form
    {
    	//noResults Bar Close button
    	jQuery('#netNoResultsBarClose').click(function()
    	{
    		jQuery(this).parent().slideUp();
    		return false;
    	})
    
    	//room-type-selector
    	jQuery('#roomType-input').change(function()
    	{

    		//skip if value of this is 'ALL'
    		if(jQuery(this).val() == 'ALL'){return false}

    	//alert(jQuery(this).val())
    		var $personSelector = jQuery('.netperson');
    		var rooms = jQuery('.netrooms').val();
    		
    		var newPersonsMin = pxl.nethotels.zuerich._ROOM_TYPE_CONFIG[jQuery(this).val()].MIN;
    		var newPersonsMax = pxl.nethotels.zuerich._ROOM_TYPE_CONFIG[jQuery(this).val()].MAX;
    	
    		if(window.console){
    		window.console.log('netroom',newPersonsMin,newPersonsMax
    			
    		)};
    		
    		newPersonsMax = newPersonsMax * rooms;
    		jQuery('#netMinPersons').val(newPersonsMin);
    		jQuery('#netMaxPersons').val(newPersonsMax);
   		   		  		
				//remove elements from person-selector
				/*
				var PS = $personSelector.get(0);
				while (PS.hasChildNodes())
				{
					PS.removeChild(PS.firstChild);
				}*/
				
				//create new options for the person-select-box
				/*
				for(var optionsToMake=newPersonsMin;optionsToMake<=newPersonsMax;optionsToMake++)
				{
					$personSelector.append('<option value="'+optionsToMake+'">'+optionsToMake+'</options>');
				}
				*/
				
			    		
    	})
    	//rooms-selector
    	jQuery('.netrooms').change(function()
    	{
    		//skip if value of this is 'ALL'
    		if(jQuery(this).val() == 'ALL'){return false}

    	//alert(jQuery(this).val())
    		var $personSelector = jQuery('.netperson');
    		var rooms = jQuery(this).val();
    		
    		var newPersonsMin = pxl.nethotels.zuerich._ROOM_TYPE_CONFIG[jQuery('.netroomtype').val()].MIN;
    		var newPersonsMax = pxl.nethotels.zuerich._ROOM_TYPE_CONFIG[jQuery('.netroomtype').val()].MAX;
    		
    		newPersonsMax = newPersonsMax * rooms;
    		jQuery('#netMinPersons').val(newPersonsMin);
    		jQuery('#netMaxPersons').val(newPersonsMax);
   		
				//remove elements from person-selector
				var PS = $personSelector.get(0);
				var INDEX = $personSelector.val();
				while (PS.hasChildNodes())
				{
					PS.removeChild(PS.firstChild);
				}
				
				//create new options for the person-select-box
				for(var optionsToMake=newPersonsMin;optionsToMake<=newPersonsMax;optionsToMake++)
				{
					if(INDEX == optionsToMake)
					{
						$personSelector.append('<option selected="selected" value="'+optionsToMake+'">'+optionsToMake+'</options>');					
					}
					else
					{
						$personSelector.append('<option value="'+optionsToMake+'">'+optionsToMake+'</options>');					
					}
				}
				
			    		
    	})
    	
			jQuery('#m_map_search area').hover(function()
			{
				var old = jQuery('.region-map-image').attr('src');
				
				var $el = jQuery(this);
				
				var KEYWORD = $el.attr('href').substring($el.attr('href').indexOf('region=')+7);
				
			  jQuery('.region-map-image').attr('src','images/'+pxl.nethotels.zuerich.APP_LANGUAGE+'/map_'+KEYWORD+'.gif');
			  jQuery('.region-map-image').attr('rel',old);			  
			},
			function()
			{
			  if(!jQuery(this).hasClass('active'))
			  {
					if(jQuery('.region-map-image').attr('rel') != "")
					{
				    jQuery('.region-map-image').attr('src', jQuery('.region-map-image').attr('rel'));
				    jQuery('.region-map-image').attr('rel','');				       
					} else {
			    	jQuery('.region-map-image').attr('src','images/map.gif');   					
					}
			  }
			}).click(function()
			{
				var $el = jQuery(this);
				var KEYWORD = $el.attr('href').substring($el.attr('href').indexOf('region=')+7);

				if(KEYWORD == "ZUG")
				{
    			window.open("http://www.zug-tourismus.ch/de/bookingengines/hotels.cfm");
    			return false;				
				}
			  jQuery('#m_map_search area.active').removeClass('active');
			  jQuery('.region-map-image').attr('src','images/'+pxl.nethotels.zuerich.APP_LANGUAGE+'/map_'+KEYWORD+'.gif');
			  jQuery(this).addClass('active');     

    		pxl.nethotels.zuerich.removeMarkers();
    		jQuery('#netRegionSelector').val(KEYWORD);
    		pxl.nethotels.zuerich.getRegionResultData(KEYWORD);
    		return false;
			})    	
    
			//start search
			jQuery('.netSubmit').click(function()
			{  
				//*** configure ui ***      
				jQuery('#netLoadScreen').css('display','block');
			
				//advanced search is active.
			  if(jQuery('#netMoreCritBox').css('display') == 'block')
				{
			     jQuery('#netLoadScreen').css('top','-170px'); 
			     jQuery('.netBlackScreen').css('height','595px');
			  } else {
			  //advanced search is inactive.
			     jQuery('#netLoadScreen').css('top','0px');             
			     jQuery('.netBlackScreen').css('height','425px');
			  }
			
				var d1 = jQuery(".netInput[name=checkin]").datepicker('getDate');
				var d2 = jQuery(".netInput[name=checkout]").datepicker('getDate');
				jQuery('.netcheckin').val(d1.getDate()+"."+(d1.getMonth()+1)+"."+d1.getFullYear());
				jQuery('.netcheckout').val(d2.getDate()+"."+(d2.getMonth()+1)+"."+d2.getFullYear());
				
				
				jQuery('#netMinRating').val(jQuery('select[name=minStarRating]').val());
				
				
				document.getElementById('hotelSearchForm').submit();
	      return false;
			});
			
			//start search for all hotels
			jQuery('.netAllHotelsLink').click(function()
			{
					var d1 = jQuery(".netInput[name=checkin]").datepicker('getDate');
					var d2 = jQuery(".netInput[name=checkout]").datepicker('getDate');
					jQuery('.netcheckin').val(d1.getDate()+"."+(d1.getMonth()+1)+"."+d1.getFullYear());
					jQuery('.netcheckout').val(d2.getDate()+"."+(d2.getMonth()+1)+"."+d2.getFullYear());

					jQuery('.netmodefield').val('allhotels');
				document.getElementById('hotelSearchForm').submit();
				return false;
		
			})

	    //erweitere suche einblenden.    
			jQuery('#netMoreCritLink').click(function() {
				jQuery('#netMoreCritBox').slideToggle("fast", function() {
					jQuery('#netMoreCritLink').toggleClass('netMinusLink').toggleClass('netPlusLink');
				});
				return false;
			})

		
		jQuery("#netCal input").datepicker({
			dateFormat: 'dd.mm.yy',
			minDate: 0,
			showOn: "both",
			buttonImage: "/img/layout/hotel-kalender-bg.gif",
			buttonImageOnly: true,
			onSelect: function (dateText, inst) {
				setBookDate(dateText,"checkin");
			}
		});
		
		
		// DatePicker für anreise.
			jQuery(".netInput[name=checkin]").datepicker({ minDate: '-0y -0m -0d',
			    onSelect: function(dateText, inst) 
			    {
			        var dateString = '';
			        var today = new Date();
			        var date = new Date(inst.currentYear, inst.currentMonth++, inst.currentDay);

					   	var milli_d1 = date.getTime();
  					 	var milli_d2 = today.getTime();
   		 				var diff = milli_d1 - milli_d2;
		 					var num_days = Math.floor((((diff / 1000) / 60) / 60) / 24)+1;
        			var dateString = '';
        			num_days++;
        			dateString += '+'+num_days+'d'; 
			        			  
			        var finalDateText = (inst.currentDay++)+'.'+inst.currentMonth+'.'+inst.currentYear          
			        jQuery(".netInput[name=checkout]").val(finalDateText).datepicker('option', 'minDate', dateString); 
			    },
			  	dateFormat: 'dd.mm.yy',
					minDate: 0,
					showOn: "both",
					buttonImage: "/img/layout/hotel-kalender-bg.gif",
					buttonImageOnly: true
			  });
			  
				var v = jQuery(".netInput[name=checkin]").val();
 				var rawDateText = v.split('.');
        var today = new Date();
	      var date = new Date(rawDateText[2], (rawDateText[1]-1), rawDateText[0]);

		   	var milli_d1 = date.getTime();
  		 	var milli_d2 = today.getTime();
   		 	var diff = milli_d1 - milli_d2;
		 		var num_days = Math.floor((((diff / 1000) / 60) / 60) / 24)+1;
        var dateString = '';
        dateString += '+'+num_days+'d'; 

      //if(window.console){window.console.log(dateString)};

				jQuery(".netInput[name=checkin]").datepicker('setDate', dateString);   
			
		// DatePicker für abreise.
			jQuery(".netInput[name=checkout]").datepicker({ 
				dateFormat: 'dd.mm.yy',
				minDate: 0,
				showOn: "both",
				buttonImage: "/img/layout/hotel-kalender-bg.gif",
				buttonImageOnly: true
			});
			
			var v2 = jQuery(".netInput[name=checkout]").val();
      //if(window.console){window.console.log(v2)};
			var rawDateText2 = v2.split('.');
      var today2 = new Date();

			//jahr - monat - tag
      var date2 = new Date(rawDateText2[2], (rawDateText2[1]-1), rawDateText2[0]);

	   var milli_d12 = date2.getTime();
  	 var milli_d22 = today2.getTime();
   	 var diff2 = milli_d12 - milli_d22;
		 var num_days2 = Math.floor((((diff2 / 1000) / 60) / 60) / 24)+1;


      var dateString2 = '';
      dateString2 += '+'+num_days2+'d'; 
			jQuery(".netInput[name=checkout]").datepicker('setDate', dateString2);   
      //if(window.console){window.console.log(dateString2)};

			// ========================================================================================================================
			// *** STAR-RATING ***
			// ========================================================================================================================
			
			//variable declaration
			var $ratingStars = jQuery('.netStarRating');
			var $ratingBox = jQuery('.netStars');
		
			//create divs for star-rating
			$ratingStars.each(function(idx)
			{
			    var ind = Number(idx);
			    ind++;
		
			    $ratingDiv = jQuery('<div class="netratingstar" rel="'+ind+'">&nbsp;</div>');
			    var checkedRadioId = jQuery('.netStarRating[checked]').val();
			    jQuery('.netStars').attr('rel',checkedRadioId);
					$ratingDiv.removeClass('netStarOn');
								
			
			    if(jQuery(this).attr('checked') || jQuery(this).val() <= checkedRadioId)
			    {
			        $ratingDiv.addClass('netStarOn');
			    } else {
			        $ratingDiv.removeClass('netStarOn');
			    }
			
		    	if(($ratingBox != jQuery(this).val() && jQuery(this).attr('checked')))
		    	jQuery

			
			    $ratingDiv.insertBefore(jQuery(this));
			    jQuery(this).css('display','none');
			})
			
			//star-rating hover & click event
			jQuery('.netratingstar').hover(function()
			{
			        var checkedId = jQuery(this).attr('rel');
			     jQuery('.netratingstar').each(function()
			    {
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        } else {
			             jQuery(this).removeClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        }
			    })    
			},
			function()
			{
			     jQuery('.netratingstar').each(function()
			    {
			        var checkedId = jQuery('.netStars').attr('rel');
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        } else {
			             jQuery(this).removeClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        }
			    })
			}).click(function()
			{
			     jQuery('.netStars').attr('rel',jQuery(this).attr('rel'));
			     jQuery('.netStarRating[value='+jQuery(this).attr('rel')+']').attr('checked','checked');
			
			     jQuery('.netratingstar').each(function()
			    {
			        var checkedId = jQuery('.netStars').attr('rel');
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        } else {
			             jQuery(this).removeClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        }
			    })
			})

			//star-rating special -- the no star option
			jQuery('a.netStarRatingNostar').hover(function()
			{
			     var checkedId = 0;
			     jQuery('.netratingstar').each(function()
			    {
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        } else {
			             jQuery(this).removeClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        }
			    })    
			},
			function()
			{
	
			     jQuery('.netratingstar').each(function()
			    {
			        var checkedId = jQuery('.netStars').attr('rel');
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        } else {
			             jQuery(this).removeClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        }
			    })
			}).click(function()
			{
				jQuery('.netStars').attr('rel',0);
				
			      var checkedId = jQuery(this).attr('rel');
			     jQuery('.netratingstar').each(function()
			    {
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        } else {
			             jQuery(this).removeClass('netStarHover');
			 jQuery(this).removeClass('netStarOn');
			        }
			    }) 
			    return false;   
			})
			
						     jQuery('.netratingstar').each(function()
			    {
			        var checkedId = jQuery('.netStars').attr('rel');
			        if(jQuery(this).attr('rel') <= checkedId)
			        {
			            jQuery(this).addClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        } else {
			             jQuery(this).removeClass('netStarOn');
			             jQuery(this).removeClass('netStarHover');
			        }
			    })

    
    }
    else if (STEP == 2)	//Search-Result-List
    {
		//FEATURE 'MERKLISTE' NOCHT NICHT IMPLEMENTIERT, DESHALB WURDE DIESE FUNKTION HIER EINGEBAUT
		//WIRD ENTFERNT SOBALD FEATURE IMPLEMENTIERT.
		jQuery('.merkList').click(function(){return false;})

		//sort-buttons
		jQuery('.netSorter').click(function()
		{
			var currentSortOrder, url, tmpRel, oldSortOrder, $currentElement, PROPS, newRelString;
			
			//	0.) daten holen
			tmpRel = jQuery(this).attr('rel');
			tmpRel = tmpRel.split(',');
			
			//	1.) aktuellen status abfragen
			oldSortOrder = currentSortOrder = tmpRel[1].replace('sortOrder:','');
					
			//	2.) auf neuen status setzen (wenn asc dann desc) und umgekehrt
			currentSortOrder = (currentSortOrder == 'asc')?'desc':'asc';
			
			//	3.)	alle google maps marker entfernen sowie das items array	
			pxl.nethotels.zuerich.removeMarkers();
			pxl.nethotels.zuerich._ITEMS = new Array();
			
			//	4.) aktuelles element zwischenspeichern
			$currentElement = jQuery(this).get(0);
			
			//	5.) tabelle leeren & 6.) Loader hinzufügen
			jQuery('#netListTable').children().each(function()
			{
				jQuery(this).remove();
			})

//		jQuery('#netListTable').append('<tr><td class="netsortloaderbox"><img src="images/sortloader.gif"/></td></tr>');
			jQuery('#netListTable').append('<tr><td colspan="8" class="netsortloaderbox"><div id="loaderbox"><img class="loaderimage" src="images/sortloader.gif"/><div class="loadercontent"></div></div></td></tr>');
			
			//	7.) request absenden
			var url = '/com/pixeltex/hotels/remote/';
			var RANDOM = new Date().getTime()/1000;

			PROPS = pxl.nethotels.zuerich.formData;
			PROPS.method = "searchHotels";
			PROPS.format = 'json';
			PROPS.random = RANDOM;
			PROPS.sortFuzzy = false;
			
			PROPS.sortElement = tmpRel[0].replace('sortElement:','');
			PROPS.sortOrder = currentSortOrder;
			PROPS.sortType = tmpRel[2].replace('sortType:','');

			jQuery.get( url, PROPS,
			function(data)
			{
				if(data == ''){return}
				var DATA = JSON.parse(data);

				var REGION = '';
				if(pxl.nethotels.zuerich.formData.region)
				{
					REGION = pxl.nethotels.zuerich.formData.region;
				}
			
				pxl.nethotels.zuerich.POINTS = new Array();
				pxl.nethotels.zuerich._ADDED_ITEMS=0;
/*			
				jQuery('.netsortloaderbox').parent().remove();
							
				for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
				{
					var ID = pxl.nethotels.zuerich._ITEMS.length;
					pxl.nethotels.zuerich._ITEMS.push({id:arrEle0});
					pxl.nethotels.zuerich._ITEMS[ID].data = DATA[arrEle0];
					
					var MARKER = pxl.nethotels.zuerich.generateMarker(DATA[arrEle0],arrEle0,ID,pxl.nethotels.zuerich._ITEMS[ID],REGION);
					pxl.nethotels.zuerich.addMarker(MARKER);
					pxl.nethotels.zuerich.POINTS.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);
				}
			
				pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);			
*/

	//1) - save data into an array
	pxl.nethotels.zuerich.RESULTS_DATA_ARRAY = DATA;
	
	//2) prepare loader
	if(!document.isIE6){
	jQuery('.arrowActive').css('display','none');
	jQuery('#loaderbox').css('position','relative');
	jQuery('td.netsortloaderbox div.loadercontent').css('position','absolute').css('margin-top','8px').css('top','-19px').css('left','-15px')
		.html('<div style="border: 0px solid gray; padding: 0px; width: 679px;"><div id="loaderstatusbar" style="background-color: #0C419A; width: 0px; padding: 0px; margin: 0px; height: 4px;">&nbsp;</div></div>');
	
	}
	//3) - call a helper-function directly with a delay
	pxl.nethotels.zuerich.addTableListItem(DATA, 0, REGION, DATA.length);


			})
			
			//	8.) GUI anpassen (pfeile ändern)
			
			//ist aktuelles element kein IMG tag
			if(jQuery(this)[0].nodeName != "IMG")
			{
				if(currentSortOrder == 'asc')
				{
					jQuery(this).removeClass('netReverse');
				} 
				else 
				{
					jQuery(this).addClass('netReverse');			
				}
			}
			//aktuelles element ist ein IMG tag
			else
			{
				var img_src_old = jQuery(this).attr('src');
				
				//ist 'do' im bildnamen vorhanden ?
				if(img_src_old.indexOf('_do_') != -1)
				{
					img_src_old = img_src_old.replace('_do_','_up_');				
				}
				//kein 'do' im bildnamen vorhanden
				else
				{
					img_src_old = img_src_old.replace('_up_','_do_');									
				}
				jQuery(this).attr('src',img_src_old);
			}			
			//	9.) GUI anpassen (select-arrow verschieben)
			jQuery('.arrowActive').css('left',tmpRel[3].replace('arrowPosition:',''));
			
			//	10.) neuen status in rel schreiben
			newRelString = 'sortElement:'+tmpRel[0].replace('sortElement:','')+',sortOrder:'+currentSortOrder+',sortType:'+tmpRel[2].replace('sortType:','')+',arrowPosition:'+tmpRel[3].replace('arrowPosition:','');			
			jQuery(this).attr('rel',newRelString);
		})

		jQuery('.netOrangeLink').click(function()
		{
			var serviceAndServiceId = jQuery(this).attr('rel');
			serviceAndServiceId = serviceAndServiceId.split(',');
			jQuery('#netTrack').val('true');
			jQuery('#netTrackSource').val('advert');
			jQuery('#netTrackSourceGadmin').val(pxl.nethotels.zuerich.TOPHOTEL_GADMINID);
			jQuery('#netTrackSourceNethotels').val(pxl.nethotels.zuerich.TOPHOTEL_NETHOTELSID);		

			jQuery('#netTrackSourceTitle').val(pxl.nethotels.zuerich.TOPHOTEL_TITLE);
			jQuery('#netTrackSourceName').val(pxl.nethotels.zuerich.TOPHOTEL_NAME);
			
			// Google Analytics Event Tracking
			pageTracker._trackEvent('Hotel Loading Screen', 'Clicks', '' + '[' + pxl.nethotels.zuerich.APP_RAWLANGUAGE.toUpperCase() + '] ' + pxl.nethotels.zuerich.TOPHOTEL_GADMINID + ': ' + pxl.nethotels.zuerich.TOPHOTEL_TITLE + '');	
			
			pxl.nethotels.zuerich.sendToDetail(jQuery(this).attr('href'),serviceAndServiceId[0],serviceAndServiceId[1]);
			return false;		
		})

		//hover für tabellen-titel
		jQuery('.netListNaviDiv').hover(
			function()
			{
				if(!jQuery(this).hasClass('netMerkDiv'))
				{
				    jQuery('div, div span',jQuery(this)).toggleClass('active');
				}
				jQuery('p span, p',jQuery(this)).toggleClass('active');
				jQuery('p img',jQuery(this)).each(function()
				{
					var img_src_old = jQuery(this).attr('src');
					img_src_old = img_src_old.substring(0,img_src_old.length-4);
					img_src_old += '_blue.png';
					jQuery(this).attr('src',img_src_old);
				});	
			},
			function()
			{
				if(!jQuery(this).hasClass('netMerkDiv'))
				{
				    jQuery('div, div span',jQuery(this)).toggleClass('active');
				}
				jQuery('p span, p',jQuery(this)).toggleClass('active');			
				jQuery('p img',jQuery(this)).each(function()
				{
					var img_src_old = jQuery(this).attr('src');
					img_src_old = img_src_old.substring(0,img_src_old.length-9);
					img_src_old += '.png';
					jQuery(this).attr('src',img_src_old);
				});	
			})

			//add events edit search button
			jQuery('.netactivesearchtext').click(
				function()
				{
					pxl.nethotels.zuerich.sendToSearch();
					return false;
				}
			);
    }
    else if (STEP == 3)	//Hotel-Favourites-List
    {
    
    jQuery('.merklist').click(function()
    {
    	pxl.nethotels.zuerich.sendToLeaflet('list.cfm');
    	return false;
    })

		//sort-buttons
		jQuery('.netSorter').click(function()
		{
			var currentSortOrder, url, tmpRel, oldSortOrder, $currentElement, PROPS, newRelString;
			
			//	0.) daten holen
			tmpRel = jQuery(this).attr('rel');
			tmpRel = tmpRel.split(',');
			
			//	1.) aktuellen status abfragen
			oldSortOrder = currentSortOrder = tmpRel[1].replace('sortOrder:','');
					
			//	2.) auf neuen status setzen (wenn asc dann desc) und umgekehrt
			currentSortOrder = (currentSortOrder == 'asc')?'desc':'asc';
			
			//	3.)	alle google maps marker entfernen sowie das items array	
			pxl.nethotels.zuerich.removeMarkers();
			pxl.nethotels.zuerich._ITEMS = new Array();
			
			//	4.) aktuelles element zwischenspeichern
			$currentElement = jQuery(this).get(0);
			
			//	5.) tabelle leeren & 6.) Loader hinzufügen
			jQuery('#netListTable').children().each(function()
			{
				jQuery(this).remove();
			})
//		jQuery('#netListTable').append('<tr><td class="netsortloaderbox"><img src="images/sortloader.gif"/></td></tr>');
			jQuery('#netListTable').append('<tr><td colspan="8" class="netsortloaderbox"><div id="loaderbox"><img class="loaderimage" src="images/sortloader.gif"/><div class="loadercontent"></div></div></td></tr>');
			
			//	7.) request absenden
			var url = '/com/pixeltex/hotels/remote/';
			var RANDOM = new Date().getTime()/1000;

			PROPS = pxl.nethotels.zuerich.formData;
			PROPS.method = "openBookmarks";
			PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
			PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
			PROPS.format = 'json';
			PROPS.id = pxl.nethotels.zuerich.LEAFLET_UID;
			PROPS.random = RANDOM;
			
			PROPS.sortElement = tmpRel[0].replace('sortElement:','');
			PROPS.sortOrder = currentSortOrder;
			PROPS.sortType = tmpRel[2].replace('sortType:','');

			jQuery.get( url, PROPS,
			function(data)
			{
				if(data == ''){return}
				var DATA = JSON.parse(data);

				var REGION = '';
				if(pxl.nethotels.zuerich.formData.region)
				{
					REGION = pxl.nethotels.zuerich.formData.region;
				}
			
				pxl.nethotels.zuerich.POINTS = new Array();
				pxl.nethotels.zuerich._ADDED_ITEMS=0;
			
/*
				jQuery('.netsortloaderbox').parent().remove();
							
				for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
				{
					var ID = pxl.nethotels.zuerich._ITEMS.length;
					pxl.nethotels.zuerich._ITEMS.push({id:arrEle0});
					pxl.nethotels.zuerich._ITEMS[ID].data = DATA[arrEle0];
					
					var MARKER = pxl.nethotels.zuerich.generateMarker(DATA[arrEle0],arrEle0,ID,pxl.nethotels.zuerich._ITEMS[ID],REGION);
					pxl.nethotels.zuerich.addMarker(MARKER);
					pxl.nethotels.zuerich.POINTS.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);
				}
			
				pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);	
*/

	//1) - save data into an array
	pxl.nethotels.zuerich.RESULTS_DATA_ARRAY = DATA;
	
	//2) prepare loader
	if(!document.isIE6){
	jQuery('.arrowActive').css('display','none');
	jQuery('#loaderbox').css('position','relative');
	jQuery('td.netsortloaderbox div.loadercontent').css('position','absolute').css('margin-top','8px').css('top','-19px').css('left','-15px')
		.html('<div style="border: 0px solid gray; padding: 0px; width: 679px;"><div id="loaderstatusbar" style="background-color: #0C419A; width: 0px; padding: 0px; margin: 0px; height: 4px;">&nbsp;</div></div>');
	
	}
	//3) - call a helper-function directly with a delay
	pxl.nethotels.zuerich.addTableListItem(DATA, 0, REGION, DATA.length);
						
			})
			
			//	8.) GUI anpassen (pfeile ändern)
			
			//ist aktuelles element kein IMG tag
			if(jQuery(this)[0].nodeName != "IMG")
			{
				if(currentSortOrder == 'asc')
				{
					jQuery(this).removeClass('netReverse');
				} 
				else 
				{
					jQuery(this).addClass('netReverse');			
				}
			}
			//aktuelles element ist ein IMG tag
			else
			{
				var img_src_old = jQuery(this).attr('src');
				
				//ist 'do' im bildnamen vorhanden ?
				if(img_src_old.indexOf('_do_') != -1)
				{
					img_src_old = img_src_old.replace('_do_','_up_');				
				}
				//kein 'do' im bildnamen vorhanden
				else
				{
					img_src_old = img_src_old.replace('_up_','_do_');									
				}
				jQuery(this).attr('src',img_src_old);
			}			
			//	9.) GUI anpassen (select-arrow verschieben)
			jQuery('.arrowActive').css('left',tmpRel[3].replace('arrowPosition:',''));
			
			//	10.) neuen status in rel schreiben
			newRelString = 'sortElement:'+tmpRel[0].replace('sortElement:','')+',sortOrder:'+currentSortOrder+',sortType:'+tmpRel[2].replace('sortType:','')+',arrowPosition:'+tmpRel[3].replace('arrowPosition:','');			
			jQuery(this).attr('rel',newRelString);
		})


		//hover für tabellen-titel
		jQuery('.netMerkListNaviDiv').hover(
			function()
			{
				if(!jQuery(this).hasClass('netMerkDiv'))
				{
				    jQuery('div, div span',jQuery(this)).toggleClass('active');
				}
				jQuery('p span, p',jQuery(this)).toggleClass('active');
				jQuery('p img',jQuery(this)).each(function()
				{
					var img_src_old = jQuery(this).attr('src');
					img_src_old = img_src_old.substring(0,img_src_old.length-4);
					img_src_old += '_blue.png';
					jQuery(this).attr('src',img_src_old);
				});	
			},
			function()
			{
				if(!jQuery(this).hasClass('netMerkDiv'))
				{
				    jQuery('div, div span',jQuery(this)).toggleClass('active');
				}
				jQuery('p span, p',jQuery(this)).toggleClass('active');			
				jQuery('p img',jQuery(this)).each(function()
				{
					var img_src_old = jQuery(this).attr('src');
					img_src_old = img_src_old.substring(0,img_src_old.length-9);
					img_src_old += '.png';
					jQuery(this).attr('src',img_src_old);
				});	
			})

    
    } 
    else if (STEP == 4)	//Hotel Detail
    {
	    	jQuery('.zurliste').click(function()
	    	{
	    		window.history.back();
	    		return false;
	    	})
    
    		//create tab-navigation - set rounded corner for the active-tab (fix for IE)
    		//this is for the IE only. to fix rounded corners
    		jQuery('.netOfferDetNavi ul li a.active').parent().children('img').each(
			    function()
			    {
			    	var mySrc = jQuery(this).attr('src');
			    	mySrc = mySrc.replace(/g.gif$/gi,'o.gif');
			    	jQuery(this).attr('src',mySrc);
			    }
    		);   
    		
    		//create tripAdvisorLink
    		jQuery('.netTripAdvisor').click(function()
    		{

		    	if(jQuery('.netOfferDetNavi ul li a[rel=netBox2]').attr('rel') == ''){return false;}
		    	
		    	//old active
		    	var $activeTab = jQuery('.netOfferDetNavi ul li a.active');
		    	jQuery('#'+$activeTab.attr('rel')).addClass('netOfferDetOff').removeClass('netOfferDetOn');
		    	$activeTab.removeClass('active');
	    		
		    	//this is for the IE only. to fix rounded corners
		    	$activeTab.parent().children('img').each(
					    function()
					    {
					    	var mySrc = jQuery(this).attr('src');
					    	mySrc = mySrc.replace(/o.gif$/gi,'g.gif');
					    	jQuery(this).attr('src',mySrc);
					    }
		    	);		    	
		    	
		    	//new active
		    	jQuery('#'+jQuery('.netOfferDetNavi ul li a[rel=netBox2]').attr('rel')).addClass('netOfferDetOn').removeClass('netOfferDetOff');
		    	jQuery('.netOfferDetNavi ul li a[rel=netBox2]').addClass('active');
		    	
		    	//this is for the IE only. to fix rounded corners
		    	jQuery('.netOfferDetNavi ul li a[rel=netBox2]').parent().children('img').each(
	    			function()
	    			{
	    				var mySrc = jQuery(this).attr('src');
	    				mySrc = mySrc.replace(/g.gif$/gi,'o.gif');
	    				jQuery(this).attr('src',mySrc);
	    			}
	    		);	
    			
    			return false;
    		})
    		
    		//create tab-navigation
    		jQuery('.netOfferDetNavi ul li a').click(function()
		    {
		    	if(jQuery(this).attr('rel') == ''){return false;}
		    	
		    	//old active
		    	var $activeTab = jQuery('.netOfferDetNavi ul li a.active');
		    	jQuery('#'+$activeTab.attr('rel')).addClass('netOfferDetOff').removeClass('netOfferDetOn');
		    	$activeTab.removeClass('active');
	    		
		    	//this is for the IE only. to fix rounded corners
		    	$activeTab.parent().children('img').each(
					    function()
					    {
					    	var mySrc = jQuery(this).attr('src');
					    	mySrc = mySrc.replace(/o.gif$/gi,'g.gif');
					    	jQuery(this).attr('src',mySrc);
					    }
		    	);		    	
		    	
		    	//new active
		    	jQuery('#'+jQuery(this).attr('rel')).addClass('netOfferDetOn').removeClass('netOfferDetOff');
		    	jQuery(this).addClass('active');
		    	
		    	//this is for the IE only. to fix rounded corners
		    	jQuery(this).parent().children('img').each(
	    			function()
	    			{
	    				var mySrc = jQuery(this).attr('src');
	    				mySrc = mySrc.replace(/g.gif$/gi,'o.gif');
	    				jQuery(this).attr('src',mySrc);
	    			}
	    		);		    	

		    	return false;
		    }).hover(
		    	function()
		    	{
		    		jQuery(this).parent().children('img').each(
		    			function()
		    			{
		    				var mySrc = jQuery(this).attr('src');
		    				mySrc = mySrc.replace(/g.gif$/gi,'o.gif');
		    				jQuery(this).attr('src',mySrc);
		    			}
		    		);
		    	},
		    	function()
		    	{
		    		if(jQuery(this).hasClass('active') == true)
		    		{
		    			return false;
		    		}
		    		jQuery(this).parent().children('img').each(
		    			function()
		    			{
		    				var mySrc = jQuery(this).attr('src');
		    				mySrc = mySrc.replace(/o.gif$/gi,'g.gif');
		    				jQuery(this).attr('src',mySrc);
		    			}
		    		);		    	
		    	}
		    );
		    
				//show 'more images'
				jQuery('.netOfferMoreImg').click(function()
				{
					if(jQuery(this).hasClass('netimagezoom')){return false};

					jQuery('.netmoreimagesbox').css('display','block');
					jQuery('.netmoreimagebox').css('display','none');					

					if(!document.isIE6)
					{
						var newTopPos = parseInt(jQuery('.infoBanner').get(0).offsetHeight);
						newTopPos += 230;
						jQuery('.netMoreImagesBox').css({display:'block',top:newTopPos});
					} else {
						var newTopPos = jQuery('.infoBanner').get(0).offsetHeight;
						newTopPos += 229;
						jQuery('.netMoreImagesBox').css('display','block');
						jQuery('.netMoreImagesBox').css('top',newTopPos+'px');
					//	jQuery('.netMoreImagesBox').css('display','block').css('top',newTopPos);
					}
					
//				var tada = jQuery('#netMoreBox')[0].offsetHeight+20	//OLD: 18;

					var tada = jQuery('.netOffer')[0].offsetHeight-162	//OLD: 18;

					jQuery('.netMoreImagesBg').css('height',tada);
					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');
		
					if(document.isIE6)
					{
						//var h = jQuery('.netMoreImagesBg').outerHeight();
						jQuery('.netMoreImagesBg').css('filter',false);
						var w = jQuery('.netMoreImagesBg').outerWidth();
		      	var $iframe  = jQuery('' +   
		        	            '<IFRAME class=selectOverlap src="javascript:false;" frameborder="0">' +  
		          	          '</IFRAME>' +   
		            	        '')  
		      	//jQuery('.netMoreImagesBg').prev().append(iframe);
		      
		      	$iframe.insertBefore('.netMoreImagesBg');
		      
		      	jQuery('.selectOverlap').css({height:tada,width:w}); 
					}
					
		/* 3.Idee
			select boxen display:none dafür aber eine kopie erstellen 'span' das den ungefähren style der selectbox erhält ohne auswahl button mit dem aktuellen wert
				*/
		
					//jQuery('select').css('visibility','hidden');
				})

				//more-images-close-button-function
				jQuery('#netMoreImagesClose').click(function()
				{
					jQuery('#pxl_tooltip').find('img').attr('src','#');
					jQuery('.netMoreImagesBox').css('display','none');
					jQuery('iframe.selectOverlap').remove();
					//jQuery('select').css('visibility','visible');
					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');
				})

				//more-images-back-button-function
				jQuery('#netMoreImagesBack').click(function()
				{
					jQuery('#pxl_tooltip').find('img').attr('src','');
					jQuery('.netmoreimagebox').css('display','none').prev().css('display','block');	
					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');
				})
				
				//more-images-viewer
				jQuery('.netmoreimagethumb').click(function()
				{
					jQuery('#netMoreImagesBack').css('display','block');
					jQuery('#netMoreImagesClose').css('display','none');

					jQuery('.netmoreimagesbox').hide();
					var RANDOM = new Date().getTime()/1000;
					
					//console.log(jQuery(this).parent().next().children(0).attr('src'));	
					
					jQuery('#img_prev').attr('rel',jQuery(this).parent().prev().children(0).attr('id')); // KK
					var rightvar = jQuery(this).parent().next().children(0).attr('id')
					if (rightvar) { jQuery('.right_netmore').css('display','block');
						} else { jQuery('.right_netmore').css('display','none'); }	
					jQuery('#img_next').attr('rel',jQuery(this).parent().next().children(0).attr('id')); // KK
					var leftvar = jQuery(this).parent().prev().children(0).attr('id')
					if (leftvar) { jQuery('.left_netmore').css('display','block');
						} else { jQuery('.left_netmore').css('display','none'); }	
									
							
					jQuery('#pxl_tooltip').css('display','none')
						.find('img').attr('src',jQuery(this).attr('src')+'?radom='+RANDOM).css('cursor','')		//css('cursor','pointer') 
						.click(function()
						{
							return false
							jQuery('#pxl_tooltip').find('img').attr('src','#');
							jQuery('.netmoreimagebox').css('display','none').prev().css('display','block');
							jQuery('#netMoreImagesBack').css('display','none');
							jQuery('#netMoreImagesClose').css('display','block');
							return false;
						})
						.next().html(jQuery(this).attr('title'))
						.parent().css('display','block')
						.parent().css('display','block');
					jQuery('#pxl_tooltip').css('display','block');
					
					jQuery('#pxl_tooltip_image').attr('rel',jQuery(this).attr('id')); // KK
					
/*					jQuery('#pxl_tooltip_image').attr('src',jQuery(this).attr('src'));
					jQuery('#pxl_tooltip_text').html(jQuery(this).attr('title'));
					
					jQuery('.netmoreimagebox').show();					
*/
				})
				
				
				jQuery('#img_next, #img_prev').click(function() {
				
					var imageId = jQuery(this).attr('rel'); // get next imageID
					jQuery('#pxl_tooltip_image').attr('src',jQuery('#' + imageId).attr('src')); // set src to next image
					jQuery('#pxl_tooltip_text').html(jQuery('#' + imageId).attr('title'));
					
					if(jQuery(this).attr('id') == 'img_next') {
						
						jQuery('#img_prev').attr('rel',jQuery('#' + imageId).parent().prev().children(0).attr('id')); // set image id to next image
						var rightvar = jQuery('#' + imageId).parent().next().children(0).attr('id');
						if (rightvar) { jQuery('.right_netmore').css('display','block');
							} else { jQuery('.right_netmore').css('display','none'); }
						jQuery('.left_netmore').css('display','block');
						jQuery(this).attr('rel',jQuery('#' + imageId).parent().next().children(0).attr('id')); // set image id to next image
					
					} else {
						jQuery('#img_next').attr('rel',jQuery('#' + imageId).parent().next().children(0).attr('id')); // set image id to next image
						var leftvar = jQuery('#' + imageId).parent().prev().children(0).attr('id');
						if (leftvar) { jQuery('.left_netmore').css('display','block');
							} else { jQuery('.left_netmore').css('display','none'); }
						jQuery('.right_netmore').css('display','block');
						jQuery(this).attr('rel',jQuery('#' + imageId).parent().prev().children(0).attr('id')); // set image id to next image 
					
					}
				});

				
				//zoom-image (if only 1 image is available)
				jQuery('.netimagezoom').click(function()
				{
					jQuery('.netmoreimagesbox').hide();

					var newTopPos = parseInt(jQuery('.infoBanner').css('height'));
					newTopPos += 230;
					jQuery('.netMoreImagesBox').css({display:'block',top:newTopPos});
//				var tada = jQuery('#netMoreBox')[0].offsetHeight+20	//OLD: 18;

					var tada = jQuery('.netOffer')[0].offsetHeight-163	//OLD: 18;
					jQuery('.netMoreImagesBg').css('height',tada);
					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');
		
					if(document.isIE6)
					{
						//var h = jQuery('.netMoreImagesBg').outerHeight();
						jQuery('.netMoreImagesBg').css('filter',false);
						var w = jQuery('.netMoreImagesBg').outerWidth();
		      	var $iframe  = jQuery('' +   
		        	            '<IFRAME class=selectOverlap src="javascript:false;" frameborder="0">' +  
		          	          '</IFRAME>' +   
		            	        '')  
		      	//jQuery('.netMoreImagesBg').prev().append(iframe);
		      
		      	$iframe.insertBefore('.netMoreImagesBg');
		      
		      	jQuery('.selectOverlap').css({height:tada,width:w}); 
					}

					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');

					var SOURCE = jQuery('.netimagezoomimage').attr('rel');
					var TITLE = jQuery('.netimagezoomimage').attr('title');
					
					if(SOURCE && TITLE)
					{
										
					jQuery('#pxl_tooltip').find('img').attr('src',SOURCE).css('cursor','pointer').click(function()
						{
					jQuery('.netMoreImagesBox').css('display','none');
					jQuery('iframe.selectOverlap').remove();
					//jQuery('select').css('visibility','visible');
					jQuery('#netMoreImagesBack').css('display','none');
					jQuery('#netMoreImagesClose').css('display','block');
							return false;
						}).next().html(TITLE).parent().css('display','block').parent().css('display','block');
					}
					
/*					jQuery('#pxl_tooltip_image').attr('src',jQuery(this).attr('src'));
					jQuery('#pxl_tooltip_text').html(jQuery(this).attr('title'));
					
					jQuery('.netmoreimagebox').show();					
*/
				})
						
				//add events edit search button
				jQuery('.netactivesearchtext').click(function()
				{
					pxl.nethotels.zuerich.sendToSearch();
					return false;
				}) 
    }
    
}

//====================================================================================================
// METHODS FOR 'STEP 1'

//shows the resultlist
pxl.nethotels.zuerich.showResultList2 = function(ID)
{

	if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
	{
		if(pxl.nethotels.zuerich._RESULT_LIST_LOADED == false)
		{
			setTimeout('pxl.nethotels.zuerich.showResultList2()',1000);
			return false;
		}
	}

	if(!pxl.nethotels.zuerich._RESULT_LIST_EMPTY)
	{
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			var REGION = '';
			if(pxl.nethotels.zuerich.formData.region=='ZTOP')
			{
				REGION = 'Zürich';
			}
			else if (pxl.nethotels.zuerich.formData.region=='ZS')
			{
				REGION = 'Zürichsee';		
			}
			else if (pxl.nethotels.zuerich.formData.region=='WT')
			{
				REGION = 'Winterthur';		
			}
			else if (pxl.nethotels.zuerich.formData.region=='INFOBADEN')
			{
				REGION = 'Baden';		
			}
			
			jQuery('#netLoadScreen').fadeOut('slow',function()
			{
				//jQuery('.netMap').animate({height:'460px'});		//google-map-container
				jQuery('.netMap').css('height','510px');					//google-map-container
				jQuery('.netListNavi').fadeIn('fast',function()
				{				
					jQuery('#netList').css('display','block')//fadeIn('fast');//show('fast');			//table
					pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
				});//show('fast');			//table
	
			});
		} else {
				jQuery('.netMap').css('height','510px');					//google-map-container
				jQuery('.netListNavi').css('display','block');
				jQuery('#netList').css('display','block')//fadeIn('fast');//show('fast');			//table
				//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
		}
	//jQuery('.netactivesearchtext').html(REGION+', '+pxl.nethotels.zuerich.formData.checkin+' - '+pxl.nethotels.zuerich.formData.checkout+', '+pxl.nethotels.zuerich.formData.rooms+' '+jQuery('.netroomtype :selected').text());
	} else {
		pxl.nethotels.zuerich.noResults();
		return false;
// leite auf suchmaske um
		//jQuery('#netLoadScreen').fadeOut('slow');
		//jQuery('#netInfoScreen p').html(pxl.nethotels.zuerich.translations['NO_RESULTS']).parents().fadeIn('slow');				
		//jQuery('#netGoogleMap').css('display','none');
	}



}
//shows the resultlist
pxl.nethotels.zuerich.showResultList = function(ID)
{	
	if(pxl.nethotels.zuerich._RESULT_LIST_LOADED == false)
	{
		//setTimeout('pxl.nethotels.zuerich.showResultList()',1000);
		//return false;
	}

	//1) hide loader
	jQuery('#netLoadScreen').fadeOut('slow',function()
	{
		jQuery('.netBookMaskShadow').slideUp('slow',function()
		{
			if(!pxl.nethotels.zuerich._RESULT_LIST_EMPTY)
			{
				jQuery('#netList').fadeIn('fast');//show('fast');			//table
				jQuery('.netListNavi').slideDown('fast');							//table-header (div)
				jQuery('.netMap').animate({height:'510px'});					//google-map-container
			} else {
				jQuery('#netGoogleMap').slideUp('slow');
				//jQuery('#netInfoScreen p').html(pxl.nethotels.zuerich.translations['NO_RESULTS']).parents().fadeIn('slow');				
			}
			
			jQuery('#netSearchLinks').fadeOut('fast',function()		//all-hotels / advanced search links
			{
				//Zürich, 28.08.09 - 29.08.2009, 1 Doppelzimmer (DZ)
	//		jQuery('.netactivesearchtext').html(jQuery('#netRegionSelector :selected').text()+', '+jQuery('.netcheckin').val()+' - '+jQuery('.netcheckout').val()+', '+jQuery('.netrooms').val()+' '+jQuery('.netroomtype :selected').text()+' ('+jQuery('.netroomtype').val()+')');
				jQuery('.netactivesearchtext').html(jQuery('#netRegionSelector :selected').text()+', '+jQuery('.netcheckin').val()+' - '+jQuery('.netcheckout').val()+', '+jQuery('.netrooms').val()+' '+jQuery('.netroomtype :selected').text());
				jQuery('#netResultLinks').fadeIn('fast');
			}).hide();
	
	
	    //get default UI 
	    var custom = pxl.nethotels.zuerich.map.getDefaultUI();
	 
	    //set UI to Google Maps.
			for( var i in custom.controls )
			{
		      custom.controls[i] = false;
			}
	
			pxl.nethotels.zuerich.map.setUI( custom );
			pxl.nethotels.zuerich.map.addControl( new google.maps.MapTypeControl(), new google.maps.ControlPosition( G_ANCHOR_TOP_RIGHT, new google.maps.Size(5,30) ));				
			pxl.nethotels.zuerich.map.addControl( new google.maps.LargeMapControl3D(), new google.maps.ControlPosition( G_ANCHOR_TOP_LEFT, new google.maps.Size(5,60) ));
		  if(pxl.nethotels.zuerich.MouseWheelDisabled)
		  {
		     //disable mousewheel.
		     pxl.nethotels.zuerich.map.disableScrollWheelZoom();
		  }
			pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
		});

	})//css('display','none');
	//jQuery('#netSearch').slideUp('slow');
}    

//gets the resultlist data
pxl.nethotels.zuerich.getResultListData = function(region,PROPS,FITMAP,CHECKREGIONUPDATE)
{
	// tabelle leeren & Loader hinzufügen
	jQuery('#netListTable').children().each(function()
	{
		jQuery(this).remove();
	})
	jQuery('#netListTable').append('<tr><td colspan="8" class="netsortloaderbox"><div id="loaderbox"><img class="loaderimage" src="images/sortloader.gif"/><div class="loadercontent"></div></div></td></tr>');

	if(PROPS == undefined)
	{
		var PROPS = {};
	}
	pxl.nethotels.zuerich._RESULT_LIST_LOADED = false;
	pxl.nethotels.zuerich._RESULT_LIST_EMPTY = false;
	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	var	skipProcess = false;
	PROPS.method = "searchHotels";
	PROPS.random = RANDOM;
	PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
	PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
	PROPS.format = 'json';
	if(pxl.nethotels.zuerich.APP_PROMO_ID != '')
	{	PROPS.promoid = pxl.nethotels.zuerich.APP_PROMO_ID; }

	if(pxl.nethotels.zuerich.APP_PROVIDERS != '')
	{	PROPS.providers = pxl.nethotels.zuerich.APP_PROVIDERS; }
	
	jQuery.get( url, PROPS,
	function(data)
	{ 
		var DATA = JSON.parse(data);
	
		if(data == '')
		{
			pxl.nethotels.zuerich._RESULT_LIST_EMPTY = true;
			skipProcess = true;
		}

		if(DATA.length == 0)
		{
			pxl.nethotels.zuerich._RESULT_LIST_EMPTY = true;
			skipProcess = true;
		}
if(!skipProcess)
{		
		if(CHECKREGIONUPDATE)
		{
			region = jQuery('#netRegionSelector').val();		
		}
		
		pxl.nethotels.zuerich._RESULT_LIST_LOADED = true;
		
		pxl.nethotels.zuerich.RESULT_LIST_CACHE = DATA;
		//pxl.nethotels.zuerich.generateListElementsData(10);
//		pxl.nethotels.zuerich.generateResultListElements(DATA);

	pxl.nethotels.zuerich.removeMarkers();
	pxl.nethotels.zuerich._ITEMS = new Array();

	pxl.nethotels.zuerich.POINTS = new Array();
	pxl.nethotels.zuerich._ADDED_ITEMS=0;

if(pxl.nethotels.zuerich._currentStep != 2)
{
	var TB = document.getElementById('netListTable');
	if(TB)
	{
	while (TB.hasChildNodes())
	{
		TB.removeChild(TB.firstChild);
	}
	}

	for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
	{
		var ID = pxl.nethotels.zuerich._ITEMS.length;
		pxl.nethotels.zuerich._ITEMS.push({id:arrEle0});
		pxl.nethotels.zuerich._ITEMS[ID].data = DATA[arrEle0];
		
		var MARKER = pxl.nethotels.zuerich.generateMarker(DATA[arrEle0],arrEle0,ID,pxl.nethotels.zuerich._ITEMS[ID],region);
		pxl.nethotels.zuerich.addMarker(MARKER);
		pxl.nethotels.zuerich.POINTS.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);
	}
}
else
{
	//1) - save data into an array
	pxl.nethotels.zuerich.RESULTS_DATA_ARRAY = DATA;
	
	//2) prepare loader
	if(!document.isIE6){
	jQuery('.arrowActive').css('display','none');
	jQuery('#loaderbox').css('position','relative');
	jQuery('td.netsortloaderbox div.loadercontent').css('position','absolute').css('margin-top','8px').css('top','-19px').css('left','-15px')
		.html('<div style="border: 0px solid gray; padding: 0px; width: 679px;"><div id="loaderstatusbar" style="background-color: #0C419A; width: 0px; padding: 0px; margin: 0px; height: 4px;">&nbsp;</div></div>');
	
	}
	//3) - call a helper-function directly with a delay
	pxl.nethotels.zuerich.addTableListItem(DATA, 0, region, DATA.length);
	
}

		if(FITMAP && pxl.nethotels.zuerich._currentStep != 2)
		{
			pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
		}
		
		if(pxl.nethotels.zuerich._currentStep == 1)
		{
			pxl.nethotels.zuerich.setPostionAndZoomForRegion(region);		
			pxl.nethotels.zuerich.getThemeHotelsForRegion(region);
		}
	} else {
		pxl.nethotels.zuerich.noResults();
	}	
	})			
}  

pxl.nethotels.zuerich.addTableListItem = function(data, idx, region, maxitems)
{
	//a) - add the data into the 'ITEMS' array
	var ID = pxl.nethotels.zuerich._ITEMS.length;
	pxl.nethotels.zuerich._ITEMS.push({id:idx});
	pxl.nethotels.zuerich._ITEMS[ID].data = data[idx];

	//b) - call the generateMarker function
	var MARKER = pxl.nethotels.zuerich.generateMarker(data[idx],idx,ID,pxl.nethotels.zuerich._ITEMS[ID],region);

	//c) - call the addMarker function
	pxl.nethotels.zuerich.addMarker(MARKER);
	
	//d) - add the marker point to the pointers array
	pxl.nethotels.zuerich.POINTS.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);

	//e) - update loader bar
	if(!document.isIE6){
	var percent = Math.ceil((idx/maxitems)*972);
	jQuery('#loaderstatusbar').css('width',percent+'px');	
	}

	//f) - check current idx, if it is the max idx
	if(idx == (maxitems-1))		//g) - if yes call FITMAP		
	{
		if(maxitems > 1){
			pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
		} else {
			pxl.nethotels.zuerich.map.setZoom(9)
		}
		jQuery('.arrowActive').css('display','block');
		jQuery('.netsortloaderbox').fadeOut(function(){jQuery(this).remove()});
	}
	else	//g) - if no call helper function with a timeout and the next higher idx				
	{
		idx++;
		setTimeout(function()
		{
			pxl.nethotels.zuerich.addTableListItem(data, idx, region, maxitems);
		},35);
	}	
}

//get available theme hotels for region
pxl.nethotels.zuerich.getThemeHotelsForRegion = function(REGION)
{
	var PROPS = {};
	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	PROPS.method = "getThemesByRegion";
	PROPS.random = RANDOM;
	PROPS.region = REGION;
	PROPS.format = 'json';
	
	jQuery.get( url, PROPS,
		function(data)
		{ 
			if(data == ''){return}
			var DATA = JSON.parse(data);
			
			jQuery('.netthemehotels').html('');
			
			if(DATA.length == 0)
			{
				jQuery('.netthemehotelstitle').css('visibility','hidden');
			} else {
				jQuery('.netthemehotelstitle').css('visibility','visible');			
				for(var i=0;i<=DATA.length-1;i++)
				{
				jQuery('.netthemehotels').append('<input type="checkbox" value="'+DATA[i].type+'" name="themes"/> '+DATA[i].title[pxl.nethotels.zuerich.APP_LANGUAGE]+'<br/>');
				}
			}
			
			
		}
	);	
}

//gets the resultlist data for the region-selector
pxl.nethotels.zuerich.getRegionResultData = function(region)
{
	pxl.nethotels.zuerich.getThemeHotelsForRegion(region);
	var DATA = pxl.nethotels.zuerich.RESULT_LIST_CACHE;
		
	pxl.nethotels.zuerich.removeMarkers();

	var points = new Array();
	pxl.nethotels.zuerich._ADDED_ITEMS=0;
	for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
	{
		var ID = arrEle0;
		var MARKER = pxl.nethotels.zuerich.generateMarker(DATA[arrEle0],arrEle0,ID,pxl.nethotels.zuerich._ITEMS[ID],region);
		pxl.nethotels.zuerich.addMarker(MARKER);
	
		points.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);
	}

	//alert(region)

	var LAT = pxl.nethotels.zuerich.DEFAULT_LATITUDE;
	var LON = pxl.nethotels.zuerich.DEFAULT_LONGITUDE;
	var ZOO = pxl.nethotels.zuerich.DEFAULT_ZOOM;
	var noAutoFit = false;

	if(region == 'ZTOP')
	{
		LAT = pxl.nethotels.zuerich.ZUERICH_LATITUDE;
		LON = pxl.nethotels.zuerich.ZUERICH_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.ZUERICH_ZOOM;
		noAutoFit = true;
	}
	else if(region == 'INFOBADEN')
	{
		LAT = pxl.nethotels.zuerich.BADEN_LATITUDE;
		LON = pxl.nethotels.zuerich.BADEN_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.BADEN_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}
	else if(region == 'ZS')
	{
		LAT = pxl.nethotels.zuerich.LAKEZUERICH_LATITUDE;
		LON = pxl.nethotels.zuerich.LAKEZUERICH_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.LAKEZUERICH_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}
	else if(region == 'WT')
	{
		LAT = pxl.nethotels.zuerich.WINTERTHUR_LATITUDE;
		LON = pxl.nethotels.zuerich.WINTERTHUR_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.WINTERTHUR_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}

	var point = new google.maps.LatLng(LAT,LON);

	//deactivated no automatisch zoom and position
	//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	if(noAutoFit)
	{
		pxl.nethotels.zuerich.map.setCenter(point);
  	pxl.nethotels.zuerich.map.setZoom(ZOO);
	}
}

//this generates the list elements data
pxl.nethotels.zuerich.generateListElementsData = function(QUANTITY)
{
	var OLD_DATA = pxl.nethotels.zuerich.RESULT_LIST_CACHE;
	var NEW_DATA = new Array();
	for(var arrEle=0;arrEle<=QUANTITY;arrEle++)
	{
		NEW_DATA.push(OLD_DATA[arrEle]);
		OLD_DATA.splice(arrEle,1);
	}	
	pxl.nethotels.zuerich.generateResultListElements(NEW_DATA);	
}

//this generates the list elements
pxl.nethotels.zuerich.generateResultListElements = function(DATA)
{
}

//====================================================================================================
// METHODS FOR 'STEP 2'

pxl.nethotels.zuerich.sendToDetail = function(url,serviceId,service,roomType,roomTypeId)
{
	//set the 'resultRoomType' value for the microbookingmask.
	if(roomType)
	{
		jQuery('#netResultRoomType').val(roomType);
	}
	
	if(roomTypeId)
	{
		jQuery('#netResultRoomTypeId').val(roomTypeId);
	}
	
	if(pxl.nethotels.zuerich.APP_PROMO_ID){
		jQuery('#netPromoId').val(pxl.nethotels.zuerich.APP_PROMO_ID);
	}
	
	//alert('clicked')
	jQuery('#netService').val(service);
	jQuery('#netServiceId').val(serviceId);
	jQuery('#netHybridForm').attr('method','post').attr('action',url).submit();
	return false;
}
pxl.nethotels.zuerich.noResults = function()
{
	//alert('clicked')
	jQuery('#netRoomTypeNames').remove();
	jQuery('#netRegionNames').remove();
	jQuery('#netService').remove();
	jQuery('#netServiceId').remove();
	jQuery('#netNoResults').val('true');
	jQuery('#netHybridForm').attr('method','post').attr('action',pxl.nethotels.zuerich.SEARCH_FORM_URL).submit();
	return false;
}
pxl.nethotels.zuerich.sendToLeaflet = function(url)
{
	//alert('clicked')
	jQuery('#netHybridForm').attr('method','post').attr('action',url).submit();
	return false;
}

//====================================================================================================
// METHODS FOR 'STEP 2 & STEP 4'

pxl.nethotels.zuerich.sendToSearch = function()
{
	//alert('clicked')
	jQuery('#netRoomTypeNames').remove();
	jQuery('#netRegionNames').remove();
	jQuery('#netService').remove();
	jQuery('#netServiceId').remove();
	
	jQuery('#netHybridForm').attr('method','post').attr('action',pxl.nethotels.zuerich.SEARCH_FORM_URL).submit();
	return false;
}

pxl.nethotels.zuerich.setPostionAndZoomForRegion = function(region)
{
	var LAT = pxl.nethotels.zuerich.DEFAULT_LATITUDE;
	var LON = pxl.nethotels.zuerich.DEFAULT_LONGITUDE;
	var ZOO = pxl.nethotels.zuerich.DEFAULT_ZOOM;
	var noAutoFit = false;

	if(region == 'ZTOP')
	{
		LAT = pxl.nethotels.zuerich.ZUERICH_LATITUDE;
		LON = pxl.nethotels.zuerich.ZUERICH_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.ZUERICH_ZOOM;
		noAutoFit = true;
	}
	else if(region == 'INFOBADEN')
	{
		LAT = pxl.nethotels.zuerich.BADEN_LATITUDE;
		LON = pxl.nethotels.zuerich.BADEN_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.BADEN_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}
	else if(region == 'ZS')
	{
		LAT = pxl.nethotels.zuerich.LAKEZUERICH_LATITUDE;
		LON = pxl.nethotels.zuerich.LAKEZUERICH_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.LAKEZUERICH_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}
	else if(region == 'WT')
	{
		LAT = pxl.nethotels.zuerich.WINTERTHUR_LATITUDE;
		LON = pxl.nethotels.zuerich.WINTERTHUR_LONGITUDE;
		ZOO = pxl.nethotels.zuerich.WINTERTHUR_ZOOM;
		noAutoFit = true;
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	}

	var point = new google.maps.LatLng(LAT,LON);

	//deactivated no automatisch zoom and position
	//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, points);
	if(noAutoFit)
	{
		pxl.nethotels.zuerich.map.setCenter(point);
  	pxl.nethotels.zuerich.map.setZoom(ZOO);
	}

}

//====================================================================================================
// UTILITIES

/*
	this gets all the items of a form and push them into an array
*/
pxl.nethotels.zuerich.getFormElementsArray = function(form)
{
	var formArray = {};
	
try {	
	var criteria = [];
	var theme = [];
	var place = '';
	for(var a in form.elements)
	{
		if(form.elements[a].name != "distanceFrom" && form.elements[a].name != "themes" && form.elements[a].name != "amenity" && form.elements[a].name != "Suchen" && form.elements[a].name != "namedItem" && form.elements[a].name != "item" && form.elements[a].name != "starrating" && form.elements[a].name != "undefined")
		{
			formArray[form.elements[a].name] = form.elements[a].value;
		}
		else if(form.elements[a].name != "distanceFrom" && form.elements[a].name != "themes" && form.elements[a].name != "amenity" && form.elements[a].name != "Suchen" && form.elements[a].name != "namedItem" && form.elements[a].name != "item" && form.elements[a].name != "undefined")
		{
			formArray['minRating'] = jQuery('.netStars').attr('rel');			
		}
		else if(form.elements[a].name != "distanceFrom" && form.elements[a].name != "themes" && form.elements[a].name != "Suchen" && form.elements[a].name != "namedItem" && form.elements[a].name != "item" && form.elements[a].name != "undefined")
		{
			if(form.elements[a].checked == true)
			{
				criteria.push(form.elements[a].value);
			}
		}
		else if(form.elements[a].name != "distanceFrom" && form.elements[a].name != "Suchen" && form.elements[a].name != "namedItem" && form.elements[a].name != "item" && form.elements[a].name != "undefined")
		{
			if(form.elements[a].checked == true)
			{
				theme.push(form.elements[a].value);
			}
		}
		else if(form.elements[a].name != "Suchen" && form.elements[a].name != "namedItem" && form.elements[a].name != "item" && form.elements[a].name != "undefined")
		{
			if(form.elements[a].checked == true)
			{
				place += form.elements[a].value;
			}
		}
	}
} catch(e){}	

if(criteria != '')
{
	formArray['amenity'] = criteria.join(","); 
}
if(theme != '')
{
	formArray['themes'] = theme.join(","); 
}

formArray['distanceFrom'] = place; 

delete formArray['undefined'];

return formArray;
}

//cookie functions by quirksmode.org
pxl.nethotels.zuerich.createCookie = function(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

pxl.nethotels.zuerich.readCookie = function(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

pxl.nethotels.zuerich.eraseCookie = function(name) {
	pxl.nethotels.zuerich.createCookie(name,"",-1);
}

pxl.nethotels.zuerich.isInArray = function(ARRAY,ITEM)
{
		//if(window.console){window.console.log(ARRAY)};
    
    for(var i=0;i<=ARRAY.length-1;i++)
    {
				//if(window.console){window.console.log(ITEM+' = '+ARRAY[i])};
        
        if(ARRAY[i] == ITEM)
        {
            return true;
        }
    }
    return false;
}

//====================================================================================================
// GOOGLE-MAPS (loading & intializing)

/*
	this initializes the Loader for the Google Map API
*/
pxl.nethotels.zuerich.initLoader = function()
{
 var script = document.createElement("script");
 script.src = "http://www.google.com/jsapi?key="+pxl.nethotels.zuerich.API_KEY+"&callback=pxl.nethotels.zuerich.loadMaps";
 script.type = "text/javascript";
 document.getElementsByTagName("head")[0].appendChild(script);
}

/*
	this loads the Google Maps API
*/
pxl.nethotels.zuerich.loadMaps = function()
{
 google.load("maps", "2", {"callback" : pxl.nethotels.zuerich.mapsLoaded, language:pxl.nethotels.zuerich.APP_LANGUAGE});
}

/*
	Load Complete Callback
*/
pxl.nethotels.zuerich.mapsLoaded = function()
{
 var map = new google.maps.Map2(document.getElementById(pxl.nethotels.zuerich.MAP_DIV));

 //set center of map and map-type to display
 if(pxl.nethotels.zuerich._currentStep == 4)
 {
		if(pxl.nethotels.zuerich.HOTEL_LATITUDE != 0 || pxl.nethotels.zuerich.HOTEL_LONGITUDE != 0)
		{ 
			map.setCenter(new google.maps.LatLng(pxl.nethotels.zuerich.HOTEL_LATITUDE, pxl.nethotels.zuerich.HOTEL_LONGITUDE), pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL, G_HYBRID_MAP);
		}	
//		map.setCenter(new google.maps.LatLng(pxl.nethotels.zuerich.DEFAULT_LATITUDE, pxl.nethotels.zuerich.DEFAULT_LONGITUDE), pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL, G_HYBRID_MAP);
 } else {
		map.setCenter(new google.maps.LatLng(pxl.nethotels.zuerich.DEFAULT_LATITUDE, pxl.nethotels.zuerich.DEFAULT_LONGITUDE), pxl.nethotels.zuerich.DEFAULT_ZOOMLEVEL, G_HYBRID_MAP);
 }
 //G_SATELLITE_MAP

 if(pxl.nethotels.zuerich.UIenabled)
 {
    //get default UI 
    var custom = map.getDefaultUI();
 
    //set UI to Google Maps.
		for( var i in custom.controls )
		{
	      custom.controls[i] = false;
		}

		map.setUI( custom );
		if(pxl.nethotels.zuerich._currentStep == 4)
		{
			map.addControl( new google.maps.MapTypeControl(), new google.maps.ControlPosition( G_ANCHOR_TOP_RIGHT, new google.maps.Size(5,5) ));				
			map.addControl( new google.maps.LargeMapControl3D(), new google.maps.ControlPosition( G_ANCHOR_TOP_LEFT, new google.maps.Size(5,5) ));
		} else {
			map.addControl( new google.maps.MapTypeControl(), new google.maps.ControlPosition( G_ANCHOR_TOP_RIGHT, new google.maps.Size(5,30) ));				
			map.addControl( new google.maps.LargeMapControl3D(), new google.maps.ControlPosition( G_ANCHOR_TOP_LEFT, new google.maps.Size(5,60) ));
		}
		
// OLD CODE ---
//	var scale = new google.maps.ScaleControl()
//	scale.printable = function(){return true;};
//	map.addControl(scale, new google.maps.ControlPosition( <anchor>, new google.maps.Size(<x>,<y>) )); 
		    
 }
 if(pxl.nethotels.zuerich.MouseWheelDisabled)
 {
     //disable mousewheel.
     map.disableScrollWheelZoom();
 }
 
 pxl.nethotels.zuerich.map = map;

pxl.nethotels.zuerich.bounds = map.getBounds();
pxl.nethotels.zuerich.southWest = pxl.nethotels.zuerich.bounds.getSouthWest();
pxl.nethotels.zuerich.northEast = pxl.nethotels.zuerich.bounds.getNorthEast();
pxl.nethotels.zuerich.lngSpan = pxl.nethotels.zuerich.northEast.lng() - pxl.nethotels.zuerich.southWest.lng();
pxl.nethotels.zuerich.latSpan = pxl.nethotels.zuerich.northEast.lat() - pxl.nethotels.zuerich.southWest.lat();
 
 
pxl.nethotels.zuerich.googleMapsComplete();
}

/*
	The Load Complete Handler of the Application
*/
pxl.nethotels.zuerich.googleMapsComplete = function()
{
    

	    //if(window.console){window.console.log(pxl.nethotels.zuerich._currentStep)};


	//load leaflet.
	if(pxl.nethotels.zuerich._currentStep != 3)
	{
	    pxl.nethotels.zuerich.getAllLeafletItems();
	}

	pxl.nethotels.zuerich.generateIconType();
	
	if(pxl.nethotels.zuerich._currentStep == 4)
	{
		if(pxl.nethotels.zuerich.HOTEL_LATITUDE == 0 || pxl.nethotels.zuerich.HOTEL_LONGITUDE == 0){return false}
		var point = new google.maps.LatLng(pxl.nethotels.zuerich.HOTEL_LATITUDE, pxl.nethotels.zuerich.HOTEL_LONGITUDE);
		var markerOptions = {icon:pxl.nethotels.zuerich.BASEICON}
		var marker = new google.maps.Marker(point,markerOptions);
/*
		//extra options
		marker.pxl = new Object();
		marker.pxl.zuerich = new Object();
		marker.pxl.zuerich.listId = id;
*/
		pxl.nethotels.zuerich.addMarker(marker);
		//pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, [point]);
	}
	else if(pxl.nethotels.zuerich._currentStep == 1)
	{
//		var point = new google.maps.LatLng(pxl.nethotels.zuerich.DEFAULT_LATITUDE, pxl.nethotels.zuerich.DEFAULT_LONGITUDE);
//		var markerOptions = {icon:pxl.nethotels.zuerich.BASEICON}
//		var marker = new google.maps.Marker(point,markerOptions);
//		pxl.nethotels.zuerich.addMarker(marker);

		var useFITMAP = false;
		
		var $region = jQuery('#netRegionSelector').val();
		
		/*
		if($region != pxl.nethotels.zuerich.REGION)
		{
			pxl.nethotels.zuerich.REGION = $region;
		}*/
		
		pxl.nethotels.zuerich.getResultListData(pxl.nethotels.zuerich.REGION, {},useFITMAP,true);
	}
	else if(pxl.nethotels.zuerich._currentStep == 2 && pxl.nethotels.zuerich.LEAFLET_UID == "")
	{
		var REGION = '';
		if(pxl.nethotels.zuerich.formData.region)
		{
			REGION = pxl.nethotels.zuerich.formData.region;
		}

		//*** configure ui ***
		var FITMAP = false;     
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			jQuery('#netLoadScreen').css('display','block');		
			FITMAP = false;
		} else {
			FITMAP = true;
		}
		
//		alert(pxl.nethotels.zuerich.dontShowLoadScreen);
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			
			// Google Analytics Event Tracking
			pageTracker._trackEvent('Hotel Loading Screen', 'Impressions', '' + '[' + pxl.nethotels.zuerich.APP_RAWLANGUAGE.toUpperCase() + '] ' + pxl.nethotels.zuerich.TOPHOTEL_GADMINID + ': ' + pxl.nethotels.zuerich.TOPHOTEL_TITLE + '');

		}
		
		pxl.nethotels.zuerich.getResultListData(REGION,pxl.nethotels.zuerich.formData,FITMAP);	
		if(!pxl.nethotels.zuerich.dontShowLoadScreen)
		{
			setTimeout(pxl.nethotels.zuerich.showResultList2,1000);
		} else {
			pxl.nethotels.zuerich.showResultList2();		
		}
	}
	else if(pxl.nethotels.zuerich._currentStep == 3)
	{
		pxl.nethotels.zuerich.getAllLeafletItems();		
	}

}

//====================================================================================================
// GOOGLE-MAPS (load data & addData)

/*
	This Generates the Icon-Type for the Marker
*/
pxl.nethotels.zuerich.generateIconType = function()
{
	// Create our "tiny" marker icon
	var baseIcon = new google.maps.Icon();
      baseIcon.shadow = "images/marker_icon.png";
      baseIcon.iconSize = new google.maps.Size(16, 16);
      baseIcon.shadowSize = new google.maps.Size(16, 16);
      baseIcon.iconAnchor = new google.maps.Point(0, 20);
      baseIcon.infoWindowAnchor = new google.maps.Point(9, 2);
      baseIcon.infoShadowAnchor = new google.maps.Point(18, 25);	
      
	pxl.nethotels.zuerich.BASEICON = baseIcon;      
}

/*
	This Generates a Marker for the Google Map
*/
pxl.nethotels.zuerich.generateMarker = function(obj,idx,id,data,region)
{
	var LAT = 0;//pxl.nethotels.zuerich.southWest.lat() + pxl.nethotels.zuerich.latSpan * Math.random();
	var LON = 0;//pxl.nethotels.zuerich.southWest.lng() + pxl.nethotels.zuerich.lngSpan * Math.random();
/*
if(window.console){window.console.log(id)};
try {
	pxl.falseElements++;
if(window.console){
	window.console.info("longitude: "+data.data.gadminGeo.longitude)
};

if(window.console){
	window.console.info("latitude: "+data.data.gadminGeo.latitude)
};
} catch(e) {
	pxl.falseElements--;
}	
*/

	
	if(data.data.gadminGeo != undefined)
	{
		if(data.data.gadminGeo.latitude != undefined)
		{
			LAT = data.data.gadminGeo.latitude;
		}
		if(data.data.gadminGeo.longitude != undefined)
		{
			LON = data.data.gadminGeo.longitude;
		}
	}
	
if(region != undefined && data.data.serviceUser != region && region != '')
{
	return false;
}

//if no latitude or longitude do not create a marker for the google map
if(LAT != 0 || LON != 0) {
	var point = new google.maps.LatLng(LAT, LON);

		var markerOptions = {icon:pxl.nethotels.zuerich.BASEICON}
		var marker = new google.maps.Marker(point,markerOptions);

		//extra options
		marker.pxl = new Object();
		marker.pxl.zuerich = new Object();
		marker.pxl.zuerich.listId = id;

		pxl.nethotels.zuerich._ITEMS[id].marker = marker;
		pxl.nethotels.zuerich._ITEMS[id].markerPoint = point;
}


if(pxl.nethotels.zuerich._currentStep == 2)
{
var myROOM = obj.price.type;//pxl.nethotels.zuerich.AVAILABLE_ROOMTYPES[randomnumber=Math.floor(Math.random()*9)];
var myROOMId = obj.price.serviceId;
} else {
var myROOM = undefined;
var myROOMId = undefined;
}

//if(window.console){window.console.log("myROOM: "+myROOM)};


    if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
    {
        //TABLE-ROW
 		var trElement = document.createElement('tr');
			trElement.setAttribute('_id',id);
			trElement.setAttribute('__id',obj._id);
			trElement.id = "hotel"+id;
			trElement.style.height = "70px";

        //TABLE-CELL 0 ** Marker
 		var tdElement0 = document.createElement('td');
 		tdElement0.width = "25";
 		tdElement0.align = "center";
        var tdElement0Span = document.createElement('span');
        tdElement0Span.className = "orangeBoldTxt";
        tdElement0Span.innerHTML = (pxl.nethotels.zuerich._ADDED_ITEMS+1)+". ";
        pxl.nethotels.zuerich._ADDED_ITEMS++;

        var tdElement0Input = document.createElement('input');
        tdElement0Input.type = 'checkbox';

//        if(window.console){window.console.log('before leaflet-check')};
       
      
        //HACK.
        if(pxl.nethotels.zuerich._currentStep == 3)
        {
            tdElement0Input.setAttribute('checked',true); 
            pxl.nethotels.zuerich.addLeafletItemToArray(obj.urlName);   
             jQuery('.netVormerkenNum').html('('+pxl.nethotels.zuerich.getLengthOfLeafletItems()+')')
        }
        tdElement0Input.name = 'h_merken';
        tdElement0Input.value=obj.urlName;
        tdElement0Input.id='hotel'+id+'_cb';
        tdElement0Span.appendChild(tdElement0Input);

        tdElement0.appendChild(tdElement0Span);
        trElement.appendChild(tdElement0);
        

        //TABLE-CELL 1 ** Image
 		var tdElement1 = document.createElement('td');
 		tdElement1.width = "70";
        if(obj.thumb)
        {
        var tdElement1ImageDiv = document.createElement('div'); 
         tdElement1ImageDiv.style.height = "45px"; 
         tdElement1ImageDiv.style.width = "70px"; 
         tdElement1ImageDiv.style.overflow = "hidden"; 
             
        var tdElement1Image = document.createElement('img');
        tdElement1Image.src = obj.thumb;
        tdElement1Image.border = "";
        tdElement1Image.alt = "";
        tdElement1Image.title = "";
        
  			var url = obj.urlName+'.html';

        tdElement1Image.onclick=function(){pxl.nethotels.zuerich.sendToDetail(url,obj.serviceId,obj.service,myROOM,myROOMId)};
        tdElement1Image.style.cursor = "pointer";
        

        tdElement1ImageDiv.appendChild(tdElement1Image);
        tdElement1.appendChild(tdElement1ImageDiv);
        }
        trElement.appendChild(tdElement1);

        //TABLE-CELL 2 ** HotelData
 		var tdElement2 = document.createElement('td');
 		tdElement2.width = "130";
        
        var tdElement2Div = document.createElement('div');
        
        var tdElement2H3 = document.createElement('h3');

        var tdElement2H3A = document.createElement('a');
            tdElement2H3A.href = obj.urlName+'.html';
            tdElement2H3A.innerHTML += obj.title;

  			var url = obj.urlName+'.html';

				tdElement2H3A.className = "headline"+id;

        tdElement2H3A.style.cursor = "pointer";

        tdElement2H3.appendChild(tdElement2H3A);
        
        tdElement2Div.appendChild(tdElement2H3);
        
  tdElement2Div.innerHTML += obj.city;
	var tdElement2Div_INNERHTML

  if(obj.serviceUser == 'ZTOP')
  {
    tdElement2Div_INNERHTML = pxl.nethotels.zuerich.translations['REGION_ZTOP'];
  }
	else if(obj.serviceUser == 'ZS')
	{
    tdElement2Div_INNERHTML = pxl.nethotels.zuerich.translations['REGION_ZS'];
	}
	else if(obj.serviceUser == 'INFOBADEN')
	{
    tdElement2Div_INNERHTML = pxl.nethotels.zuerich.translations['REGION_INFOBADEN'];
	}
	else if(obj.serviceUser == 'WT')
	{
    tdElement2Div_INNERHTML = pxl.nethotels.zuerich.translations['REGION_WT'];
	}
	
/*
	if(window.console){
		window.console.log(obj.city+' = '+tdElement2Div_INNERHTML);
		window.console.log((obj.city.indexOf(tdElement2Div_INNERHTML)))
	};
*/	
	if(obj.city.indexOf(tdElement2Div_INNERHTML) == -1)
	{
	  tdElement2Div.innerHTML += ' - '+tdElement2Div_INNERHTML;
	}  
  
  tdElement2Div.innerHTML += "<br />";


        var tdElement2Image = document.createElement('img');
            tdElement2Image.src = "images/_stars_small_"+obj.stars+".gif";
            tdElement2Image.border = "0";
            tdElement2Image.alt = obj.stars;
            tdElement2Image.title = obj.stars;
        
        tdElement2Div.appendChild(tdElement2Image);
        var tdElement2Link = document.createElement('a');
            tdElement2Link.className = "arrowRight";
            tdElement2Link.href = obj.urlName+'.html';
  			var url = obj.urlName+'.html';
            tdElement2Link.innerHTML = pxl.nethotels.zuerich.translations['DETAILS'];	//"Details";
		        tdElement2Link.onclick=function(){pxl.nethotels.zuerich.sendToDetail(url,obj.serviceId,obj.service,myROOM,myROOMId);return false;};

        
        tdElement2Div.appendChild(tdElement2Link); 
        tdElement2.appendChild(tdElement2Div);
        trElement.appendChild(tdElement2);

        //TABLE-CELL 3 ** Hotel-Vote
 		var tdElement3 = document.createElement('td');
 		tdElement3.width = "125";
 		tdElement3.align = "center";
 		tdElement3.valign = "middle";
 		if(obj.tripAdvisor != undefined && obj.tripAdvisor.image != undefined)
 		{
        var tdElement3Image = document.createElement('img');
        tdElement3Image.src = obj.tripAdvisor.image;
        tdElement3Image.border = "0";
        tdElement3Image.alt = "";
        tdElement3Image.title = "";

        tdElement3.appendChild(tdElement3Image);
 		}
        trElement.appendChild(tdElement3);

        //TABLE-CELL 4 ** Distance to Centeral
 		var tdElement4 = document.createElement('td');
 		tdElement4.width = "45";
 		tdElement4.align = "center";
 		tdElement4.valign = "middle";
 		if(obj.gadminGeo != undefined && obj.gadminGeo.cityCenter)
 		{
	 		tdElement4.innerHTML += obj.gadminGeo.cityCenter;
 		}
 		
        trElement.appendChild(tdElement4);
/*
        //TABLE-CELL 5 ** Distance to Train
 		var tdElement5 = document.createElement('td');
 		tdElement5.width = "30";
 		tdElement5.align = "center";
 		tdElement5.valign = "middle";

 		if(obj.gadminGeo != undefined && obj.gadminGeo.centralStation)
 		{
	 		tdElement5.innerHTML += obj.gadminGeo.centralStation;
 		}
 		
        trElement.appendChild(tdElement5);
*/
        //TABLE-CELL 6 ** Distance to Airport
 		var tdElement6 = document.createElement('td');
 		tdElement6.width = "45";
 		tdElement6.align = "center";
 		tdElement6.valign = "middle";

 		if(obj.gadminGeo != undefined && obj.gadminGeo.airport)
 		{
	 		tdElement6.innerHTML += obj.gadminGeo.airport;
 		}
 		
        trElement.appendChild(tdElement6);

        //TABLE-CELL 7 ** Food-Price
 		var tdElement7 = document.createElement('td');
 		tdElement7.width = "90";
 		tdElement7.valign = "middle";
 		if(obj.breakfastRate != undefined && obj.breakfastRate != '')
 		{
      var tdElement7Div = document.createElement('div');
      tdElement7Div.innerHTML += obj.breakfastRate+" "+obj.price.currency+" <br />"+pxl.nethotels.zuerich.translations['WITH_BREAKFAST']
      tdElement7Div.innerHTML += ""
	 		tdElement7.appendChild(tdElement7Div);
 		}
        trElement.appendChild(tdElement7);

        //TABLE-CELL 8 ** Price
 		var tdElement8 = document.createElement('td');
 		tdElement8.width = "90";
 		tdElement8.valign = "bottom";
 		
        var tdElement8Div = document.createElement('div');
        tdElement8Div.className = "blackBoldTxt";
        tdElement8Div.innerHTML += obj.price.value+' '+obj.price.currency;
        
        var tdElement8Ul = document.createElement('ul');
        tdElement8Ul.className  = "netListButton";

        var tdElement8Li = document.createElement('li');
        var tdElement8A = document.createElement('a');
				tdElement8A.className = "but1";
				tdElement8A.href = obj.urlName+'.html';
				tdElement8A.innerHTML += pxl.nethotels.zuerich.translations['INFO_BUCHEN'];

				var url = obj.urlName+'.html';
				
        tdElement8A.onclick=function(){pxl.nethotels.zuerich.sendToDetail(url,obj.serviceId,obj.service,myROOM,myROOMId);return false;};
        tdElement8A.style.cursor = "pointer";

        tdElement8Li.appendChild(tdElement8A);
        tdElement8Ul.appendChild(tdElement8Li);
        tdElement8Div.appendChild(tdElement8Ul);

 		tdElement8.appendChild(tdElement8Div);
        trElement.appendChild(tdElement8);

       
        pxl.nethotels.zuerich._ITEMS[id].id = trElement.id;

		document.getElementById('netListTable').appendChild(trElement);

//alert('!')
       if(pxl.nethotels.zuerich.isInArray(pxl.nethotels.zuerich._leaflet,obj.urlName) == true)
        {
//alert('?')
           document.getElementById(tdElement0Input.id).checked = true;
        }
        
        jQuery('#hotel'+id+'_cb').click(function(){
            //alert('checked '+jQuery(this).val());
            //alert(jQuery(this).attr('checked'))
            
            if(jQuery(this).attr('checked') == false)
            {
                pxl.nethotels.zuerich._about_to_delete = jQuery(this).val();
                pxl.nethotels.zuerich.removeItemFromLeaflet(jQuery(this).val()); 
                
                //remove row from table
                if(pxl.nethotels.zuerich._currentStep == 3)
                {
                	jQuery(jQuery(this).parents('tr').get(0)).remove();
                }                
                
            } else {
                pxl.nethotels.zuerich.addToLeaflet(jQuery(this).val());            
            }
        });
        
         jQuery('.headline'+id).click(function()
         {
         		var url = jQuery(this).attr('href');
         		pxl.nethotels.zuerich.sendToDetail(url,obj.serviceId,obj.service,myROOM,myROOMId);
         		return false;
         })

             
        
  if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
  {
  

    jQuery('#hotel'+id).hover(
        function(event)
        {
                var ID = jQuery(this).attr('_id');

	var IDelement = pxl.nethotels.zuerich._ITEMS[ID].id;
	var marker = pxl.nethotels.zuerich._ITEMS[ID].marker
pxl.nethotels.zuerich.selectListItem(IDelement,false,marker);
  if(!marker){return false}  

	marker.openInfoWindowHtml(pxl.nethotels.zuerich.createBubble(ID))

	jQuery('.netBubble'+ID).click(function()
	{
		var DATA = pxl.nethotels.zuerich._ITEMS[jQuery(this).attr('rel')].data;
//  var url = 'detail.cfm?serviceid='+DATA.serviceId+'&service='+DATA.service;
		var url = DATA.urlName+'.html';
	  pxl.nethotels.zuerich.sendToDetail(url,DATA.serviceId,DATA.service);		
	  return false;
	})


        })
  
  }
  
  
  
        
    }	
    
    if(marker == undefined)
    {
    	return false;
    }
		return marker;
}

/*
	This adds the Marker to the Google Map and attaches Event to it
*/
pxl.falseElements = 0;
pxl.nethotels.zuerich.addMarker = function(MARKER)
{
	if(MARKER == false)
	{
		//window.console.log("-------------------------")
		//window.console.log(pxl.falseElements+" killed")
		//window.console.log("-------------------------")
		//pxl.falseElements++;
		
		return false;
	}
	
	pxl.nethotels.zuerich.map.addOverlay(MARKER);

  if(pxl.nethotels.zuerich._currentStep == 1 || pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
  {
	  GEvent.addListener(MARKER, "click", pxl.nethotels.zuerich.marker_clickHandler)
	  GEvent.addListener(MARKER, "mouseover", pxl.nethotels.zuerich.marker_overHandler)
	  GEvent.addListener(MARKER, "mouseout", pxl.nethotels.zuerich.marker_outHandler)
	  GEvent.addListener(MARKER, "infowindowclose", pxl.nethotels.zuerich.marker_infoWindowCloseHandler)
  }
}

/*
	This removes the Markers from the Google Map
*/
pxl.nethotels.zuerich.removeMarkers = function()
{
	pxl.nethotels.zuerich.map.clearOverlays();
}

pxl.nethotels.zuerich.fitMap = function(map, points)
{
//	if(window.console){window.console.log('points',points)};


	if(!pxl.nethotels.zuerich._RESULT_LIST_EMPTY)
	{
   var bounds = new google.maps.LatLngBounds();
   for (var i=0; i< points.length; i++) 
   {
   	if(points[i] != undefined)
   	{
	      bounds.extend(points[i]);
   	}
   }
   
   map.setZoom(map.getBoundsZoomLevel(bounds));
   map.setCenter(bounds.getCenter());
	}
}

//====================================================================================================
// GOOGLE-MAPS (marker-event-handlers)

pxl.nethotels.zuerich.createBubble = function(ID)
{
	var DATA = pxl.nethotels.zuerich._ITEMS[ID].data;
	var url = DATA.urlName+'.html';
	var content = "<div style='width:250px;overflow:auto;'>";
	
	if(DATA.thumb)
	{
		content += '<div style="float:left;overflow:hidden;height:45px;width:70px;"><a class="netbubblestyle netBubble'+ID+'" href="'+DATA.urlName+'.html"';

		if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
		{
			content += 'onclick="pxl.nethotels.zuerich.sendToDetail(\''+url+'\','+DATA.serviceId+',\''+DATA.service+'\'); return false;"';
		}
		content += '><img src="'+DATA.thumb+'"/></a></div>';
	}

	content += '<div style="float:left;margin-left:10px;width:150px;"><h1><a class="netBubble'+ID+'" href="'+DATA.urlName+'.html"';
	if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
	{
		content += 'onclick="pxl.nethotels.zuerich.sendToDetail(\''+url+'\','+DATA.serviceId+',\''+DATA.service+'\'); return false;"';
	}
	content += '>'+DATA.title+'</a></h1><img style="margin-bottom:5px;" src="images/_stars_small_'+DATA.stars+'.gif" />';

	if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
	{
		content += '<p>'+DATA.price.value+' '+DATA.price.currency+'<p>';
	}
	var tmpDescription = DATA.description.substring(0,100);
	tmpDescription = tmpDescription.split('');
	tmpDescription.pop();
	
	var DESC = tmpDescription.join('');
	
	content += '<p>'+DESC+'...</p>';
	
//var url = 'detail.cfm?serviceid='+DATA.serviceId+'&service='+DATA.service;
	
	if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
	{
//	content += '<a rel="'+ID+'" class="netBubble'+ID+'" href="detail.cfm?serviceid='+DATA.serviceId+'&service='+DATA.service+'" onclick="pxl.nethotels.zuerich.sendToDetail(\''+url+'\','+DATA.serviceId+',\''+DATA.service+'\'); return false;">'+pxl.nethotels.zuerich.translations['INFO_BUCHEN']+'</a></div>';
		content += '<a rel="'+ID+'" class="netBubble'+ID+'" href="'+DATA.urlName+'.html" onclick="pxl.nethotels.zuerich.sendToDetail(\''+url+'\','+DATA.serviceId+',\''+DATA.service+'\'); return false;">&raquo; '+pxl.nethotels.zuerich.translations['INFO_BUCHEN']+'</a>';
	} else {
//	content += '<a rel="'+ID+'" class="netBubble'+ID+'" href="detail.cfm?serviceid='+DATA.serviceId+'&service='+DATA.service+'">'+pxl.nethotels.zuerich.translations['INFO_BUCHEN']+'</a></div>';	
		content += '<a rel="'+ID+'" class="netBubble'+ID+'" href="'+DATA.urlName+'.html">&raquo; '+pxl.nethotels.zuerich.translations['INFO_BUCHEN']+'</a>';	
	}	

	if(pxl.nethotels.zuerich._currentStep != 3)
	{
		if(!pxl.nethotels.zuerich.isInArray(pxl.nethotels.zuerich._leaflet, DATA.urlName))
		{
			content += '<br/><a onclick="pxl.nethotels.zuerich.bubbleClick_add(this,\''+DATA.urlName+'\','+ID+'); return false;" rel="'+ID+'" class="netBubble-addfavourites'+ID+'" href="#">&raquo; '+pxl.nethotels.zuerich.translations['ADD_TO_LEAFLET']+'</a></div>';	
		} else {
	//	content += '</div>';	
			content += '<br/><a onclick="return false;" rel="'+ID+'" class="net-disabledbubblelink netBubble-addfavourites'+ID+'" href="#">&raquo; '+pxl.nethotels.zuerich.translations['ADD_TO_LEAFLET']+'</a></div>';	
		}
	}

	content += '</div>';
	return content;
}
pxl.nethotels.zuerich.bubbleClick_add = function(BUTTON,URLNAME,ID)
{
	if(pxl.nethotels.zuerich._currentStep == 2)
	{
		jQuery('#hotel'+ID+'_cb').attr('checked','checked');
		
	}
	pxl.nethotels.zuerich.addToLeaflet(URLNAME);
	BUTTON.className += " net-disabledbubblelink";
	BUTTON.onclick = function(){};	
}

pxl.nethotels.zuerich.marker_clickHandler = function(e)
{
	var ID = pxl.nethotels.zuerich._ITEMS[this.pxl.zuerich.listId].id;
	//pxl.nethotels.zuerich.selectListItem(ID);
//	this.openInfoWindowHtml(pxl.nethotels.zuerich._ITEMS[this.pxl.zuerich.listId].NAME)
//	document.getElementById("hotel"+this.pxl.nethotels.listId).style.backgroundColor = '#ccc';


	this.openInfoWindowHtml(pxl.nethotels.zuerich.createBubble(this.pxl.zuerich.listId));
}
pxl.nethotels.zuerich.marker_infoWindowCloseHandler = function(e)
{
	var ID = pxl.nethotels.zuerich._ITEMS[this.pxl.zuerich.listId].id;
	pxl.nethotels.zuerich.deselectListItem(ID);
//	document.getElementById("hotel"+this.pxl.nethotels.listId).style.backgroundColor = '#ccc';
}
pxl.nethotels.zuerich.marker_overHandler = function(e)
{
	pxl.nethotels.zuerich.map.closeInfoWindow();
	var ID = pxl.nethotels.zuerich._ITEMS[this.pxl.zuerich.listId].id;
//	pxl.nethotels.zuerich.selectListItem(ID);
	this.openInfoWindowHtml(pxl.nethotels.zuerich.createBubble(this.pxl.zuerich.listId));
}
pxl.nethotels.zuerich.marker_outHandler = function(e)
{
//	var ID = pxl.nethotels.zuerich._ITEMS[this.pxl.zuerich.listId].id;
//	pxl.nethotels.zuerich.deselectListItem(ID);
		//pxl.nethotels.zuerich.map.closeInfoWindow();
}

//====================================================================================================
// RESULT-LIST (event-handlers)

pxl.nethotels.zuerich.selectListItem = function(ID,useScrollIntoView,MARKER)
{
	if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
	{
		jQuery('.selected').each(function()
		{
			jQuery(this).css('background-color','').removeClass('selected');
		})
		if(MARKER != undefined){
		jQuery('#'+ID+' td').css('background-color','#ccc').addClass('selected');
		if(useScrollIntoView != false){
			//$('#'+ID)[0].scrollIntoView();
		}
		}
	}
}

pxl.nethotels.zuerich.deselectListItem = function(ID)
{
	if(pxl.nethotels.zuerich._currentStep == 2 || pxl.nethotels.zuerich._currentStep == 3)
	{
	jQuery('#'+ID+' td').css('background-color','').removeClass('selected');
	}
}

//====================================================================================================
// *** LEAFLET ***

// add an item to the leaflet.
pxl.nethotels.zuerich.addToLeaflet = function(ID)
{
	var success = pxl.nethotels.zuerich.addLeafletItemToArray(ID);
	if(!success)
	{
		alert('OH oh')
	}
	var URL_NAMES = pxl.nethotels.zuerich.generateLeafletItemList();

	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	var PROPS = {};
	PROPS.method = "saveBookmarks";
	PROPS.random = RANDOM;
	PROPS.urlNames = URL_NAMES;
	if(pxl.nethotels.zuerich.LEAFLET_UID != "")
	{
		PROPS.id = pxl.nethotels.zuerich.LEAFLET_UID;
	}
/*
	PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
	PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
*/
	PROPS.format = 'json';
	jQuery.get( url, PROPS,
	function(data)
	{
		if(data == ''){return}
		var DATA = JSON.parse(data);
		
		//set bookmark UID
		if(pxl.nethotels.zuerich.LEAFLET_UID == "")
		{
			pxl.nethotels.zuerich.LEAFLET_UID = DATA;
			pxl.nethotels.zuerich.createCookie('pxl_settings_uid',DATA,pxl.nethotels.zuerich.COOKIE_ALIVE_TIME);		/* this cookie is valid for 30 days */
		}

	    //change color of 'netMerkDiv' 
	    jQuery('.netVormerkenNum').html('('+pxl.nethotels.zuerich.getLengthOfLeafletItems()+')')
	    if(pxl.nethotels.zuerich._currentStep == 2)
	    {

// this buttons need a click event -> to post a form
	  	  jQuery('.merkList').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID).click(
	  	  	function()
	  	  	{
	  	  		pxl.nethotels.zuerich.sendToLeaflet(jQuery(this).attr('href'));
	  	  		return false;
	  	  	}
	  	  )
  	  	jQuery('.merkbutton').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID).click(
	  	  	function()
	  	  	{
	  	  		pxl.nethotels.zuerich.sendToLeaflet(jQuery(this).attr('href'));
	  	  		return false;
	  	  	}
	  	  )
	    }
        if(jQuery('.netListNaviMerkDiv').hasClass('netListNaviDiv'))
        {
            jQuery('.netListNaviMerkDiv').addClass('netMerkDiv').removeClass('netListNaviDiv');
            jQuery('.merkbutton').addClass('but2').removeClass('but2_off')
        } /*else {
            jQuery('.netListNaviMerkDiv').addClass('netListNaviDiv').removeClass('netMerkDiv');            
        }*/
	})
	
}

// remove an item from the leaflet.
pxl.nethotels.zuerich.removeItemFromLeaflet = function(ID)
{
	//generate leaflet Item List
	var URL_NAMES = pxl.nethotels.zuerich.generateLeafletItemList({exclude:ID});

	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	var PROPS = {};
	PROPS.method = "saveBookmarks";
	PROPS.random = RANDOM;
	PROPS.urlNames = URL_NAMES;
	if(pxl.nethotels.zuerich.LEAFLET_UID != "")
	{
		PROPS.id = pxl.nethotels.zuerich.LEAFLET_UID;
	}
/*
	PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
	PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
*/
	PROPS.format = 'json';
	jQuery.get( url, PROPS,
	function(data)
	{
		if(data == ''){return}
		var DATA = JSON.parse(data);
		
		//set bookmark UID
		if(pxl.nethotels.zuerich.LEAFLET_UID == "")
		{
			pxl.nethotels.zuerich.LEAFLET_UID = DATA;
		}
        if(pxl.nethotels.zuerich.getLengthOfLeafletItems() >= 1)
        {
            pxl.nethotels.zuerich.removeLeafletItemFromArray(pxl.nethotels.zuerich._about_to_delete);	    
	        jQuery('.netVormerkenNum').html('('+pxl.nethotels.zuerich.getLengthOfLeafletItems()+')');
	         if(pxl.nethotels.zuerich._currentStep == 2)
	         {
// this buttons need a click event to post a form
//     jQuery('.merkList').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID)
//     jQuery('.merkbutton').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID)
	         }
		         if(jQuery('.netListNaviMerkDiv').hasClass('netListNaviDiv'))
	           {
	         if(pxl.nethotels.zuerich._currentStep == 2)
	         {
	                jQuery('.netListNaviMerkDiv').addClass('netMerkDiv').removeClass('netListNaviDiv');
						}
	                jQuery('.merkbutton').addClass('but2_off').removeClass('but2')
	           }
	            
        } 
        else if(pxl.nethotels.zuerich.getLengthOfLeafletItems() == 0)
        {
            pxl.nethotels.zuerich.removeLeafletItemFromArray(pxl.nethotels.zuerich._about_to_delete);	    
	        jQuery('.netVormerkenNum').html('('+pxl.nethotels.zuerich.getLengthOfLeafletItems()+')');
	        if(pxl.nethotels.zuerich._currentStep == 2){
// thus buttons need a click event -> to post the form
//	        jQuery('.merkList').attr('href','index.cfm?step=3&marked='+pxl.nethotels.zuerich._leaflet.length)
//	        jQuery('.merkbutton').attr('href','index.cfm?step=3&marked='+pxl.nethotels.zuerich._leaflet.length)
	        }

	        if(jQuery('.netListNaviMerkDiv').hasClass('netMerkDiv'))
            {
	         if(pxl.nethotels.zuerich._currentStep == 2)
	         {
                jQuery('.netListNaviMerkDiv').addClass('netListNaviDiv').removeClass('netMerkDiv');
						}
                jQuery('.merkbutton').addClass('but2_off').removeClass('but2')
            }
         
                
        }
	    pxl.nethotels.zuerich._about_to_delete = '';
	})
}

//get all items on the leaflet.
pxl.nethotels.zuerich.getAllLeafletItems = function()
{
	if(pxl.nethotels.zuerich.LEAFLET_UID == ""){return false}

	var region = "";
	var PROPS = {};
	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	PROPS.method = "openBookmarks";
	PROPS.random = RANDOM;
	PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
	PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
	PROPS.format = 'json';
	PROPS.id = pxl.nethotels.zuerich.LEAFLET_UID;
	
	jQuery.get( url, PROPS,
	function(data)
	{ 
		if(data == '')
		{

if(pxl.nethotels.zuerich._currentStep == 2)
	{
		var REGION = '';
		if(pxl.nethotels.zuerich.formData.region)
		{
			REGION = pxl.nethotels.zuerich.formData.region;
		}

		//*** configure ui ***
		var FITMAP = false;     
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			jQuery('#netLoadScreen').css('display','block');		
			FITMAP = false;
		} else {
			FITMAP = true;
		}
		
//		alert(pxl.nethotels.zuerich.dontShowLoadScreen);
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			
			// Google Analytics Event Tracking
			pageTracker._trackEvent('Hotel Loading Screen', 'Impressions', '' + '[' + pxl.nethotels.zuerich.APP_RAWLANGUAGE.toUpperCase() + '] ' + pxl.nethotels.zuerich.TOPHOTEL_GADMINID + ': ' + pxl.nethotels.zuerich.TOPHOTEL_TITLE + '');
			
		}
		
		pxl.nethotels.zuerich.getResultListData(REGION,pxl.nethotels.zuerich.formData,FITMAP);	
		if(!pxl.nethotels.zuerich.dontShowLoadScreen)
		{
			setTimeout(pxl.nethotels.zuerich.showResultList2,1000);
		} else {
			pxl.nethotels.zuerich.showResultList2();		
		}
	}
		
			return
		}
		var DATA = JSON.parse(data);

		for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
		{
    	pxl.nethotels.zuerich.addLeafletItemToArray(DATA[arrEle0].urlName);   
    	jQuery('.netVormerkenNum').html('('+pxl.nethotels.zuerich.getLengthOfLeafletItems()+')')
		}	

  jQuery('.merkList').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID).click(
  	function()
  	{
  		pxl.nethotels.zuerich.sendToLeaflet(jQuery(this).attr('href'));
  		return false;
  	}
  )
  jQuery('.merkbutton').addClass('but2').removeClass('but2_off')
	jQuery('.merkbutton').attr('href','mlist.cfm?uid='+pxl.nethotels.zuerich.LEAFLET_UID).click(
  	function()
  	{
  		pxl.nethotels.zuerich.sendToLeaflet(jQuery(this).attr('href'));
  		return false;
  	}
  )

  if(jQuery('.netListNaviMerkDiv').hasClass('netListNaviDiv') && pxl.nethotels.zuerich.getLengthOfLeafletItems() >= 1)
  {
    jQuery('.netListNaviMerkDiv').addClass('netMerkDiv').removeClass('netListNaviDiv');
    jQuery('.merkbutton').addClass('but2').removeClass('but2_off')
  }

	if(pxl.nethotels.zuerich._currentStep == 3){
 	  jQuery('.merkList').attr('href','list.cfm').click(
 	  	function()
 	  	{
 	  		pxl.nethotels.zuerich.sendToLeaflet(jQuery(this).attr('href'));
 	  		return false;
 	  	}
 	  );

//	jQuery('#netListTable').append('<tr><td class="netsortloaderbox"><img src="images/sortloader.gif"/></td></tr>');
		jQuery('#netListTable').append('<tr><td colspan="8" class="netsortloaderbox"><div id="loaderbox"><img class="loaderimage" src="images/sortloader.gif"/><div class="loadercontent"></div></div></td></tr>');
		pxl.nethotels.zuerich.getAllLeafletItemsList();
	}
	
		if(pxl.nethotels.zuerich._currentStep == 2)
		{
		var REGION = '';
		if(pxl.nethotels.zuerich.formData.region)
		{
			REGION = pxl.nethotels.zuerich.formData.region;
		}

		//*** configure ui ***
		var FITMAP = false;     
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			jQuery('#netLoadScreen').css('display','block');		
			FITMAP = false;
		} else {
			FITMAP = true;
		}
		
// 	alert(pxl.nethotels.zuerich.dontShowLoadScreen);
		if(pxl.nethotels.zuerich.dontShowLoadScreen == "false")
		{
			
			// Google Analytics Event Tracking
			pageTracker._trackEvent('Hotel Loading Screen', 'Impressions', '' + '[' + pxl.nethotels.zuerich.APP_RAWLANGUAGE.toUpperCase() + '] ' + pxl.nethotels.zuerich.TOPHOTEL_GADMINID + ': ' + pxl.nethotels.zuerich.TOPHOTEL_TITLE + '');

		}
		
		pxl.nethotels.zuerich.getResultListData(REGION,pxl.nethotels.zuerich.formData,FITMAP);	
		if(!pxl.nethotels.zuerich.dontShowLoadScreen)
		{
			setTimeout(pxl.nethotels.zuerich.showResultList2,1000);
		} else {
			pxl.nethotels.zuerich.showResultList2();		
		}
}	
	
	})
}

// get all items on the leaflet.
pxl.nethotels.zuerich.getAllLeafletItemsList = function()
{
	var region = "";
	var PROPS = {};
	var url = '/com/pixeltex/hotels/remote/';
	var RANDOM = new Date().getTime()/1000;
	PROPS.method = "openBookmarks";
	PROPS.random = RANDOM;
	PROPS.clientId = pxl.nethotels.zuerich.APP_CLIENTID;
	PROPS.languageCode = pxl.nethotels.zuerich.APP_LANGUAGE;
	PROPS.format = 'json';
	PROPS.id = pxl.nethotels.zuerich.LEAFLET_UID;
	
	jQuery.get( url, PROPS,
	function(data)
	{ 
		if(data == ''){return}
		var DATA = JSON.parse(data);
		
	pxl.nethotels.zuerich.removeMarkers();
	pxl.nethotels.zuerich._ITEMS = new Array();

	pxl.nethotels.zuerich.POINTS = new Array();
	pxl.nethotels.zuerich._ADDED_ITEMS=0;

/*
	var TB = document.getElementById('netListTable');
	if(TB)
	{
	while (TB.hasChildNodes())
	{
		TB.removeChild(TB.firstChild);
	}
	}

	for(var arrEle0=0;arrEle0<=DATA.length-1;arrEle0++)
	{
		var ID = pxl.nethotels.zuerich._ITEMS.length;
		pxl.nethotels.zuerich._ITEMS.push({id:arrEle0});
		pxl.nethotels.zuerich._ITEMS[ID].data = DATA[arrEle0];
		
		var MARKER = pxl.nethotels.zuerich.generateMarker(DATA[arrEle0],arrEle0,ID,pxl.nethotels.zuerich._ITEMS[ID],region);
		pxl.nethotels.zuerich.addMarker(MARKER);
		pxl.nethotels.zuerich.POINTS.push(pxl.nethotels.zuerich._ITEMS[ID].markerPoint);
	}

	pxl.nethotels.zuerich.fitMap(pxl.nethotels.zuerich.map, pxl.nethotels.zuerich.POINTS);
*/
	//1) - save data into an array
	pxl.nethotels.zuerich.RESULTS_DATA_ARRAY = DATA;
	
	//2) prepare loader
	if(!document.isIE6){
	jQuery('.arrowActive').css('display','none');
	jQuery('#loaderbox').css('position','relative');
	jQuery('td.netsortloaderbox div.loadercontent').css('position','absolute').css('margin-top','8px').css('top','-19px').css('left','-15px')
		.html('<div style="border: 0px solid gray; padding: 0px; width: 679px;"><div id="loaderstatusbar" style="background-color: #0C419A; width: 0px; padding: 0px; margin: 0px; height: 4px;">&nbsp;</div></div>');
	
	}
	//3) - call a helper-function directly with a delay
	pxl.nethotels.zuerich.addTableListItem(DATA, 0, region, DATA.length);
		
	})			

}

// generates a list of leaflet item to save into the database.
pxl.nethotels.zuerich.generateLeafletItemList = function(options)
{
	var list = pxl.nethotels.zuerich._leaflet;
	if(options && options.exclude != undefined)
	{
    for(var i=0;i<=list.length-1;i++)
    {
       // window.console.log(ITEM+' = '+ARRAY[i])
        if(list[i] == options.exclude)
        {
            list.splice(i,1);
        }
    }    
	}
	return list.join(',');
}

// generates a list of leaflet item to save into the database.
pxl.nethotels.zuerich.getLengthOfLeafletItems = function()
{
	return pxl.nethotels.zuerich._leaflet.length;
}

// adds an item to the leaflet array.
pxl.nethotels.zuerich.addLeafletItemToArray = function(ID)
{
	var status = true;
   for(var i=0;i<=pxl.nethotels.zuerich._leaflet.length-1;i++)
   {
      // window.console.log(ITEM+' = '+ARRAY[i])
       if(pxl.nethotels.zuerich._leaflet[i] == ID)
       {
         status = false;
				break;
       }
   }    
	if(status)
	{
	   pxl.nethotels.zuerich._leaflet.push(ID);
	}
   return status;
}
//removes a leaflet item from the array.
pxl.nethotels.zuerich.removeLeafletItemFromArray = function(ID)
{
    for(var i=0;i<=pxl.nethotels.zuerich._leaflet.length-1;i++)
    {
       // window.console.log(ITEM+' = '+ARRAY[i])
        if(pxl.nethotels.zuerich._leaflet[i] == ID)
        {
            pxl.nethotels.zuerich._leaflet.splice(i,1);
        }
    }    
}

//====================================================================================================
// REGION-MAP (Adobe/Macromedia Functions)

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
