// JavaScript Document
var iag_speed = 250;
var iag_popup_num = 0;

function open_preview(id) {
  href='include/da_preview.php?id=' + id
  window.open(href, 'award', 'width=550,height=215,scrollbars=yes');
}

// Popup Window Code
function iag_popup(winname, winurl, winopt, winwidth, winheight)
{
    //var winname = "Popup";
    height = screen.availHeight;
    height = (height - winheight) / 2;
    width  = screen.availWidth;
    width  = (width - winwidth) / 2;
    winopt = winopt + ",left=" + width + ",top=" + height + ",width=" + winwidth + ",height=" + winheight;
    var newwin  = window.open(winurl,winname,winopt);
    return newwin;
}

/*
* Accepts two arguments:
* 
* obj, dir
* 
* or six:
* 
* obj, dir, nt, nl, nw, nh
*/
function iag_animateLink()
{ 
  if(arguments.length == 6)
  {
    var sizeOp = {};    
    sizeOp.top = arguments[2]+'px';    
    sizeOp.left = arguments[3]+'px';
    sizeOp.width = arguments[4]+'px';
    sizeOp.height = arguments[5]+'px';
    
    var obj = arguments[0];
    var dir = arguments[1];        
  } 
  else if(arguments.length == 2) 
  {
    var sizeOp = {};
    var obj = arguments[0];
    var dir = arguments[1];    
  } 
  else 
  {
    throw 'Wrong number of arguments: '+arguments.length;
  }
    
  var img = $('a img',obj);
  var label = $('a.label',obj);
  
  var imgOn = img.filter('.iag_on');
  var imgOff = img.filter('.iag_off');
  
  img.stop(true,false);
  label.stop(true,false);
  
  if(dir === 'on')
  {
    var opacityOp = {opacity:1.0};
    var onOp = $.extend({},opacityOp,sizeOp); 
    
    imgOn.css('display','block');
    imgOn.animate(onOp,iag_speed,function(){imgOff.css('display','none');});    
    label.animate({color:'#686868'},iag_speed);
        
  } else
  {
    var opacityOp = {opacity:0.0};
    var onOp = $.extend({},opacityOp,sizeOp) 
    
    imgOff.css('display','block');
    imgOn.animate(onOp,iag_speed,function(){imgOn.css('display','none');});    
    label.animate({color:'#0397d6'},iag_speed);
            
  }
     
  // If we are scaling.
  if(arguments.length == 6)
  { 
    imgOff.animate(sizeOp, iag_speed);
  }
  
}

function iag_prepareHandler(trigger, target, scale)
{
  var imgOff = $('a img',target);
  var label = $('a.label',target);
  
  var imgOn = imgOff.clone();       
  imgOn.attr('src', imgOff.attr('src').replace(/_off.gif((#.*)?)$/i,'_on.gif$1'));
  
  imgOn.css({display:'none',zIndex:100,opacity:0.0});
  imgOff.css('z-index',99);
  
  imgOff.addClass('iag_off');
  imgOn.addClass('iag_on');
                       
  imgOff.before(imgOn);
  
  if(scale && (scale != 1.0))
  {
    var w0 = imgOff.width();
    var h0 = imgOff.height();
  
    var t0 = parseInt(imgOff.css('top'));
    var l0 = parseInt(imgOff.css('left'));
  
    var w1 = Math.floor(w0 * scale);
    var h1 = Math.floor(h0 * scale);
  
    var t1 = t0 + (h0-h1)/2.0;
    var l1 = l0 + (w0-w1)/2.0;
    
    trigger.hover(function(){
      iag_animateLink(target, 'on', t1, l1, w1, h1);
    },function(){
      iag_animateLink(target, 'off', t0, l0, w0, h0);
    });
        
  } else {
  
    trigger.hover(function(){
      iag_animateLink(target, 'on');
    },function(){
      iag_animateLink(target, 'off');
    });
    
  }
  
  //label.css('opacity', 0.0);
    
}

function iag_prepareLeftNav()
{
  // Navigation sidebar
    $('ul.img_nav li').each(function(){  
      var obj = $(this);
      
      // IE8 adds ugly artifacts to scaled images, so don't scale the images.
      // IE7 does not do this, but IE8 in compatibility mode reports as IE7, so treat both the same.
      // IE6 badly pixellates the images when they are scaled.
      if($.browser.msie/* && (parseInt($.browser.version) > 6)*/)
      {
        iag_prepareHandler(obj,$('div.link_box',obj));        
      } else {
        iag_prepareHandler(obj,$('div.link_box',obj),1.25);
      }    
      
    });  
}

function iag_prepareTabsAndScrollBars()
{
  // Tabs for the Winners page
    var tabElm = $('.tab_section').tabs();
    
    // Fancy Scroll bars.
    $('.scroller').jScrollPane({showArrows:true});
    
    // When a tab is shown, reinitialise fancy scrollbars for all relevant parents
    tabElm.bind('tabsshow',function(event,ui){
      $(ui.panel).parents('.scroller').data('jsp').reinitialise();            
    });
        
    // Temporary Kludge: 
    // Give any dynamic elements on the page about 2 seconds 
    // to generate themselves. Then, re-initialise the scrollbars.
    setTimeout(function(){
      $('.scroller').data('jsp').reinitialise();
    },2000);

}

// Custom header fonts.
Cufon.replace('#content_window h2');

// Set up the Image Navigation widget in the sidebar
$('ul.img_nav').ready(function(){
  try {
    iag_prepareLeftNav();
  } catch(err) {
    alert(err);
  }   
      
});

$(function(){
  try {

    iag_prepareTabsAndScrollBars();

    $('.popup').click(function(){
      var obj = $(this);
      
      var href = obj.attr('href');      
      if(href == undefined)
      {
        return false;
      }
      
      var nm = obj.attr('id');
      if('' == nm)
      {
        nm = 'popup-'+iag_popup_num;
        ++iag_popup_num;
      }
      
      iag_popup(                                 
        nm,
        href,
        'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,copyhistory=0,resizable=0,width=700,height=540,left=0,top=0',
        700,
        540);

      return false;    
    });
        
    Cufon.now();
    
    $("a[rel=fancybox]").fancybox({
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'titlePosition' 	: 'over',
		'showNavArrows'   : false
		});
		
	    
     
  } catch(err) {
    alert(err);    
  }

});
