jQuery.noConflict();


login = {};

login.initLogin = function () {
	jQuery('.login input').keydown(function(event){
		if(event.which==13) {
			login.submit()
		}
	});
	jQuery('.login .login_submit').click(login.submit);
	
	jQuery('.new-login').click(login.createNewLogin);
	login.registerInitFunc(login.updateMenu);
}

login.submit = 	function() {
		content = jQuery.ajax({
					dataType: 'html',
					url: loginConf.url+'&logintype=login',
					data: {	user:jQuery('#login_name').val(),
							pass:jQuery('#login_pass').val(),
							onError: loginConf.onError		},
					success: curry(login.loadIt,login.initLogout)
					})
}


login.createNewLogin = function(errors) {
	if(errors && errors.epost) {
		params = errors;
	} else {
		params = {}
	}
	jQuery.post('index.php?eID=sandvik&cmd=getLoginForm',params, function(result) {
		jQuery.prompt(result,{callback : login.sendCreateRequest, buttons: {Ok: true, Avbryt: false}});
	});

}

login.updateMenu = function() {
	jQuery.get(document.location.href, {'tx_sandvik_pi1[getMenu]': 1, 'no_cache':1},function(data){
		jQuery('.modulemenu').eq(0).replaceWith(data);
		help.init();
	});
}

login.sendCreateRequest = function(value,message) {
	if(value) {
		values = jQuery('input',message).serializeArray();
		if(values[1].value != values[2].value || values[1].value =='') {
			login.createNewLogin({epost: values[0].value});
		} else {
			values.push({'name': 'tx_sandvik_pi1[createLogin]','value': 1});
			jQuery.getJSON(document.location.href,values,function(data){
				if(data=='success') {
				jQuery.get(loginConf.url+'&logintype=login',
					{	user:values[0].value,
						pass:values[1].value},
					curry(login.loadIt,login.initLogout))

				} else {
					login.createNewLogin(data);
				}

			});
		}
	}
}

login.initLogout = function () {
	jQuery('.login button').click(function(){
		content = jQuery.get(loginConf.url+'&logintype=logout',curry(login.loadIt,login.initLogin));
		;
	});
}

login.loadIt = function (initFn,content) {
	if(jQuery(content).is('.login')) {
		jQuery('.login').html(jQuery(content).find('div').not('.login'));
		initFn.call();
		login.callExternalInitFuncs();
	} else {
		eval('json='+content);
		document.location = json.redirect;
	}
}

login.initFuncs = new Array();

login.registerInitFunc = function(func) {
	if(jQuery.isFunction(func)) {
		login.initFuncs.push(func);
	}
}

login.callExternalInitFuncs = function() {
	jQuery.each(login.initFuncs,function(){
		this.call();
	});
}

jQuery(function(){
	login.initLogin();
	login.initLogout();
});


