var accordian_elements = null;
var accordian_index = 0;
var bannerDelay = 1000;
var bannerSpeed = 500;
var currentSelected = null;
var cycle_start = 0;
var id = null;
var imagesActive = 0;
var loadcount = 0;
var media = null;
var mediaLen = 0;
var menu_accordian = null;
var sliderdiv = null;
var randStart = null;

var flashDim = new Object();
var flashLarge = {name:'l',width:920,height:300};
var flashSmall = {name:'s',width:574,height:266};

function bannerCycle($imgArray,$menu_accordian) {
	media = $imgArray;
	mediaLen = media.length;
	
	
	
	
	
	//menu_accordian.accordion('activate',$('#'+currentSelected));
/*$('.selector').accordion({
   change: function(event, ui) { ... }
});*/
	
	if($menu_accordian.length==0){	
		
		sliderdiv = $('.holderofimages');
		
		currentSelected = sliderdiv[0].id;
		
		// need to set flash size
		flashDim = flashSmall;
		
		// init the banner	
		init();	
		
	} else {
	

		//randStart = Math.floor(Math.random()*mediaLen);	
		menu_accordian = $menu_accordian;
	
		// need to set flash size
		flashDim = flashLarge;		
		// get array of ids in accordian
		accordian_elements = $('#list1a > a');
		
		// set current selected element
		setSelected();
		// init the banner	
		init();
	}
}

function ddsdsds() {
	alert('ive changed');	
}

function init() {

	// reset cycle
	var count = 0;
	var i_array = new Array();
	
	cycle_start = 0;
	imagesActive = 0;
	
	// remove nodes if exist
	$('#bannercycle img').remove();
	$('#bannercycle #flashdiv').remove();
		
	/* COULD PROBABLY REMOVE THIS AND MAKE NEATER */
	// first loop gets number of images to load for category
	for (var i = 0; i < mediaLen; i++) {
		// need to match the name of file to current selected
		if (getImagename(media[i]) == currentSelected) {		
			imagesActive++;	
		}
	}	
		
	// this loop loads images
	for (var i = 0; i < mediaLen; i++) {
		// need to match the name of file to current selected
		
		if (getImagename(media[i]) == currentSelected) {
			
			var obj = new Object();
				
			obj.src = media[i];
			// mix up the direction
			obj.dir = (i % 2) ? 'up' : 'down';
			
			i_array[count] = obj;
			count++;

		}
	}

	// load dummy transparent png only if there is images from above
	if (count > 0) {
		var obj = new Object();
		obj.src = '/assets/media/images/bannercycle/dummy_slide.png';
		obj.dir = 'up';
		i_array[count] = obj;
		count++;

	}
	
	// need to check counter to see if images have been loaded
	// if not, then use default image which is flash animation
	if (count > 0) {	
		$('#bannercycle').crossSlide({speed:45,fade:1,loop:1,onLoaded:beginImageCycle,onCycleFinish:resetBannerCycle},i_array);

	} else {
		useFlash();
	}
}

function useFlash() {
	// create div string to attach
	var flashdiv = '<div id="flashdiv" style="width:'+flashDim.width+'px; height:'+flashDim.height+'px;"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player<\/a> to see this player.<\/div>';
	// create these vars
	var params={};
	var attributes={};
	var flashvars = {};
	
	params["wmode"]="transparent";	
	
	// append the new div to document with jq
	$('#bannercycle').append(flashdiv);
	// use swfobject to add flash movie to above div
	swfobject.embedSWF("/assets/media/flash/animated_logo_holder_"+flashDim.name+".swf", "flashdiv", flashDim.width, flashDim.height, "8.0.0", "", flashvars, params, attributes);	
	// force to change accordion
beginImageCycle();	
}

function beginTimer() {
	// create interval to wait for delay
	id = setInterval(resetBannerCycle, 1000);
}


function setSelected() {
	currentSelected = accordian_elements[accordian_index].id;
}

function beginImageCycle() {
	$('#bannercycle').removeClass('loading');
	// set new index for accoridan
	
	if(menu_accordian != null){
		menu_accordian.accordion('activate',$('#'+currentSelected));	
	}
	//$('#media_0').fadeIn();	
}

function resetBannerCycle() {
	// clear interval if we use flash
	clearInterval(id);

	if (menu_accordian != null) {
		// increment accorian index but check length
		accordian_index = (accordian_elements.length-1 == accordian_index ) ? 0 : accordian_index+1;
		// add loader back to layer
		$('#bannercycle').addClass('loading');
		// update accordian
		setSelected();
		// reinit and begin load process again
	}
	init();
}


function getImagename(string) {

	imagepath = string.split('/');
	imagefull = imagepath.slice(-1).toString();
	imagename = imagefull.split('_')[0].toString();
	
	return imagename;
}