var strMainPath = '/classes/Ajax.class.php?act=';
var intOffset = 0;
var effect = null;


document.observe('dom:loaded', function() {
	
	$('links').select('.selected').each(function(element) {
		intOffset = getTriangleOffset(element);
		$('triangle').setStyle({left: intOffset + 'px'});
	});
	
	$('links').childElements().each(function(element) {
		element.observe('mouseover', moveTriangle).observe('mouseout', resetTriangle);
	});
	
});


function moveTriangle() {
	if (!(this.id == 'triangle' || this.hasClassName('selected'))) {
		if (effect) effect.cancel();
		effect = new Effect.Move('triangle', {x: getTriangleOffset(this), y:-12, mode: 'absolute', duration:0.3, queue: 'front'});
	}
}


function resetTriangle() {
	if (!(this.id == 'triangle' || this.hasClassName('selected'))) {
		if (effect) effect.cancel();
		effect = new Effect.Move('triangle', {x: intOffset, y:-12, mode: 'absolute', duration:0.3, queue: 'front'});
	}
}


function getTriangleOffset(objElement) {
	var intOut = 0;
	var objDimensions = objElement.getDimensions();
	var intSiblings = 0;
	
	intOut = ((objDimensions.width - 20) / 2);
	objElement.previousSiblings().each(function(sibling) {
		if (sibling.id != 'triangle') {
			intSiblings += 1;
			objDimensions = sibling.getDimensions();
			intOut += objDimensions.width;
		}
	});
	intOut += (intSiblings * 40);
	
	return intOut;
}


function login() {
	new Dialog.Login({
		onLogin: function() {
			var objContainer = $('user');
			new Ajax.Request(strMainPath + 'login', {
				method: 'post', 
				evalScripts: true, 
				parameters: {
					username: this.getUsername(), 
					password: this.getPassword()
				}, 
				onCreate: function() {
					//addLoadingDiv(objContainer, 'Logging in...');
				}, 
				onSuccess: function(transport) {
					//closeLoadingDiv(objContainer);
					var objResponse = transport.responseJSON;
					if (objResponse.success) {
						objContainer.update(objResponse.content)
					}
				}, 
				onFailure: function() {
					//closeLoadingDiv(objContainer);
				}
			});
		}
	});
}


function logout() {
	var objContainer = $('user');
	new Ajax.Request(strMainPath + 'logout', {
		method: 'post', 
		onCreate: function() {
			//addLoadingDiv(objContainer, 'Logging out...');
		}, 
		onSuccess: function(transport) {
			//closeLoadingDiv(objContainer);
			var objResponse = transport.responseJSON;
			if (objResponse.success) {
				objContainer.update(objResponse.content)
			}
		}, 
		onFailure: function() {
			//closeLoadingDiv(objContainer);
		}
	});
}
