jQuery().ready(function(){

	// Language and country functions
	createCloneSelected();
	showClone();
	switchCountry();
	switchLanguage();

	//Generic functions
	footerAlerts();
	sectorHover();

	//Staff search for client services
	staffSrchTab();

	//Job Search Results functions
	submitJobSearchFilter();
	colorSwith();

	//Home Page
	togg();

	//Sector Function
	selectedSector();

	// Search Result page - style the whole row when mouseover.
	serpHover();

    //Home Page
    toggleFeaturedJobs();

    //Contact Us Office selected
    contactUsSelectedCountry();

	//toggle expanding text
	showHideText();

	//show the print button....
	$('div#content ul.jobOptions li a.print').css('display','block');
	$('div#content ul.jobOptions li a.print').click( function()
	{
		window.print();
		return false;
	});
	//Solution for IE6 submit button - Hover
	$('#Form_JobSearch_Submit').hover(mOver, mOut);
	$('input#Form_Jbe_Unsubscribe, div#Form_Jbe_Unsubscribe_Container, #Form_Jbe_UnsubscribeReason, #Form_Jbe_Register, #Form_Jbe_RegisterButton, #Form_Job_Submit').hover(mOver, mOut);
    $('#Form_Olr_Submit, #Form_OlrReg_Submit, #Form_OlrShortlist_Submit, #Form_OlrLogin_Submit').hover(mOver, mOut);
	$('div#Form_Jbe_Register_Container, input#Form_PostAJob_Submit, div#Form_PostAJob_Submit_Container').hover(mOver, mOut);
	$('div#Form_CallBack_Submit_Container ,input#Form_CallBack_Submit, div#Form_OlrReg_Submit_Container , input#Form_OlrReg_Submit').hover(mOver, mOut);
	$('div#Form_CVA_Submit_Container, div#Form_SCVS_Submit_Container input, div#Form_CVA_Submit_Container input, div#Form_SCVS_Submit_Container').hover(mOver, mOut);
	$('div#Form_Olr_Submit_Container, input#Form_Olr_Submit, div#Form_OlrLogin_Submit_Container, div#Form_OlrLogin_Submit_Container input, input#Form_JobSearch_Submit , div#Form_JobSearch_Submit_Container, div.jobSearch_Apply_Container').hover(mOver, mOut);
	$('table.tabularResults tr td.JobSearch_more_button div.js_btn_holder, table.tabularResults tr.activeRowClick td.JobSearch_more_button div.js_btn_holder, div.topButton, div#twitterButton, div.submitCVButton').hover(mOver, mOut);
	$('ul#sector_nav li#sector_nav_Accountancy_Container, ul#sector_nav li#sector_nav_Banking_Container, ul#sector_nav li#sector_nav_Engineering_Container, ul#sector_nav li#sector_nav_Health_Container, ul#sector_nav li#sector_nav_It_Container, ul#sector_nav li#sector_nav_Pharma_Container').hover(mOver, mOut);
	$('div.btn_holder, div.btn_holder input').hover(mOver, mOut);
	$('body.bg_home div#Form_Olr_Submit_Container, body.bg_home div#Form_Olr_Submit_Container input, body.bg_home div#Form_JobSearch_Submit_Container, body.bg_home div#Form_JobSearch_Submit_Container input').hover(mOver, mOut);

	//handle the 'clicks' on the jobsearch/olr tabs
	$('div#leftColumn ul.tabs li a').click(function(){
		// Active - don't do anything....
		if( $(this).attr('class').indexOf('selected')>= 0 )
		{
			return false
		}
		$('div#leftColumn form.active').animate({opacity: "0"}, 1,function()
		{
			$(this).css('display','none');

			$('div#leftColumn form.noDisplay').css('opacity','0');
			$('div#leftColumn form.noDisplay').css('display','block');
			$('div#leftColumn form.noDisplay').animate({opacity: "100"},1,function()
			{
				$(this).removeClass('noDisplay');
				$(this).addClass('active');
			});
			$(this).addClass('noDisplay');
			$(this).removeClass('active');
		});


		$('div#leftColumn ul.tabs li a.selected').addClass('pending');
		$('div#leftColumn ul.tabs li a').addClass('selected');
		$('div#leftColumn ul.tabs li a.selected.pending').removeClass('selected');
		$('div#leftColumn ul.tabs li a.pending').removeClass('pending');

		return false;
	})

	//Staff Search Date picker
    if(typeof datepicker == "function"){
        //add the date picker start date on staff match
        $("#staff_start_date").datepicker({
            duration: "slow",
            dateFormat: "dd/mm/yy"
        });
    }
    // Top nav menu
		 $("ul#nav li ul.sub").css('display','none');
		 $('ul.sub li:first-child').css('display','none');

		// for IE6 hover fix on top nav menu
		$('#nav li.top').hover(
		function() { $('ul', this).css('display', 'block'); },
		function() { $('ul', this).css('display', 'none'); }
	);
 });
function restorImg(){
    $('img').each(function(){
        if( $(this).attr('restoreimage') == 'yes' )
        {
            $(this).attr('src',$(this).attr('src').replace('-active.gif','-on.gif'));
            $(this).attr('restoreimage','');
        }
    })
}
function GoToMap(sLocation){
	//get the current url
	if( window.location.href.indexOf('&') < 0 )
	{
		var sUrl = window.location.href+sLocation+'/';
	}
	else
	{
		var sUrl = window.location.href+'&option='+sLocation;
	}
	window.location = sUrl;
}
function submit_form(form_id){
    if( form_id == undefined || form_id == null ) return false;
    $('form#'+form_id).submit();
    return true;
}
function load_link(href){
    window.location  = href;
    return true;
}
// Sector tabs
function showSectorList(){
	$('div#filterBySector').css('borderColor','#CCCCCC');
	$('div#filterBySector ul#FeaturedJobsListNav').removeClass('hideall');
}
function hideSectorList(){
	$('div#filterBySector').css('borderColor','#FFFFFF');
	$('ul#FeaturedJobsListNav').addClass('hideall');
}
function toggleFeaturedJobs(){
	// Featured Job - filter by sector
	$('div#filterBySector').css('visibility','visible');
	$('div#filterBySector').click(function(){
		if ($('ul#FeaturedJobsListNav').attr('class').indexOf('hideall') >= 0) {
			showSectorList();
		}else {
			hideSectorList();
		}
	});
	//toggle featuredJobList
	$('div.colRight ul#FeaturedJobsListNav li a').click(function () {
		$('div.colRight ul.featuredJobsList:visible').hide();
		$('div.colRight ul li.on').removeClass('on');
		if ($(this).attr('id')){
			var activeTab = $(this).attr('id');
			$(this).parent().addClass('on');
			var active_li  = activeTab.replace('FeaturedJobs_','FeaturedJobsList_');
			var active_title  = activeTab + '_title';
			$('ul#' + active_li).show();
			hideSectorList();
			$('div.colRight div.FeaturedJobTitle span.cnr:visible').addClass('hideall');
			$('span.' + active_title).removeClass('hideall');
		}
		return false;
	});
}
function serpHover() {
	$(".tabularResults tbody tr").hover(function(){
		$(this).addClass('activeRowClick');
	}, function(){
		$(this).removeClass('activeRowClick');
	});

	//job search
	$("#JobSearchResults tbody tr").click(function(){
		var sTheLink = $(this).find(".JobSearch_job_title a").attr('href');
		var sBase    = $('base').attr('href');
		window.location = sBase + sTheLink;
	});

	//staff search open CV window
    $('#Olr_SearchResults td.olr_jt').click(function(){
	    var sBase    = $('base').attr('href');
        window.open( sBase + $(this).children('a').attr('href'),'cand_cv', 'scrollbars=yes,width=700, height=600,resizable=yes');
        return false;
    });
}
function contactUsSelectedCountry() {
    //office selector: add class to the country of its city.
    $('div.colRight ul.pageMenu li ul.office li').each(function(){
        $("div.colRight ul.pageMenu li ul.office li.sel").parent().parent().addClass('selCountry');
    });
}
function showHideText() {
	$('ul.expandContent li a').css('display','inline');
	$('ul.expandContent li').css('cursor','pointer');
	// don't show the hide link
	$('ul.expandContent li a').find('span:eq(1)').css('display','none');

	$('ul.expandContent li').toggle(function(){
		var sMoreLink = $(this).children('a').find('span:eq(0)');
		var sHideLink = $(this).children('a').find('span:eq(1)');

		$(this).children('div').slideDown('fast');
		sMoreLink.hide();
		sHideLink.show();
		$(this).addClass('open');
		return false;
	}, function(){
		var sMoreLink = $(this).children('a').find('span:eq(0)');
		var sHideLink = $(this).children('a').find('span:eq(1)');

		$(this).children('div').slideUp('fast');
		sMoreLink.show();
		sHideLink.hide();
		$(this).removeClass();
		return false;
	})
}
// auto fill the form field
function autoFill(labelId, inputId){
	var v = $(labelId).text();
	$(inputId).attr({ value: v }).focus(function(){
		if($(this).val()==v){
			$(this).val("");
		}
	}).blur(function(){
		if($(this).val()==""){
			$(this).val(v);
		}
	});
}
//Solution for IE6 submit button - Hover
//Tell the browser to add a class when hovered over
function mOver() {
	$(this).addClass('btnOver');
}
//tell the browser remove the class when
//going outside the object area
function mOut() {
	$(this).removeClass('btnOver');
}
// COUNTRY AND LANGUAGE SELECTOR

// Cloning the selected country and language to display
function createCloneSelected(){
	$('#country_list_Container #country_list li.sel').clone().prependTo($('#country_list')).addClass('he_Lists');
	$('#language_nav_Container #language_nav li.sel').clone().prependTo($('#language_nav')).addClass('he_Lists');
}
// Hiding the clone selected country and language on page load
function showClone(){
	var theFirst = document.getElementById('country_list').getElementsByTagName('A')[0];
	theFirst.innerHTML = theFirst.innerHTML.substr(theFirst.innerHTML.length-3,2);
	$('#country_list li:first').css({'display':'block'});
	$('#language_nav li:first').css({'display':'block'});
}
// Switching country
function switchCountry(){
	$('#country_list li').mouseover(function(){
  		$('#country_list_Container #country_list li').css({'display':'block'});
  		$('#country_list_Container #country_list li:first').css({'border-bottom':'1px solid #8A9197'});
		$('#country_list_Container #country_list li:last').css({'border-bottom':'1px solid #8A9197'});
	});
	$('#country_list li').mouseout(function(){
  		$('#country_list_Container #country_list li').css({'display':'none'});
  		$('#country_list_Container #country_list li:first').css({'display':'block'});
  		$('#country_list_Container #country_list li:first').css({'border-bottom':'none'});
	});
	$('#country_list_Container #country_list li').click(function(){
		$(this).addClass('sel');
		$('#country_footer_Container #country_footer li').removeClass('sel');
	});
}
// Switching language
function switchLanguage(){
		var country = $('#country_list_Container ul#country_list li:first');
		var countryFooter = $('#country_footer_Container ul#country_footer li:last');

		if(country.attr('id') == 'country_list_Country-us_Container' || country.attr('id') == 'country_list_Country-uk_Container'){
			$('#language_nav_Container').css({'display':'none'});
		}
		$('ul#language_nav li').mouseover(function(){
	  		$('ul#language_nav li').css({'display':'block'});
			$('#language_nav li:first').css({'border-bottom':'1px solid #8A9197'});
			$('#language_nav li:last').css({'border-bottom':'1px solid #8A9197'});
		});
		$('ul#language_nav li').mouseout(function(){
			$('ul#language_nav li').css({'display':'none'});
			$('#language_nav li:first').css({'display':'block'});
			$('#language_nav li:first').css({'border-bottom':'none'});
		});
}
// Hiding footer Alerts
function footerAlerts(){
		$('div#feeds div#theCloseButton a').click(function(){
			$('div#feeds').css({'display':'none'});
		});
}
// IE6 sector Hover
function sectorHover(){
	$('ul#sector_nav li').mouseover(function(){
		$(this).children('a').addClass('hoverState');
	});
	$('ul#sector_nav li').mouseout(function(){
		$(this).children('a').removeClass('hoverState');
	});
}
// job search submit on selection
function submitJobSearchFilter(){
	$('#Form_JobSearch_JobType_Filter').change(function() {
  		$('#Form_JobType_Filter').submit();
	});
}
// Search Results table row color switch
function colorSwith(){
	var cellText = $('table.tabularResults td.JobSearch_jobtype a');
	cellText.each(function(){
	if(cellText.html() == 'Perm'){
		cellText.css({'background-color':'#a7d5f0'});
	}
	if(cellText.html() == 'Contract'){
		cellText.css({'background-color':'#bdafd6'});
	}
	});
}
//Display the Selected Sector
function selectedSector(){
	if($('#sector_nav_Accountancy_Container').hasClass('sel')){
		$('#sector_nav_Accountancy_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
	if($('#sector_nav_Banking_Container').hasClass('sel')){
		$('#sector_nav_Banking_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
	if($('#sector_nav_Engineering_Container').hasClass('sel')){
		$('#sector_nav_Engineering_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
	if($('#sector_nav_Health_Container').hasClass('sel')){
		$('#sector_nav_Health_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
	if($('#sector_nav_It_Container').hasClass('sel')){
		$('#sector_nav_It_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
	if($('#sector_nav_Pharma_Container').hasClass('sel')){
		$('#sector_nav_Pharma_Container').css({'background':'url(../img/real-sprite.png) no-repeat -10px -2202px'});
	}
}
// Form on the homepage
function togg(){
	//show staff search & swap button
	$('a#chooseStaffSearch').click(function(){
		$('div#start_job_search').hide();
		$('div#start_staff_search').show();
		$('a#chooseStaffSearch').addClass('selected');
		$('a#chooseJobSearch').removeClass('selected');
		return false;
	});
	//show job search & swap button
	$('a#chooseJobSearch').click(function(){
		$('div#start_staff_search').hide();
		$('div#start_job_search').show();
		$('a#chooseJobSearch').addClass('selected');
		$('a#chooseStaffSearch').removeClass('selected');
		return false;
	});
}
//Form to show staff search on client page
function staffSrchTab(){
	//show staff search & swap button
	$('body.bg_client_services li.js a').removeClass('selected');
	$('body.bg_client_services li.olr a').addClass('selected');
	//show job search & swap button
	$('body.bg_client_services #Form_JobSearch').removeClass('active');
	$('body.bg_client_services #Form_JobSearch').addClass('noDisplay');
	$('body.bg_client_services #Form_Olr').removeClass('noDisplay');
	$('body.bg_client_services #Form_Olr').addClass('active');
}