// JavaScript Document
var isIE6;

function init() {
	if (document.getElementById('current-projects-list')) { initProjectSliders(); }	
	if (document.getElementById('journalism-about-list')) { initAboutSliders(); }	
	
	initPopUpPanel();
	//preloader();
}

function hideImage(image) {
	
	myPanel.hide();
}

var myPanel;
function initPopUpPanel() {
	myPanel = new YAHOO.widget.Panel("myPanel", {
		constraintoviewport: true, 
		visible:false,
		close: false
	});
	
	myPanel.render();
}
/*
function popupImage(e,image) {
	
	var src = image.src;
	
	var pieces = src.split('/');
	src = pieces[pieces.length - 1];
	src = 'images/header/' + src;
	
	// insert the full-sized image
	var code = '<div id="popup"><img id="popup-image" src="' + src + '" onmouseout="hideImage(this)" /></div>';
	myPanel.setBody(code);
	
	
	YAHOO.util.Event.onAvailable('popup-image', handleOnAvailable, image);
	
	// get the image element
	var div = document.getElementById('popup');
	var img = div.getElementsByTagName('img')[0];

//		window.alert('blah');
	// shrink the image and center image over thumbnail
	//sizeAndPositionImage(e,image,img);
	
	//myPanel.show();
}*/

function handleOnAvailable(image) { 

	//window.alert(document.getElementById('popup').getElementsByTagName('img')[0].clientWidth); 
	
	img = document.getElementById('popup-image');
	
	// shrink the image and center image over thumbnail
	sizeAndPositionImage(image,img);
	
	myPanel.show();
}
	
function sizeAndPositionImage(tImg,lImg) {
	var size = '';
	
	var lw = lImg.clientWidth;
	var lh = lImg.clientHeight;

//	window.alert(lw + ":" + lh);
	
	if (lw > lh) {
		
		var newH = (200 * lh) / lw;
		
		lImg.style.width = '200px';
		lImg.style.height = newH + 'px';
		
		// get thumbnail size
		tw = tImg.clientWidth;
		th = tImg.clientHeight;
		
		// get thumbnail position
		var pos = objectPosition(tImg);
		tx = pos[0];
		ty = pos[1];
		
		// calculte position for enlarged image so that it's 
		// centered over the thumbnail
		x = tx - ((200 - tw) / 2);
		y = ty - ((newH - th) / 2);
		
		// set the position of the image
		myPanel.cfg.setProperty('x',x);
		myPanel.cfg.setProperty('y',y);
		
	}
	else if (lh > lw) {
		var newW = (200 * lw) / lh;
		
		lImg.style.width = newW + 'px';
		lImg.style.height = '200px';
		
		// get thumbnail size
		tw = tImg.clientWidth;
		th = tImg.clientHeight;
		
		// get thumbnail position
		var pos = objectPosition(tImg);
		tx = pos[0];
		ty = pos[1];
		
		// calculte position for enlarged image so that it's 
		// centered over the thumbnail
		x = tx - ((newW - tw) / 2);
		y = ty - ((200 - th) / 2);
		
		// set the position of the image	
		myPanel.cfg.setProperty('x',x);
		myPanel.cfg.setProperty('y',y);
		
	}
	else {
		img.style.width = '200px';
		img.style.height = '200px';
		
		//myPanel.cfg.setProperty('x','100');
		//myPanel.cfg.setProperty('y','100');
		
		// get thumbnail size
		tw = tImg.clientWidth;
		th = tImg.clientHeight;
		
		// get thumbnail position
		var pos = objectPosition(tImg);
		tx = pos[0];
		ty = pos[1];
		
		// calculte position for enlarged image so that it's 
		// centered over the thumbnail
		x = tx - ((200 - tw) / 2);
		y = ty - ((200 - th) / 2);
		
		// set the position of the image	
		myPanel.cfg.setProperty('x',x);
		myPanel.cfg.setProperty('y',y);
	}
	
	
	
}

function objectPosition(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		do {
			  curleft += obj.offsetLeft;
			  curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

$(function(){
  //Get our elements for faster access and set overlay width
  var div = $('div.sc_menu'),
               ul = $('ul.sc_menu'),
               // unordered list's left margin
               ulPadding = 0;

  //Get menu width
  var divWidth = div.width();

  //Remove scrollbars
  div.css({overflow: 'hidden'});

  //Find last image container
  var lastLi = ul.find('li:last-child');

  //When user move mouse over menu
  div.mousemove(function(e){

    //As images are loaded ul width increases,
    //so we recalculate it each time
    var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;

    var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
    div.scrollLeft(left);
  });
});

function recenter() {
  //Get our elements for faster access and set overlay width
  var div = $('div.sc_menu'),
               ul = $('ul.sc_menu'),
               // unordered list's left margin
               ulPadding = 15;

  //Get menu width
  var divWidth = div.width();

  //Remove scrollbars
  div.css({overflow: 'hidden'});

  //Find last image container
  var lastLi = ul.find('li:last-child');

  //When user move mouse over menu
  div.mousemove(function(e){

    //As images are loaded ul width increases,
    //so we recalculate it each time
    var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;

    var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
    div.scrollLeft(left);
  });
}
