//YAHOO.widget.Logger.enableBrowserConsole();

var initCarousel = function() {

	var carouselTabs = YAHOO.util.Dom.getElementsByClassName('tab', 'div', 'carouselTabs');		
	var carouselContent = YAHOO.util.Dom.getElementsByClassName('tabContent', 'div', 'carouselContent');
	var carouselImage = document.getElementById('carouselImage');
	var imageCaption = document.getElementById('imageCaption');
	var activeTab = null;
	
	YAHOO.util.Event.on(carouselTabs, 'mouseover', mouseOverTab);
	
	function mouseOverTab(e){		
		var eventTarget = YAHOO.util.Event.getTarget(e);
		
		if (eventTarget.nodeName == "SPAN" || eventTarget.nodeName == "H4"){
			// we need the parent node
			eventTarget = eventTarget.parentNode;
		}
		else if(eventTarget.nodeName == "A"){
			eventTarget = eventTarget.parentNode.parentNode;
		}
		
		if (activeTab !== null){	
			// dectivate the active tab
			YAHOO.util.Dom.replaceClass(activeTab, 'tab_over', 'tab');
			
			// set a new active tab
			activeTab = eventTarget;
		}
				
		YAHOO.util.Dom.replaceClass(eventTarget, 'tab', 'tab_over');
		
		// find the positon in the array for the active tab
		// and update the content
		for (var i = 0; i < carouselTabs.length; i++){
			if (eventTarget == carouselTabs[i]){
				updateContent(YAHOO.util.Dom.getChildren(carouselContent[i]));	
			}
		}
	}
	
	function updateContent(newContent){
		for (var i = 0; i < newContent.length; i++){
			if (newContent[i].nodeName == "IMG"){
				YAHOO.util.Dom.setStyle(carouselImage, 'background-image', 'url('+newContent[i].src+')');
			}
			else if (newContent[i].nodeName == "P"){
				imageCaption.innerHTML = newContent[i].innerHTML;
			}
			else if (newContent[i].nodeName == "A"){
				//append the read more link
				// this used to be in the inner html but ffox in windows
				// didn't recognise the tilde so we need to recreate the link here
				imageCaption.innerHTML += "<br /><a href=\""+newContent[i].href+"\">Read more >></a>";
			}
		}
	}
		
	// activate the first tab
	YAHOO.util.Dom.replaceClass(carouselTabs[0], 'tab', 'tab_over');
	activeTab = carouselTabs[0];
	updateContent(YAHOO.util.Dom.getChildren(carouselContent[0]));
};

var initButtons = function() {
	new YAHOO.widget.Button("findButton");
	
	/** print this page **/
	var printStylesheet = function(e){
		// remove the url prepend from the full url
		//var cleanUrl = window.location.href.substring(YAHOO.kobro.urlPrepend.length);
		
		var pattern1 = /http:\/\/([A-Za-z0-9.]*)\//;
		var cleanUrl = window.location.href.replace(pattern1, '');
		
		if (YAHOO.kobro.urlPrepend.length > 1){
			var clean1 = YAHOO.kobro.urlPrepend.replace(pattern1, '');
			cleanUrl = cleanUrl.substring(clean1.length);
		}
		
		var pattern = /~/;
		if (pattern.exec(cleanUrl)){
			// page override
			// the clean url is after the tilde and page/
			
			var splitArray = cleanUrl.split("~");
			cleanUrl = splitArray[1].substring(5); // remove page/ from the start of the string
		}
		
		if (cleanUrl == "" || cleanUrl =="#")
			cleanUrl = "index";
		
		var params = 'status=no,scrollbars=yes,toolbar=yes,resizable=yes,menubar=yes,width=500,height=500';
		
		window.open(YAHOO.kobro.urlPrepend+"print~content/"+cleanUrl,'',params);
	}
	
	YAHOO.util.Event.addListener("printPage", "click", printStylesheet);	
	/** end of print this page **/
	
	
	/** font size switcher **/
	var currentFontSize = 'fontMedium';
	
	var fontSwitcherHandler = function (e){
		var eventTarget = YAHOO.util.Event.getTarget(e);
		fontSwitcher(eventTarget.id);
	}
	
	function fontSwitcher(title){
		YAHOO.util.Cookie.set('fontSize', title, {path: "/"});
		
		currentFontSize = title;
				
		var links = document.getElementsByTagName('link');
		
		for (var i=0; i<links.length; i++){	
			if (links[i].rel == "alternate stylesheet"){
				if (links[i].title == title){
					links[i].disabled = false;
				}
				else {
					links[i].disabled = true;
				}
			}
		}
	}
	
	YAHOO.util.Event.addListener("fontSmall", "click", fontSwitcherHandler);
	YAHOO.util.Event.addListener("fontMedium", "click", fontSwitcherHandler);
	YAHOO.util.Event.addListener("fontLarge", "click", fontSwitcherHandler);
	
	if (YAHOO.util.Cookie.get('fontSize')){
		fontSwitcher(YAHOO.util.Cookie.get('fontSize'));
	}
	/** end of font size switcher **/
	
	/** print this page **/
	var emailToFriend = function(e){
		// remove the url prepend from the full url
		var params = 'status=no,scrollbars=yes,toolbar=yes,resizable=yes,menubar=yes,width=800,height=600';
		var emailWindow = window.open(YAHOO.kobro.urlPrepend+"emailpage",'',params);
	}
	
	YAHOO.util.Event.addListener("emailPage", "click", emailToFriend);	

}


var initForms = function() {
	// set up clear default
	var elements = YAHOO.util.Dom.getElementsByClassName('clearDefault');
	
	YAHOO.util.Event.on(elements, 'click', clearDefault);
	YAHOO.util.Event.on(elements, 'blur', checkValue);
	
	function clearDefault(e){		
		var eventTarget = YAHOO.util.Event.getTarget(e);
		
		if (eventTarget.value == eventTarget.defaultValue)
			eventTarget.value = '';
	}
	
	function checkValue(e){		
		var eventTarget = YAHOO.util.Event.getTarget(e);
		
		if (eventTarget.value == '')
			eventTarget.value = eventTarget.defaultValue;
	}	
}

YAHOO.util.Event.onDOMReady(initCarousel);
YAHOO.util.Event.onDOMReady(initButtons);
YAHOO.util.Event.onDOMReady(initForms);

var initMap = function(targetDiv, lat, lng, zoom) {
	
	var latLng = new GLatLng(lat, lng);
	var map = new GMap2(document.getElementById(targetDiv));
			    	
	map.setCenter(latLng, zoom);
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setMapType(G_HYBRID_MAP);
	
   	var marker = new GMarker(latLng);
				       
	map.addOverlay(marker);
}


/*
var initHeaderBg = function() {
	var headerBg = document.getElementById("headerBg");
	
	if (headerBg.firstChild != null){
		if(headerBg.firstChild.nodeName == "IMG"){
			YAHOO.log(headerBg.firstChild.src);
			
			YAHOO.util.Dom.setStyle('photoBanner', 'background-image', 'url('+headerBg.firstChild.src+')');
		}
	}
}
*/
//YAHOO.util.Event.onDOMReady(initHeaderBg);



// weather 3 day forecast
YAHOO.util.Event.onDOMReady(function () {
	
	var mapPanel = new YAHOO.widget.Panel("weather3DayPanel", {  fixedcenter:true, width:"530px", visible:false, constraintoviewport:true } );
		mapPanel.render();
	
	YAHOO.util.Event.addListener("weather3DayTitle", "click", function(e){mapPanel.show();});
	YAHOO.util.Event.addListener("weather3Day", "click", function(e){mapPanel.show();});
});



YAHOO.util.Event.onContentReady("swfContainerBusiness", function () {
	swfobject.embedSWF(
		YAHOO.kobro.urlPrepend+"swf/player.swf", 
		"swfContainerBusiness", 
		"320", 
		"235", 
		"9.0.0", 
		YAHOO.kobro.urlPrepend+"swf/expressInstall.swf",
		{file:YAHOO.kobro.urlPrepend+'swf/lll_business.flv'},
		{wmode:'transparent',allowfullscreen:'true',allowscriptaccess:'always'}
	);
});


YAHOO.util.Event.onContentReady("swfContainerEducation", function () {
	swfobject.embedSWF(
		YAHOO.kobro.urlPrepend+"swf/player.swf", 
		"swfContainerEducation", 
		"320", 
		"235", 
		"9.0.0", 
		YAHOO.kobro.urlPrepend+"swf/expressInstall.swf",
		{file:YAHOO.kobro.urlPrepend+'swf/lll_education.flv'},
		{wmode:'transparent',allowfullscreen:'true',allowscriptaccess:'always'}
	);
});

YAHOO.util.Event.onContentReady("swfContainerLife", function () {
	swfobject.embedSWF(
		YAHOO.kobro.urlPrepend+"swf/player.swf", 
		"swfContainerLife", 
		"320", 
		"235", 
		"9.0.0", 
		YAHOO.kobro.urlPrepend+"swf/expressInstall.swf",
		{file:YAHOO.kobro.urlPrepend+'swf/lll_life.flv'},
		{wmode:'transparent',allowfullscreen:'true',allowscriptaccess:'always'}
	);
});


YAHOO.util.Event.onDOMReady(function () {
	// check if leftNav has any li children - hide if not
	
	var leftNavElement = new YAHOO.util.Element('leftNav');

	var items = leftNavElement.getElementsByTagName('li');
	
	if (items.length == 0)
	   	leftNavElement.setStyle('display', 'none');
});

YAHOO.util.Event.onDOMReady(function () {
	// hide categories block if no links present as child nodes	
    var categoriesContainer = new YAHOO.util.Element('categoriesContainer'); 
   
    var items1 = categoriesContainer.getElementsByTagName('a'); 
    
    if (items1.length == 0)
    	categoriesContainer.setStyle('display', 'none');
});



YAHOO.util.Event.onDOMReady(function () {
	
	
	
	var languagePanel = new YAHOO.widget.Panel("languagePickerPanel", {  fixedcenter:true, width:"530px", visible:false, constraintoviewport:true } );
		languagePanel.render();
	
	//YAHOO.util.Event.addListener("weather3DayTitle", "click", function(e){mapPanel.show();});
	YAHOO.util.Event.addListener("languageOptionsButton", "click", function(e){languagePanel.show();});
	
	//alert('dom ready');
	/*
	// show/hide the language list
	YAHOO.util.Event.addListener(
		"languageOptionsButton", 
		"click", 
		function(e){
			if (YAHOO.util.Dom.getStyle('languageOptions', 'display') == 'none'){
				YAHOO.util.Dom.setStyle('languageOptions', 'display', 'block');
				document.getElementById('plusButton').src = '/site-img/languages/minus.gif';
			}
			else {
				YAHOO.util.Dom.setStyle('languageOptions', 'display', 'none');
				document.getElementById('plusButton').src = '/site-img/languages/plus.gif';
			}
		}
	);
	
	
	*/
});