

window.addEvent('domready', function(){
	
	/* BEGIN AJAX */
	var AjaxLogin = new CJAjax(CJPath + 'login/ajax/',
	{
		OnComplete: function(Output){		
			try{

				if(Output == 'ERROR'){
					throw new Exception();
				}
				
				var xml = toXML(Output);
				
				xml = xml.documentElement;
				if(xml.childNodes[0].firstChild.nodeValue!=1){
					LoginFormSlider.stop();
					LoginFormSlider.slideIn();
					LoginLoadingSlider.stop();
					LoginLoadingSlider.slideOut();
					LoginLoadingSlider.hide();
					LoginLoadingSlider.element.style.display='none';
					SetStyle($('CJLogin_Email'), false);
					SetStyle($('CJLogin_Password'), false);					
				}else{
					//alert('Login erfolgreich');
					//alert(xml.childNodes[1].firstChild.nodeValue);
					location.reload();
					LoginLoadingSlider.stop();
					LoginLoadingSlider.slideOut();
					LoginMenuSlider.slideIn();
				}
			}
			catch(e){
				alert(e.message);
				alert('Ooops! Unser Fehler... Wenn das nochmal vorkommt wär ne E-Mail von Dir toll ;)... Danke!');
			}

		}
	});
	
	AjaxLogin.AddParameter('call', 'login');
	AjaxLogin.AddParameter('session', 'true');
	AjaxLogin.AddParameter('password', '');
	AjaxLogin.AddParameter('email', '');

	
	/* END AJAX */
	
	/* FUNKTIONEN */

	function SetStyle(Element, valid){
		if(valid){
			Element.style.background='none';
			Element.style.color='#CAAD35';
		}else{
			Element.style.backgroundColor='#F89E00';
			Element.style.color='#FFF';
		}
	}
	
	function ValidateLoginCForm(){
		var valid = vLogin.Validate(true, true);
		if(valid){
			LoginFormSlider.stop();
			LoginFormSlider.slideOut();
			LoginLoadingSlider.stop();
			LoginLoadingSlider.slideIn();
			
			// Ajax
			AjaxLogin.EditParameter('email', $('CJLogin_Email').value);
			AjaxLogin.EditParameter('password', MD5($('CJLogin_Password').value));
			
			AjaxLogin.CallFull();
		}
	}
	
	/* END */
	
	/* VALIDATION */
	var vLogin = new CJValidator();					// Ohne Validbox
	
	// einen Length Validator erstellen
	var vLoginC1 = new CJValidationCode(
		'CJLogin_Email', 
		'Email', 
		{
			OnCheck: null, 
			OnValid: function(Element){
				SetStyle(Element, true);
			}, 
			OnInvalid: function(Element){
				SetStyle(Element, false);
			}
		}
	);

	// bind
	vLogin.BindValidator(			
		vLoginC1, 
		'CJLogin_Email', 
		'keyup', 
		null
	);

	vLogin.BindValidator(
		new CJValidationCode(
			'CJLogin_Password',
			'Length',
			{
				OnValid: function(Element){
					SetStyle(Element, true);
				},
				OnInvalid: function(Element){
					SetStyle(Element, false)
				}
			},
			{
				Min: 6,
				Max: 250
			}
		),
		'CJLogin_Password',
		'keyup',
		null
	);
	
	/* END */

	/* SLIDER */
	
	var LoginFormSlider = new Fx.Slide('LC_Form');
	var LoginLoadingSlider = new Fx.Slide('LC_Loading').hide();
	var LoginMenuSlider = new Fx.Slide('LC_Menu').hide();
	
	LoginMenuSlider.element.style.display='block';
	LoginLoadingSlider.element.style.display='block';
	
	/* END */
	
	/* EVENTS CLICK */

	// click
	$('CJLogin_Submit').addEvent('click', function(){
		//alert('ie');
		ValidateLoginCForm();
	});
	
	
	/* END */
	
	/* KEYPRESS EVENTS */
	
	var CJLogin_Email = $('CJLogin_Email');
	var CJLogin_Password = $('CJLogin_Password');
	
	CJLogin_Email.addEvent('keypress', function(code){
		var c = kc(code);
		if(c==13){
			ValidateLoginCForm();
		}
	});
	CJLogin_Password.addEvent('keypress', function(code){
		var c = kc(code);
		if(c==13){
			ValidateLoginCForm();
		}
	});
	
	/* END */

	
		
});