var URL_API_ATTORNEYS_LASTNAME = "/api/attorneys/lastname/";

function include(script_filename) {
  document.write('<' + 'script');
  document.write(' language="javascript"');
  document.write(' type="text/javascript"');
  document.write(' src="' + script_filename + '">');
  document.write('</' + 'script' + '>');
}

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
} 

$(document).ready(function(){
  externalLinks();
  $("#toplink").click(function(){
    backToTop(); return false;
  });
  $(".accessibility tbody tr:even").addClass("stripe");
  $("#attorneysindex tbody tr:even").addClass("stripe");
	
  $("#searchbox").focus(function() {
	 if ( $(this).val() == "search attorneys by name") {
		$(this).val('');
	}
   }); 
  
  $("#searchbox").blur(function() {
	 if ( $(this).val() == "") {
		$(this).val('search attorneys by name');
	}
   }); 
  
  $('a#areasactuator').click(function() {
    $('#areaslist').toggle();
	$(this).toggleClass("active");
	this.blur();
	$(document).bind('click', {list: "#areaslist", actuator:"a#areasactuator"}, checkMouse);
	return false;
  });
								   
  $('a#areawidget').click(function() {
    $('#areawidgetlist').toggle();
	$(this).toggleClass("active");
	this.blur();
	$(document).bind('click', {list: "#areawidgetlist", actuator:"a#areawidget"}, checkMouse);
    return false;
  });
    
  	// code to ajaxify the attorney search
	/*$('p.alphabet a').click(function(e) {
		var url = URL_API_ATTORNEYS_LASTNAME + e.target.text;
		
		getAttorneys(url);
		
		return false;
	});

	$('p.alphabet a').click(function() {
		$('p.alphabet a').each(function() { $(this).removeClass('active'); });
		$(this).addClass('active');
		this.blur();
		return false;				
	});

	var getAttorneys = function (url) {
		$.getJSON(url, function (data) {
			
			$('#attorneysindex tbody').html(data.content);
			$('#queryDescription strong').text(data.query);
			
			if (data.nextpage) {
				$('a.next').removeClass('hidden');
				$('a.next').attr('href', data.nextpage);
			} else {
				$('a.next').addClass('hidden');
			}
			
			if (data.prevpage) {
				$('a.prev').removeClass('hidden');
				$('a.prev').attr('href', data.prevpage)
			} else {
				$('a.prev').addClass('hidden');
			}
				
			setImageSrc();
			setEvents();
			setPaginationButton();			
		});
	}
  
	var setPaginationButton = function () {	
		$('a.next').unbind('click', paginate);		
		$('a.prev').unbind('click', paginate);		
		$('a.next').click(paginate);
		$('a.prev').click(paginate);
	}
  
	var paginate = function (e) {
		url = this.href;
		
		getAttorneys(url);
		
		return false;
	}
	*/
  
	var setImageSrc = function () {
		$('img.smhead').each(function() {
			var src = this.src;
			var newsrc = src.replace('.jpg', '-bw.jpg');
			this.src = newsrc;
		});  
	}
  
	var setEvents = function () {	
		$('#attorneysindex tbody tr').unbind('mouseover', tr_mouseOver);
		$('#attorneysindex tbody tr').unbind('mouseout', tr_mouseOut);
		$('#attorneysindex tbody tr').unbind('click', tr_click);
		
		$('#attorneysindex tbody tr').mouseover(tr_mouseOver);
		$('#attorneysindex tbody tr').mouseout(tr_mouseOut);
		$('#attorneysindex tbody tr').click(tr_click);
	}
	
	var tr_mouseOver = function (e) {
		$(this).toggleClass('active');
		var img = $(this).find("img")[0];
		img.src = switchImage(img.src);
	}
	
	var tr_mouseOut = function (e) {
		$(this).toggleClass('active');
		var img = $(this).find("img")[0];
		img.src = switchImage(img.src); 
	}
  
	var tr_click = function (e) {
		var href = $(this).find("a").attr("href");
		document.location = href;
	}
  
  setImageSrc();
  setEvents();
  
  $('#moreattorneys li').mouseover(function() {
    $(this).toggleClass('active');
	var img = $(this).find("img")[0];
	img.src = switchImage(img.src);
  });
  
  $('#moreattorneys li').mouseout(function() {
    $(this).toggleClass('active');
	var img = $(this).find("img")[0];
	img.src = switchImage(img.src);
  });
  
  $('#moreattorneys li').click(function() {
     var href = $(this).find("a").attr("href");
	 document.location = href;
  });
  
  var switchImage = function(src)
        {
     if (src.indexOf('-bw.jpg') > 0) {
		src = src.replace('-bw.jpg', '.jpg'); 
	 } else {
		src = src.replace('.jpg', '-bw.jpg');
	 }
	 return src;
		};
		
		
  
  var checkMouse = function(e)
		{
			var elem = e.target;
			var pNode = elem.parentNode;
			if ((pNode.id != $(e.data.list).id)) { 
				$(e.data.list).hide();
				$(e.data.actuator).removeClass('active');
			}
		};

});