
var BR_MOZILLA = 0;
var BR_IE = 1;

var MS = {
	browser : null,
	source : 'MS',
	user: null,
	
	init : function(){
		if (typeof initsource != 'undefined') MS.source= initsource;
	},
	
	setStatus : function(status){
		
	},
	
	logonWin : null,
	
	loginOrSignup : function(mode){
		
		if (mode == null) gets = 'signup';
		
		//Viewer.show('Login or sign up','/interface/view/login-signup.php');
		if (MS.logonWin == null)
			MS.logonWin = new JsWin('Join or signin.', 500,-1,312,100);
		
		MS.logonWin.onclose = function(){this.hide(); }
		
		httpgetter_doget('/interface/view/login-signup.php?type='+mode,MS.logonLoadFinished);
		return false;
	},
	
	logonLoadFinished : function(html){
		MS.setStatus('',false);
		MS.logonWin.content.innerHTML = html;
		MS.logonWin.show();
	},
	
	login : function(){
		var url = "/interface/user/login.php?mssource="+MS.source;
		var username = $('login_uname').value;
		var password = $('login_pass').value;
		var json = 
		{
			"username": username, "password": password
		};
		
		MS.setStatus("Loading...", true);
		httpgetter_dopost(url,JSON.stringify(json), MS.loginCallback);
	}, 
	
	loginCallback : function(json){
		
		var response = eval('(' + json + ')');
		MS.setStatus("", false);
		
		if (response['result'] == 'fail'){
			var errorblock = $('login_error');
			errorblock.innerHTML = response['message'];
			errorblock.style.display = 'block';
		} else {			
			MS.doLogin(response['user_id'],response['username'], response['mycon_url']);
			MS.logonWin.hide();
		}
	},
	
	doLogin : function(user_id, uname, mycon_url){
		window.location.reload(true);
	},
	
	signup : function(){
		var url = "/interface/user/signup.php?mssource="+MS.source;
		var username 		= $('signup_uname').value;
		var password 		= $('signup_pass').value;
		var email_address 		= $('signup_email').value;
		var password_c 		= $('signup_pass_c').value;
		var profile_country 	= $('profile_country').value;
		var json = 
		{
			"username": username, "password": password, "password_c": password_c,  "email_address" : email_address, "profile_country" : profile_country
		};
		
		MS.setStatus("Loading...", true);
		httpgetter_dopost(url,JSON.stringify(json), MS.signupCallback);
	},
	
	signupCallback : function(json){
		var response = eval('(' + json + ')');
		MS.setStatus("", false);

		if (response['result'] == 'fail'){
			var errorblock = $('signup_error');
			errorblock.innerHTML = response['message'];
			
			$('error_signup_uname').innerHTML = response['errors']['username'];
			$('error_signup_email').innerHTML = response['errors']['email_address'];
			$('error_signup_password').innerHTML = response['errors']['password'];
			errorblock.style.display = 'block';
		} else {
			//TODO: A nicer welcome screen
			alert("Welcome: "+response['username']);
			MS.logonWin.hide();
			
			MS.doLogin(response['user_id'],response['username'], response['mycon_url']);
		}
	}
}

var UI = {
	showFade : function(){
		var height = document.body.offsetHeight;
		$('fade').style.display='block';
		$('fade').style.height=height+'px';
		$('fade').style.display = '';
	},
	
	hideFade : function(){
		$('fade').style.display = 'none';
	}
}

//Check browser type...
if(navigator.appName == "Microsoft Internet Explorer"){
	MS.browser = BR_IE;
}