/**
* @author Hermann Jahnke
* @version 0.1  2005/09/26
* @package pentax cctv
* @category javascript
* @internal tabsize 2 (no spaces)
*/

var interval_slider 	= null;

var divobj      			= null;

var slider_wh     		=	16; // wh = width half
var slider_hh     		= 16;	// hh = height half
var slide 						= false;

var	img_idx				 	= 0;
var stored_img_idx 	= 0;

var mx       = 0;
var my       = 0;
var divobj_x = 0;
var divobj_y = 0;
var offset_x = 0;
var offset_y = 0;

var preload_image_ctr   = 0;
var preload_image_array = new Array();

var slide_direction = 'x';

if (document.captureEvents)
{
	document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN|Event.MOUSEUP);
}

document.onmousemove	=	trackMouse;
document.onmousedown	=	startMove;
document.onmouseup		=	Function("slide=false;");
document.ondragstart	=	Function("return false;");

function initSlider()
{
	slider_x_min  = position_array[0].left;
	slider_x_max  = position_array[0].left+320;
	slider_y_min  = position_array[0].top+1;
	slider_y_max  = position_array[0].top+1;

	divobj 				= document.getElementById('PLUGIN_LS_Slider').style;

	loadSliderAnim('10,5 - 105');

	slide = false;
	moveSlider();
}

function trackMouse(e)
{
	mx = (window.event) ? window.event.x : e.pageX;
	my = (window.event) ? window.event.y : e.pageY;

// 	status = 'mx '+mx+' / my '+my;
//  slide '+slide+' / divobj_x '+divobj_x+' / divobj_y '+divobj_y+' / offset_x '+offset_x+' / offset_y '+offset_y;
//	setInnerHTMLForID('PLUGIN_LS_Info', status);

	return false;
}

function startMove(e)
{
	eventObj = (window.event) ?  window.event.srcElement : e.target;

	if (eventObj.id && eventObj.id == 'PLUGIN_LS_Movable')
	{
		offset_x	=	(window.event)	? window.event.x : e.pageX;
		offset_y	=	(window.event)	? window.event.y : e.pageY;

		divobj_x	=	parseInt(divobj.left)+slider_wh;
		divobj_y	=	parseInt(divobj.top)+slider_hh;

		slide = true;
		return false;
 	}
}

function resetSliderPosition()
{
	slider_x = slider_x_min;
	slider_y = slider_y_min;

	divobj.left	=	slider_x-slider_wh+'px';
	divobj.top	=	slider_y-slider_hh+'px';
}

function moveSlider()
{
	if (slide)
	{
		slider_x = divobj_x+mx-offset_x;
		slider_y = divobj_y+my-offset_y;

		if (slider_x < slider_x_min)
		{
		 	slider_x = slider_x_min;
		}

		if (slider_x > slider_x_max)
		{
			slider_x = slider_x_max;
		}

		if (slider_y < slider_y_min)
		{
		 	slider_y = slider_y_min;
		}

		if (slider_y > slider_y_max)
		{
			slider_y = slider_y_max;
		}

		if (slide_direction == 'x')
		{
			img_idx = Math.round( (slider_x - slider_x_min) / ( (slider_x_max - slider_x_min) / (loaded_animation_array.length-1)));
		}
		else
		{
			img_idx = Math.round( (slider_y - slider_y_min) / ( (slider_y_max - slider_y_min) / (loaded_animation_array.length-1)));
		}

		if (img_idx != stored_img_idx)
		{
			replaceImageSrc('animation_img',img_idx);
			setInnerHTMLForID('PLUGIN_LS_Slider_Info', loaded_animation_array[img_idx].img_desc);

			stored_img_idx 	= img_idx;
		}

		divobj.left	=	slider_x-slider_wh+'px';
		divobj.top	=	slider_y-slider_hh+'px';
	}

	setTimeout('moveSlider()',50);
}

function replaceImageSrc(image_obj_id,preload_id)
{
	image_obj = getObject(image_obj_id);

	// image_obj.src = preload_image_array[preload_id].src;

	image_obj.src =  preload_image_array[preload_id].src;
}

function callbackImageLoaded(z)
{
	preload_image_ctr++;
}

function displayLoadAnim()
{
	preload_image_ctr   	= 0;
	loadanim_image 				= new Image(320,200);
	loadanim_image.onLoad	= callbackImageLoaded(0);
	loadanim_image.src		= ANI_PATH+'loadanim.gif';

	while (preload_image_ctr < 1)
	{
	}

	image_obj = getObject('animation_img');
	image_obj.src = loadanim_image.src;
}

function preloadImages()
{
	var preloaded = false;
	var len 			= loaded_animation_array.length;
	var z;

// *** init

	preload_image_ctr   = 0;
	preload_image_array = new Array();

// *** preload start loop

	for (z=0;z<len;z++)
	{
		preload_image_array[z] 				= new Image(320, 200);
		preload_image_array[z].onLoad = callbackImageLoaded(z);
		preload_image_array[z].src 		= ANI_PATH+loaded_animation_array[z].img_src;
	}

// *** loop and wait for loading ...

	while (preload_image_ctr < len)
	{
	}
}

function loadSliderAnim(animation_name)
{
	window.scrollTo(0,0);

	displayLoadAnim();

	setInnerHTMLForID('headline_placeholder',animation_name);

	animation_key = animation_name.replace(/\D/g,'_');

	// alert(animation_key);

	loaded_animation_array = animation_array[animation_key];
	preloadImages();

	img_idx				 	= 0;
	stored_img_idx 	= 0;

	resetSliderPosition();

	replaceImageSrc('animation_img',img_idx);
	setInnerHTMLForID('PLUGIN_LS_Slider_Info', loaded_animation_array[img_idx].img_desc);
}