var speedScroll = 500;
var globalActive;

// document load
$JQ(document).ready(function() {
	LTS.GENERIC.initialise();
	LTS.CONTACTFORM.init();
	$JQ('#currentLanguage').click(function () {	
		$JQ('#languageDropdown').animate({opacity: 'toggle'}, "slow"); 	
	});
});

hashCheck = setInterval( "LTS.GENERIC.checkHash()", 250);

// *******************************************************************************************

LTS = {
};

// *******************************************************************************************

LTS.GENERIC = {
	initialise: function() {
		LTS.GENERIC.activateTabs();
		LTS.GENERIC.bindTabs();
	},

	activateTabs: function() {
		$JQ('#tabs').tabs();
		var currentHash = LTS.GENERIC.getHash();
		if (currentHash != '') {
			$JQ('#tabs').tabs('select','#tab-' + currentHash)
		}
		LTS.GENERIC.checkActiveTab();
	},

	bindTabs:function() {
		$JQ('.tabsList a').unbind('click');
		$JQ('.tabsList a').bind('click', function() {
			LTS.GENERIC.checkActiveTab();
		});
	},

	checkActiveTab: function() {
		var activeTab = '';
		var tabCount = 0;
		$JQ('.ui-tabs-panel').each(function() {
			var eachElement = $JQ(this);
			if (activeTab == '') {
				tabCount++;
			}
			if (eachElement.attr('class').indexOf('ui-tabs-hide') < 0) {
				activeTab = eachElement.attr('id').substring(4);
				if ($JQ('#tab-' + activeTab + ' .contactForm').size() > 0) {
					$JQ('.contactSuccess').css('display','none');
					$JQ('.contactForm').css('display','inline');
				}
			}
		});
		globalActive = activeTab;
		if (tabCount == 1) {
			$JQ('body').attr('class','bodyHome');
			var currentHash = LTS.GENERIC.getHash();
			if (currentHash == '') {
				currentHash = activeTab;
			}
		} else {
			$JQ('body').attr('class','bodyGeneric');
			LTS.GENERIC.moveFlash(activeTab);
		}
		LTS.GENERIC.moveHeader(activeTab);
		//LTS.GENERIC.moveFacebook(activeTab);
		LTS.GENERIC.setHash(activeTab);
		$JQ('body').scrollTo('0px', speedScroll);
	},

	moveHeader: function(activeTab) {
		if (($JQ('.contentBannerContainer').html() != '') && ($JQ('.contentBannerContainer .contentBanner').size() > 0)){
			previousTab = $JQ('.contentBannerContainer .contentBanner').attr('id').substring(7);
			LIBRARY.moveHTML($JQ('#header-' + previousTab),$JQ('#tab-' + previousTab),'prepend');
		}
		LIBRARY.moveHTML($JQ('#header-' + activeTab),$JQ('.contentBannerContainer'),'prepend');
	},

	moveFlash: function(activeTab) {
		LIBRARY.moveHTML($JQ('.contentVideoContainer'),$JQ('#tab-' + activeTab + ' .tabSide'),'prepend');
	},

	moveFacebook: function(activeTab) {
		LIBRARY.moveHTML($JQ('.contentFacebookContainer'),$JQ('#tab-' + activeTab + ' .tabSide'),'append');
	},

	getHash: function() {
		return window.location.hash.toString().substring(1);
	},
	
	setHash: function(activeTab) {
		var currentHash = LTS.GENERIC.getHash();
		if (currentHash != activeTab) {
			window.location.hash = activeTab;
		}
	},
	
	checkHash: function() {
		var currentHash = LTS.GENERIC.getHash();
		if (globalActive != currentHash) {
			LTS.GENERIC.activateTabs();
		}
	}
};

// *******************************************************************************************

LTS.CONTACTFORM = {
    init: function() {
		$JQ('#contactForm').submit(function() {
		    var data = $JQ(this).serialize();
	    	$JQ.post('../contact.php', data, function(returnData) {
			var parsed = returnData.split('|');
			result = parsed[0];
				if(result != 'success') {
					var errors = parsed[1].split('#');
					LTS.CONTACTFORM.addErrors(errors);
				} else {
				    if($JQ('#errorList').length > 0) {
						$JQ('#errorList').remove();
				    }
				    var message = parsed[1];
				    $JQ('.contactForm').css('display','none');
				    $JQ('.contactSuccess').css('display','inline');
				    $JQ('.contactSuccess').html(message)
				}
		    });
		    return false;
		});
    },

    addErrors: function(errorMsgs) {
		if($JQ('#errorList').length == 0) {
		    $JQ('#contactForm').before('<ul id="errorList"></ul>');
		}
		$JQ('#errorList').html('');
		for(key in errorMsgs) {
		    $JQ('#errorList').append('<li>' + errorMsgs[key] + '</li>');
		}
    }
}