/*
////// SYNTAX
ipp:3,
autoplay:true,
delay:4000,
pagination:true,
tabwidth:150,
itemcss:product_module
*/
pageObj.prototype.initSlides = function()
{
	var thisObj = this;
	var parts;
	var kv;
	thisObj.slides = $$(document, '*', 'slide');
	for (var i=0; i<thisObj.slides.length; i++)
	{
		thisObj.slides[i].rel = thisObj.slides[i].getAttribute("rel");
		parts = thisObj.slides[i].rel.split(',');
		for (var j=0; j<parts.length; j++)
		{
			kv = parts[j].split(':');
			eval("thisObj.slides[i]."+kv[0]+" = '"+kv[1]+"'");
		}
		thisObj.slides[i].items = $$(thisObj.slides[i], '*', thisObj.slides[i].itemcss);
		thisObj.slides[i].itemsPages = Math.ceil(thisObj.slides[i].items.length / thisObj.slides[i].ipp);
		if (thisObj.slides[i].itemsPages > 1)
		{
			thisObj.slides[i].container = document.createElement('div');
			thisObj.slides[i].container.style.display = 'none';
			thisObj.slides[i].container.setAttribute('id','slide_'+i);
			thisObj.slides[i].container.tabwidth = thisObj.slides[i].tabwidth;
			thisObj.slides[i].container.delay = thisObj.slides[i].delay;
			// create necessary table
			thisObj.slides[i].tbl = document.createElement('table');
			thisObj.slides[i].tbl.style.width = (thisObj.slides[i].tabwidth*thisObj.slides[i].itemsPages) + 'px';
			thisObj.slides[i].tbl.tbody = document.createElement('tbody');
			thisObj.slides[i].tbl.appendChild(thisObj.slides[i].tbl.tbody);
			thisObj.slides[i].tbl.tbody.row = document.createElement('tr');
			thisObj.slides[i].tbl.tbody.appendChild(thisObj.slides[i].tbl.tbody.row);
			thisObj.slides[i].tbl.tbody.row.tds = new Array();
			for (var k=0; k<thisObj.slides[i].itemsPages; k++)
			{
				thisObj.slides[i].tbl.tbody.row.tds[k] = document.createElement('td');
				thisObj.slides[i].tbl.tbody.row.tds[k].style.width = parseInt(thisObj.slides[i].tabwidth) + 'px';	
				thisObj.slides[i].tbl.tbody.row.appendChild(thisObj.slides[i].tbl.tbody.row.tds[k]);
				for (var q=(k*thisObj.slides[i].ipp); q<(((k+1)*thisObj.slides[i].ipp)); q++)
				{
					if (q < thisObj.slides[i].items.length)
						thisObj.slides[i].tbl.tbody.row.tds[k].appendChild(thisObj.slides[i].items[q]);
				}
			}	
			thisObj.slides[i].container.appendChild(thisObj.slides[i].tbl);
			thisObj.slides[i].appendChild(thisObj.slides[i].container);
			// pagination section
			if (thisObj.slides[i].pagination == 'true')
			{
				for (var p=0; p<thisObj.slides[i].itemsPages; p++)
				{
					var a = document.createElement('a');
					a.className = (p==0 ? 'mini-page mini-page_selected' : 'mini-page');
					a.setAttribute('id', 'slide_'+i+'_button_'+p);
					a.href = 'javascript:;';
					a.toPage = p;
					a.innerHTML = p+1;
					a.onclick = function() { this.parentNode.container.clicked = true; thisObj.MoveDiv( this.parentNode.container.getAttribute('id'), this.toPage ); return false; }
					thisObj.slides[i].appendChild(a);
				}
			}
			// autoplay
			if (thisObj.slides[i].autoplay == 'true')
			{
				thisObj.AutoPlay('slide_'+i, thisObj.slides[i].itemsPages );
			}
			thisObj.slides[i].style.width = thisObj.slides[i].tabwidth + 'px';
			thisObj.slides[i].style.overflow = 'hidden';
			thisObj.slides[i].container.style.display = 'block';
		}
	}
}


pageObj.prototype.AutoPlay = function( slideObjID, max )
{
	slideObj = $(slideObjID);
	setTimeout("page.AutoPlayExec('"+slideObjID+"', "+max+")", slideObj.delay);
}

pageObj.prototype.AutoPlayExec = function( slideObjID, max )
{
	thisObj = this;
	if (slideObj.clicked != true)
	{
		slideObj = $(slideObjID);
		if (slideObj.currentPage == undefined)
			slideObj.currentPage = 0;
		var nextPage = slideObj.currentPage + 1;
		if (nextPage >= max)
			nextPage = 0;
		setTimeout("page.AutoPlayExec('"+slideObjID+"', "+max+")", slideObj.delay);
		thisObj.MoveDiv( slideObjID, nextPage );
	}
}

pageObj.prototype.MoveDiv = function( slideObjID, toPage )
{
	thisObj = this;
	slideObj = $(slideObjID);
	slideObj.speed = 10;
	if (slideObj.currentPage == undefined)
		slideObj.currentPage = 0;
	
	position1=(slideObj.style.margin).length-2-12;
	if ( position1 > 0 ) 
	{
		m_left = parseInt((slideObj.style.margin).substr(12,position1));	
	} 
	else
	{ 
		m_left = 0;
	}
	dist = - toPage * slideObj.tabwidth;
	if( toPage == slideObj.currentPage )
	{
		return;
	}
	$(slideObjID+'_button_'+slideObj.currentPage).className = 'mini-page';
	$(slideObjID+'_button_'+toPage).className = 'mini-page mini-page_selected';
	if( toPage > slideObj.currentPage )
	{
		for( i = slideObj.currentPage; i < toPage ; i++ )
		{
			thisObj.MakeMoveLeft(slideObjID);
		}
		slideObj.currentPage = toPage;
		return;
	}
	if( toPage < slideObj.currentPage )
	{
		for( i = toPage ; i < slideObj.currentPage; i++ )
		{
			thisObj.MakeMoveRight(slideObjID);
		}
		slideObj.currentPage = toPage;
		return;
	}
}

pageObj.prototype.MakeMoveLeft = function(slideObjID)
{
	slideObj = $(slideObjID);
	position1=(slideObj.style.margin).length-2-12;
	if ( position1 > 0 ) 
	{
		m_left = parseInt((slideObj.style.margin).substr(12,position1));	
	} 
	else
	{ 
		m_left = 0;
	}
	dist1 = m_left - slideObj.speed;
	val = "0px 1px 0px "+dist1+"px";
	slideObj.style.margin = val;		
	position1=(slideObj.style.margin).length-2-12;
	if ( position1 > 0 ) 
	{
		m_left = parseInt((slideObj.style.margin).substr(12,position1));	
	} 
	else
	{ 
		m_left = 0;
	}
	if( m_left % slideObj.tabwidth != 0 )
	{
		lefttime=setTimeout("page.MakeMoveLeft('"+slideObjID+"')",10)
	}
	else
	{
		return;
	}
}

pageObj.prototype.MakeMoveRight = function(slideObjID)
{
	slideObj = $(slideObjID);
	position1=(slideObj.style.margin).length-2-12;
	if ( position1 > 0 ) 
	{
		m_left = parseInt((slideObj.style.margin).substr(12,position1));	
	} 
	else
	{ 
		m_left = 0;
	}
	dist1 = m_left + slideObj.speed;
	val = "0px 1px 0px "+dist1+"px";
	slideObj.style.margin = val;
	position1=(slideObj.style.margin).length-2-12;
	if ( position1 > 0 ) 
	{
		m_left = parseInt((slideObj.style.margin).substr(12,position1));	
	} 
	else
	{ 
		m_left = 0;
	}
	if( m_left % slideObj.tabwidth != 0 )
	{
		lefttime=setTimeout("page.MakeMoveRight('"+slideObjID+"')",10)
	}
	else
	{
		return;
	}
}
