/********************************/
/*	Init Vars					*/

var faderImages = new Array();
var faded = 0;

var scrollDirection = 1;
var scrollTimer = null;
var scrollLowpoint = 0;

/********************************/
/*	Helper Functions			*/
	
function selectDefault(value, selectbox){
	
	if($(selectbox)){
		
		var options = $(selectbox).options;
	
		for (var i = 0; i < $(selectbox).length; i++) 
		{
		
		    if ($(selectbox).options[i].value == value) 
			{
			
	         $(selectbox).options[i].selected = true;

	      	}

	   	}
	
	}
	
}

function fadeNext(){
	
	faded = 0;
	count = 0;
	
	// Fade in the next image
	faderImages.each(function(e){
		if(faded == 0 && e.getStyle("display") != "none" && count < (faderImages.length-1)){
			
			// Bring back invisibles
			if(count == 0 && e.getStyle("display") != "none"){
				
				faderImages.each(function(e2){

					e2.appear({duration: 0}); 

				});
				
			}
			
			// Fade out current
			e.fade();
			faded = 1;
			
		}
		count++;
	});
	
	// Reset if it doesn't exist
	if(faded == 0){
		
		count = 0;
		faderImages[0].appear();
		
	}
	
}

function handleAnimalClick(ev){
	
	ev.stop();
	Lightview.show({ 
		href: ev.target.href, 
		rel: 'ajax',
		title: ev.target.title,
		viewport: false,
		options:{
			autosize: false,
			width: 900,
			height: 500,
			fullscreen: false,
			ajax: {
				onComplete: function(){
					showDetail('General');
					initScroller();
				}
			}
		}
	});
	
}

/********************************/
/*	Window Load					*/

window.onload = function(){

	// Fix Animal Links
	animalLinks = $$('a');
	animalLinks.each(function(l){
		
		if(l.href.indexOf("/animal/") >= 0){

			l.observe('click', handleAnimalClick);
			
		}
		
	});

	// Init Imageslist
	faderImages = $$('.iRotatorImage');
	faderImages.reverse();
	
	// Init Menus
	//initMenus();
	
	// Start Fader
	setInterval("fadeNext()", 8000);
	
	// Fix String
	var anititles = $$('.hAnimalTitle');
	if(anititles.length > 0){
		
		anititles.each(function(t){
			
			new Tip(t, t.innerHTML);
			if(t.innerHTML.length > 20) t.innerHTML = t.innerHTML.substr(0, 20)+"...";
			
		});
		
	}
	
}

/********************************/
/*	Animal Cards				*/

function showDetail(area){
	
	// Set button style
	$$(".aAnimalButton").each(function(ab){
		
		if(ab.hasClassName("aCurrent")) ab.removeClassName("aCurrent");
		
	});
	
	$("a"+area).addClassName("aCurrent");

	// Set content style
	$$(".dAnimalDet").each(function(ab){
		
		if(ab.hasClassName("dVisible")) ab.removeClassName("dVisible");
		
	});
	
	$("d"+area).addClassName("dVisible");
	
}

function initScroller(){
	
	// Calc lowpoint
	scrollLowpoint = 0;
	widths = 0;
	images = $$('#dAnimaldetailImagesSlider img');
	
	images.each(function(e){
		widths = widths + e.length;
	});
	
	scrollLowpoint = 0 - widths + 434;
	
	// Buttons
	if(scrollLowpoint < 0){
		$('aAnimalChooserRight').observe('mouseover', function(){
			scrollDirection = -1;
			scrollTimer = setInterval("scrollImages()", 10);
		});
		$('aAnimalChooserRight').observe('mouseout', function(){ clearInterval(scrollTimer); });
	
		$('aAnimalChooserLeft').observe('mouseover', function(){
			scrollDirection = 1;
			scrollTimer = setInterval("scrollImages()", 10);
		});
		$('aAnimalChooserLeft').observe('mouseout', function(){ clearInterval(scrollTimer); });
	}
	else{
		$('aAnimalChooserRight').setStyle({opacity: "0.2", cursor: "default"});
		$('aAnimalChooserLeft').setStyle({opacity: "0.2", cursor: "default"});
	}
	
	// Thumbs
	ting = $$('#dAnimaldetailImagesSlider a');
	ting.each(function(l){

		l.observe('click', maximisePhoto);
		
	});
	
	// Stop big one doing anything.
	//$('dAnimalMaximisedPhoto').observe('click', function(e){ e.stop(); });
	
}

function scrollImages(){
	
	speed = 5;
	
	ml = parseFloat($('dAnimaldetailImagesSlider').getStyle('margin-left')); // Get margin
	$('dAnimaldetailImagesSlider').setStyle({marginLeft: ml+(scrollDirection*speed)+"px"}); // Move
	if(ml > 0) $('dAnimaldetailImagesSlider').setStyle({marginLeft: "0px"}); // Fix top
	if(ml < scrollLowpoint) $('dAnimaldetailImagesSlider').setStyle({marginLeft: scrollLowpoint+"px"}); // Fix bottom
	
}

function maximisePhoto(ev){
	
	ev.stop();
	
	$("dAnimalSpinner").setStyle({display: "block"});
	var cardImg = new Image();
	
	cardImg.onload = function(){
		
		$('dAnimalMaximisedPhoto').src = cardImg.src;
		$('aAnimalMaxPhotoLink').href = cardImg.alt;
		$("dAnimalSpinner").setStyle({display: "none"});
		
		$('dAnimalMaximisedPhoto').removeClassName("portrait");
		$('dAnimalMaximisedPhoto').removeClassName("landscape");
		
		if(cardImg.getWidth() > cardImg.getHeight()) $('dAnimalMaximisedPhoto').addClassName("landscape");
		else $('dAnimalMaximisedPhoto').addClassName("portrait");
		
		imagedata = cardImg.title.split("::");
		if(imagedata[0]) $('hAnimalTitle').innerHTML = imagedata[0];
		if(imagedata[1]) $('dAnimalDescription').innerHTML = imagedata[1];
		
	}
	
	$('hAnimalTitle').innerHTML = "";
	$('dAnimalDescription').innerHTML = "";
	
	if(ev.currentTarget == null) ev.currentTarget = ev.target;
	if(ev.currentTarget.title != null) cardImg.title = ev.currentTarget.title;
	cardImg.src = "http://www.cattlemarket.com.au/index.php/jsThumbnail/thumbnail?img="+ev.currentTarget.href+"&maxx=500&maxy=500&mode=normal";
	cardImg.alt = ev.currentTarget.href;
	
}

/********************************/
/*	Cool Menu					*/

function initMenus(){
	
	submenus = $$("#nav li ul");
	subcount = 0;
	submenus.each(function(e){
		
		var children = e.select("li");
		children.each(function(c){
			
				link = "";
				text = c.down("a").innerHTML;
				text = text.split("::");
				if(text.length > 1) link = "<span class='big'>"+text[0]+"</span><span class='small'>"+text[1]+"</span>";
				else link = "<span class='big'>"+text[0]+"</span>";
				c.down("a").innerHTML = link;
			
		});
		
	});
	
}