// Pencil jquery love
$(document).ready(function(){

	$('.star').rating.options.required = true;

	var leftShift = 40;
	var cities = [
	["Aberdeen",164,101],
	["Bath",134,252],
	["Belfast",97,158],
	["Birmingham",148,229],
	["Bristol",130,250],
	["Cardiff",123,249],
	["Chester",135,202],
	["Dublin",83,196],
	["Edinburgh",145,131],
	["Glasgow",125,133],
	["Leeds",160,196],
	["Lincoln",175,210],
	["Liverpool",135,197],
	["London",173,258],
	["Manchester",148,202],
	["Newcastle-upon-Tyne",161,164],
	["Nottingham",161,217],
	["Sheffield",160,207],
	["York",166,190]];
	$.each(cities,function(i,v){
			$('<a href="#" class="city-dot-link" title="'+ v[0] + '" />').appendTo('.greybox').css({'left':(leftShift - 3 +v[1])+'px','top':(v[2]-3)+'px'}).click(function(){
					$('select[name="location_id"]').val(v[0]);
					$('form').submit();
			});
	});


   $('#date_to').datepicker({ dateFormat: 'dd/mm/yy', duration: '' });
	$('#date_from').datepicker({ dateFormat: 'dd/mm/yy', duration: '' });
	
	// date picker class
	$('.date_picker').datepicker({ dateFormat: 'dd/mm/yy', duration: '', changeMonth: 'true', changeYear: 'true', constrainInput: 'true', minDate: new Date()});

	$("#content .error").fadeIn("slow");
	$("#content .msg").fadeIn("slow");
    $("#content .success").fadeIn("slow");
	$(".imgs a").lightBox();
	$('a[rel=external]').attr('target','_blank'); 
	
	if($("#keyword").val()=="Find me a Holiday Rental in...") $("#keyword").css('color','#bbb');
    
   $(".prop_details").click(function () {
   	var id = $(this).attr("rel");
   	$("#show_prop_details_" + id).slideToggle("slow");
   });
   
   $("#searchthis").click(function () {
   	if($("#keyword").val()=="Find me a Holiday Rental in...")
			{
			$("#keyword").val("");
			}
   });
   
   $("#revisesearch").click(function () {
		 $("#searchbar").attr("class","active").removeAttr("class");
		 $("#select_options").attr("class","hidden").removeAttr("class");
		 $("#sbox").attr("class","hidden").removeAttr("class");
   });
   

   $("#para_region").change(function () {
    var keyword = $(this).val();
    if (keyword != 'ALL') {
        $(".town_box").remove();
        $(".filter_button").remove();
        $.post("/filter", { keyword: keyword, table: 'module_villas_towns' },
           function(data){
            $(".output_location").append(data);
            $(".output_location").append('<li><button class="filter_button" type="submit">Filter</button></li>');
            });
     } else {
     	$(".town_box").remove();
        }
  	});
    
   $(".rating li a").click(function () {
	var rate = $(this).text();
    var id = $(this).attr("rel");
    var url = '/vote/' + id;
    $.post(url, { vote: rate },
      	function(data){
        $("#rating_"+id).fadeOut("slow");
        $("#content .success").text("Your rating was successfully submitted.");
        $("#content .success").fadeIn("#content .msg");
    });
   });
    
   // 02/11/08 BJ changed from keypress to keyup to fix 1 character lag and added auto form submit on option click
   // 23/11/08 BJ added code to modify form submit action with current entered search
   $("#keyword").keyup(function () {
   		var keyword = $(this).val().toLowerCase();
   		$("#searchform").attr("action","/results/" + keyword.replace(/ /g,'_'));
        $("#results_dropdown").show();
       $.post("/home/search_results", { keyword: keyword },
      	function(data){
        	$("#results_dropdown").html(data);
            $(".autocomptext").click(function () {
            	var res = $(this).attr("title");
            	$("#keyword").val(res);
                $("#results_dropdown").hide();
                $("#searchform").attr("action","/results/" + res.replace(/ /g,'_').toLowerCase());
                $("#searchform").submit();
           	});
     		$("#results_dropdown").mouseout(function () {
            	
            });
      	});
   });
   
   $("#keyword").focus(function () {
   		if($(this).val()=="Find me a Holiday Rental in...")
				{
				$(this).val("");
 				$("#keyword").css('color','#000');
				}
   });
   
    $(".options li").click(function () {
    	var info = $(this).attr("id");
      var arr = info.split('_');
      var id = arr[1];
      var input = $(".input_" + id).val();
      if (input == 0)
			{
        	$(".input_" + id).val(1);
         $(this).attr("class","active");
        	if (info == 'option_availability')
        	   {
        	   $("#availability").attr("class","active");
        	   }
        	}
		else if(input == 1)
			{
        	$(".input_" + id).val(0)
         $(this).attr("class","active").removeAttr("class");
        	if (info == 'option_availability')
        	   {
        	   $("#date_to").val("");
        	   $("#date_from").val("");
        	   $("#availability").attr("class","active").removeAttr("class");
        	   }
        	}
    });

});