// JavaScript Document

var begin=0;
var ulsListSize = 0;

function $(id) {
	return document.getElementById(id);
}

function getElementsCount(element, tagName){
	var elements = $(element).getElementsByTagName(tagName).length;
	return elements;
}


function init(list, size, horizontal){
	if (horizontal == true){
		setListWidth(list, size)
	} else {
		setListHeight(list, size);	
	}
}

function setListWidth(element, elementW){
	var ulsCount = getElementsCount(element, 'ul');
	ulsListSize = elementW*ulsCount;
	var ulsList = $(element);
	ulsList.style.width = ulsListSize+"px";
}

function setListHeight(element, elementH){
	var ulsCount = getElementsCount(element, 'ul');
	ulsListSize = elementH*ulsCount;
	var ulsList = $(element);
	ulsList.style.height = ulsListSize+"px";
	
	if (elementH >= ulsListSize){
		$("btnShiftDown").className += " btnShiftDisabled";
		$("btnShiftUp").className += " btnShiftDisabled";
	}
}

function shiftLeft(element, shiftLength) {
	if(begin != 0){	
		shiftEl = new Animator().addSubject(new NumericalStyleSubject($(element), 'margin-left', begin, begin+shiftLength));
		begin = begin+shiftLength;
		return window['shiftEl']['play']();
	}
}

function shiftRight(element, shiftLength) {	
	var promos = getElementsCount(element, 'ul');
	if ((Math.abs(begin-shiftLength)) < (Math.abs(ulsListSize))-50){
		shiftEl2 = new Animator().addSubject(new NumericalStyleSubject($(element), 'margin-left', begin, begin-shiftLength));
		begin = begin-shiftLength;
		return window['shiftEl2']['play']();
	}
}

function shiftDown(element, shiftLength) {
	if(begin != 0){
		shiftE2 = new Animator().addSubject(new NumericalStyleSubject($(element), 'margin-top', begin, begin+shiftLength));
		begin = begin+shiftLength;
		return window['shiftE2']['play']();
	} 
}

function shiftUp(element, shiftLength) {	
	var promos = getElementsCount(element, 'ul');
	if ((Math.abs(begin-shiftLength)) < (Math.abs(ulsListSize))-50){
		shiftEl3 = new Animator().addSubject(new NumericalStyleSubject($(element), 'margin-top', begin, begin-shiftLength));
		begin = begin-shiftLength;
		return window['shiftEl3']['play']();
	} 
}

var startWidth = 195;
var milestoneWidth = 58;
var endWidth = 468;

var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if (version >= 5.5) var endPoint = -214

var homePromo=new Array();
homePromo[0] = "homePromo1";
homePromo[1] = "homePromo2";
homePromo[2] = "homePromo3";



function openPromo(promoIndex){
	var selPromo = $(homePromo[promoIndex]);
	selPromo.className = "homePromo homePromo-open";

	if ((selPromo.style.width == startWidth+'px')){		
		selPromoOpen = new Animator().addSubject(new NumericalStyleSubject(selPromo, 'width', startWidth, endWidth));
		
		for (i=0; i<3; i++){
			if (i != promoIndex){
				milestonePromo(i, true);
			}
		}
				
		return window['selPromoOpen']['play']();
	}	
}

function milestonePromo(milePromoIndex, openPromo){
	var milestonePromo = $(homePromo[milePromoIndex]);
	milestonePromo.className = "homePromo homePromo-closed";

	if (openPromo == true){			
			notSelPromoClose = new Animator().addSubject(new NumericalStyleSubject(milestonePromo, 'width', startWidth, milestoneWidth));	
			return window['notSelPromoClose']['play']();
	} else {
			notSelPromoClose = new Animator().addSubject(new NumericalStyleSubject(milestonePromo, 'width', milestoneWidth, startWidth));	
			return window['notSelPromoClose']['play']();

	}
}

function closePromo(promoIndex){
	var selPromo = $(homePromo[promoIndex]);
	selPromo.className = "homePromo homePromo-closed";
	if (selPromo.style.width == endWidth+'px'){		
		for (i=0; i<3; i++){
			if (i != promoIndex){
				milestonePromo(i, false);
			}
		}
		notSelPromoClose = new Animator().addSubject(new NumericalStyleSubject(selPromo, 'width', endWidth, startWidth));	
		return window['notSelPromoClose']['play']();
	}	
}