// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// GoogleMaps Results

    // var map;
    // var mgr = null;
    // var geocoder = null;
    // var centerLatitude = 31.1;
    // var centerLongitude = -7.9;
    // var startZoom = 6;
    var currentFocus=false;
    var markerHash={};



// start of sidebar code
/*    function focusPoint(id){
      if (currentFocus) {
        $("#sidebar-item-"+currentFocus).removeClass("current");
      }
      $("#sidebar-item-"+id).addClass("current");
      markerHash[id].marker.openInfoWindowHtml(markerHash[id].loc_name);
      currentFocus=id;
    }

    function filter(category){
    	for(i=0;i<markers.length;i++) {
        var current=markers[i];
    		if (current.category == category || 'All' == category) {
    		  $("#sidebar-item-" + markers[i].id).show()
    		  if (!markerHash[current.id].visible) {
    		    map.addOverlay(markerHash[current.id].marker);
    		    markerHash[current.id].visible=true;
    		  }
    		} else {
    		  if (markerHash[current.id].visible) {
    		    map.removeOverlay(markerHash[current.id].marker);
    		    markerHash[current.id].visible=false;
    		  }
    		  $("#sidebar-item-" + markers[i].id).hide()
    		}
    	}
    }
*/
    function windowHeight() {
    	// Standard browsers (Mozilla, Safari, etc.)
    	if (self.innerHeight)
    		return self.innerHeight;
    	// IE 6
    	if (document.documentElement && document.documentElement.clientHeight)
    		return document.documentElement.clientHeight;
    	// IE 5
    	if (document.body)
    		return document.body.clientHeight;
    	// Just in case.
    	return 0;
    }

/*    function handleResize() {
    	var height = windowHeight() - $('toolbar').offsetHeight - 75;
    	$('map').style.height = height + 'px';
    	$('sidebar').style.height = height + 'px';
    }

    function filterResults(resultID, className){
        $(className).hide();
        $("#result-" + resultID).show();
        $("#description-" + resultID).show();
    }
*/
    function getElementsByClass(searchClass,node,tag) {
            var classElements = new Array();
            if ( node == null )
                    node = document;
            if ( tag == null )
                    tag = '*';
            var els = node.getElementsByTagName(tag);
            var elsLen = els.length;
            var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
            for (i = 0, j = 0; i < elsLen; i++) {
                    if ( pattern.test(els[i].className) ) {
                            classElements[j] = els[i];
                            j++;
                    }
            }
            return classElements;
    }

    function showHideField(products, arrayCol, value, elemID)
    {
        for (i=0; i<elemID.length;i++) {
            if (value == 0) {
                Element.hide(elemID[i]);
            } else {
            Element.show(elemID[i]);
            }
        }
    }

    function showHideIds(element, elements)
    {
    	for(i=0;i<elements.length;i++) {
              Element.hide(elements[i]);
        }
        Element.show(element);
    }

    function updateProduct()
    {
        var inputs = document.getElementsByTagName( 'select' );
        var descField = null;
        for(var i=0;i<inputs.length;i++){
          if(inputs.item(i).getAttribute( 'id' ) == 'product_product' ){
            descField = inputs.item(i).value;
          }
        }

        var outputs = document.getElementsByTagName( 'input' );
        for(var i=0;i<outputs.length;i++){
          if(outputs.item(i).getAttribute( 'id' ) == 'result_product_id' ){
            outputs.item(i).value = descField;
            break;
          }
        }
    }

/*	function toggle_change_password_form() {
	    $("#change_password_id").click(function () {
	      	$("#test").toggle("slide", {}, 1000);
	    });
	}*/

    function add_child_ages(){
/*        var num_children = $("select[id='search_children']").val();
        var child_ages = "";
        $('#child_ages').remove();
        if (num_children > 0) {
            for (i = 0; i < num_children; i++) {
                child_ages += "<input type='text' value='' size='1' name='search[child_age][" + i + "]'/>";
            }
            $('#child_ages_container').append("<div id='child_ages'>Child ages " + child_ages + "</div>");
        }
*/
		}
	function select(resort_id) {
		var el = $("#resort_" + resort_id);
		if (el.hasClass("selected-resort")) {
			el.removeClass("selected-resort");
			el.addClass("unselected-resort");
		} else {
			el.removeClass("unselected-resort");
			el.addClass("selected-resort");
		}
		$('#resorts_data').html("");
		var inputs = "";
		$('.selected-resort a').each(function(){
			inputs += "<input type=\"hidden\" name=\"resort[]\" value=\""+ $(this).html() + "\" />";
		})
		$('#resorts_data').html(inputs);
	}
	
	
    function onItemSelect(row) {
        $('form').submit();
    }

    jQuery(document).ready(function(){
		$("#hotel_stylesheet, #chain_stylesheet").change(
			function() {
				if ($(this).val() == "custom") {
					$("#custom_stylesheet").show();
				} else {
					$("#custom_stylesheet").hide();
				}
			}
		);
		if ($("#roomFreesell").is(":checked")) {
              $("#roomInventory").css("display","none");
        }
        $("#roomFreesell").click(freesellToggle);
        function freesellToggle(){
            if ($("#roomFreesell").is(":checked")) {
					$("#roomInventory").hide();
				} else {
					$("#roomInventory").show();
				}
        }
		$("#hotel_map_type, #chain_map_type").change(
			function() {
				if ($(this).val() == "Image") {
					$("#image_map").show();
				} else {
					$("#image_map").hide();
				}
			}
		);

		$("div[id^='hotel_image_set_'], div[id^='package_image_set_']").each(function(i) {
			var current_div = $(this);
				$(this).jCarouselLite({
				btnNext: ".next_" + $(this).attr("id"),
				btnPrev: ".prev_" + $(this).attr("id"),
				visible: 1,
				circular: false
		    });
		});
        $("button[id^='package_details_link_']").each(
			function( i ) {
				$( this ).bind(
					"click",
					function(){
						$("#package_description_" + i).toggle();
						// $("#package_details_link_0").html = "Collapse";
					}
				);
			}
		);
        //Add tabs where required
        $(".tabs > ul").tabs();
        //Child age form
        $("select[id='search_children']").bind("change", function(){add_child_ages()});
        add_child_ages();
        //Search form radio button controls
        $(".search-type").attr("checked", false);
        $("#holidaySearch").attr("checked", true);
        $("label[for='holidaySearch']").addClass("active-radio");
		$("label[id='radio-label']").each(
            function(i) {
                $(this).bind(
                    "click",
                    function(){
                        $("label[id='radio-label']").removeClass("active-radio");
                        $(this).addClass("active-radio");

						$("#search-detail").hide();
						$("#property_detail").hide();
						$("#extra_detail").hide();
						$("#emarried_detail").hide();

						if ($(this).attr('for') == "holidaySearch" || $(this).attr('for') == "partySearch") {
							$("#main_search_form").attr({action: "/en/accommodation/hotels"});
							$("#search-detail").show();
						} else if ($(this).attr('for') == "extraSearch") {
							$("#main_search_form").attr({action: "/en/extra/things_to_do"});
							$("#extra_detail").show();
						} else if ($(this).attr('for') == "propertySearch") {
							$("#main_search_form").attr({action: "/en/property/search"});
							$("#property_detail").show();
						} else if ($(this).attr('for') == "marriedSearch") {
							$("#main_search_form").attr({action: "/en/wedding"});
							$("#married_detail").show();
						}
           }
          );
         }
        );
//        $(".date-select").datepicker({
//            numberOfMonths: 2,
//            speed: "",
//            dateFormat: "dd-M-yy",
//            showOn: "both",
//            buttonImage: "/images/calendar.gif",
//            buttonImageOnly: true
//        });
        $('a.title').cluetip({activation: 'click', splitTitle: '|', sticky: true, closePosition: 'title'});
        $(".date-select").datepicker({
            numberOfMonths: 2,
            speed: "",
            dateFormat: "dd-M-yy",
            showOn: "both",
            onClose: updateDates,
            buttonImage: "/images/calendar.gif",
            buttonImageOnly: true
        });
        function updateDates() {
            var startdate = new Date ($("#indate").val());
            var enddate = new Date ($("#outdate").val());
            if (enddate < startdate) {
                $("#outdate").val($("#indate").val());
            }
        }
        jQuery("#admin-accordion").accordion({
            autoHeight: false
        });
        //Can't get this working!! Keeps returning the whole page
//        $("input#hotel_name").autocomplete("auto_complete_for_hotel_name",
//                                      {onItemSelect: onItemSelect});
});
