$(document).ready(function(){
	  
	// carousel
	$('.carousel_cycle').cycle({ 
	    fx: 'fade',
	    timeout:  5000,
		cleartype:  true,
	    cleartypeNoBg:  true
	});
	
	$('.wrapper.hidden_band').hide();
	
	$('.hidden_band_toggle').click(function() { 
		$('.wrapper.hidden_band').slideToggle("1000");
		$(this).toggleClass('active');
		
		$("#map1").gMap({ controls: false,
                  scrollwheel: true,
                  markers: [{ latitude: 53.540588,
                              longitude: -113.497789,
                              icon: { image: "/public/img/gmap_pin.png",
								      shadow:  "/public/img/shadow.png",
                                      iconsize: [43, 58],
                                      shadowsize: [73, 58],
                                      iconanchor: [22,58],
                                      infowindowanchor: [12, 0] } }
                            ],
                  latitude: 53.541583,
                  longitude: -113.497353,
                  zoom: 15 });

	});
	
	$('.upload_form').submit(function(){
		ProgressImage = document.getElementById('progress_bar');
		//document.getElementById("progress").style.visibility = "visible";
		$("#overlay").fadeIn();
		setTimeout("ProgressImage.src = ProgressImage.src",100);
		//$('#submit').attr('disabled', 'disabled');
		//return true;

	});
	/*
function showProgressBar() {
		ProgressImage = document.getElementById('progress_image');
		//document.getElementById("progress").style.visibility = "visible";
		document.getElementById("progress").show();
		setTimeout("ProgressImage.src = ProgressImage.src",100);
		return true;
	}
*/
	
	var delay_submit = (function(){
		var timer = 0;
		return function(callback, ms){
			clearTimeout (timer);
			timer = setTimeout(callback, ms);
		};
	})();
	
	function set_loader(keywords) {
		if(keywords && keywords != ''){
			var search_type = $('.search_type').val();
			var location = $('.location').val();
			if(location == 'home') {
				$('.home .lawyer_search').show();
				$('.filter_input').addClass('results');
			}
			var loader_data = '';
			if(search_type == 'contacts') {
				loader_data = '<div class="lawyer row">';
				loader_data += '<div class="loader">Searching</div>';
				loader_data += '</div>';
				$('.lawyer_search .inner').html(loader_data);
			}
			if(search_type == 'services') {
				loader_data += '<li class="loader">Searching</li>';
				$('.service_search .inner').html(loader_data);
			}
		}
	}
	
	$('.argument').bind('keyup', function(){
		var keywords = $(this).val();
		set_loader(keywords);
		var url = $('.search_form').attr('action');
		if(keywords && keywords != '') {
			delay_submit(function(){
				submit_form(keywords, url);
			}, 800);
		} else {
			submit_form(keywords, url);
		}
	});
	
	var search_type = $('.search_type').val();
	var contact_type = $('.type_id').val();
	var location = $('.location').val();
	
	/*
$('#upload_form').bind('submit', function(){
		var form = $(this);
		//alert(form.serialize());
		$.ajax({
			type: 'POST',
			url: '/post-upload-form',
			data: form.serialize(),
			success: function(data){
				if(data == 'failure'){
					//$('.messages').html("<span class='error'>Name, Email, and Comments are required. Email address must be valid.</span>");
					$('.messages').fadeTo(0,0).html("<span class='error'>Starred fields are required. Email address must be valid.</span>").stop().fadeTo(250, 1);
				}
				else
				{
					$('#upload_form input.').val('');
					$('#upload_form textarea').val('');
	
					$('.messages').html("Your file has been successfully sent, thanks!").stop().fadeTo(500, 1, function(){
												
						//_gaq.push(['_trackEvent', 'Contact Success', 'Submit Form', 'Footer Contact Form Success']);
						
					});
				}
			}
		})
		return false;
	});
*/

	function submit_form(keywords, url){
		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: url,
			data: {keywords: keywords, location: location, search_type: search_type, contact_type: contact_type, method: 'ajax'},
			success: function(data){
				$('.lawyer_search .inner').empty();
				if(!(data.length)){
					if(search_type == 'contacts') {
						var html = '<div class="lawyer row no_results">';
						html += 'No matching results found.';
						html += '</div>';
					} else if(search_type == 'services') {
						var html = '<div class="no_results">';
						html += 'No matching results found.';
						html += '</div>';
					}
				} else if(data.length > 0) {
					var count = data.length; 
					var per_column = Math.ceil(count/3);
					var html = '';
					if(search_type == 'services') {
						html += '<ul><div id="left_column">';
					}
					for(i = 0; i < data.length; i++){
						var photo = (data[i].photo != false) ? "/public/uploads/contacts/" + data[i].photo : false;
						var thumb_folder = (photo != false) ? photo.split(".").shift() + '/' : false;
						var row = (i%2 == 1) ? ' row alt' : ' row';
						var phone = (data[i].phone != "") ? '<i>P:</i> <span class="phone">' + data[i].phone + '</span>' : "";
						var fax = (data[i].fax != "") ? ' <i>F:</i> ' + data[i].fax : "";
						var arr = $.trim(data[i].first_name).split(" ");
						//var first_name_trim = arr[0];
						//var first_name_length = first_name_trim.length;
						//var the_first_name = (first_name_length <= 2) ? data[i].first_name : first_name_trim;
						var the_first_name = '';
						if(arr[0].length > 2) { the_first_name = arr[0]; } else if(arr[1] && arr[1].length > 2) { the_first_name = arr[1]; } else if(arr[2] && arr[2].length > 2) { the_first_name = arr[2]; }
						var the_title = '';
						if(data[i].title && data[i].title != '') { the_title = '<span class="title">, ' + data[i].title + '</span>'; } else { the_title = ''; }
						if(search_type == 'services')
						{
							if(i == per_column) { html += '</div><div id="middle_column">'; } else if(i == (per_column*2)) { html += '</div><div id="right_column">'; }
							html += '<li><a href="/services/services-directory/service_id/' + data[i].id + '">' + data[i].name + '</a></li>';
						}
						else if(search_type == 'contacts')
						{
							html += '<div class="lawyer' + row + '">';
							
							if(contact_type == 1) 
							{
								html += '<a href="/directory/lawyer-directory/contact_id/' + data[i].id + '">';
								if(thumb_folder != false)
								{
									html += '<img src="' + thumb_folder + '50w_50h_' + data[i].photo + '" width="50" height="50" />';
								}
								else
								{
									html += '<img src="/public/img/filter_no_thumb.jpg" width="50" height="50" />';
								}
								html += '</a>';
							}
							html += '<ul>';
							if(contact_type == 1) 
							{
								html += '<li><a href="/directory/lawyer-directory/contact_id/' + data[i].id + '">' + data[i].last_name + ', ' + data[i].first_name + the_title + '</a></li>';
							} 
							else if(contact_type == 2)
							{
								html += '<li><b>' + data[i].last_name + ', ' + data[i].first_name + the_title + '</b></li>';
							}
							//html += '<li><a href="/directory/lawyer-directory/contact_id/' + data[i].id + '">' + data[i].first_name + ' ' + data[i].last_name + '</a></li>';
							html += '<li>';
							html += phone;
							html += fax;
							html += '&nbsp;</li><li>';
							if (data[i].email != "")
							{ 
								html += '<span class="phone"><a href="mailto:' + data[i].email + '">Email ' + the_first_name + '</a></span>';
							}
							if (contact_type == 1)
							{
								html += '<a href="/directory/lawyer-directory/vcard/' + data[i].id + '">vCard</a>';
							}
							html += '&nbsp;</li></ul>';
							if(location != 'home' && contact_type == 1)
							{
								html += '<a href="/directory/lawyer-directory/contact_id/' + data[i].id + '" class="view_bio">View Bio</a>';
							}
							html += '</div>';
						}
					}
				}
				if(search_type == 'contacts')
				{
					$('.lawyer_search .inner').html(html);
											
					$('.row').hover(function() {
						$(this).toggleClass('hover');
					});
				}
				else if(search_type == 'services')
				{
					html += '</div></ul>';
					$('.service_search .inner').html(html);
				}
			}
		});
	}
	
	$('.hide').hide();
		
	
	$('.row').hover(function() {
		$(this).toggleClass('hover');
	});
	
	$('.row label, .search label').click(function() { 
		$(this).next("input").focus();
		$(this).next("textarea").focus();

	}), (function() {
		$(this).next("input").blur();
		$(this).next("textarea").blur();
	});
	
	//hide home search results initially
	$('.home .lawyer_search').hide();
	
	$('.home .lawyer_search, .home .filter_input').focusin(function(){
		//$('.filter_input').addClass('results');
	});
	
	$('.home .filter_input').focusout(function(){
		setTimeout("$('.home .lawyer_search').hide()", 500);
		$('.filter_row .clear_button').hide();
		$('.filter_input').val('');
		setTimeout("$('.filter_input').removeClass('results')", 500);
	});

	//hide 'x' initially
	$(".filter_row .clear_button").hide();

	//show 'x', hide title when clicking title
   	$('.filter_row .clear_button').click(function(){
    	$('.filter_row label').hide();
    	//$('input.search').focus();
    });
    
    //hide/show title/ 'x' when clicking input
    $('.filter_row input').blur(function() { 
	if( $('.filter_row input').val() == '' ) {
    	$('.filter_row label').show();
    	$(".filter_row .clear_button").hide();
	}
	}).focus(function() {
    	$('.filter_row label').hide();
    	$(".filter_row .clear_button").show();
	});
    
    //hide 'x', show title when clicking 'x', reset filter
    $(".directory .filter_row .clear_button").click(function(){
    	$('.argument').val('');
    	$('.argument').trigger('keyup');
    	$('.filter_row label').fadeIn();
    	$(".filter_row .clear_button").hide();
    
	});
	
	//hide 'x', show title when clicking 'x', reset filter
    $(".home .filter_row .clear_button").click(function(){
    	$('.argument').val('');
    	$('.filter_row label').fadeIn();
    	$(".filter_row .clear_button").hide();
    
	});	
	
	
});

