function initalise(){
	if(window.ie && !window.ie7){
		// fix for <ie7 not recognising li:hover for the menu
		$$('#header ul li a').each(function(l,i){
			l.addEvent("mouseover",function(){
				l.getParent().setStyle('background-position','0px -120px');
			});
			l.addEvent("mouseout",function(){
				if(l.getParent().getProperty('class') != 'listselected'){
					l.getParent().setStyle('background-position','0px 0px');
				}
			});				
		});
		//fix <ie7 not playing with semi transparent pngs
		$$('div.event img').each(function(e,i){
			var filterhtml = "<div style=\"width:"+e.getProperty("width")+"px;height:"+e.getProperty("height")+"px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e.getProperty("src")+"', sizingMethod='scale');\"></div>";
			e.outerHTML = filterhtml;
		});
	}	
	$('sarea').addEvent("change",function(){
		$('location').options.length = 0;
		var shtml = '';
		eval($('sarea').getProperty('value')).each(function(loc,i){
			locations = loc.split(',')
			$('location').options[i] = new Option(locations[0],locations[1]);
		});
	});
	
	if($chk($('searchgo'))){
		nicesubmit($('searchgo'),$('picksearch'),'greengo','search.asp');
	}

	if($chk($('departmentgo'))){
		nicesubmit($('departmentgo'),$('pickdiv'),'purplego','departments.asp');
	}
}	

// creates a mootools fx.slide for each job and then hides the job text on load
function initaliseresults(){	
	$('rightcontent').addClass('greenlinks');
	if($chk($$('div.rjobtext'))){
		var jobs = $$('div.rjobtext');
		var joblinks = $$('div.rjob a');
		var effectsarray = new Array();

		// fix for <ie7 not playing well with mootools fx.slide with regards to layout - does a simple show and hide instead
		if(window.ie && !window.ie7){
			jobs.each(function(job,i){
				jobid = job.getProperty('id').substring(4);
				$('rjob'+jobid).setStyle('display','none');
				$('rjoblink'+jobid).setStyle('background-image','url(assets/baseimg/graygo.png)');
			});
			joblinks.each(function(joblink,i){
				joblink.addEvent("click",function(e){
					e = new Event(e).stop();
					jobtoopen = joblink.getProperty('id').substring(8);
					if($('rjob'+jobtoopen).getStyle('display') == 'none'){
						$('rjob'+jobtoopen).setStyle('display','block');
						$('rjoblink'+jobtoopen).setStyle('background-image','url(assets/baseimg/grayopen.png)');
					}else{
						$('rjob'+jobtoopen).setStyle('display','none');
						$('rjoblink'+jobtoopen).setStyle('background-image','url(assets/baseimg/graygo.png)');
					}										
				});
			});		
		}else{
			jobs.each(function(job,i){
				jobid = job.getProperty('id').substring(4);
				effectsarray[parseInt(jobid)] = new Fx.Slide('rjob'+jobid,{
					duration:500,
					onStart: function(element){
						j = element.getProperty('id').substring(4);
						if(this.wrapper.offsetHeight == 0){
							$('rjoblink'+j).setStyle('background-image','url(assets/baseimg/grayopen.png)');
						}else{
							$('rjoblink'+j).setStyle('background-image','url(assets/baseimg/graygo.png)');
						}
					}
				});
				effectsarray[parseInt(jobid)].hide();
				$('rjoblink'+jobid).setStyle('background-image','url(assets/baseimg/graygo.png)');
			});
			
			joblinks.each(function(joblink,i){
				joblink.addEvent("click",function(e){
					e = new Event(e).stop();
					jobtoopen = joblink.getProperty('id').substring(8);
					effectsarray[parseInt(jobtoopen)].toggle();
				});
			});
		}
	}
}

// takes a normal submit button and replaces it with a pretty link version
function nicesubmit(submitid,formid,linkclass,linkhref){
	if($chk(submitid)){
		var submitlink = new Element('a');
		submitlink.setText(submitid.getProperty('value'));
		submitlink.addClass(linkclass);
		submitlink.setProperty('href',linkhref);
		submitid.replaceWith(submitlink);
	
		submitlink.addEvent("click",function(e){
			e = new Event(e).stop();
			formid.submit();
		});	
	}
}	

function initalisecontact(){
	formfocus('#contact input,#contact textarea');
	nicesubmit($('submitcontact'),$('contact'),'send','contactus.asp');
}

function initalisereg(){
	$('rightcontent').addClass('bluelinks');
	formfocus('#regform input, #regform textarea');
	if($chk($('regsubmitlink'))){
		nicesubmit($('regsubmitlink'),$('register'),'send','register.asp');
	}
	if($chk($('regcvlink'))){
		nicesubmit($('regcvlink'),$('cvupload'),'send','uploadcv.asp');
	}		
}

// applies colors to form elements on focus along with coloring the label and form element if an error class has been detected
function formfocus(formelement){
	if($chk($$(formelement))){
		$$(formelement).each(function(f,i){
			var focuscolor = '#909090';
			var blurcolor = '#EBEAE5';
			$$('label.fielderror').each(function(l,j){
				if(f.getProperty('id') == l.getProperty('for')){
					f.setStyle('background-color','#CC0033');
					f.setStyle('color','#FFFFFF');				
					focuscolor = '#FFBBCE';
					blurcolor = '#CC0033';
				}
			});
			f.addEvents({
				'focus': function(){
					if(!f.getProperty('value')){
						f.setStyle('background-color',focuscolor);
						f.setStyle('color','#FFFFFF');
					}else{
						f.setStyle('background-color','#909090');
						f.setStyle('color','#FFFFFF');
					}					
				},
				'blur': function(){
					if(!f.getProperty('value')){
						f.setStyle('background-color',blurcolor);
						f.setStyle('color','#757575');
					}else{
						f.setStyle('background-color','#EBEAE5');
						f.setStyle('color','#757575');
					}					
				}
			});
		});
	}		
}


function initaliseoverseas(){
	$('rightcontent').addClass('purplelinks');	
	if($chk($('country'))){
		$('overseassubmit').remove();
		$('country').addEvent("change",function(){
			if($('country').getProperty('value') != 'Any'){
				$('overseasmenu').submit();
			}
		});
	}
	// ie delays the execution of various js when an inline googlemap is loading which delays slide.fx from hiding the job text. 
	// loading it through an ajax request works though.
	if($chk($('googlemap'))){
		var googleurl = 'http://www.asarecruitment.co.uk/googlemap.asp?country=' + $('googlemapid').getProperty('value');
		new Ajax(googleurl,{
			method:'get',
			update:$('googlemap')
		}).request();
	}
}

function initalisemyasa(){
	formfocus('#myasaform input, #myasaform textarea');
	if($chk($('rightcontent'))){
		$('rightcontent').addClass('bluelinks');
	}
	if($chk($('submitmyasa'))){
		var pageurl = new String(window.location);
		if(pageurl.match('login.asp')){
			pagelocation = 'login.asp';
		}else if(pageurl.match('profile.asp')){
			pagelocation = 'profile.asp';
		}else if(pageurl.match('apply.asp')){
			pagelocation = 'apply.asp';
		}else if(pageurl.match('unsubscribe.asp')){
			pagelocation = 'unsubscribe.asp';			
		}else{
			pagelocation = 'login.asp';
		}
		nicesubmit($('submitmyasa'),$('myasa'),'send',pagelocation);
	}
	if($chk($('changelocationlink'))){
		$('changelocationlink').addEvent("click",function(e){
			e = new Event(e).stop();
			window.open('changeloc.asp','changeloc','width=586,height=350,resizable=yes,status=no,toolbar=no,scrollbars=no');
		});
	}	
}

	

//	West of Scotland
	var wos = new Array(
	"Any,Any",
	"Ayr,Ayr",
	"Borders,Borders",
	"Central Belt,Central belt",
	"Cumbernauld,Cumbernauld",
	"Dunbartonshire,Dunbartonshire",
	"Dumfries & Galloway,Dumfries & Galloway",
	"East Kilbride,East kilbride",
	"Glasgow,Glasgow",
	"Greenock,Greenock",
	"Hamilton,Hamilton",
	"Lanarkshire,Lanarkshire",
	"Renfewshire,Renfewshire",
	"Strathclyde,Strathclyde",
	"..................................,Any"
	);
	
//	East of Scotland
	var eos = new Array(
	"Any,Any",
	"Borders,Borders",
	"Central Belt,Central Belt",
	"Dumfermline,Dumfermline",
	"Dundee,Dundee",
	"Edinburgh,Edinburgh",	
	"Edinburgh City,Edinburgh City",
	"Edinburgh Park/Gyle,Edinburgh Park/Gyle",	
	"East Lothian,East lothian",
	"Falkirk,Falkirk",
	"Fife,Fife",
	"Glenrothes,Glenrothes",
	"Grangemouth,Grangemouth",
	"Kirkcaldy,Kirkcaldy",
	"Livingston,Livingston",
	"Lothians,Lothians",
	"Penicuik,Penicuik",
	"Perth,Perth",
	"Stirling,Stirling",
	"Tayside,Tayside",
	"..................................,Any"
	);
	
//	North of Scotland
	var nos = new Array(
	"Any,Any",
	"Aberdeen City,Aberdeen City",
	"Grampian,Grampian",
	"Highlands,Highlands",	
	"Inverness,Inverness",
	"Inverurie,Inverurie",
	"Moray,Moray",
	"Peterhead,Peterhead",
	"Stonehaven,Stonehaven",
	"..................................,Any"
	);
	
	
//	Other UK
	var ouk = new Array(
	"Any,Any",
	"London,London",
	"Midland,Midland",
	"Newcastle,Newcastle",
	"North of England,North of England",
	"South of England,South of England",
	"Other UK,other uk",
	"..................................,Any");
	
//	Middle East
	var me = new Array(
	"Any,Any",
	"Abu Dhabi,Abu Dhabi",
	"Bahrain,Bahrain",
	"Dubai,Dubai",
	"Kuwait,Kuwait",
	"Libya,Libya",
	"Oman,Oman",
	"Saudi Arabia,Saudi Arabia",
	"United Arab Emirates,United Arab Emirates",
	"..................................,Any");
	
//	Australia/New Zealand
	var anz = new Array(
	"Any,Any",
	"Australia,Australia",
	"New Zealand,New Zealand",
	"..................................,Any");
	
//	Asia
	var asia = new Array(
	"Any,Any",
	"Azerbaijan,Azerbaijan",
	"India,India",
	"Kazakhstan,Kazakhstan",
	"..................................,Any");
	
//	Caribbean
	var car = new Array(
	"Any,Any",
	"Bahamas,Bahamas",
	"Barbados,Barbados",
	"British Vigin Islands,British Vigin Islands",
	"Cayman Islands,Cayman Islands",
	"Jamaica,Jamaica",
	"Trinidad and Tobago,Trinidad and Tobago",
	"Turks & Caicos Islands,Turks & Caicos Islands",
	"..................................,Any");
	
// West Europe
	var we = new Array(
	"Any,Any",
	"Belgium,Belgium",
	"France,France",
	"Germany,Germany",
	"Gilbralter,Gilbralter",
	"Guernsey,Guernsey",
	"Isle of Man,Isle of Man",
	"Jersey,Jersey",
	"Luxembourg,Luxembourg",
	"Netherlands,Netherlands",
	"Northern Ireland,Northern Ireland",
	"Republic of Ireland,Republic of Ireland",
	"Spain,Spain",
	"Switzerland,Switzerland",
	"..................................,Any");
	
//	East Europe
	var ee = new Array(
	"Any,Any",
	"Bosnia,Bosnia",
	"Bulgaria,Bulgaria",
	"Czech Republic,Czech Republic",
	"Hungary,Hungary",
	"Latvia,Latvia",
	"Poland,Poland",
	"Romania,Romania",
	"Russia,Russia",
	"Slovenia,Slovenia",
	"Slovakia,Slovakia",
	"Ukraine,Ukraine",
	"..................................,Any");
	
//	Bermuda
	var ber = new Array(
	"Any,Any",
	"Bermuda,Bermuda",
	"..................................,Any");
	
//	Far East
	var fe = new Array(
	"Any,Any",
	"China,China",
	"Hong Kong,Hong Kong",
	"Indonesia,Indonesia",
	"Japan,Japan",
	"Papua New Guinea,Papua New Guinea",
	"Singapore,Singapore",
	"Vietnam,Vietnam",
	"..................................,Any");
	
//	Africa
	var afr = new Array(
	"Any,Any",
	"Egypt,Egypt",
	"South Africa,South Africa",
	"Tunisia,Tunisia",
	"Zambia,Zambia",
	"..................................,Any");
	
//	USA/Canada
	var usc = new Array(
	"Any,Any",
	"Canada,Canada",
	"USA,USA",
	"..................................,Any");
	
//	South Atlantic
	var sa = new Array(
	"Any,Any",
	"Falkland Islands,Falkland Islands",
	"..................................,Any");
	
//	South America
	var sam = new Array(
	"Any,Any",
	"Brazil,Brazil",
	"..................................,Any");
	
	
//	Don't change. Just here incase someone selects something they shouldn't
	var anyareatop = new Array(
	"Select a Location,Any",
	"Select an Area First,Any",
	"..................................,Any");
	
//	Don't change. Just here incase someone selects something they shouldn't
	var anyarea = new Array(
	"Any Location,Any",
	"..................................,Any");
	
//	Any Location
	var selList8 = new Array(
	"Any Location,Any",
	"..................................,Any");
	
//	Any Location
	var oall = new Array(
	"Any Overseas Location,Any",
	"..................................,Any");
	
//	Any Location
	var aos = new Array(
	"Any Scottish Location,Any",
	"..................................,Any");

