
/**
*
* $Id: onload.js,v 1.4.12.1 2012/01/30 12:13:26 jchen Exp $
*
* Javascript item to run after page loads
*
**/


Event.observe(window,'load',function(){
/* Make sure all columns in the 'gist' group are the same height */ 
    $$('div#column_action div.content_content div.inset_image').each(function(element){

        var thumbnail_image = element.select('img.thumbnail').first();
        if(thumbnail_image){

            var width = Math.max(thumbnail_image.getWidth(), 150);
            element.setStyle({width: (width + 'px')});
        }
    });
});

document.observe('dom:loaded',function(){

/* If there is a print option start print and do not follow the link */
    if($('print')) Event.observe('print','click',function(event){ event.stop(); window.print(); });

/* Find all external links and sent them to open in a new window */
    var domain = document.domain;
    $$('a').each(function(anchor){
        var external = false;

        if(anchor.hasClassName('external')) external = true;
        else{
            var url = anchor.readAttribute('href');
            if(url && url.startsWith('http')){
                var url_domain_components = url.split('/');
                var url_domain = url_domain_components[2];  
                external = (url_domain && (url_domain != domain));               
            }
        }

        if(external) anchor.writeAttribute({'target' : '_blank'});

    });

    if($('font_down') && (!$('font_down')['diff']))    $('font_down')['diff'] = -1;
    if($('font_up') && (!$('font_up')['diff']))       $('font_up')['diff'] = 1;

    ['font_down','font_up'].each(function(identifier){
        if($(identifier)){        
            Event.observe(identifier,'click',function(event){
                var target = $$('div.content_content').first();
                var diff   = event.target.diff;
                size = target.getStyle('font-size');
                size = parseInt(string_head(size,'px'));
                size = ((diff < 2) ? (size + diff) : diff);
                target.setStyle({fontSize : size + 'px'});
                Event.stop(event);  
            });
        }
    });
});

