CHAMILIA.namespace('CHAMILIA.ui.login');

$(document).ready(function(){ CHAMILIA.ui.login.init(locale); });

CHAMILIA.ui.login = {
	
	
	_checkSession: '/users/checksession/',
	_loginUrl: '/users/login/',
	_savePrompt: '/users/saveprompt/',
	_locale: '',
	_saveStatus: '',
	_savedDesignId: '',
	
	SELECTORS: {
		registerBtn: '#btn-register',
		loginBtn: '#link-login',
		signInContainer: '#signin-greeting'
	},
	
	init: function(locale) {
		CHAMILIA.ui.login._locale = locale;
		CHAMILIA.ui.login.attachListeners();
	},
	
	attachListeners: function() {
		$(window).bind('updateModal', CHAMILIA.ui.login.updateLoginStatus);
		$(window).bind('showModal', CHAMILIA.ui.login.attachXhrListeners);
	},
	
	attachXhrListeners: function() {
		$(CHAMILIA.ui.login.SELECTORS.registerBtn).click(CHAMILIA.ui.modal.handleUpdateClick);
		$(CHAMILIA.ui.login.SELECTORS.loginBtn).click(CHAMILIA.ui.modal.handleUpdateClick);
	},
	
	getFlashMovie: function(movieName) {
		var isIE = navigator.appName.indexOf("Microsoft") != -1;
		return (isIE) ? window[movieName] : document[movieName];
	},
	
	updateLoginStatus: function() {
		$.ajax({
		  url: '/' + CHAMILIA.ui.login._locale + CHAMILIA.ui.login._checkSession + '?xhr=1',
		  cache: false,
		  success: function(data) {
						var loginStatus=-1;
						if(data != '') {
							$(CHAMILIA.ui.login.SELECTORS.signInContainer).empty();
							$(CHAMILIA.ui.login.SELECTORS.signInContainer).append(data);
							userId = $('#signin-greeting #user-status').attr('rel');
							
							if(CHAMILIA.ui.login._saveStatus == 'saved') {
								$(CHAMILIA.ui.summarytabs.SELECTORS.loginBlock).unbind('click',CHAMILIA.ui.summarytabs.promptLogin);
							} else {
								if(CHAMILIA.ui.summarytabs) { $('#global-nav a').click(CHAMILIA.ui.summarytabs.promptLogin); }
								if(CHAMILIA.ui.tabs) { $('#global-nav a').click(CHAMILIA.ui.tabs.promptLogin); }
							}
							
							loginStatus = userId;
						}
						
						if(CHAMILIA.ui.tabs) {
							CHAMILIA.ui.login.getFlashMovie(CHAMILIA.ui.tabs.IDS.flashMovie).loginStatusUpdate(loginStatus);
						}
					}
		});
		
		return true;
	}
	
}