/**
 * @author Bram Mulders
 */
var moveSpeed = 0;
var moveDir = true;
var moveTimer


var imageLoad;
var overlayLoad;

	Event.observe(window,'load', function() {
	  	Event.observe(document,'mousemove',mousemove, false);
		Event.observe(document, 'click', function(event) {
		  var element = Event.element(event);
		  if (('image_container' == element.id) || ('overlay' == element.id) || ('image' == element.id) || ('image_div' == element.id))
		  	hideOverlay();
		});
	});


function mousemove(e) {
	var ViewWidth = document.viewport.getWidth();
	var pX = Event.pointerX(e);
	var Range = pX - (ViewWidth/2);
	var move = (Range/ViewWidth)*10
	if (move < 0){
		moveDir = true;
	} else {
		moveDir	= false;
	}
	moveSpeed = Math.pow(move, 2);
}


function move(){
	var elements = $('pictures').childElements();
	var curWidthFirst = elements[0].getWidth();
	var curWidthFirstA = elements[0].childElements()[0].getWidth();
	var curWidthLastA = elements[(elements.length-1)].childElements()[0].getWidth();
	var change = true;
	
if (moveDir) {
	var add = -1;
	if (curWidthFirst >= (curWidthFirstA-1)) {
		$('pictures').insert({ top: elements[(elements.length-1)] });
		change = false;
		elements[(elements.length-1)].setStyle(
		{	
			width: '1px'
		});
	} 
} else {
	var add = 1;
	if (curWidthFirst <= 1) {
		$('pictures').insert({ bottom: elements[0] });
		change = false;
		elements[0].setStyle(
		{	
			width: curWidthFirstA + 'px'
		});
	} 
}
	
	if (change) {
	
		elements[0].setStyle({
			width: (curWidthFirst - add) + 'px'
		});
	}	
	
	var value = Math.abs((Math.abs(moveSpeed) - 25));
	var newDelay = value / 500;
	moveTimer = move.delay(newDelay);

}

function displayPicture(newImage, text, link_title, link_href){
		
		var top_offset = 20;//120
		var bottom_offset = 20;
		var left_offset = 10;
		var right_offset = 10;
		
		
		var dimensionsViewport = document.viewport.getDimensions();
		var scrollOffset = document.viewport.getScrollOffsets();
		
		$('image').show();
		$('image').src= newImage.src;
		$('image').alt= newImage.alt;
		
		
		var caption_offset = setCaption(text, link_title, link_href);
		
		var image_max_size_height = dimensionsViewport['height'] - top_offset - bottom_offset - caption_offset;
		var image_max_size_width = dimensionsViewport['width'] - left_offset - right_offset;
		var ratio = newImage.height / newImage.width;
		
		
		if ((newImage.height > image_max_size_height) && (newImage.width > image_max_size_width)) {
			var ratioscreen = image_max_size_height/ image_max_size_width;
			
			if (ratio > ratioscreen) {
				var new_height = image_max_size_height;
				var new_width = new_height / ratio;	
			} else {
				var new_width = image_max_size_width;
				var new_height = new_width * ratio;
			}
			
		} else if (newImage.height > image_max_size_height ) {
			var new_height = image_max_size_height;
			var new_width = new_height / ratio;
		} else if (newImage.width  > image_max_size_width ) {
			var new_width = image_max_size_width;
			var new_height = new_width * ratio;
		} else {
			var new_height = newImage.height;
			var new_width = newImage.width;
		}
		
			
		$('image_container').setStyle({
			top: (scrollOffset['top'] + top_offset) + 'px'
		});
		$('image_div').setStyle({
			width: new_width + 'px'
		});
		
		$('image').setStyle({
			height: new_height + 'px',
			width: new_width + 'px'
		});
		

		new Effect.Appear('image_container', {
			duration: 0.4
		});


		return false;
}
 function hideOverlay() {
	$('image_container').hide();
	$('overlay').removeClassName('loading');
	imageLoad = false;
	overlayLoad = false;
	$('flv_clip').update('');
	new Effect.Fade('overlay', {
		duration: 0.2
	});
 }
  function showItem(type, filename, text, link_title, link_href, preview_pic){
   // IE6 return true
	imageLoad = false;
	overlayLoad = false;
	
	
	var preview_pic = (preview_pic == null) ? '' : preview_pic;
	
	$('image').hide();
	$('flv_clip').hide();
	
	switch (type) {
	case "picture":
	
		var newImage 	=  null;
		newImage 		=  new Image();
		newImage.src 	=  filename;
		newImage.alt    =  text;	
		
		if (newImage.complete) {
			imageLoad = true;
			checkDisplayIMG(newImage, text, link_title, link_href);
		} else {
			newImage.onload = function() {
				imageLoad = true;
				checkDisplayIMG(newImage, text, link_title, link_href);
			}.bind(this);
		}
	
	break;
	case "clip":
		var s1 = new SWFObject("mediaplayer/player.swf","ply","352","240","9","#FFFFFF");
		s1.addParam("allowfullscreen","true");
		s1.addParam("allowscriptaccess","always");
		s1.addParam("flashvars","file=../clips/" + filename + ".flv&logo=mediaplayer/hmtv.png&image=clips_picture/" + preview_pic + ".jpg&backcolor=CCCCCC&frontcolor=000000&lightcolor=3B7B93&screencolor=000000&controlbar=over");
		s1.write("flv_clip");
	
	break;
	}
	
 	var newImage 	=  null;
	newImage 		=  new Image();
	newImage.src 	=  filename;
	newImage.alt    =  text;	
	
	if (newImage.complete) {
		imageLoad = true;
		checkDisplayIMG(newImage);
	} else {
		newImage.onload = function() {
			imageLoad = true;
			checkDisplayIMG(newImage, text, link_title, link_href);
		}.bind(this);
	}

	new Effect.Appear('overlay', {
		duration: 0.4 ,
		to: 0.8,
	 	afterFinish: function(){
			$('overlay').addClassName('loading');
	 		overlayLoad = true;
			switch (type) {
			case "picture":
				checkDisplayIMG(newImage, text, link_title, link_href);
			break;
			case "clip":
				checkDisplayFLV(text, link_title, link_href);
			break;
			}
	 	}
	});
	
	
	return false;
 }
 
 function displayFLV(text, link_title, link_href) {

		var dimensionsViewport = document.viewport.getDimensions();
		var scrollOffset = document.viewport.getScrollOffsets();	
		var top_offset = 20;
		
		var caption_offset = setCaption(text, link_title, link_href);
			
		$('image_container').setStyle({
			top: (scrollOffset['top'] + top_offset) + 'px'
		});
		$('image_div').setStyle({
			width: 600 + 'px'
		});		
		
	$('overlay').removeClassName('loading');
	$('flv_clip').show();
	new Effect.Appear('image_container', {
		duration: 0.4
	});
 }
 function checkDisplayIMG(newImage, text, link_title, link_href) {
 	
	if (imageLoad && overlayLoad) {
		$('overlay').removeClassName('loading');
		displayPicture(newImage, text, link_title, link_href);
	}
 		
 }
 
 function setCaption(text, link_title, link_href) {
 		
		var text = (text == null) ? '' : text;
		var link_title = (link_title == null) ? '' : link_title;
		var link_href = (link_href == null) ? '' : link_href;
		var caption = '';
		
		if ((link_title == '') && (text == '')) {
			var caption_offset = 0;
		} else if ((text != '') && (link_title == '')){
			var caption_offset = 30;
			caption = text;
		}
		else 
			if ((link_title != '') && (text == '')) {
				var caption_offset = 30;
				if (link_href == '') {
					caption = '<span class="rep_title">' + link_title + '</span>';
				}
				else {
					caption = '<a href="' + link_href + '"><span class="rep_title">' + link_title + '</span></a>';
				}
			}
			else {
				var caption_offset = 50;
				if (link_href == '') {
					caption = '<span class="rep_title">' + link_title + '</span>'  + text;
				}
				else {
					caption = '<a href="' + link_href + '"><span class="rep_title">' + link_title + '</span></a>'+ text;
				}
				
			} 
		

		if (caption == '') {
			$('caption').hide();
		} else {
			$('caption').show();
		}
		
		$('caption').update(caption);
		return caption_offset;	
	
 }
 
  function checkDisplayFLV(text, link_title, link_href) {
 	
	if (overlayLoad) {
		$('overlay').removeClassName('loading');
		displayFLV(text, link_title, link_href);
	}
 		
 }
 

