var textSize = 'med';
var lang = 'en';
var delayTime = 8000;
var autoPlay = true;
var workPos = 0;
var currentWorkPos = 0;
var speedSlider = 500;
var strPicContainer;

window.addEvent('domready', function() {
	
	registerHomeContainer();
	registerOverText();
	registerTextSizer();
	registerLanguages();
	registerNav();
	removeLastBG( '#nav_right ul' );
	removeLastBG( '#footer_top_left ul' );
	removeLastBG( '#footer_top_right ul' );
	removeLastBG( '#footer_middle_left ul' );
	removeLastBG( '#footer_middle_right ul' );
	removeLastBG( '#footer_bottom ul' );
});

function removeLastBG( id ) {

	$$(id+' li:last-child').setStyle( 'background', 'none' );
}


function registerNav() {
	
	if( $defined( $('nav') ) ) {
		if( lastNav = getLastElement( $('nav').getElements('li') ) )			
			lastNav.addClass( 'last' );	
	}
	
	if( $defined( $('subnav') ) ) {
		if( lastNav = getLastElement( $('subnav').getElements('li') ) )			
			lastNav.addClass( 'last' );	
	}
}

function getLastElement( aryElements ) {
	
	return aryElements[aryElements.length-1];
}


function registerLanguages() {
	
	if( $defined( $('flags') ) ) {
	
		// register the clicks for the sizer
		$('flags').getChildren().each( function( el ) {
			
			el.addEvent( 'click', setLanguages.pass( el ) );			
		});
	
		// check the cookie to see if the size is already set
		if( Cookie.read('siteLang') ) {			
			lang = Cookie.read('siteLang');
		}
		
		setLanguages( $$('a.flag_' + lang) );
	}
}


function setLanguages( el ) {	

	$$('a.flag_' + lang).removeClass( 'selected' );
	lang = el.get('class').toString().split(' ').join('').split('flag_').join('');
	el.addClass( 'selected' );
	
	var myCookie = Cookie.write( 'siteLang', lang, {     
		//domain: 'mydomain.com',
		duration: 365 //Save for 365 days   
	}); 
	
	return false;
}


function registerTextSizer() {
	
	var size = 0;
	
	if( $defined( $('text_sizer') ) ) {
	
		// register the clicks for the sizer
		$('text_sizer').getChildren().each( function( el ) {
			
			el.addEvent( 'click', setTextSizer.pass( el ) );			
		});
	
		// store original font size info
		$$('.text_sizeable').each( function( el ) {
			size = ( el.getStyle( 'font-size' ).toInt() != 0 ) ? el.getStyle( 'font-size' ).toInt() : defaultFontSize;
			el.store( 'origFontSize', size );			
		});
	
		// check the cookie to see if the size is already set
		if( Cookie.read('siteTextSize') ) {			
			textSize = Cookie.read('siteTextSize');
		}
		
		setTextSizer( $$('a.' + textSize) );
	}
}


function setTextSizer( el ) {	

	var sizeAdd = 0;
	
	$$('a.' + textSize).removeClass( 'selected' );
	textSize = el.get('class').toString().split(' ').join('');
	el.addClass( 'selected' );
	
	var myCookie = Cookie.write( 'siteTextSize', textSize, {     
		//domain: 'mydomain.com',
		duration: 365 //Save for 365 days   
	}); 
	
	$$('.text_sizeable').each( function( el2 ) {
		
		sizeAdd = ( textSize == 'small' ) ? -2 : ( textSize == 'med' ) ? 0 : 2;
		el2.setStyle( 'font-size', ( el2.retrieve( 'origFontSize' ) + sizeAdd ) + 'px' );	
	});
	
	return false;
}


function registerOverText() {
	
	$$('.has_over_text').each( function( el ) {
		
		new OverText( el );
	});
}


function registerHomeContainer() {
	
	if( $defined( $('home_container') ) ) {
		
		numPics 		= $$('.home_pic').length;
		picWidth		= 950;
		strPicContainer	= "home_container_inner";
		nextWork.delay( delayTime );
	}
	
	var minHeight 	= 0;
	var currHeight 	= 0;
	
	$$('.home_box_content').each( function( el ) {
		
		if( ( currHeight = el.getDimensions(true).height.toInt() ) > minHeight )
			minHeight = currHeight;
	});
	
	$$('.home_box_content').each( function( el ) {
		
		el.setStyle( 'height', minHeight + 'px' );
	});
	
}


function nextWork() {

	if( autoPlay ) {
		currentWorkPos = workPos;	
		workPos++;
		
		if( workPos >= numPics )
			workPos = 0;
			
		setThumbs( currentWorkPos, workPos );			
		showWork( currentWorkPos, workPos );
	}
}


function setThumbs( i, next ) {
	
	if( $defined( $('project_thumb_' + i) ) ) {
		$('project_thumb_' + i).removeClass('selected');
		$('project_thumb_' + next).addClass('selected');
	}
}


function showWork( i, next ) {

	$( strPicContainer ).set('tween', {duration: speedSlider, onComplete: function(){
			
			$( strPicContainer ).set('tween', {onComplete: null});
			
			$( strPicContainer ).setStyle( 'left', '-' + (next * picWidth) + 'px' );
			$( strPicContainer ).tween( 'opacity', '1' );
			//$( strPicContainer ).tween( 'opacity', '1' );
			nextWork.delay( delayTime );
		}
	});
	$( strPicContainer ).tween( 'opacity', '0' );
	
	
}	

function showWorkClick( i ) {
	
	autoPlay = false;
	setThumbs( workPos, i );	
	showWork( workPos, i );
	workPos = i;
}


function showWorkPrev() {
	
	autoPlay 		= false;
	currentWorkPos 	= workPos;	
	workPos--;
	
	if( workPos < 0 )
		workPos = numPics-1;
		
	setThumbs( currentWorkPos, workPos );			
	showWork( currentWorkPos, workPos );
}


function showWorkNext() {
	
	autoPlay 		= false;	
	currentWorkPos 	= workPos;	
	workPos++;
	
	if( workPos >= numPics )
		workPos = 0;
	
	setThumbs( currentWorkPos, workPos );			
	showWork( currentWorkPos, workPos );
}
