function main_init(){
	$(document.body).html('<div id="left"><div id="menu">loading...</div></div><div id="main">loading...</div>');
	$.getJSON('/ajax/get_session_details.php',main_handler);
}
function main_handler(session){
	if(session.user){
		oj4l.user=session.user;
	}
	if(session.user)main_show_menu();
	if(session.page_to_show){
		oj4l.page_to_show=session.page_to_show;
		main_show_main(oj4l.page_to_show);
	}
	if(session.error)main_show_modal_alert(session.error);
	if(session.message)main_show_modal_alert(session.message);
}
function main_init_login_and_register(){
	$('#reminder_submit').click(function(){
		var v=$('#reminder_email').val();
		if(!v)return main_show_modal_alert('<b>no email address provided</b>');
		$.post('/ajax/reminder.php',{'email':v},main_show_modal_alert);
	});
	$('#register_submit').click(function(){
		var v=$('#register_email').val();
		if(!v)return main_show_modal_alert('<b>no email address provided</b>');
		$.post('/ajax/register.php',{'email':v},main_show_modal_alert);
	});
	$('#login_submit').click(function(){
		var email=document.getElementById('login_email'),pass=document.getElementById('login_password');
		if(!email.value || !pass.value)return main_show_modal_alert('Email and Password must both be entered.');
		$.post('/ajax/login.php',{e:email.value,p:pass.value},main_handler,"json");
	});
}
function main_logout(){
	if(!confirm('Are you sure you want to logout?'))return;
	$.getJSON('/ajax/logout.php',main_handler);
}
function main_show_modal_alert(msg){
	$('<div>'+msg+'</div>').dialog({
		'modal':true
	});
}
function main_show_main(page){
	$('#menu li').removeClass('current-page');
	$('#menu_'+page).addClass('current-page');
	if(oj4l.page_funcs[page])oj4l.page_funcs[page]();
	else $.getScript('/pages/'+page+'.js');
}
function main_show_menu(){
	var sections=[],section_funcs=[],html;
	// { user login/registration
	if(!oj4l.user.id){
		sections.push('<div class="section">'
			+'<h3>Login</h3><div><label>Email<input type="email" id="login_email" /></label><label>Password<input type="password" id="login_password" /></label><button id="login_submit">login</button></div>'
			+'<h3>Reminder</h3><div><p>Forgotten your password?</p><label>Email<input type="email" id="reminder_email" /></label><button id="reminder_submit">remind me</button></div>'
			+'<h3>Register</h3><div><p>Create a user account.</p><label>Email<input type="email" id="register_email" /></label><button id="register_submit">register</button></div>'
			+'</div>');
		section_funcs.push(main_init_login_and_register);
	}
	else{
		html='<div class="section"><h3>Logged In</h3><div><p>Logged in as ';
		if(oj4l.user.name)html+='<strong>'+main_txt2html(oj4l.user.name)+'</strong>.</p>';
		else html+='<strong>'+main_txt2html(oj4l.user.email)+'</strong>. <em>Please update your profile to enter your name.</em>.</p>';
		html+='<ul><li id="menu_profile"><a href="javascript:main_show_main(\'profile\');">Profile</a></li>'
			+'<li><a href="javascript:main_logout();">Logout</a></li></ul>'
			+'</div></div>';
		sections.push(html);
	}
	// }
	// { main links
	html='<div class="section"><h3>Site Links</h3><div><ul>';
	html+='<li id="menu_main"><a href="javascript:main_show_main(\'main\');">Home</a></li>';
	html+='<li id="menu_add_a_job"><a href="javascript:main_show_main(\'add_a_job\');">Add A Job</a></li>';
	html+='<li id="menu_search"><a href="javascript:main_show_main(\'search\');">Search</a></li>';
	html+='</ul></div>';
	sections.push(html);
	// }
	$('#menu').html(sections.join(''));
	$('#menu>.section').accordion();
	for(var i=0;i<section_funcs.length;++i){
		section_funcs[i]();
	}
}
function main_txt2html(str) {
	return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;');
}

oj4l={
	user:{
		id:0,
		x:53.33814409408338,
		y:-6.126388558186591
	},
	page_funcs:[],
	centre:[53.33814409408338,-6.126388558186591]
}

$(document).ready(main_init);
