/*
 *  scrollmenu.js
 *  klm-corp version 0.0.1
 *
 *  Created by klm % Klem on 18/05/07.
 *  Copyright 2007 klm. All rights reserved.
 *
 */

/**
* global handler
*/
var scrollmenu_enterframe;

/**
* function scrollmenu()
*/
function scrollmenu()
{
	/* PROPERTIES */
	this.__MINSPEED__ = 5;
	this.__MAXSPEED__ = 15;
	this.__HEIGHT_ELEMENT__ = 190;
	this.__MAX_HEIGHT__ = 225;
	
	this.__IDS_NAMESPACE__ = 'scrollmenu_link';
	
	/*DO NOT MODIFY */
	this.__SPEED__ = this.__MINSPEED__;
	this.__nbElem = 0;
	this.__ARRAY_IMG__ = new Array();
}

/**
* scrollmenu.prototype.__addImage = function(href, url)
*/
scrollmenu.prototype.__addImage = function(href, url)
{
	this.__ARRAY_IMG__.push(new Array(href, url));
};

/**
* scrollmenu.prototype.__loadImages = function()
*/
scrollmenu.prototype.__loadImages = function()
{	
	this.__list = document.getElementById('scrollmenu_imgList');
	this.__nbElem = this.__ARRAY_IMG__.length - 1;
	for(var i=0; i<this.__ARRAY_IMG__.length; i++)
	{	
		var elemLI = document.createElement("li");
		var link = document.createElement('a');  
		link.setAttribute('href', this.__ARRAY_IMG__[i][0]);
		link.setAttribute('id', this.__IDS_NAMESPACE__+new String(i));
		var img = document.createElement('img');  
		img.setAttribute('alt', '');
		img.setAttribute('src', this.__ARRAY_IMG__[i][1]);
		link.appendChild(img);  
		elemLI.appendChild(link);
		this.__list.appendChild(elemLI);
	}
};

/**
* scrollmenu.prototype.__init = function()
*/
scrollmenu.prototype.__init = function()
{
	for(var i=0; i<=this.__nbElem; ++i)
		document.getElementById(this.__IDS_NAMESPACE__+new String(i)).style.top = '0px';
};

/**
* scrollmenu.prototype.__bottom_scroll = function()
*/
scrollmenu.prototype.__bottom_scroll = function()
{
	if(this.__SPEED__ < this.__MAXSPEED__) ++this.__SPEED__;
	if(parseInt(document.getElementById(this.__IDS_NAMESPACE__+new String(this.__nbElem)).style.top) - this.__SPEED__ < this.__MAX_HEIGHT__-(this.__HEIGHT_ELEMENT__*this.__nbElem)){
		for(var i=0; i<=this.__nbElem; ++i)
			document.getElementById(this.__IDS_NAMESPACE__+new String(i)).style.top = (this.__MAX_HEIGHT__-(this.__HEIGHT_ELEMENT__*this.__nbElem))+'px';
		window.clearInterval(scrollmenu_enterframe);
		this.__SPEED__ = this.__MINSPEED__;
	}
	else
		this.__moveElemsMenu(-this.__SPEED__);
};

/**
* scrollmenu.prototype.__top_scroll = function()
*/
scrollmenu.prototype.__top_scroll = function()
{
	if(this.__SPEED__ < this.__MAXSPEED__) ++this.__SPEED__;
	if(parseInt(document.getElementById(this.__IDS_NAMESPACE__+'0').style.top) + this.__SPEED__ > 0){
		for(var i=0; i<=this.__nbElem; ++i)
			document.getElementById(this.__IDS_NAMESPACE__+new String(i)).style.top = '0px';
		window.clearInterval(scrollmenu_enterframe);
		this.__SPEED__ = this.__MINSPEED__;
	}
	else
		this.__moveElemsMenu(this.__SPEED__);
};

/**
* scrollmenu.prototype.__stopEnterFrame = function()
*/
scrollmenu.prototype.__stopEnterFrame = function()
{
	window.clearInterval(scrollmenu_enterframe);
	this.__SPEED__ = this.__MINSPEED__;
};

/**
* scrollmenu.prototype.__moveElemsMenu = function(val)
*/
scrollmenu.prototype.__moveElemsMenu = function(val)
{
	for(var i=0; i<=this.__nbElem; ++i)
		document.getElementById(this.__IDS_NAMESPACE__+new String(i)).style.top = (parseInt(document.getElementById(this.__IDS_NAMESPACE__+new String(i)).style.top)+val) +'px';
};
