function setInfomessage(text, classname, duration, working) {
    $('infomessage_holder').className = classname;
    $('infomessage').innerHTML = text;

    if ( true == working ) {
        $('infomessage').innerHTML += '<img src="/images/ajax-loader.gif">';
    }

    new Effect.Appear('infomessage_holder', {
        duration: 0.2,
        afterFinish: function() {
            if (duration>0) {
                setTimeout("new Effect.Fade('infomessage_holder')", duration*1000);
            }
        }
    });
}

function showtab(tab_name) {
    $$('div.tab_content').each(function(item) {
        item.hide();
    });
    $(tab_name+'_holder').show();

    $$('li.tab').each(function(item) {
        item.removeClassName('selectedtab');
    });
    $(tab_name+'_tab').addClassName('selectedtab');
}

var obj = { name: '' };

function handlerin(ev) {
	el = Event.element(ev);

	Left = Event.pointerX(ev)-60;
	if (Left<5) {
	    Left = 5;
	}
	Top = Event.pointerY(ev)-120;
	if (Top<5) {
	    Top = 5;
	}

	$('logo').src = el.title;
	$('logo_holder').style.left = Left + 'px';
	$('logo_holder').style.top = Top + 'px';
	$('logo_holder').style.display = 'block';
	this.name =  el.title;
	el.title =  '';
}

function searchpage(pagenr) {
    $('searchpage').value = pagenr;
    $('site-search-box').submit();
}

function handlerout(ev) {
	$('logo_holder').style.display = 'none';
	el = Event.element(ev);
	if (this.name) {
    	el.title = this.name;
    	this.name = '';
	}
}

showinglayer = false;

function showLayer(url, params) {

    if (!params) {
        params = '';
    }

    // show layer
    $('layer').setOpacity(0.5).show();

    // start layer content retrieval
    new Ajax.Updater('layer_content',url,{
        evalScripts: true,
        parameters: params,
        onComplete: function(transport) {
            if ( document.showinglayer == true ) {
                showLayerContent('layer_content_holder');
            } else {
                hideLayer();
            }
        }
    });

    // show layer_content_loading
    showLayerContent('layer_loading_holder');
}

function showLayerContent(elem) {
    document.showinglayer = true;

    viewportsize = document.viewport.getDimensions();
    size = $(elem).getDimensions();
    $(elem).style.top = (viewportsize.height/2 - (size.height/2)) + 'px';
    $(elem).style.left = (viewportsize.width/2 - (size.width/2)) + 'px';
    myEffect = new Effect.Appear(elem, {
        duration: 0.5,
        beforeUpdate: function() {
            if ( document.showinglayer == false ) {
                myEffect.cancel();
                hideLayer();
            }
        }
    });
}

function hideLayer() {
    document.showinglayer = false;
    $('layer_loading_holder').hide();
    $('layer_content_holder').hide();
    $('layer_content').innerHTML = '';

    new Effect.Fade('layer', { duration: 0.5 });
}

function submitLayer(name) {
    // lock the form submit button
    $(name).submit.disabled = true;

    makeLayer(name);
}

function makeLayer(name, params) {
    if (!params) {
        params = '';
    }

    switch (name) {
        case 'question':
            url = '/forms/question';
            break;
        case 'answer':
            url = '/forms/answer';
            break;
        case 'uncatanswer':
            url = '/forms/uncatanswer';
            break;
        case 'adminanswer':
            url = '/forms/adminanswer';
            break;
        case 'tip':
            url = '/forms/tip';
            break;
        case 'review':
            url = '/forms/review';
            break;
        case 'addquestion':
            url = '/forms/addquestion';
            break;
        default:
            return false;
            break;
    }

    if ( $(name) != null ) {
        params = $(name).serialize();
    }

    showLayer(url,params);
}

function refresh(type,id,insert_id) {
    new Ajax.Updater(type + '_holder','/model/' + type + '.ajax/id/' + id, {
        onComplete: function(transport) {
            new Effect.Highlight($(type + '_' + insert_id));
        }
    } );
}