function change(script,para,element)
{
	new Ajax.Updater(element,script, {
	  method: 'post',
	  parameters: para,
	  evalScripts: true,
	  onCreate: function() {
		  $(element).innerHTML = '<img src="images/loader.gif">'
	  }
	});

}

function outside(event)
{
        if( outsideOf == null )
        {
                $(document.body).descendants().invoke('stopObserving','click',outside);
                return;
        }
        element = Event.element(event);
        if( element.descendantOf( $(outsideOf) ) !== true && $(element).id !== outsideOf)
        {
		$(outsideOf).hide();
                outsideOf = null;
                $(document.body).descendants().invoke('stopObserving','click',outside);
        }

} 
function closeDiv(event) {
	$(outsideOf).hide();
	$('closeElement').hide();
}

function search_options(pos, event) {
	var id = 'search_options_div';
	var classId = 'search_options';
	if (document.getElementById(id)) {
		$('closeElement').show();
		$('closeElement').observe('click',closeDiv);
		$(id).show();
	} else {
		$(document.body).insert({ top: Element('div', { 'id': 'closeElement', 'class': 'allPage'}) });
		outsideOf = id;
		$('closeElement').observe('click',closeDiv);
		$(pos).insert({ bottom: Element('div', { 'id': id, 'class': classId}) });
		change('scripts/search.php','option=options',$(id).identify());
	}
}
function add_options(e) {
	if (document.getElementById(e)) {
		return $(e).serialize();
	}
}

function register_loader() {

	Ajax.Responders.register({
	  onCreate: function() {
		  onCreate: addLoader()
	  },
	  onComplete: function() {
		  onCreate: removeLoader()
	  }
	});

}

function changeForm(script,form,para,element) {

	new Ajax.Updater(element,script, {
	  method: 'post',
	  parameters: Form.serialize($(form)) + para,
	  evalScripts: true
	});

}
