window.addEvent('load', function (e)
{	
	var base = $('base').get('text');
	// options
	var zIndex = 6555;
	
	var host = $('host').get('text');
	var zaloguj = $('zaloguj');
	var zaloguj_main_page = $('login_button');
	
	var box_height = 320;
	var box_width = 460;
	
	var Overlay = new Element('div', {
		'id': 'BoxOverlay',
		'styles': {
			'display': 'block',
			'z-index': zIndex,
			'position': 'absolute',
			'top': '0',
			'left': '0',
			'background-color': '#000',
			'opacity': 0.5,
			'height': window.getScrollHeight() + 'px',
			'width': window.getScrollWidth() + 'px'
		}
	});
	
	var box = new Element('div', {
		'id': 'login_box',
		'styles': {
			'display': 'block',
			'overflow': 'auto',
			//'z-index': this.options.zIndex + 2,
			'z-index': zIndex + 5,
			//'position': 'fixed',
			'margin-top': '100px',
			'position': 'absolute',
			'top': '0',
			'left': '0',
			'margin-top': (window.getScrollHeight()/8) + 'px',
			'margin-left': (window.getScrollWidth()/2 - box_width/2) + 'px',
			//'width': this.options.BoxStyles['width'] + 'px'
			//'height': box_height + 'px',
			border: '2px solid black',
			background: 'white'
		}
	});
	
	function isEmpty(item) {	
		if(item.get('value') == '') {
			$(item.get('id')+'_error').set('text', 'Uzupełnij brakujące dane.');
			$(item.get('id')+'_check').set('html', '<img src="' + base + '/img/err.png" alt="error" />');
			$(item.get('id')).setStyles({
				border: '1px solid red'
			});
			return true;
		}
		else {
			$(item.get('id')+'_error').set('text', '');
			$(item.get('id')+'_check').set('html', '<img src="' + base + '/img/ok.png" alt="ok" />');
			$(item.get('id')).setStyles({
				border: '1px solid #ffcd00'
			});
			return false;
		}
	}
	
	function isEmail(item)
	{
		if(echeck(item.get('value'))) {
			$(item.get('id')+'_error').set('text', '');
			$(item.get('id')+'_check').set('html', '<img src="' + base + '/img/ok.png" alt="ok" />');
			$(item.get('id')).setStyles({
				border: '1px solid #ffcd00'
			});
			return true;
		}
		else {
			$(item.get('id')+'_error').set('text', 'Wpisz poprawny adres email.');
			$(item.get('id')+'_check').set('html', '<img src="' + base + '/img/err.png" alt="error" />');
			$(item.get('id')).setStyles({
				border: '1px solid red'
			});
			return false;
		}
	}
	
	
	
	function loginAjaxCheck(item) {
		var loginAjaxx = new Request.JSON({
			method: 'get',
			url: base+'/ajax/checkLogin.php',
			onComplete: function(Response){
				if(Response.login == false) {
					$(item.get('id')+'_error').set('text', 'Nieprawidłowy login.');
					$('log_login_check').set('html', '<img src="' + base + '/img/err.png" alt="error" />');
					$(item.get('id')).setStyles({
						border: '1px solid red'
						//background: '#fff3f3'
					});
					return true;
				}
				else {
					$(item.get('id')+'_error').set('text', '');
					$('log_login_check').set('html', '<img src="' + base + '/img/ok.png" alt="ok" />');
					$(item.get('id')).setStyles({
						border: '1px solid #ffcd00'
						//background: 'white'
					});
					return false;
				}
			}
		});
		
		loginAjaxx.get({
			'login': item.get('value'),
			'dumy': $time()
		})
	}
	
	var login_submit = new Request.JSON({
		method: 'post',
		url: base+'/ajax/zaloguj/loginSubmit.php',
		onRequest: function() {
			//alert('sasas');
			// $('login_box').set('html', '<img src="' + base + '/img/loader.gif" alt="checking..." style="margin: 120px 220px 120px 220px;" />');
		},
		onComplete: function(Response) {
			if(Response.logged === true) {
				document.location.href = base + '/login/zalogujAjax/login/' + Response.login + '/password/' + Response.password;
			}
			else {
				$('log_password').set('value', '');
				$('log_password_error').set('text', 'Nieprawidłowe hasło lub nieaktywne konto.');
				$('log_password_check').set('html', '<img src="' + base + '/img/err.png" alt="error" />');
				$('log_password').setStyles({
					border: '1px solid red'
				});
			}
		}
	});
	
	var login_form = new Request.JSON({
		method: 'post',
		url: base+'/ajax/zaloguj/loginForm.php',
		onRequest: function() {
			$('login_box').set('html', '<img src="' + base + '/img/loader.gif" alt="checking..." style="margin: 120px 220px 120px 220px;" />');
		},
		onComplete: function(Response) {
			$('login_box').set('html', Response.body)
			
			// close btn
			$('close_btn').addEvent('click', function() { close(); });
			$('close_btn').addEvent('mouseenter', function() { 
				this.set('tween', {duration: 150});
				this.fade(0.6);
			}).addEvent('mouseleave', function() {
				this.fade(1); 
			})
			
			
			$('log_login').focus();
			$('log_login').addEvent('blur', function(){
				if($('log_login').get('value'))
					loginAjaxCheck($('log_login'));
			});
			
			$('log_password').addEvent('blur', function(){
				if($('log_password').get('value'))
					isEmpty($('log_password'));
			});
			
			
			$('submit_login').addEvent('mouseenter', function() { 
				this.set('tween', {duration: 150});
				this.fade(0.6);
			}).addEvent('mouseleave', function() {
				this.fade(1); 
			})
			
			$('submit_login').addEvent('click', function() {
				err = false;
					
				isEmpty($('log_password'));
				
				
				if(!isEmpty($('log_login'))) {
					if(loginAjaxCheck($('log_login')))
						err = true;
					else
						if(isEmpty($('log_password')))
							err = true;
				}
				else
					err = true;
				
				
				if(!err) {
					login_submit.post({
						'login': $('log_login').get('value'),
						'password': $('log_password').get('value')
					});
				}
			})
			
			$('log_login').addEvent('keydown', function(e) { if(e.key == 'enter') { $('submit_login').fireEvent('click'); } });
			$('log_password').addEvent('keydown', function(e) { if(e.key == 'enter') { $('submit_login').fireEvent('click'); } });
		
			$('remind_pass').addEvent('click', function() {
					password_remind_form.post();
			})
		}
	});
	
	var password_remind_form = new Request.JSON({
		method: 'post',
		url: base+'/ajax/zaloguj/remindPassForm.php',
		onRequest: function() {
			$('login_box').set('html', '<img src="' + base + '/img/loader.gif" alt="checking..." style="margin: 120px 220px 120px 220px;" />');
		},
		onComplete: function(Response) {
			$('login_box').set('html', Response.body);
			
			// close btn
			$('close_btn').addEvent('click', function() { close(); });
			$('close_btn').addEvent('mouseenter', function() { 
				this.set('tween', {duration: 150});
				this.fade(0.6);
			}).addEvent('mouseleave', function() {
				this.fade(1); 
			})
			
			$('pass_email').addEvent('blur', function(){
				if($('pass_email').get('value'))
					isEmail($('pass_email'));
			});
			
			$('submit_password').addEvent('mouseenter', function() { 
				this.set('tween', {duration: 150});
				this.fade(0.6);
			}).addEvent('mouseleave', function() {
				this.fade(1); 
			})
			
			$('submit_password').addEvent('click', function() {
				if(!isEmpty($('pass_email')))
					if(isEmail($('pass_email')))
						
						password_remind_submit.post({
							'email': $('pass_email').get('value')
						});
			})
		}
	});
	
	var password_remind_submit = new Request.JSON({
		method: 'post',
		url: base+'/ajax/zaloguj/remindPassSubmit.php',
		onRequest: function() {
			$('pass_remind_info').set('html', '<img src="' + base + '/img/loader.gif" alt="wysyłanie..." style="margin-top:10px;" />');
		},
		onComplete: function(Response) {
			if(Response.sent === true) {
				$('pass_remind_info').set('html', 'Hasło zostało wysłane.<br />Sprawdź skrzynkę mailową.');
			}
			else {
				$('pass_remind_info').set('html', 'Błąd. Hasło nie zostało wysłane.<br />Sprawdź adres i spróbuj ponownie.');
			}
		}
	});
	
	zaloguj.addEvent('click', function() {
		Overlay.injectInside(document.body);
		box.injectInside(document.body);
		login_form.post();
	})
	
	if(zaloguj_main_page)
		zaloguj_main_page.addEvent('click', function() {
			Overlay.injectInside(document.body);
			box.injectInside(document.body);
			login_form.post();
		})
	
	function close() {
		Overlay.dispose();
		box.dispose();
	}
	
	function echeck(str) 
	{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
	
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){  
		   return false
		}
	
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){  
		    return false
		}
	
		 if (str.indexOf(at,(lat+1))!=-1){  
		    return false
		 }
	
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }
	
		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){ 
		    return false
		 }
		 return true					
	}
});

