// JavaScript Document
var i=4;
var counter=0;
var array = new Array();
$(function(){
	$.ajaxSetup({ 
		xhr: function() {
			if ($.browser.msie) {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				return new XMLHttpRequest();
			}
		}
	})
	$('.brown').css("opacity","0.7");
	$('.main>.brown').css("opacity","0");	
	retrieve();	   
	$(document).everyTime(7000, function(){rotate();});
	$('.imageSlider').click(function(){
	var id = $(this).attr('id');
		$.get("/js/images.xml", function(data){
			$(data).find('image[id='+id+']').each(function(){
				var alt = $(this).find('alt').text();
				window.open(alt,"_self");
				});
			});
		});
	});
function retrieve(){
	$.get("/js/images.xml", function(data){
		var start=0;
		counter=randomXToY(0,3);
		$(data).find('image').each(function(){
			var alt = $(this).find('alt').text();
			var src = $(this).find('src').text();
			var id = $(this).attr('id');
			var subArray = new Array(3);
			subArray=[id, src, alt];
			array.push(subArray);
			
			});
		addBg();
		});
		
	}
function addBg(){
		
		//i = randomXToY(0, array.length-1); //Start at a random image.
		i = 1; // Always start at the same image (this count starts at 0, not 1).
		
		$('.main').css("background-image","url("+array[i][1]+")");
		$('.main').attr("id", array[i][0]);
		iIncrease();
		$('.reset').css("background-image","url("+array[i][1]+")");
		$('.reset').attr("id", array[i][0]);
		iIncrease();
		$('.right').css("background-image","url("+array[i][1]+")");
		$('.right').attr("id", array[i][0]);
		iIncrease();
		$('.left').css("background-image","url("+array[i][1]+")");
		$('.left').attr("id", array[i][0]);
		iIncrease();
	}
function iIncrease(){
	if(i<array.length-1){
		i++
	}else{
		i=0;
	}
}
function randomXToY(minVal,maxVal,floatVal)
{
  var randVal = minVal+(Math.random()*(maxVal-minVal));
  return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}

function rotate(){	
	$('.imageSlider').each(
	  function (i){
		var leftVal = parseFloat($(this).css("left"));
		nums = numCal(leftVal);
		$(this).css({"z-index": nums[2].toString()});
		$(this).animate({
			left:nums[0].toString()+"px",
			width:nums[1].toString()+"px",
			height:nums[3].toString()+"px",
			top:nums[4].toString()+"px"
			},2000);
		});
		changeBg();
		classSwap();
	}

function numCal(val){
	var nums = new Array();
	if(val==845){
		
		nums[0]=171;
		nums[1]=585;
		nums[2]=0;
		nums[3]=245;
		nums[4]=20;
		
	}else if(val==171){
		nums[0] = -445;
		nums[1]=585;
		nums[2]=1;
		nums[3]=245;
		nums[4]=20;
	}else if(val==170){
		nums[0] = 845;
		nums[1]=585;
		nums[2]=3;
		nums[3]=245;
		nums[4]=20;
	}else{
		nums[0]=170;
		nums[1]=645;
		nums[2]=3;
		nums[3]=260;
		nums[4]=12;
	}
	return nums;
	}
function changeBg(){
	$('.reset').css("background-image","url("+array[i][1]+")");
	$('.reset').attr("id", array[i][0]);
	iIncrease();
}
function classSwap(){
	//This removes and adds classes during rotation, as well as adding a slight animation.
	
	$('.main').addClass('temp');
	$('.main').removeClass('main');	

	$('.left').addClass('main');
	$('.left').removeClass('left');

	$('.reset').addClass('left');
	$('.reset').removeClass('reset');
	
	$('.right').addClass('reset');
	$('.right').removeClass('right');
	
	$('.temp').addClass('right');
	$('.temp').removeClass('temp');
	
	$('.main>.brown').animate({opacity:"0"}, 2000);
	$('.right>.brown').animate({opacity:".7"}, 2000);
	}
