$(function(){

// 1) set, remove and restore custom values to input fields

	var sGenPhrase = 'Search for...';
	var sJobPhrase = 'Search for Jobs';
	// add elements to this array if needed
	var aElms = ['#frmNewsSearch--sSearchPhrase','.fieldClearText'];
	for(var i=0; i < aElms.length; i++){
		var eCurrent = aElms[i];		
		// set initial values
		if($(eCurrent).parent().attr('id')=="frmSearchJobs") {
			$(eCurrent).val(sJobPhrase).addClass('jobRelated');
		} else {
			$(eCurrent).val(sGenPhrase);			
		};
		// remove values on focus
		$(eCurrent).focus(function(){
			$(this).val("");
		})
		// restore values on blur if needed
		.blur(function(){
			if($(this).val()==""){
				$(this).hasClass('jobRelated')?$(this).val(sJobPhrase):$(this).val(sGenPhrase);
			}
		})
	}	

// 2) handle search phrase on form submission

	$('#frmNewsSearch,#frmSearch,#frmSearchJobs,#frmBlueBoomerangSearch').submit(function(){
		
		var sDefaultPhrase;
		var sWhatForm=$(this).attr('id');
		var eInput=$(this).find('input[type=text]');
		var sSearchPhrase=eInput.val();
		var sSearchLocation=$(this).attr('action');
		var reSearchPhrase=new RegExp("/");
		switch (sWhatForm) {
			case 'frmNewsSearch':sDefaultPhrase='Search for...';
			break;
			case 'frmSearch':sDefaultPhrase='Search for...';
			break;
			case 'frmSearchJobs':sDefaultPhrase='Search for Jobs';
 			break;
			case 'frmBlueBoomerangSearch':sDefaultPhrase='Search for Jobs';
 			break;
		}		
		// a) prevent default phrase search (will fail submission)
		if(sSearchPhrase==sDefaultPhrase){
			sSearchPhrase='';
		} else {
		// b) or make search phrase escaped and URL compatible
			sSearchPhrase=sSearchPhrase.replace(reSearchPhrase," ");
			sSearchPhrase=escape(sSearchPhrase);
		};
		// c) go to wherever you gotta go and take the search string with you
		sSearchLocation+= 'phrase/' + sSearchPhrase + '/';
		window.location=sSearchLocation;
		// d) prevent default action
		return false;
		
	})//on submit
})// dom ready			



// left hand tabbed content 
tabbedContent = function(){
	return;
}

tabbedContent.toggleTabs = function(oObj,iLength,iTabNo,sContent,iNumberOfTabs,sTabsId){
	var oDiv = DOMUtils.getParent(oObj,"div");
	oDiv.style.backgroundPosition = '-' + ((iTabNo-1)*iLength) + 'px 0';
	var oContainer = document.getElementById(sContent);
	var aContentBlocks = DOMUtils.getElementsByClassName(oContainer, "div", "content");
	for(i=0;i<aContentBlocks.length;i++){
		if (i==(iTabNo-1)) {
			DOMUtils.cssjs('remove', aContentBlocks[i], 'hide');
		}
		else {
			DOMUtils.cssjs('add', aContentBlocks[i], 'hide');
		}
	}
	
	//Change tab link active state
	for(i=1;i<=iNumberOfTabs;i++){
		//Try and get linkTabs
		try{
			var eTabLink = document.getElementById('tab'+i+'Link_'+sTabsId);
			if(i == iTabNo){
				DOMUtils.cssjs('add', eTabLink, 'active');
			}else{
				DOMUtils.cssjs('remove', eTabLink, 'active');
			}
		}
		catch(err){
			//If we have trouble getting tab links, break out of loop and dont set tab links active/inactive
			break;
		}
	}
}

tabbedContent.getTabs = function(sTabsId){
	if(!document.getElementById||!document.createTextNode){return;}
	if(!document.getElementsByTagName||!document.getElementById(sTabsId)){
		return;
	}
	var oContainer = document.getElementById(sTabsId);
	var aFoo = sTabsId.split('tabs_')[1];
	var sContent = 'tabsContent';
	if(aFoo.indexOf('_')){
		var aBar = aFoo.split('_');
		var iTabsLength = aBar[0];
		var sContent = sContent + "_" + aBar[1];
	}
	var aTabs = DOMUtils.getAllChildren(oContainer,'a')
	if(!aTabs.length){
		return;
	}
	
	for(i=0;i<aTabs.length;i++){
		aTabs[i].onclick = function(){
			this.href = 'javascript:;';	
			sFoo = DOMUtils.getParent(this,"li").className;
			aBar = sFoo.split('tab');
			iTabNo = parseInt(aBar[1]);
			tabbedContent.toggleTabs(this,iTabsLength,iTabNo,sContent,aTabs.length,sTabsId);
			this.blur();
		}
	}
	//Cha
}
// /left hand tabbed content on the homepage

// right hand tabbed content 
tabbedContentR = function(){
	return;
}

tabbedContentR.toggleTabsR = function(oObjR,iLengthR,iTabNoR,sContentR,oBkgR){
	var oDivR = DOMUtils.getParent(oObjR,"div");
	oDivR.style.backgroundPosition = '-' + ((iTabNoR-1)*iLengthR) + 'px 0';
	
	var oOnR = DOMUtils.getParent(oBkgR,"a");
	oOnR.style.backgroundColor = '#' + '("d4eaf3":"c3ccd0")';
	
	var oContainerR = document.getElementById(sContentR);
	var aContentBlocksR = DOMUtils.getElementsByClassName(oContainerR, "div", "contentR");
	for(i=0;i<aContentBlocksR.length;i++){
		aContentBlocksR[i].style.display = (i==(iTabNoR-1))? "block":"none"; 
	}
}

tabbedContentR.getTabs = function(sTabsIdR){
	if(!document.getElementById||!document.createTextNode){return;}
	if(!document.getElementsByTagName||!document.getElementById(sTabsIdR)){
		return;
	}
	var oContainerR = document.getElementById(sTabsIdR);
	var aFooR = sTabsIdR.split('tabsR_')[1];
	var sContentR = 'tabsContentR';
	if(aFooR.indexOf('_')){
		var aBarR = aFooR.split('_');
		var iTabsLengthR = aBarR[0];
		var sContentR = sContentR + "_" + aBarR[1];
	}
	var aTabsR = DOMUtils.getAllChildren(oContainerR,'a')
	if(!aTabsR.length){
		return;
	}
	for(i=0;i<aTabsR.length;i++){
		aTabsR[i].onclick = function(){
			this.href = 'javascript:;';	
			sFooR = DOMUtils.getParent(this,"li").className;
			aBarR = sFooR.split('tab');
			iTabNoR = parseInt(aBarR[1]);
			tabbedContentR.toggleTabsR(this,iTabsLengthR,iTabNoR,sContentR);
			this.blur();
		}
	}
}
// /right hand tabbed content on the homepage



var CarouselClassFix					= {
	init : function () {
		if(!document.getElementById||!document.createTextNode){return;}
		var oCarouselMod				= document.getElementById('fixWidthNoJS');
		if (oCarouselMod) {
			oCarouselMod.id				= '';
		}
		
		var oCarouselDiv				= document.getElementById('articleCarousel');
		if (oCarouselDiv) {
			DOMUtils.cssjs('remove', oCarouselDiv, 'articleCarouselNoJS');
		}
	}
}

var NewsImageCaptionResizer				= {
	init : function() {
		if(!document.getElementById||!document.createTextNode){return;}
		var eImageHolder				= document.getElementById('articleImageHolder');
		var eImageCaption				= document.getElementById('imageCaption');
		if (!eImageHolder || !eImageCaption) {return;}
		var aImages						= eImageHolder.getElementsByTagName('img');
		if (aImages.length == 0) {return;}
		
		eImageCaption.style.width		= DOMUtils.getStyle(aImages[0], 'width');
		if (eImageCaption.style.width > '330px'){
			var eArticleBody				= document.getElementById('articleBody');
			if (eArticleBody) {
			DOMUtils.cssjs('add',eArticleBody, 'clear');
		}
		}
			
	}
}

$(document).ready(function(){
	// show Network list
	$('div#networkList').hide();

	$('#navContent h3 a').toggle(function() {
		$('#navContent div#networkList').show();
	}, function() {
		$('#navContent div#networkList').hide();
	});
});

WindowListener.add("load","CarouselClassFix.init()");
WindowListener.add("load","NewsImageCaptionResizer.init()");
