// adapted from http://www.ajaxray.com/blog/2007/11/09/interactive-character-limit-for-textarea-using-jquery/
function limitChars(text_element, limit, info_element) {
    var text = text_element.val(); 
    var textlength = text.length;
    if(textlength > limit) {
        info_element.html('You cannot write more then '+limit+' characters!');
        text_element.val(text.substr(0,limit));
        return false;
    } else {
        info_element.html('You have '+ (limit - textlength) +' characters left.');
        return true;
    }
}

function send_archive(mailout_type)
{
  select_id = $("#id_newsletter").val();
  if(select_id != '')
  { 
    if (mailout_type == 'newsflash')
    {
    document.location.href = "/archive_newsflash/"+select_id+"/";
    }
    else
    {
    document.location.href = "/archive_newsletter/"+select_id+"/";
    }
  }
}

jQuery.preloadImages = function()
    {
      for(var i = 0; i<arguments.length; i++)
      {
        jQuery("<img>").attr("src", arguments[i]);
      }
}


jQuery(document).ready(function() {

    jQuery.preloadImages('/site-media/images/projects-bg.png')
    
    jQuery('input:checkbox').addClass('checkbox');
    jQuery('input:radio').addClass('radio');
    jQuery('.errorlist').css({color:'#ff0000'})
    

    // on click, make li's with partner info
    jQuery("ul#topnav li.has-sub a.arrow").click(function(event) {
        jQuery("ul#topnav li.has-sub ul").fadeOut();
        jQuery(this).parent().find('ul').fadeIn();
        // add hover functionality once drop down has come down:
        jQuery(this).parent().find('ul').hover(function(){}, function() { 
            jQuery(this).parent().find('ul').fadeOut();
        });
        event.preventDefault();
    });


    // add extra elements for tooltips    
    
    //serve gif to IE6, because it struggles with alpha transparency
    if ( $.browser.msie ){
     if( parseInt($.browser.version) == 6){
    jQuery("ul#topnav li.toplevel").append('<img class="tooltip-bottom" src="/site_media/images/tooltip_bottom_arrow.gif">');
        }
        else{
        jQuery("ul#topnav li.toplevel").append('<img class="tooltip-bottom" src="/site_media/images/tooltip_bottom_arrow.png">');
        }
    }
    else{
    jQuery("ul#topnav li.toplevel").append('<img class="tooltip-bottom" src="/site_media/images/tooltip_bottom_arrow.png">');
    }
    jQuery("ul#topnav").append('<div class="nav-tooltip-border"> </div>');
    jQuery('.nav-tooltip-border').hide();
    jQuery('.tooltip-bottom').hide();


    if ( $.browser.msie ){
     if( parseInt($.browser.version) > 6){
         jQuery('.nav-tooltip-border').css({opacity:"1.0"});
     }
    }else{
        jQuery('.nav-tooltip-border').css({opacity:"0.8"});
    }
    jQuery(this).find('.tooltip-bottom').css({opacity:"1.0"});

   // set up tooltip behaviour, so extra info appears on hover
        
    var topnavTooltip = function() {

           jQuery('.nav-tooltip-border').show();
           jQuery('.nav-tooltip').hide();
           jQuery(this).find('.nav-tooltip').show();
           jQuery('.tooltip-bottom').hide();
           jQuery(this).find('.tooltip-bottom').show();
    };

    var topnavTooltipHide = function(){
           jQuery('.nav-tooltip, .tooltip-bottom, .nav-tooltip-border').hide();
    };

    jQuery("ul#topnav > li:not(.low-graphics)").mouseover(topnavTooltip);
    jQuery("ul#topnav > li:not(.low-graphics)").mouseout(topnavTooltipHide);
    // end of top level nav behaviours

    // remove tooltips in when mouse hovers over arrows in top nav
    // using event
    jQuery('ul#topnav li a.arrow').mouseover(function(event) {
            // if (event.target == this){
                jQuery('.nav-tooltip, .tooltip-bottom, .nav-tooltip-border').hide();
            // }
            event.stopPropagation();
    });



   jQuery('.subscriptions a.stop_watch_icon').hide();

   
   // do the hide  on the connections sidebar
   jQuery('.subscriptions .sub_item').hover(function() {
  
   jQuery(this).find('.stop_watch_icon').show() 
   }, function() { 
       jQuery(this).find('.stop_watch_icon').hide() 
   });
   

   // tooltips
   jQuery('.tooltip_ref').tooltip({ 
       bodyHandler: function() {
           return jQuery(jQuery(this).attr("titleref")).html();
       }, 
       showURL: false 
   })

   jQuery('.tooltip').tooltip({ 
       showURL: false 
   })


   // max length stuff
   jQuery('textarea.limited').keyup(function() {
       limitChars(jQuery(this), 500, jQuery(this).parent().find('.charsRemaining'));
   })

   // only show first 5 practices
   jQuery("dl.practices dd.second_level.dontshow").hide();
   
   jQuery("dl.practices .expand_list")
     .toggle(
           function() {
               jQuery("dl.practices dd[@rel=" + jQuery(this).attr('rel') + "].second_level.dontshow").show();
               jQuery(this).removeClass('expand_list');
               jQuery(this).addClass('collapse_list');
               return false;   
           },
           function() {
               jQuery("dl.practices dd[@rel=" + jQuery(this).attr('rel') + "].second_level.dontshow").hide();
               jQuery(this).removeClass('collapse_list');
               jQuery(this).addClass('expand_list');
               return false;   

           }
           );


})

