if ($doc_root === undefined)
{
	var $doc_root = "";
}
function makePassword(input)
{
	try {
		// Sane Browsers:
		if (input.type != 'password')
		{
			input.type = 'password';
			input.value = '';
		}
		input.focus();
		input.onkeypress = null;
		input.onkeydown = null;
	} catch (e) {
		// IE Specific Stuff:
		var text = input.outerHTML;
		text = text.replace(/value=[^\s]*/, '').replace(/onkeypress=[^\s]*/,'').replace(/onkeydown=[^\s]*/,'').replace(/onclick=[^\s]*/,'').replace(/onfocus[^\s]*/, 'type="password"');
		var a = document.createElement(text);
		input.replaceNode(a);
		setTimeout("document.getElementById('"+a.id+"').focus();", 10);
	}
}
function urlencode(string)
{
	string = escape(string).replace('+', '%2B').replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');
	return string;
}
function htmlentities(string)
{
	var helper = document.createElement("div");
	helper.appendChild(document.createTextNode(string));
	return helper.innerHTML.replace(/'/g,"&#39;").replace(/"/g,'&quot;');
}
function html_entity_decode(string)
{
	var helper = document.createElement("textarea");
	helper.innerHTML = string;
	return helper.value;
}

function login(username, password, redirect)
{
	var redirect_val;
	if (redirect)
	{
		redirect_val = "&redirect="+urlencode(redirect);
	}
	else if (location.pathname == $doc_root+'/')
	{
		redirect_val = "&redirect=";
	}
	else
	{
		redirect_val = "";
	}
	if (username.value)
	{
		username=username.value;
	}
	if (password.value)
	{
		password=password.value;
	}
	var ls = document.createElement('script');
	ls.type = "text/javascript";
	var s = "";
	if (location.host.indexOf('.') != -1)
	{
		s = "http://myjobspace.co.nz";
		//s = "https:\/\/www.myjobspace.co.nz";
	}
	var session_name = "PHPSESSID";
	if (document.cookie)
	{
		session = document.cookie.match(session_name+"=[^;&]*");
	} else {
		session = urlencode(session_name)+'='+urlencode(document.getElementsByName(session_name)[0].value);
	}

	s += $doc_root+'/javascript/login.js.php?user='+urlencode(username)+'&pass='+urlencode(password)+'&time='+(new Date().getTime())+redirect_val+'&'+session;
	ls.src = s;
	document.body.appendChild(ls);
	return s;
}
function do_login(form)
{
	var passbox;
	for(var i=0; i<form.elements.length; i++)
	{
		if (!form.elements[i])
		{
			continue;
		}
		if (!form.elements[i].id)
		{
			continue;
		}
		if (form.elements[i].id == "username")
		{
			var user = form.elements[i];
		}
		if (form.elements[i].id == "password")
		{
			var pass = form.elements[i].value;
			passbox = form.elements[i];
		}
	}
	var res = login(user, pass);
	passbox.value = "";
	return false;
}

function toggle_advanced_search()
{
	var a = document.getElementById('hidden_advanced_search_area');
	a.style.display = (a.style.display=='block'?'none':'block');
}

var current = "";
function toggle_info_panel(info_panel_content)
{
	if (current == info_panel_content)
	{
		info_panel_content = 'none';
	}

	var searchbox = document.getElementById('search_box_container');
	var divs = searchbox.childNodes;
	for (var i=1; i<divs.length; i++)
	{
		if (divs[i].className == 'info_panel')
		{
			divs[i].style.display = 'none';
		}
	}
	if (location.pathname == $doc_root+'/')
	{
		if (document.getElementById('white_back_inner'))
		{
			document.getElementById('white_back_inner').innerHTML = '';
		}
	}

	switch (info_panel_content)
	{
		case 'login':
		case 'industries':
		case 'locations':
			if (document.getElementById(info_panel_content))
			{
				document.getElementById(info_panel_content).style.display = 'block';
			}
			break;
		default:
			if (location.pathname == $doc_root+'/')
			{
				if(document.getElementById('white_back_inner'))
				{
					document.getElementById('white_back_inner').innerHTML='<div class="clear" style="height:50px;">&nbsp;<\/div>';
				}
			}
			break;
	}
	current = info_panel_content;
}

function toggle_login() {
	return toggle_info_panel('login');
}

function showApplication(id)
{
	var adv = document.getElementById('advertiser'+id);
	adv.style.display = 'none';
	var app = document.getElementById('application'+id);
	app.style.display = 'block';
	app.scrollIntoView();
}
function save_job(id)
{
	var scr = document.createElement('script');
	scr.src = $doc_root+'/pages/jobSearch/jobDetails.php?job_id='+urlencode(id)+'&addFav=1&script=1&rand='+((new Date()).getTime());
	document.body.appendChild(scr);
	var notify = document.getElementById('notify_area_'+id);
	if (!notify)
	{
		return;
	}
	notify.innerHTML = "";
	notify.style.color = "green";
	notify.innerHTML = "Saved to your favourites...";
}
function email_to_friend(id, email)
{
	var notify = document.getElementById('notify_area_'+id);
	if (email && email!="undefined")
	{
		var scr = document.createElement('script');
		scr.src = $doc_root+'/pages/email.php?ajax=1&page=/'+urlencode(id)+'&email='+urlencode(email);
		document.body.appendChild(scr);
		if (notify)
		{
			notify.innerHTML = "";
			notify.style.color = "green";
			notify.innerHTML = "This job has been sent to your friend";
		}
		return;
	}
	if (!notify)
	{
		return;
	}

	//while it's not working:
	notify.innerHTML = "This feature is not yet available";
	notify.style.color = "red";
	return;

	notify.innerHTML = "";
	notify.style.color = "black";
	notify.innerHTML = '<form action="'+$doc_root+'/pages/email.php" onsubmit="email_to_friend("'+id+'",this.elements.email.value);return false;"><input type="hidden" name="page" value="'+location.href+'" />Email: <input type="email" name="sendto_email" /><input type="submit" class="submit" value="Send" /></form>';
}
if (window.print)
{
	try {
		var style = document.styleSheets[0];
		try {
			style.insertRule('.job_tools {margin-left: -154px !important; width:306px;}', style.cssRules.length);
		} catch (e)
		{
			style.addRule(".job_tools_positioner", "\/\/padding-left:154px;");
			style.addRule(".job_tools", "margin-left: -154px !important; width: 306px;");
		}
	} catch (e)
	{
	}
}
function switch_tab(element)
{
	if (on_tab == element.id)
	{
		return false;
	}
	element.className="on";
	document.getElementById(on_tab).className="";
	on_tab = element.id;
	var new_class;
	var new_action;
	switch(element.id.split("_")[0])
	{
		default:
		case "jobsearch":
			new_class = "jobsearch_search";
			new_action = $doc_root+"/search";
			break;
		case "cvsearch":
			new_class = "cvsearch_search";
			new_action = $doc_root+"/cvsearch_search";
			break;
		case "training":
			new_class = "training_search";
			new_action = $doc_root+"/training_search";
			break;
		case "company":
			new_class = "company_search";
			new_action = $doc_root+"/company_search";
			break;
	}
	document.getElementById("search_box_form").className = new_class;
	document.getElementById("search_box_form").action = new_action;
}
function jobsearch(page, dest_id)
{
	var req = null;

	//document.ajax.dyn.value="Started...";

	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)
		{
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	 }

	req.onreadystatechange = function()
	{
		//alert('doc state:'+document.body.readyState+'\nstate change'+req.readyState);
		//document.ajax.dyn.value="Wait server...";
		if(req.readyState == 4)
		{
			if(req.status == 200 && req.responseText)
			{
				try {
					document.getElementById(dest_id).innerHTML = req.responseText;
				}
				catch(e)
				{
				}
				//document.ajax.dyn.value="Received:" + req.responseText;
			}
			else
			{
				alert(req.statusText);
				//document.ajax.dyn.value="Error: returned status code " + req.status + " " + req.statusText;
			}
		}
	};
	if (!page)
	{
		page = "";
	}
	req.open("GET", page, true);
	req.send(null);
	//this is in case it's synchronous
	//return req.responseText;
	
	//Track in google analytics
	try { pageTracker._trackPageview(page); } catch (e) {}
}
function open_res($header_id)
{
	var $res = document.getElementById("res"+$header_id);
	if (!$res)
	{
		return;
	}
	var $style = $res.style;
	var $old_style = $style.display;
	var $new_style;
	if ($old_style == 'none')
	{
		$new_style = 'block';
	}
	else
	{
		$new_style = 'none';
	}
	$style.display = $new_style;
}
function abc123()
{
	document.getElementById('white_back_inner').innerHTML='';
	//If coming from the frontpage,
	var d = document.getElementById('frontpage_container');
	if(d)
	{
		d.style.width='';
	}
	//If coming from any other page
	d = document.getElementById('page_sizing_wrapper');
	if(d)
	{
		d.style.width='';
	}
	//Remodel
	var newclass='topofpage';
	document.getElementById('search_box_container').className=newclass;
	document.getElementById('buttonbox').className=newclass;
	try {
		document.getElementById('top_of_search_box').className=newclass;
		document.getElementById('search_box_width').className=newclass;
	} catch(e){}
	//Loading screen
	document.getElementById('white_back_inner').innerHTML='<div style="text-align:center; margin:auto; height:50px;"><img src="'+$doc_root+'/images/ajax-loader.gif" alt="loading..." /><\/div>';
	//Get ads
}
function cba321()
{
	//Remodel
	var newclass='frontpage';
	document.getElementById('top_of_search_box').className=newclass;
	document.getElementById('buttonbox').className=newclass;
	document.getElementById('search_box_width').className=newclass;
	//turn off ads
	document.getElementById('right_page_area').style.display='none';
	//add footer buffer
	document.getElementById('white_back_inner').innerHTML='<div class="clear" style="height:50px;">&nbsp;<\/div>';
	//frontpage width
	document.getElementById('page_sizing_wrapper').style.width='667px';
}
function jobsearch_specific(page){
	document.getElementById('white_back_inner').innerHTML='<div style=\'text-align:center;padding-top:50px;\'><img src=\''+$doc_root+'/images/ajax-loader.gif\' alt=\'loading...\' /><\/div>';
	document.body.scrollIntoView();
	jobsearch(page, 'white_back_inner');
	var p = page.match(/page=(\d+)/);
	p = p[1];
	currently_displayed = p;
	var l = document.location.toString().match(/^([^#]*)(?:(#)(.*?)(page=\d+)+(.*))?$/);
	var new_l = l[1]+"#page="+p;
	document.location = new_l;

	return false;
}
function correct_page() {
	//test the anchor
	var p;
	p = document.location;
	p = p.toString();
	p = p.match(/[^#]*(?:#.*?page=(\d+))?/);
	p = p[1];
	//if it's different to what we're seeing
	if(p && p!=currently_displayed)
	{
		var l = document.location;
		l = l.toString();
		l = l.match(/^([^#?]*)(?:(\?)([^#]*)page=\d+([^#]*))?(#.*)?$/);
		var new_l = l[1];
		new_l = new_l + "?" + (l[3] || "") + (l[4] || "") + "&page="+p+"&ajax=1";
		//show the correct page
		jobsearch_specific(new_l);
	}
	//check that it's correct often
	setTimeout(correct_page, 1000);
}
setTimeout('new Image(32,32).src="'+$doc_root+'/images/ajax-loader.gif"', 100);
