﻿var ROOT_PATH = '/';
var winowin = 0;
var images = false;

LED = new Class({
	initialize: function() {
		this.led = $('led');
		if (!this.led.firstChild) {
			this.led = new Element('div');
			this.led.setAttribute('id', 'led');
			this.led.innerHTML = 'processing';
			$$('body')[0].appendChild(this.led);
		}
	},
	
	on: function() {
		this.led.style.display = 'block';		
	},
	
	off: function() {
		this.led.style.display = 'none';		
	}	
});

var led;

var init = function() {

	led = new LED();

	var loginButton = $('loginbutton');
	var loginBack = $('loginback');	
	var logoutButton = $('logoutbutton');
	
	if (loginBack) {
		makeLoginForm();
	}
	
	if (loginButton) {
		loginButton.addEvent('click', makeLoginForm);
		$('registerbutton').addEvent('click', makeRegisterForm);
	} else if (logoutButton) {
		logoutButton.addEvent('click', logout);
	}

	if (images) {
		initImages();
	} else {
		entriesBlock = $('main_block');
		
		newEntryFormSlider = new Fx.Slide('newentryform', {duration: 500});
		
		var addEntryButton = $('newentrybutton');
		if (addEntryButton) {
			led.on();
			addEntryButton.addEvent('click', showNewEntryForm);
			activateButtons();
			led.off();
		}
	}
}

var postEscape = function(string) {
	return encodeURIComponent(string);
}

var authString = function() {
	return 'login=' + postEscape(Cookie.get('login')) + '&password=' + postEscape(Cookie.get('password'));
}

var badResult = function(check) {
	if (check.split(':', 2)[1]*1 == 0) {		
		alert(check.substring(3, check.length));
		return true;
	}
	return false;
}

var activateButtons = function(elementBlock) {

	if (!elementBlock)
		var admButtons = $$('h5');
	else {
		var admButtons = elementBlock.getElementsByTagName('h5');
	}

	for (var ka = 0; ka < admButtons.length; ka++) {
		for (var bu = 0; bu < admButtons[ka].childNodes.length; bu++) {			
			if (admButtons[ka].childNodes[bu].nodeType != 0 && $(admButtons[ka].childNodes[bu]).hasClass('edbut'))
				admButtons[ka].childNodes[bu].addEvent('click', editEntry.bind(admButtons[ka].childNodes[bu].parentNode.parentNode.parentNode.getFirst()));
			if (admButtons[ka].childNodes[bu].nodeType != 0 && $(admButtons[ka].childNodes[bu]).hasClass('repbut'))
				admButtons[ka].childNodes[bu].addEvent('click', replyTo.bind(admButtons[ka].childNodes[bu].parentNode.parentNode.parentNode.getFirst()));
			if (admButtons[ka].childNodes[bu].nodeType != 0 && $(admButtons[ka].childNodes[bu]).hasClass('delbut'))
				admButtons[ka].childNodes[bu].addEvent('click', deleteEntry.bind(admButtons[ka].childNodes[bu].parentNode.parentNode.parentNode.getFirst()));
		}
	}

}

var makeLoginForm = function() {
	$('loginback').style.display = 'block';
	$('login').focus();
	//$('columnasium').setOpacity(.3);

	$('cancelloginform').addEvent('click', function(){
		$('loginback').style.display = 'none';
		//$('columnasium').setOpacity(1);
	});
}

var requestNewUserRegistration = function() {
	$('registermessage').innerHTML = '';
	var nulogin = $('newlogin').value;
	if (!nulogin) {
		$('registermessage').innerHTML = 'Mon, pick a login already.';
		return;
	}
	if (nulogin.match(/([^a-zA-Z0-9_])/g)) {
		$('registermessage').innerHTML = 'Only a-z, A-Z, 0-9 and "_" for login.';
		return;
	}
	if (!$('newpassword').value) {
		$('registermessage').innerHTML = 'At least put something like "1" in the password field.';
		return;
	}
	if (!$('newemail').value) {
		$('registermessage').innerHTML = 'C`mon, man, enter email.';
		return;
	}
	if (!$('newemail').value.match(/[a-zA-Z0-9_\-.]@[a-zA-Z0-9_\-.]/g)) {
		$('registermessage').innerHTML = 'C`mon, man, enter <i>correct</i> email.';
		return;
	}
	/*var itsAjax = new ajax('processor.php', {method:'post', postBody: 'action=newuser&newlogin=' + escapeForUpload(nulogin) + '&newpassword=' + escapeForUpload($('newpassword').value) + '&newemail=' + escapeForUpload($('newemail').value), onComplete:this.handleNewUserRegistration});
	itsAjax.request();*/
}

var	makeRegisterForm = function() {
	$('registerback').style.display = 'block';
	$('newlogin').focus();
	//$('columnasium').setOpacity(.3);

	$('cancelregisterform').addEvent('click', function(){
		$('registerback').style.display = 'none';
		$('columnasium').setOpacity(1);
	});
}

var setCookies = function() {
	Cookie.set('login', $('login').value, {duration: 365, path: ROOT_PATH});
	Cookie.set('password', $('password').value, {duration: 365, path: ROOT_PATH});
	window.location.href = unescape(window.location.pathname.substring(0, window.location.pathname.indexOf('admin')));
}

var logout = function() {	
	Cookie.remove('login');	
	Cookie.remove('password');
	window.location.href = unescape(window.location.pathname);
}
