var fx_img = Array();
var searchQueue;
var ajax_request;
var old_args;
var z_index = 493;
var searched = false;
var search_original_content;
var show_item_time = 5000;
var transition_length = 1000;
var arr_itemlist;

window.addEvent('domready', function()
{
    if ($("slideshow_item_0") != null)
    {
	args = "m=slideshow&a=getsettings";
	ajax_request = new Request(
	    {
		method: 'get',
		url: '/ajaxRequest.php',
		data: args,
		onSuccess: function(txt)
		{
		    blocks = txt.split(";");
		    transition_length = blocks[0]*1000;
		    show_item_time = blocks[1]*1000;

		    initializeSlideshow();
		}
	    }
	);
        ajax_request.send();
    }

    if ($("search_input") != null)
    {
	$("search_input").addEvent("keyup",function(){ searchGallery(); } );
	$("search_input").addEvent("focus",function(){ if ($("search_input").value == "Search") $("search_input").value = ""; } );
	searchQueue = new Request.Queue({ concurrent: 1, autoAdvance: true });
    }

});

function initializeSlideshow()
{
    arr_itemlist = $$("#home_slideshow div.slideshow_item");
    var i = 0;
    var next_elmnt;

    arr_itemlist.each(
	function(elmnt)
	{
	    next_elmnt = i+1;
	    if (next_elmnt == arr_itemlist.length) next_elmnt = 0;

	    fx_img[i] = new Fx.Tween(
			    elmnt,
			    {
				duration: transition_length,
				onComplete: function()
				{
				    this.set("z-index", --z_index);
				    fx_img[""+next_elmnt+""].set("opacity", 1);
				}
			    }
			);
	    i++;
	}
    );
    setTimeout("start_slideshow(0)", show_item_time);
}

function start_slideshow(item)
{
    if ($("slideshow_item_0") != null)
    {
	arr_itemlist.each(function(elmnt) { if (elmnt != $("slideshow_item_0")) elmnt.removeClass("hide"); })

	if (item+1 == arr_itemlist.length) newitem = 0;
	else newitem = item + 1;

	fx_img[newitem].set("opacity", 1);
	fx_img[item].start('opacity', '0');
	setTimeout("start_slideshow("+newitem+")", show_item_time);
    }
}

function searchGallery()
{
    if (searched == false) search_original_content = $("gallery_result").innerHTML;
    if (searched == false) searched = true;
    
    title = $("search_input").value;
    if (title != "")
    {	
	args = "m=gallery&a=searchgallery&title="+title+"&gallery_id="+$("search_gallery_id").value;
	
	if (args != old_args)
	{
	    old_args = args;

	    ajax_request = null;
	    ajax_request = new Request(
		{
		    method: 'get',
		    url: '/ajaxRequest.php',
		    data: args,
		    link: 'chain',
		    onSuccess: function(txt) {
			$("gallery_result").innerHTML = txt;
		    }
		}
	    );
	    searchQueue.addRequest("s_"+title, ajax_request);
	    ajax_request.send();
	}
    }
    else
    {
	$("gallery_result").innerHTML = search_original_content;
    }
}

function emailCheck(email)
{
   reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.]{2,63})+\.([A-Za-z]{2,4})$/;
   if (reg.test(email) == false)
   {
      alert("You have to enter a valid e-mail address.");
      return false;
   }
   else return true;
}
