function selectReplacement(obj) {
    // append a class to the select
    //obj.className += ' replaced';
    // create list for styling
    var ul = document.createElement('ul');
    ul.className = 'selectReplacement';
    var opts = obj.options;
    for (var i=0; i<opts.length; i++) {
      var selectedOpt;
      if (opts[i].selected) {
        selectedOpt = i;
        break;
      } else {
        selectedOpt = 0;
      }
    }
    for (var i=0; i<opts.length; i++) {
      var li = document.createElement('li');
      var txt = document.createTextNode(opts[i].text);
      li.appendChild(txt);
      li.selIndex = opts[i].index;
      li.selectID = obj.id;
      li.onclick = function() {
        selectMe(this);
      }
      if (i == selectedOpt) {
        li.className = 'selected';
        li.onclick = function() {
          this.parentNode.className += ' selectOpen';
          this.onclick = function() {
            selectMe(this);
          }
        }
      }
      if (window.attachEvent) {
        li.onmouseover = function() {
          this.className += ' hover';
        }
        li.onmouseout = function() {
          this.className = 
            this.className.replace(new RegExp(" hover\\b"), '');
        }
      }
      ul.appendChild(li);
    }
    // add the input and the ul
    obj.parentNode.appendChild(ul);
  }
  function selectMe(obj) {
    var lis = obj.parentNode.getElementsByTagName('li');
    for (var i=0; i<lis.length; i++) {
      if (lis[i] != obj) { // not the selected list item
        lis[i].className='';
        lis[i].onclick = function() {
          selectMe(this);
        }
     } else {
        setVal(obj.selectID, obj.selIndex);
        obj.className='selected';
        obj.parentNode.className = 
          obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
        obj.onclick = function() {
          obj.parentNode.className += ' selectOpen';
          this.onclick = function() {
            selectMe(this);
          }
        }
      }
    }
  }
  function setVal(objID, selIndex) {
    var obj = document.getElementById(objID);
    obj.selectedIndex = selIndex;
  }
  function setForm() {
    var s = document.getElementById('rlocation');
      selectReplacement(s);
  }
  function closeSel() {
	  $('.selectReplacement').attr('class','selectReplacement');
	  
  }


function findValue(li) {
		if( li == null ) return alert("No match!");
		// if coming from an AJAX call, let's use the CityId as the value
		if( !!li.extra ) var sValue = li.extra[0];
		// otherwise, let's just display the value in the text box
		else var sValue = li.selectValue;
		alert("The value you selected was: " + sValue);
	}
	function selectItem(li) {
		findValue(li);
	}
	function formatItem(row) {
		return row[0];
	}
	function lookupLocal(){
		var oSuggest = $(".cityselect")[0].autocompleter;
		oSuggest.findValue();
		return false;
	}
	
	
	function jah_with_image(url,target,show_progress_image) {
		
		if (show_progress_image) {
			document.getElementById(target).innerHTML = '<img src="/logic_frontend/templates/site/images/loading.gif" />';
		} else {
			//document.getElementById(target).innerHTML = '';
		}
	    if (window.XMLHttpRequest) {
	        req = new XMLHttpRequest();
	        req.onreadystatechange = function() {jahDone(target);};
	        req.open("GET", url, true);
	        req.send(null);
			

	    } else if (window.ActiveXObject) {
	        req = new ActiveXObject("Microsoft.XMLHTTP");
	        if (req) {
	            req.onreadystatechange = function() {jahDone(target);};
	            req.open("GET", url, true);
	            req.send();
	        }
	    }
		 
		
	}    

	function jahDone(target) {
	    if (req.readyState == 4) {
	        if (req.status == 200) {
	            results = req.responseText;
	            document.getElementById(target).innerHTML = results;
	        } else {
	            document.getElementById(target).innerHTML="jah error:\n" +
	                req.statusText;
	        }
	    }
	}
	
	
	function requestCalendarApartPeriod(link, aid){
		var openWithParam="/ajaxindex.php?mod=apart&sec=_ajax_apartment_calendar_apart_period&aid="+aid+"&" + link;
		jah_with_image(openWithParam,'caldendar_container',true);
	}
	var nextDayOrder = new Date();
	nextDayOrder.setTime(nextDayOrder.getTime());
	var dor = nextDayOrder.getDate();
	var mor = nextDayOrder.getMonth()+1;
	var yor = nextDayOrder.getFullYear();
	
	
	if(dor<=9){
		dor= '0'+dor;
	}
	if(mor<=9){
		mor= '0'+mor;
	}
	var nextDateOrder = dor + '-' +mor + '-' + yor;
	
	

	
$(document).ready(function() {		
	//$('#info_1').remove();
	$('#info_1 ul li a').each(function(iIndex,item){
		$('.info_place .foot_links a:last').after(item);
		$('.info_place .foot_links a:last').before('<br>');
		$('.info_place .foot_links a:last').before('- ');
	});
	
	$('.sArrivalDate').click(function(){
		$(this).val('');
		closeSel();
	});
	$('.sDepartureDate').click(function(){
		closeSel();
	});
	var advclicked = 0;
	$('.adv').click(function(){
		 if(advclicked == 0){
			 advclicked = 1;
			$("#advanced").animate({ 
		        marginLeft: "250"
		      }, 500);
		 }
		 else{
			 advclicked = 0;
			 $("#advanced").animate({marginLeft: "0"},250);
		 }
	});
	$('.adv_close').click(function(){
		advclicked = 0;
		$("#advanced").animate({marginLeft: "0"},250);
	});
	
	jQuery(function() {	
		// initialise the "Select date" link
		jQuery('.sArrivalDate')
			.datePicker(
				// associate the link with a date picker
				{
					
					startDate:nextDateOrder,
					createButton:false
				}
			).bind(
				// when the link is clicked display the date picker
				'click',
				function()
				{
					jQuery('.sArrivalDate').blur();
					updateSelects(jQuery(this).dpGetSelected()[0]);
					jQuery(this).dpDisplay();
					return false;
				}
			).bind(
				// when a date is selected update the SELECTs
				'dateSelected',
				function(e, selectedDate, $td, state)
				{
					updateSelects(selectedDate);
					updateOther(selectedDate);
					//setSearchApartmentNights();
				}
			).bind(
				'dpClosed',
				function(e, selected)
				{
					updateSelects(selected[0]);
				}
			);
		var updateSelects = function (selectedDate)
		{					

			

			if(selectedDate){
				selectedDate = new Date(selectedDate);
				var d = selectedDate.getDate();
				var m = selectedDate.getMonth();
				var y = selectedDate.getFullYear();

				(jQuery('#sArrivalDateDay')[0]).selectedIndex = d -1;
				(jQuery('#sArrivalDateMonth')[0]).selectedIndex = m;
				var today = new Date();
				(jQuery('#sArrivalDateYear')[0]).selectedIndex = y - today.getFullYear();
				//alert(jQuery('#sArrivalDateDay').val());
				jQuery('.sArrivalDate').val(jQuery('#sArrivalDateDay').val()+"-"+jQuery('#sArrivalDateMonth').val()+"-"+(jQuery('#sArrivalDateYear').val()));
				var d = new Date(
						jQuery('#sArrivalDateYear').val(),
						jQuery('#sArrivalDateMonth').val() - 1,
						jQuery('#sArrivalDateDay').val()
					);
				
				jQuery('.sArrivalDate').dpSetSelected(d.asString());
			}
			
		}
		
		var updateOther = function (selectedDate)
		{
			if(
				jQuery('#sArrivalDateYear').val() > jQuery('#sDepartureDateYear').val()	||
				(	
					jQuery('#sArrivalDateYear').val() == jQuery('#sDepartureDateYear').val() &&
					jQuery('#sArrivalDateMonth').val() > jQuery('#sDepartureDateMonth').val()
				) ||
				(
					jQuery('#sArrivalDateYear').val() == jQuery('#sDepartureDateYear').val() &&
					jQuery('#sArrivalDateMonth').val() == jQuery('#sDepartureDateMonth').val() &&
					jQuery('#sArrivalDateDay').val() >= jQuery('#sDepartureDateDay').val()
				)
			) {
				var nextDay = new Date();
				nextDay.setTime(selectedDate.getTime() + (1000*3600*24));			
				var d = nextDay.getDate();
				var m = nextDay.getMonth();
				var y = nextDay.getFullYear();
				(jQuery('#sDepartureDateDay')[0]).selectedIndex = d -1;
				(jQuery('#sDepartureDateMonth')[0]).selectedIndex = m;
				var today = new Date();
				(jQuery('#sDepartureDateYear')[0]).selectedIndex = y - today.getFullYear();
				jQuery('.sDepartureDate').dpSetSelected(nextDay.asString());
				jQuery('.sDepartureDate').val(jQuery('#sDepartureDateDay').val()+"-"+jQuery('#sDepartureDateMonth').val()+"-"+(jQuery('#sDepartureDateYear').val()));
			}
		}
		
		// listen for when the selects are changed and update the picker
		jQuery('#sArrivalDateDay, #sArrivalDateMonth, #sArrivalDateYear')
			.bind(
				'change',
				function()
				{
					var d = new Date(
								jQuery('#sArrivalDateYear').val(),
								jQuery('#sArrivalDateMonth').val() - 1,
								jQuery('#sArrivalDateDay').val()
							);
					jQuery('.sArrivalDate').dpSetSelected(d.asString());
					updateOther(d);
				//	setSearchApartmentNights();
				}
			);
		// default the position of the selects to today
		var today = new Date();
		//jQuery('#sArrivalDateDay').trigger('change');
		jQuery('.sArrivalDate').dpSetOffset(10, 17);
	});

});


var pastDayOrder = new Date();
pastDayOrder.setTime(pastDayOrder.getTime() + (1000*3600*48));
var dpor = pastDayOrder.getDate();
var mpor = pastDayOrder.getMonth()+1;
var ypor = pastDayOrder.getFullYear();
if(dpor<=9){
	dpor= '0'+dpor;
}
if(mpor<=9){
	mpor= '0'+mpor;
}	

var repastDateOrder = dpor + '-' + mpor + '-' + ypor;


jQuery(function() {	
	// initialise the "Select date" link
	jQuery('.sDepartureDate')
		.datePicker(
			// associate the link with a date picker
			{
				startDate:repastDateOrder,				
				createButton:false
			}
		).bind(
			// when the link is clicked display the date picker
			'click',
			function()
			{
				jQuery('.sDepartureDate').blur();
				updateSelects(jQuery(this).dpGetSelected()[0]);
				jQuery(this).dpDisplay();
				return false;
			}
		).bind(
			// when a date is selected update the SELECTs
			'dateSelected',
			function(e, selectedDate, $td, state)
			{
				updateSelects(selectedDate);
				updateOther(selectedDate);
				//setSearchApartmentNights();
			}
		).bind(
			'dpClosed',
			function(e, selected)
			{
				updateSelects(selected[0]);
			}
		);
	var updateSelects = function (selectedDate)
	{
		var dTmp=jQuery('#sArrivalDateDay').val();
		
		if(eval(dTmp)==eval(dor-1))
			var dStart = parseFloat(dTmp) + 2;
		else{
			var dStart = parseFloat(dTmp) + 1;
		}
		if(dStart<=9){
			dStart= '0'+dStart;
		}
		
		jQuery('.sDepartureDate').dpSetStartDate(dStart+"/"+jQuery('#sArrivalDateMonth').val()+"/"+(jQuery('#sArrivalDateYear').val()));
		
		if(selectedDate){
			selectedDate = new Date(selectedDate);
			var d = selectedDate.getDate();
			var m = selectedDate.getMonth();
			var y = selectedDate.getFullYear();
			(jQuery('#sDepartureDateDay')[0]).selectedIndex = d -1;
			(jQuery('#sDepartureDateMonth')[0]).selectedIndex = m;
			var today = new Date();
			(jQuery('#sDepartureDateYear')[0]).selectedIndex = y - today.getFullYear();
			jQuery('#sDepartureDate').val(jQuery('#sDepartureDateDay').val()+"-"+jQuery('#sDepartureDateMonth').val()+"-"+(jQuery('#sDepartureDateYear').val()));
			var d = new Date(
					jQuery('#sDepartureDateYear').val(),
					jQuery('#sDepartureDateMonth').val() - 1,
					jQuery('#sDepartureDateDay').val()
				);
			jQuery('.sDepartureDate').dpSetSelected(d.asString());
		}
	}
	
	var updateOther = function (selectedDate) 
	{
		if(
			jQuery('#sArrivalDateYear').val() > jQuery('#sDepartureDateYear').val()	||
			(	
				jQuery('#sArrivalDateYear').val() == jQuery('#sDepartureDateYear').val() &&
				jQuery('#sArrivalDateMonth').val() > jQuery('#sDepartureDateMonth').val()
			) ||
			(
				jQuery('#sArrivalDateYear').val() == jQuery('#sDepartureDateYear').val() &&
				jQuery('#sArrivalDateMonth').val() == jQuery('#sDepartureDateMonth').val() &&
				jQuery('#sArrivalDateDay').val() >= jQuery('#sDepartureDateDay').val()
			)
		) {
			var prevDay = new Date();
			prevDay.setTime(selectedDate.getTime() - (1000*3600*24));			
			var d = prevDay.getDate();
			var m = prevDay.getMonth();
			var y = prevDay.getFullYear();
			alert(prevDay.asString());
			(jQuery('#sArrivalDateDay')[0]).selectedIndex = d -1;
			(jQuery('#sArrivalDateMonth')[0]).selectedIndex = m;
			var today = new Date();
			(jQuery('#sArrivalDateYear')[0]).selectedIndex = y - today.getFullYear();
			
			jQuery('#sArrivalDate').dpSetSelected(prevDay.asString());
			jQuery('#sArrivalDate').val(jQuery('#sArrivalDateDay').val()+"-"+jQuery('#sArrivalDateMonth').val()+"-"+(jQuery('#sArrivalDateYear').val()));
		}
	}
	
	// listen for when the selects are changed and update the picker
	jQuery('#sDepartureDateDay, #sDepartureDateMonth, #sDepartureDateYear')
		.bind(
			'change',
			function()
			{
				var d = new Date(
							jQuery('#sDepartureDateYear').val(),
							jQuery('#sDepartureDateMonth').val() - 1,
							jQuery('#sDepartureDateDay').val()
						);
				jQuery('#sDepartureDate').dpSetSelected(d.asString());
				updateOther(d);
				//setSearchApartmentNights();
			}
		);
	// default the position of the selects to today
	var today = new Date();
	//Query('#sDepartureDateDay').trigger('change');
	jQuery('#sDepartureDate').dpSetOffset(10, 17);
});
