/**** Add application wide javascripts below this point  ******/
$(document).ready(function() {
	if(!$("body").hasClass("print_friendly"))
		$('#main_image').switcher({	item: 									'.item_img', 
																pagination: 						'#image_switcher', 
																auto_rotate: 						true, 
																rotate_time: 						5000, 
																swap_container_class: 	false, 
																speed: 									"fast", 
																pagination_active_class:'active', 
																after_function: 				true
															});

	form_setup();
	if(jQuery("#twitter-ajax").length){
		if(jQuery("#twitter-ajax .loading").length) load_twitter();
	  else setTimeout(load_twitter, 30000);
	}
	
	ginitialize();
	if($('#google_map_small').length) {
	    var ltlg= new GLatLng(52.47551397,-1.90750122);
	    googlemap.setCenter(ltlg, 15);
	    var marker = new GMarker(ltlg);
	    googlemap.addOverlay(marker);
	    googlemap.addControl(new GSmallMapControl());
	}
	print_setup();
	//image_switcher();
	
	$('#main_image .item_img a').lightBox({
		overlayBgColor: '#FFF',
		overlayOpacity: 0.6,
		imageLoading: '/images/lightbox/loading.gif',
		imageBtnClose:'/images/lightbox/close.gif',
		imageBtnPrev:	'/images/lightbox/prev.gif',
		imageBtnNext: '/images/lightbox/next.gif',
		containerResizeSpeed: 350
	});
	
	$("#floorplans").lightBox({
		overlayBgColor: '#000',
		overlayOpacity: 0.6,
		imageLoading: '/images/lightbox/loading.gif',
		imageBtnClose:'/images/lightbox/close.gif',
		imageBtnPrev:	'/images/lightbox/prev.gif',
		imageBtnNext: '/images/lightbox/next.gif',
		containerResizeSpeed: 350
	});
	$(document)[0].oncontextmenu = function(){return false;};
	
	
	$("#modal").dialog({modal:true,resizable:false,autoOpen:false});
	$("a.signup").click(function(){
		$("#modal").dialog("open");
		return false;
	});
	
	
	
	$("#feedback_modal").dialog({modal:true,resizable:false,title:'Feedback',autoOpen:open});
	$("a.feedback").click(function(){
		window.scrollTo(0, 0);
		$("#feedback_modal").dialog("open");
		return false;
	});
	$("a.itunes").click(function(){
		return false;
	});
	var first = $(".offers a");
	var second = first.eq(1);
	first = first.eq(0);
	
	setInterval(function(){
		if(first.css("z-index") == 2){
			var one = first;
			var two = second;
		}else{
			var two = first;
			var one = second;
		}
		one.fadeOut("slow",function(){
			one.css("z-index",1);
			two.css("z-index",2);
			one.fadeIn("fast");
		});
	}, 5000);
		
	//find_downloads();
	
	setTimeout("fade_messages()", 3500);
	
	//google_map_click();
	
	$("#text_search, #quick_text_search, #signup_name, #signup_email, #site_search").hint();
	$(":submit, :image").click(function(){$("#text_search, #quick_text_search, #signup").each(function(){
	  if($(this).val() == $(this).data("defText")) { $(this).val(""); }
	}); });
  $(".per_page_dropdown").change(function(){
		$(this).parent().parent().parent().submit();
	});
		
		$(".diary-comments .asdkyg").css("display", "none").prev().css("display", "none");
	  $(".diary-comments a.comment-slider").click(function(){
	    $(this).siblings(".diary-comments-form").slideToggle();
	    return false;
	  });
	
	  $(".diary-comments-form form").submit(function(){
	    var loading_block = $(this).parent().parent().next(".all-comments").html("<p>comments reloading</p>");
	    var orig_form = $(this);

	    $.post($(this).attr("action"),
	      $(this).serialize() + "&ajax=1",
	      function(data){
	        loading_block.html(data);
	        orig_form.parent().slideToggle();
					$("#user_message_box").fadeOut(5000);
	        orig_form.children(".inputarea").each(function(){
	          $(this).val("");
	        });
	    	}
	    );
	    return false;
	  });
	
		$(".shortlist_button a").click(function(){
			var orig_link = $(this);
			jQuery.ajax({	url: $(this).attr("href"),
										type: "post",
										dataType: "json",
										success: function(data){
																var orig_link_jq = $(orig_link);
																if(orig_link.children("img").length){
																	if(data.type_ofdata == "added"){
																		orig_link_jq.attr("href", orig_link_jq.attr("href").replace("save","remove")).children("img").attr("src","/images/buttons/shortlist-added.gif");
																	}else {
																		orig_link_jq.attr("href", orig_link_jq.attr("href").replace("remove","save")).children("img").attr("src","/images/buttons/shortlist-add.gif");
																	}
																	if(data.count > 0){
																		$("#navigation li a.shortlist span").html(data.count);
																	}else $("#navigation li a.shortlist span").html(data.count);
																}else{
																	if(data.type_ofdata == "added"){
																		orig_link_jq.attr("href", orig_link_jq.attr("href").replace("save","remove")).html("Remove from shortlist");
																	}else orig_link_jq.attr("href", orig_link_jq.attr("href").replace("remove","save")).html("Add to shortlist");
																	if(data.count > 0){
																		$("#navigation li a.shortlist span").html(data.count);
																	}else $("#navigation li a.shortlist span").html(data.count);
																}
															}
								});
			return false;
		});
		
});

var ajax_error_count = 3;

function twitter_error(){
  if(jQuery('#twitter-ajax .loading').length && (ajax_error_count > 0)){
    ajax_error_count--;
    setTimeout(load_twitter, 10000);
  }
}

function load_twitter(){
	jQuery.ajax({
		type:'post',
		url:'/page/_twitter.ajax',
		timeout: 5000,
		success:function(response){
      if(response.length) jQuery('#twitter-ajax').replaceWith(response);
      twitter_error();
		},
		error:twitter_error
	});
}

$(document).ready(function(){
	
	//search thing
	$("#site_search").focus(function(){
		$("#site_search_form").addClass("search_active");
	});
	
	$("#site_search_form, #site_search_results").mouseup(function() {
		return false;
	});
	$(document).mouseup(function() {
		$("#site_search_form").removeClass("search_active");
	});
	
	if($("#slider").length){
		$("#slider").slider({range: true,
					min: 400,
					max: 4000,
					step: 100,
					values: [prop_min, prop_max],
					slide: function(event, ui) {
						$("input.min_price_search").val(ui.values[0]);
						$("input.max_price_search").val(ui.values[1]);
					}
				});
				$("input.min_price_search").val($("#slider").slider("values", 0));
				$("input.max_price_search").val($("#slider").slider("values", 1));
	}
	
	ginitializes();
	var openup = function(){activemarker(opentrigger);GEvent.trigger(MARKERS[opentrigger], "click");};
	if($("#tabs").length){
		$("#map_tab").css("display","block");
		$("#tabs").tabs();
		$('#tabs').bind('tabsshow', function(event, ui) {
		    if (ui.panel.id == "map_tab") {
						
						if($("#google_map").length){
							var google_map = new gmap('google_map', {"list_id":"google_listing"});
						  setTimeout(openup, 1500);
						}
		        //
						$("ul.hide").show();
						$("body").addClass("map_view");
						return false;
		    }else {
					$("ul.hide").hide();
					$("body").removeClass("map_view");
					$("#google_listing h3 a").css("background","none").css("padding-left","0px");
				}
		});
	}
	$("a.move").click(function(){
		if($("#google_map").parent().hasClass("ui-tabs-hide")) {
			$("#tab_map").trigger("click");
			opentrigger = $(this).parent().parent().parent().parent('.mapitem')[0].__val;
			scrollTo(0,150);
		}
		return false;
	});
	
	//on property view scroll to top
	$("#to_top").click(function(){
		window.scrollTo(0, 0);
		return false;
	});
	
	//$("#google_listing h3 a").css("background","none").css("padding-left","0px");
});

// function google_map_click(){
// 	$('#property_google_map').click(function(){
// 		var loc = $('a.google_link_location').attr('href');
// 		window.location = loc;
// 	});
// }

function fade_messages(){
	$('#user_message_box').fadeOut("slow");
}

// function find_downloads(){
// 	$('#page_copy li').children('a').each(function(){
// 		var href=$(this).attr('href');
// 		if(href.length && (href.indexOf('.pdf') || href.indexOf('.doc') || href.indexOf('.zip') ) ){
// 			if(!$(this).parent().parent().hasClass('downloadables')){
// 				$(this).parent().parent().prepend("<li class='no_icon'><h3>Related documents</h3></li>");
// 			}
// 			var ext = href.substring(href.indexOf('.')+1);
// 			if(add_li_class) $(this).addClass('read_more').parent().addClass('download').addClass(ext).parent().addClass('downloadables');
// 			else $(this).addClass('read_more').parent().addClass('download').addClass('no_icon').parent().addClass('downloadables');			
// 			
// 			var ht = $(this).html().replace(' ', '</span> ').replace('&nbsp;', '</span> ');
// 			ht = "<span>"+ht;
// 			$(this).html(ht);
// 		}
// 	});
// }

function print_setup(){
	if($('body').hasClass('print_friendly')) window.print();
}

/*forms*/
function form_setup(){
	/*form validation*/
	$('form.validate').validate();
	/*some pretty bits*/
	$('form input[type=checkbox]').each(function(){
		jQuery.data($(this).get(0),"formclicked", {clicked:true});
		$('form label[for='+$(this).attr('id')+']').css('color', '#E2292A');
		$(this).click(function(){
			var clickedme = jQuery.data($(this).get(0), "formclicked").clicked;
			if(!clickedme){
				$('form label[for='+$(this).attr('id')+']').css('color', '#E2292A');
				jQuery.data($(this).get(0),"formclicked", {clicked:true});
			}else{
				jQuery.data($(this).get(0),"formclicked", {clicked:false});
				$('form label[for='+$(this).attr('id')+']').css('color', '#666');
			}
		});
	});
	
	$('form li.more_options').css('display', 'block');
	$('form ol.extras').css('display', 'none');
	$('form li.more_options a').click(function(){
		$('form ol.extras').slideToggle('fast');
		if($(this).hasClass('read_more')){
			$(this).removeClass('read_more').addClass('read_less').html("Fewer <span>options</span>");
		}else{
			$(this).removeClass('read_less').addClass('read_more').html("More <span>options</span>");			
		}
		return false;
	});
	if(showless){
		$('form li.more_options a').removeClass('read_more').addClass('read_less').find('span').html('less');
	}
}

/** GOOGLE MAPS **/
function ginitializes() {
	if (GBrowserIsCompatible()) {
		if($('#google_map').length){
			googlemap = new GMap2(document.getElementById('google_map'));
			geocoder = new GClientGeocoder();
		}
	}
}
function ginitialize() {
	if (GBrowserIsCompatible()) {
		if($('#google_map_small').length) googlemap = new GMap2(document.getElementById('google_map_small'));
		//else if($('#property_google_map').length) googlemap = new GMap2(document.getElementById('property_google_map'));
		geocoder = new GClientGeocoder();
	}
}
function show_address(address) {
	if(geocoder){
		geocoder.getLatLng(
								address,
								function(point) {																																	
									if(!point) {
										$('#google_map, #property_google_map').css('display', 'none');
									}
									else{
										googlemap.setCenter(point, 15);
										var marker = new GMarker(point);
										googlemap.addOverlay(marker);
										googlemap.addControl(new GSmallMapControl());										
									}
								});
	}

}
function show_addresses(address_hash, i){
	if(geocoder){
		geocoder.getLatLng(
			address_hash[i],
			function(point){
				if(!point && (i+1) < address_hash.length) show_addresses(address_hash, i+1);
				else if(!point) $('#google_map, #property_google_map').css('display', 'none');
				else{
					googlemap.setCenter(point, 15);
					var marker = new GMarker(point);
					googlemap.addOverlay(marker);
					googlemap.addControl(new GSmallMapControl());
				}
			}
		);
	}
}

