///////////////////////////////////////////////////////////////////////////////
//carousel & folding banners scripts by Dmitry Kirillov, www.dmitrykirillov.com
///////////////////////////////////////////////////////////////////////////////
//fix line

var carouselcurrent = 0;
var carouselgoal = 0;
var carouselarray = false; // ['items','items2','items3'];
var carouselid = "items";
var currentbanner = 0;

function handle(delta) {
	if (delta < 0) { 
		reroll(-1);
	} else { 
		reroll(1);
	}
}


function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta){
		handle(delta);
	}
	
	if (event.preventDefault){
		event.preventDefault();
	}
	
	event.returnValue = false;

}


function carouselupdate(i) {
	carouselgoal = i;
	reroll(0);
}

function bannerupdate(i) {
	if(currentbanner != i) {
		currentbanner = i;
		bannersize();
	}
}

function carouselchange(id) {
	var my;
	carouselid = carouselarray[id];
	carouselcurrent = 0;
	carouselgoal = 0;
	for (var i=0; i<carouselarray.length; i++) {
		my = document.getElementById(carouselarray[i]);
		if (my) {
			if (i == id) {
				my.style.display="block";
			} else {
				my.style.display="none";
			}
		}
	
	}

	if (carouselid) {
		var items = document.getElementById(carouselid).getElementsByTagName('li');
		var allcount = items.length;
		
		for (var i=0; i<allcount; i++) {
	  		items[i].onclick = new Function('carouselupdate(' + i*-1 + ')');
		}
	}
		
	reroll(0);
}

function carousel(o,offset){
	var items = o.getElementsByTagName('li');
	var allcount = items.length;
	var xpos,ypos;
	var divx = parseInt(o.parentNode.style.width)-67;
	var divy = parseInt(o.parentNode.style.height)-50;
	o.parentNode.parentNode.style.display = "block";
	var itemw, itemh;
	for (var i=0; i<allcount; i++) {
		items[i].style.position = "absolute";
		xpos = 33+Math.round(divx/2+(divx/4)*Math.sin(3.1428*2/allcount*(i+offset)));
		ypos = Math.round(divy/2+(divy/3)*Math.cos(3.1428*2/allcount*(i+offset)));
	
		if (Math.cos(3.1428 * 2 / allcount * (i+offset))>0.99) {
			items[i].getElementsByTagName("span")[0].style.display="block";
		} else {
			items[i].getElementsByTagName("span")[0].style.display="none";
		}
	
		items[i].style.zIndex = ypos;
		itemw = items[i].firstChild.width / 2;
		itemh = items[i].firstChild.height / 2;
		xpos = xpos - itemw;
		ypos = ypos - itemh;
		if (xpos < 0) xpos=0;
		if (ypos < 0) ypos=0;
		if (xpos + itemw*2>divx) xpos = divx-itemw*2;  
		if (ypos + itemh*2>divy) ypos = divy-itemh*2;  
		items[i].style.top=ypos+"px";
		items[i].style.left=xpos+"px";
		items[i].style.opacity=((ypos+50)/divy*2);
	}
}

function reroll(increase) {
	if (typeof(increase) == 'object') increase = 0;
	carouselgoal += increase;
    carouseltemp=(carouselgoal - carouselcurrent) / 3;
 	carouselcurrent = carouselcurrent + carouseltemp;
	if (Math.abs(carouselgoal-carouselcurrent)<0.001) carouselcurrent = carouselgoal;
	my = carousel(document.getElementById(carouselid),carouselcurrent);	
	if (carouselgoal!=carouselcurrent) setTimeout('reroll(0)',30);
	
	return;
}

function bannersize() {
	var banners = document.getElementById('banners');
	banners=banners.getElementsByTagName('li');
	var max=180;
	var min=60;
	var height;
	var currentbanner_height;
	var finished=0;
	
	for(var i=0;i<banners.length;i++) {
		height=parseInt(banners[i].style.height);
		if(i==currentbanner) {
		banners[i].style.backgroundImage="url(/images/activeny.jpg)";
			//height=Math.round(height-((height-max)/10));
			height=height+40;
			if(height>(max-5)) { height=max; } else {finished+=1;};
			currentbanner_height=height;
				} else {
		banners[i].style.backgroundImage="url(/images/passiveny.jpg)";
			//height=height-Math.round(((height-min)/10));
			height=height-40;
			if(height<min+5) {height=min;} else {finished+=1;};
				};
		banners[i].style.height=height+"px";
	};
	
	if (finished>0) setTimeout('bannersize()',50);
	return;
}

function init() {
	if (carouselarray && carouselarray.length) {
		carouselchange(0);
	}
	var bannersDiv = document.getElementById('banners');
	if (bannersDiv) {
		var banners = bannersDiv.getElementsByTagName('li');
		var allcount = banners.length;
		for (var i=0;i<allcount;i++) {
	  		banners[i].onmouseover=new Function('bannerupdate(' + i + ')');
		}
	
		bannersize();
	}
		
	var car = document.getElementById('carousel');
	if (car) {
		if (window.addEventListener) {
			car.addEventListener('DOMMouseScroll', wheel, false);
		}
		car.onmousewheel = wheel;
	}
		
	return;
}

