/*
 * General javascript functions
 */

function ajaxRequest(url, onSuccess, pars, method)
{
	var elmId = onSuccess;
	
	if (elmId && $(elmId).id)
		onSuccess = function(resp)
		{
			if (resp.responseText)
			{
				$(elmId).innerHTML = resp.responseText;
				$(elmId).innerHTML.evalScripts();
			}
		};
	
	if (!pars)
		pars = '';

	if (!method)
		method = 'POST';
	
	new Ajax.Request
	(
		url,
		{
			method: method,
			parameters: pars,
			onSuccess: onSuccess
		}
	);
}

function ajaxCall(subsection, action, parameters, respFunction, confirmText)
{
	
	var func = function(resp)
	{
		if(resp.responseText)
		{
			var error = resp.responseText.evalJSON();
			
			if(error && error.error)
			{
				setStatusMessage(error.message, "error");
			}
			else
			{
				eval(respFunction);
			}
		}
	}
		
	if (!confirmText || confirm(confirmText))
	{
		var get = "?";
		var post = "";
		
		if(subsection != null)
		{
			get += "subsection="+subsection;
		}
		if(action != null)
		{
			get += (get == "?" ? '' : "&") + "action="+action;
		}
		
		for(var name in parameters) 
		{
			post += (post == "" ? "" : "&") + name + "=" + parameters[name]; 
		}

		ajaxRequest(get, func, post, "post");
	}
}

function mail(code)
{
	var decoded = "";

	splitString = code.split(".");
	for (var i = 0; i < splitString.length; i++)
	{
		decoded += String.fromCharCode(splitString[i]-10);	
	}

	window.location.href = "mailto:" + decoded;
}

function readMore(anchor, elmId)
{
	if (!$(elmId).visible())
	{
		Effect.SlideDown(elmId);
		anchor.hide();
	}
}

/*
 * Swap images
 */

var currentSwapImageElm = false;
var swapImageTimer = false;

function moveToSwapImage(imageId)
{
	var interval = 12000;
	
	Effect.Queues.get('swapImages').each(function(e) { e.cancel() });
	clearTimeout(swapImageTimer);
	hideSwapImageElm(currentSwapImageElm);
	showSwapImageElm($('swap_image_'+imageId));
	
	swapImageTimer = setTimeout(function () { swapImageChanger(); }, interval);
}

function setSwapImageSelector(elm, state)
{
	var elmId = elm.identify();
	var imageId = elmId.substr(elmId.lastIndexOf('_')+1, elmId.length-1);
	
	if (state)
		$('swap_image_selector_'+imageId).addClassName('active');
	else
		$('swap_image_selector_'+imageId).removeClassName('active');
}

function showSwapImageElm(elm)
{
	var duration = 1.5;
	
	if (elm)
	{
		new Effect.Appear(elm, { duration: duration, queue: { position: 'end', scope: 'swapImages', limit: 2} });
		currentSwapImageElm = elm;
		setSwapImageSelector(elm, true);
	}
}

function hideSwapImageElm(elm)
{
	var duration = 1.5;

	if (elm)
	{
		new Effect.Fade(elm, { duration: duration, queue: {position: 'end', scope: 'swapImages', limit: 2} });
		setSwapImageSelector(elm, false);
	}
}

function getNextSwapImageElm()
{
	var elms = $$('div.swapImage');
	var next = false;
	var first = false;
	var result = false;
	var counter = 1;
	
	elms.each(function(elm, index)
	{
		if (!currentSwapImageElm || next)
		{
			result = elm;
			throw $break;
		}
		
		if (!first)
			first = elm;
		
		if (elm == currentSwapImageElm)
			next = true;
		
		if (next && elms.length == counter)
		{
			result = first;
			throw $break;
		}
		
		counter++;
	} );
	
	return result;
}

function swapImageChanger()
{
	var interval = 12000;
	
	hideSwapImageElm(currentSwapImageElm);
	showSwapImageElm(getNextSwapImageElm());
	
	swapImageTimer = setTimeout(function () { swapImageChanger(); }, interval);
}



/* sIFR */
var Duepuntozero= { src: "/includes/js/sifr/fonts/Duepuntozero.swf" }; 

sIFR.useStyleCheck = true; 

sIFR.activate(Duepuntozero); 

sIFR.replace(Duepuntozero, {
	selector: '#menu ul li.active' 
	,css: {	'.sIFR-root' : { 'color': '#009245' }
		,'a': { 'color': '#005A8C', 'text-decoration': 'none' }
		,'a:hover': { 'color': '#005A8C', 'text-decoration': 'none' }
	} 
	,wmode: 'transparent' 
	,fixWrap: true 
	,fitExactly: true 
	,forceWidth: true 
	,tuneHeight: -8
}); 

sIFR.replace(Duepuntozero, {
	selector: '#menu ul li' 
	,css: {	'.sIFR-root' : { 'color': '#009245' }
		,'a': { 'color': '#009245', 'text-decoration': 'none' }
		,'a:hover': { 'color': '#005A8C', 'text-decoration': 'none' }
	} 
	,wmode: 'transparent' 
	,fixWrap: true 
	,fitExactly: true 
	,forceWidth: true 
	,tuneHeight: -8
}); 

sIFR.replace(Duepuntozero, {
	selector: 'h2' 
	,css: {'.sIFR-root' : { 'color': '#009245' }, 'em': { 'font-style': 'normal' }} 
	,wmode: 'transparent' 
	,fixWrap: true 
	,fitExactly: true 
	,forceWidth: true 
	,tuneHeight: -8

}); 

sIFR.replace(Duepuntozero, {
	selector: 'h1' 
	,css: {	'.sIFR-root' : { 'color': '#009245' }
		,'em' : { 'font-style': 'normal' }
		,'a' : { 'color': '#009245' }
	} 
	,wmode: 'transparent' 
	,fixWrap: true 
	,fitExactly: true 
	,forceWidth: true 
	,tuneHeight: -8
}); 


