
	//init vars
	var currentlySelected = '';

	// DETECT FLASH
	function detectFlash() {
		if (swfobject.hasFlashPlayerVersion("10.0.0") == true) {
			return true;		
		} else {
			return false;
		}
	}
	
	// DRAW FLASH BUTTON
	function drawFlashButton (language) {
		$('#flashhtml').css({
			backgroundImage: "url('/images/site/langselect/flashhtml-off.png')"
		});
		drawHTMLSiteLink (language);
	}
	
	// DRAW HTML SITE LINK
	function drawHTMLSiteLink (language) {
		$('#flashhtml div').show().find('#viewhtmlsite').attr('href',$('#select'+language+' a').attr('href').replace('flash','html'));
	}	

	// DRAW HTML SITE LINK
	function redirector (item) {
		window.location.href = $(item).attr('href');
	}

	function getLang(item) {
		if ($(item).parent().attr('id') != 'flashhtml')
			return $(item).parent().attr('lang');
		else {
			return $(item).parent().parent().attr('lang');
		}
	}
	
	function getLi(item) {
		if ($(item).parent().attr('id') != 'flashhtml')
			return $(item).parent();
		else {
			return $(item).parent().parent();
		}
	}

	$(document).ready(function() {

		Cufon.replace('#expanded-reasons h2, .language-selector h2, li.select h3, li.select p');

		//preload the main background for next page
		var pic1 = new Image();
		pic1.src = '/images/site/html-bg-final2.jpg';
		var pic2 = new Image();
		pic2.src = '/images/site/langselect/flashhtml-on.png';
		var pic3 = new Image();
		pic3.src = '/images/site/langselect/flashhtml-off.png';

		// gather the select items
		var selectItems = $('ul#language-menu li.select a, #flashhtml a');

		//load in the require images
		$(selectItems).each(function () {

			var lang = getLang($(this));

			if (lang.length > 0 || lang  != '') {

				var pic = new Array();
				pic[lang] = new Array();

				pic[lang]['up'] = new Image();
				pic[lang]['up'].src = '/images/site/langselect/'+lang+'-up.png';

				pic[lang]['over'] = new Image();
				pic[lang]['over'].src = '/images/site/langselect/'+lang+'-over.png';

				pic[lang]['disabled'] = new Image();
				pic[lang]['disabled'].src = '/images/site/langselect/'+lang+'-disabled.png';
			}

		});



		//hover state
		$(selectItems).hover(function () {
			var lang = getLang($(this));
			var parent = getLi($(this));
			if (lang.length > 0) {
				//set this to hover and change bgd
				if (!$(parent).hasClass('selected')) {
					$(parent).css({
						backgroundImage: "url('/images/site/langselect/"+lang+"-up.png')"
					});
				}
			}
			//find others and switch off
			$(parent).siblings().each(function () {
				if ($(this).attr('id') != 'flashhtml') {
					$(this).css({
						backgroundImage: "url('/images/site/langselect/"+$(this).attr('lang')+"-disabled.png')"
					});
				}
			});

		}, function () {
			//find others and switch off
			$(selectItems).each(function () {
				var lang = getLang($(this));
				var parent = getLi($(this));
				if ($(parent).attr('id') != 'flashtml' && !$(parent).hasClass('selected')) {
					$(parent).css({
						backgroundImage: "url('/images/site/langselect/"+$(parent).attr('lang')+"-up.png')"
					});
				}
			});
			if (typeof currentlySelected == 'object') {
				$(currentlySelected).css({
					backgroundImage: "url('/images/site/langselect/"+$(currentlySelected).attr('lang')+"-over.png')"
				});
			}
		});

		//click state
		$(selectItems).click(function () {
			currentlySelected = $(this).parent();
			if ($(this).parent().siblings('.selected').size() > 0) {
				$(this).parent().siblings('.selected').each(function () {
					$(this).css({
						backgroundImage: "url('/images/site/langselect/"+$(this).attr('lang')+"-up.png')"
					}).removeClass('selected');	
				});
			}
					
		//	alert('lang: \''+$(this).parent().attr('lang') + '\'');
			$(this).parent().css({
				backgroundImage: "url('/images/site/langselect/"+$(this).parent().attr('lang')+"-over.png')"
			}).addClass('selected');

			var lang = getLang($(this))
			if (lang == '') {
				drawFlashButton('en');
			} else {
				var parent = getLi($(this));
				$(parent).addClass('selected');
				/*
				IE ERRORS
				$(parent).css({
					backgroundImage: '/images/site/langselect/'+lang+'-on.png'
				});
				*/
				if (detectFlash()) {
					redirector($(this));
				} else {
					drawFlashButton(lang);
				}
			}
			if ($(this).attr('id') != 'flashhtml')
				return false;
		});

		$().pngFix();

	});
