jQuery(document).ready(function($){

    var t_company = $.template('<div class="ml-title row">' +
    '<div class="ml-title-text"><div class="text">${name}</div></div>' +
	'<div class="ml-listings-content row" style="display:none;"></div>' +
    '</div>');
	t_company.compile();
	
	var t_contact = $.template('<div class="ml-member row">' +
	'<div class="member-name row">${name}</div>' +
    '<div class="member-title row">${title}</div>' +						   
	'<div class="ml-left col">' +
      '<div class="member-cname row">${cname}</div>' +
      '<div class="member-site row"><a target="_blank" href="http://${url}">${url}</a></div>' +
    '</div>' +
	'<div class="ml-right col">' +
	  '<div class="member-contact row">' +
	    '<div class="member-label col">Email:</div>' +
		'<div class="member-info col"><a href="mailto:${email}">${email}</a></div>' +
	  '</div>' +
	  '<div class="member-contact row">' +
	    '<div class="member-label col">Phone:</div>'+
		'<div class="member-info col">${phone}</div>'+
	  '</div>' +
	  '<div class="member-contact row">' +
	    '<div class="member-label col">Fax:</div>'+
		'<div class="member-info col">${fax}</div>'+
	  '</div>' +
	  '<div class="member-contact row">' +
	    '<div class="member-label col">Location:</div>'+
		'<div class="member-info col">${address}</div>'+
	  '</div>' +
	'</div>' +
	'</div>' +
	'<hr/>' ); 
	t_contact.compile();
  var search = '';
  var render = function(url){
    $('#ml-default-listings').hide().html('');
    $('#ml-default-loading').show();
    var head = $('#member-listings-header');
    $('.paging',head).hide().find('a').css("display", "none");
  
    $.getJSON(url, function(data){
      $('.results').text((data.results) + ' Results Found');
      if (data.none == 0) {
        $('.results').text('No Results Found');
	      $('#ml-default-loading').text('No Results Found');    
      }
      if (data.companies.length > 0){
        $('.page-info',head).show();
        $('.paging-total').text(data.pages);
        $('.paging-current').text(data.page);

        if(data.page > 1){
          $('.first',head).parent().show();
          $('.prev',head).parent().show();
          $('.prev',head).show().attr("href","&page=" + (data.page - 1))
          $('.first',head).show().attr("href",'')
        }
        
        if(data.page < data.pages){
          $('.next',head).parent().show();
          $('.last',head).parent().show();
          $('.next',head).show().attr("rel","&page=" + (data.page + 1));
          $('.last',head).show().attr("rel","&page=" + data.pages);
        }
 
        $.each(data.companies,function(){
          var company = this;
          var el = $('#ml-default-listings').append(t_company,{name: company.companyname}).find('.ml-title:last');
          $.each(company.contacts,function(){
            var contact = this;
            $('.ml-listings-content',el).append(t_contact,{
              name: contact.name,
              title: contact.position,
              cname: contact.companyname,
              url: contact.url,
              email: contact.email,
              phone: contact.phone,
              fax: contact.fax,
              address: contact.address
            });
          });
        });
        }
      $('#ml-default-loading').hide();
      $('#ml-default-listings').show();
      
      $('.ml-title-text').click(function(){ 
        var list = $(this).next('.ml-listings-content');
        if(!list.is(':visible')){
          $('.ml-listings-content:visible').slideUp().prev('.ml-title-text').css("background-position", "bottom left");
          $(this).css("background-position", "top left");   
          list.slideDown();
        }else{
          $(this).css("background-position", "bottom left");
          list.slideUp();
        }
      }); 
      
      
      
    }); 
     
    
  }
 
  var pagevisible = $('.paging-block');
  var abcdactive = $('.alphabet li');
  var abcdcur = null;
  var active = $('#world-map .invisible-map');
  var map = $('#world-map .highlight');
  var cur=null;
  var maparea= $('#imagemap area');
  maparea.hover(function(){
	  map.addClass($(this).attr('rel'));
  },function(){
    map.removeClass($(this).attr('rel'));
  }).click(function(){
    pagevisible.removeClass('none');
    abcdactive.removeClass(abcdcur);
    if(cur==$(this).attr('rel')) return;
    active.removeClass(cur);
    cur = $(this).attr('rel');
    active.addClass(cur);
    search = '/req_members.ashx'+$(this).attr('mapUrl');
    render(search);
    return false;
  });

  $('.alphabet a').click(function(){
    active.removeClass(cur);
    pagevisible.removeClass('none');
    abcdcur = 'active';
    abcdactive.removeClass(abcdcur);
    $(this).parent().addClass(abcdcur);
    search = '/req_members.ashx'+$(this).attr('rel');
    render(search);
    cur = "";    
    return false;
  });
  
  $('#member-listings-header .paging a').click(function(){
    var url = search + $(this).attr('rel');
    render(url);
    return false;
  });

});
