/*
 *	This library is a copyright software;
 *
 *	@package		: Poety CMS
 *	@version		: 2.0
 *	@creation		: 2007.04.13.
 *	@update			: 2008.10.10.
 *	@link			: http://poetyltd.com
 *	@author			: Poety IT Services Ltd. [info@poetyltd.com]
 *	@license		: http://poetyltd.com/license.html
 *
 *	Copyright (C) 2007 Poety It Services Ltd.
 */

/****************************************/
/***              query               ***/
/****************************************/

function query_parser(script) {
	var queryo = {};
	$A(document.getElementsByTagName("script")).findAll( function(s) {
      pattern = new RegExp(script+'\\.js','');
	  return (s.src && s.src.match(pattern))
    }).each( function(s) {
		ta = s.src.split(script+".js");
		var path = ta[0];
		var query = ta[1].substring(1);
		//alert(query);
		li = query.split('&');
		for (i=0; i<li.length; i++) {
			it = li[i].split('=');
			queryo[unescape(it[0])] = unescape(it[1]);
		}
	});

	return queryo;
}

/****************************************/
/***             cookies              ***/
/****************************************/

function cookie_set(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function cookie_get(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function cookie_delete(name) {
	cookie_set(name,"",-1);
}

/****************************************/
/***       javascrip extension        ***/
/****************************************/

function load_script(library) {
	//document.write('<script type="text/javascript" src="'+library+'"></script>');
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = library;
	document.getElementsByTagName('head')[0].appendChild(script);  
}

function in_array(my_value,my_array) {
	//default is incasesensitive!
	caseSensitive = in_array.arguments.length<3?0:in_array.arguments[2];
	for(i=0;i<my_array.length;i++) {
		if((caseSensitive==0?my_array[i]:my_array[i].toUpperCase())==(caseSensitive==0?my_value:my_value.toUpperCase())) {
			return true;
		}
	}
	return false;
}

function popup(url,target,width,height,left,top) {
	window.open(url,target,'scrollbars=no,status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,width='+width+',height='+height+',left='+left+',top='+top+'');
}

function popup2(url,target,width,height,left,top) {
	window.open(url,target,'scrollbars=yes,status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,width='+width+',height='+height+',left='+left+',top='+top+'');
}

function popup_html(width,height,title,content) {
	ae_background	= element_append_element(document.body,'div','popup_html');
	ae_window		= element_append_element(document.body,'div','popup_window');
	ae_title		= element_append_element(ae_window,'div','popup_title');
	ae_title_span	= element_append_element(ae_title,'span');
	ae_close		= element_append_element(ae_title,'div','popup_close');
	ae_content		= element_append_element(ae_window,'div','popup_content');

	ae_title_span.innerHTML = title;
	ae_content.innerHTML = content;

	Position.prepare();

	top		= (document.viewport.getHeight()-height)/2-8;
	left	= (document.viewport.getWidth()-width)/2;

	element_append_attribute(ae_background	,'style','top: '+Position.deltaY+'px;');
	element_append_attribute(ae_window		,'style','top: '+(Position.deltaY+top)+'px; left: '+left+'px; width: '+width+'px;');
	element_append_attribute(ae_content		,'style','width: '+width+'px; height: '+height+'px;');

	ae_close.onclick = popup_html_close.bindAsEventListener(this);
}

function popup_html_close(e) {
	$('popup_html').remove();
	$('popup_window').remove();
}

function browserAlert() {
	alert("This function is not available in this browser!");
}

function setHome(oPage,oUrl) {
	if (navigator.userAgent.indexOf("MSIE") != -1) {
		oPage.style.behavior='url(#default#homepage)';
		oPage.setHomePage(oUrl); 
	}
	else {
		browserAlert();
	}
}

function setFavorite() {
	title = window.title;
	url = location.protocol+"//"+location.hostname;
	if(window.sidebar) {
		window.sidebar.addPanel(title, url,"");
	}
	else if(window.external) {
		window.external.AddFavorite(url,title);
	}
	else if(window.opera && window.print) {
		var mbm = document.createElement('a');
		mbm.setAttribute('rel','sidebar');
		mbm.setAttribute('href',url);
		mbm.setAttribute('title',title);
		mbm.click();
	}
}



/****************************************/
/***     overlib Poety extension      ***/
/****************************************/

function _overlib(e) {
	return overlib(overlib_text[this.id]);
}

function overlib_observe(objid,comment) {
	overlib_text[objid] = comment;
	Event.observe(objid,'mouseover',_overlib,false);
	Event.observe(objid,'mouseout',nd,false);
}

/****************************************/
/***    calendar Poety extension      ***/
/****************************************/

function _calendar(_input,_button,_type) {
	 _format = "%Y-%m-%d";
	 _showtime = false;
	 if(_type=='datetime') {
		_format = "%Y-%m-%d %H:%M:%S";
		_showtime = true;
	 }
	 if(_type=='time') {
		_format = "%H:%M:%S";
		_showtime = true;
	 }
	 Zapatec.Calendar.setup({
        firstDay          : 1,
        showOthers        : true,
		showsTime         : _showtime,
        electric          : false,
        inputField        : _input,
        button            : _button,
        ifFormat          : _format,
        daFormat          : _format
      });
}

/****************************************/
/***          DOM extension           ***/
/****************************************/

function element_append_attribute(element,attr,value) {
	_attr = document.createAttribute(attr);
	_attr.value = value;
	element.setAttributeNode(_attr);
}

function element_append_element(element,append_tag,append_id,append_class) {
	var append_element = document.createElement(append_tag);
	if(append_id) { element_append_attribute(append_element,'id',append_id); }
	if(append_class) { element_append_attribute(append_element,'class',append_class); }
	element.appendChild(append_element);
	return append_element;
}

function switch_display(element) {
	if($(element)) {
		if($(element).style.display=='none') {
			Element.setStyle(element,{display: 'block'});
		}
		else {
			Element.setStyle(element,{display: 'none'});
		}
	}
}

/****************************************/
/***            box handler           ***/
/****************************************/

function box_handler() {
	boxes = document.getElementsByClassName('box_button_close');
	for(i=0;i<boxes.length;i++) {
		boxes[i].onclick = box_close.bindAsEventListener(this,boxes[i]);
	}
	boxes = document.getElementsByClassName('box_button_blind');
	for(i=0;i<boxes.length;i++) {
		boxes[i].onclick = box_blind.bindAsEventListener(this,boxes[i]);
	}
}

function box_close(e,box) {
	new Effect.Fade(box.parentNode.parentNode.id);
}

function box_blind(e,box) {
	if(header = document.getElementsByClassName('box_header',box.parentNode.parentNode)) {
		switch_display(header[0]);
	}
	if(body = document.getElementsByClassName('box_body',box.parentNode.parentNode)) {
		switch_display(body[0]);	
	}
	if(footer = document.getElementsByClassName('box_footer',box.parentNode.parentNode)) {
		switch_display(footer[0]);
	}
	//new Effect.toggle(body[0],'BLIND');
}


/****************************************/
/***           lista handler          ***/
/****************************************/

function lista_handler() {
	orderables = $$(".lista .lista_orderable");
	for(i=0;i<orderables.length;i++) {
		orderables[i].onclick = lista_order.bindAsEventListener(this,orderables[i]);
	}
	rows = $$(".lista tbody tr");
	for(i=0;i<rows.length;i++) {
		rows[i].onclick = lista_row_select.bindAsEventListener(this,rows[i]);
	}
	pager_handler();
	filter_handler();
}

function lista_order(e,row) {
	order_by = row.getAttribute('abbr');
	order = row.className.indexOf('asc')>=0?'desc':'asc';
	table_name = row.parentNode.parentNode.parentNode.id;

	$('order_by_'+table_name).value = order_by;
	$('order_'+table_name).value = order;

	lista_submit(table_name);
}

function lista_row_select(e,row) {
	if(row.className.indexOf("lista_row_selected")==-1) {
		Element.addClassName(row,"lista_row_selected");
	}
	else {
		Element.removeClassName(row,"lista_row_selected");
	}
}

function lista_submit(table_name) {
	mode = $F('mode_'+table_name);

	if(mode=='ajax') {
		// this is a begining of a beautiful friendship
		action		= $('form_'+table_name).action;
		method		= $('form_'+table_name).method;

		var pars = $('form_'+table_name).serialize();
		//alert(pars);
		
		var myAjax = new Ajax.Updater(
			$(table_name).parentNode.parentNode,
			action, 
			{
				method: method, 
				parameters: pars,
				evalScripts: true,
				onComplete: lista_submit_response
			});
	}
	else {
		$('form_'+table_name).submit();		
	}
}

function lista_submit_response(originalRequest) {
	//alert(originalRequest.responseText);
	listaedit_handler();
}


/****************************************/
/***           pager handler          ***/
/****************************************/

function pager_handler() {
	pager_selects = $$('.pager select');
	for(i=0;i<pager_selects.length;i++) {
		pager_selects[i].onchange = pager_select_submit.bindAsEventListener(this,pager_selects[i]);
	}
	pager_prevs = $$('.pager span.pager_prev');
	for(i=0;i<pager_prevs.length;i++) {
		pager_page_selector_div = pager_prevs[i].parentNode.parentNode.getElementsByClassName('pager_page_selector');
		pager_page_selector = pager_page_selector_div[0].getElementsByTagName('select');
		if(pager_page_selector[0].selectedIndex==0) {
			Element.setStyle(pager_prevs[i],{visibility: 'hidden'});
		}
		else {
			pager_prevs[i].onclick = pager_arrow_submit.bindAsEventListener(this,pager_prevs[i],pager_page_selector[0].selectedIndex-1);
		}		
	}
	pager_nexts = $$('.pager span.pager_next');
	for(i=0;i<pager_nexts.length;i++) {
		pager_page_selector_div = pager_nexts[i].parentNode.parentNode.getElementsByClassName('pager_page_selector');
		pager_page_selector = pager_page_selector_div[0].getElementsByTagName('select');
		if(pager_page_selector[0].selectedIndex==pager_page_selector[0].options.length-1) {
			Element.setStyle(pager_nexts[i],{visibility: 'hidden'});
		}
		else {
			//pager_nexts[i].onclick = pager_arrow_submit.bindAsEventListener(this,pager_page_selector[0].options[pager_page_selector[0].selectedIndex+1]);
			pager_nexts[i].onclick = pager_arrow_submit.bindAsEventListener(this,pager_nexts[i],pager_page_selector[0].selectedIndex+1);
		}		
	}
}

function pager_select_submit(e,select) {
	select_divs = select.parentNode.parentNode.parentNode.getElementsByClassName(select.parentNode.className);
	for(i=0;i<select_divs.length;i++) {
		selects = select_divs[i].getElementsByTagName('select');
		selects[0].options[select.selectedIndex].selected = true;
	}

	table_name = select.parentNode.parentNode.parentNode.id.substr(5);

	lista_submit(table_name);
}

function pager_arrow_submit(e,arrow,option_index) {
	page_selector_divs = arrow.parentNode.parentNode.parentNode.getElementsByClassName('pager_page_selector');
	for(i=0;i<page_selector_divs.length;i++) {
		selects = page_selector_divs[i].getElementsByTagName('select');
		option = selects[0].options[option_index];
		option.selected = true;
	}
	
	table_name = arrow.parentNode.parentNode.parentNode.id.substr(5);

	mode = $F('mode_'+table_name);

	if(mode=='ajax') {
		lista_submit(table_name);
	}
	else {
		arrow.parentNode.parentNode.parentNode.submit();
	}
	
}


/****************************************/
/***          filter handler          ***/
/****************************************/

function filter_handler() {
	filters = $$('.filter');
	for(i=0;i<filters.length;i++) {
		visibility_buttons = filters[i].getElementsByClassName('filter_visibility_button');
		contents = filters[i].getElementsByClassName('filter_content');
		inputs = filters[i].getElementsByTagName('input');
		button_turnon = filters[i].getElementsByClassName('filter_button_turnon');
		button_turnoff = filters[i].getElementsByClassName('filter_button_turnoff');
		visibility_buttons[0].onclick = filter_change_visibility.bindAsEventListener(this,contents[0]);
		button_turnon[0].onclick = filter_submit.bindAsEventListener(this,filters[i]);
		button_turnoff[0].onclick = filter_turnoff.bindAsEventListener(this,filters[i]);
		display = 0;
		for(j=0;j<inputs.length;j++) {
			if(inputs[j].value!="") {
				display = 1;
			}
		}
		if(!display) {
			Element.setStyle(contents[0],{display: 'none'});
		}
	}
}

function filter_change_visibility(e,content) {
	//new Effect.toggle(content,'blind');
	switch_display(content);
}

function filter_turnoff(e,filter) {
	inputs = filter.getElementsByTagName('input');
	for(i=0;i<inputs.length;i++) {
		inputs[i].value="";
	}
	filter_submit(e,filter);
}

function filter_submit(e,filter) {
	//alert(filter.parentNode.id);
	table_name = filter.parentNode.id.substr(5);

	lista_submit(table_name);
}


/****************************************/
/***        listaedit handler         ***/
/****************************************/

function listaedit_handler() {
	listaedits = $$('.listaedit');
	for(i=0;i<listaedits.length;i++) {
		name						= listaedits[i].id;
		edit_visibility_buttons		= listaedits[i].getElementsByClassName('listaedit_visibility_button_edit');
		edit_contents				= listaedits[i].getElementsByClassName('listaedit_content_edit');
		lista_visibility_buttons	= listaedits[i].getElementsByClassName('listaedit_visibility_button_lista');
		lista_contents				= listaedits[i].getElementsByClassName('listaedit_content_lista');
		inputs						= edit_contents[0].getElementsByTagName('input');
		clear_buttons				= listaedits[i].getElementsByClassName('listaedit_button_clear');
		add_buttons					= listaedits[i].getElementsByClassName('listaedit_button_add');
		save_buttons				= listaedits[i].getElementsByClassName('listaedit_button_save');
		//tbody						= listaedits[i].getElementsByTagName('tbody');
		//tbody						= $$('.listaedit .lista tbody');
		thead						= $$('#'+listaedits[i].id+' .lista thead');
		tbody						= $$('#'+listaedits[i].id+' .lista tbody');
		edit_visibility_buttons[0].onclick = listaedit_change_visibility.bindAsEventListener(this,edit_contents[0]);
		lista_visibility_buttons[0].onclick = listaedit_change_visibility.bindAsEventListener(this,lista_contents[0]);
		clear_buttons[0].onclick = listaedit_clear.bindAsEventListener(this,edit_contents[0]);
		add_buttons[0].onclick = listaedit_add.bindAsEventListener(this,edit_contents[0],save_buttons[0],lista_contents[0]);
		display = 0;
		for(j=0;j<inputs.length;j++) {
			if(inputs[j].value!="" && inputs[j].type=="text") {
				display = 1;
			}
		}
		if(!display) {
			Element.setStyle(edit_contents[0],{display: 'none'});
		}
		link = window.location.href.replace(window.location.search,"");
		if(tbody[0]) {
			is_checkbox = new Array();
			order_index = -1;
			ths = thead[0].getElementsByTagName('th');
			for(j=0;j<ths.length;j++) {
				if(ths[j].getAttribute('abbr')=='order') {
					order_index = j;
				}
				if(ths[j].getAttribute('abbr').match(/^is_/)) {
					_is = new Array();
					_is['index']	= j;
					_is['name']		= ths[j].getAttribute('abbr');
					is_checkbox.push(_is);					
				}
			}
			rows = tbody[0].getElementsByTagName('tr');
			for(j=0;j<rows.length;j++) {
				cols = rows[j].getElementsByTagName('td');
				id = cols[0].innerHTML;
				cols[0].innerHTML = "";
				command_button = element_append_element(cols[0],'div',"","listaedit_button_command");
				//element_append_attribute(edit_button,'title',"commands");
				id_span = element_append_element(cols[0],'span',"","listaedit_row_id");
				id_span.innerHTML = id;
				command_button.setAttribute('title',"#"+id);
				command_button.onclick = listaedit_command.bindAsEventListener(this,'command',name,cols[0],"");
				if(order_index!=-1) {
					order		= cols[order_index].innerHTML;
					cols[order_index].innerHTML = "";
					
					order_div	= element_append_element(cols[order_index],'div',"","listaedit_order");
					
					order_up	= element_append_element(order_div,'div',"","listaedit_order_up");
					order_num	= element_append_element(order_div,'div',"","listaedit_order_num");
					order_down	= element_append_element(order_div,'div',"","listaedit_order_down");
					
					order_num.innerHTML = order;
					order_up.setAttribute('title',"up");
					order_down.setAttribute('title',"down");
					
					order_up.onclick	= listaedit_order.bindAsEventListener(this,order_num,'up');
					order_down.onclick	= listaedit_order.bindAsEventListener(this,order_num,'down');
				}
				
				for(k=0;k<is_checkbox.length;k++) {
					cb_index	= is_checkbox[k]['index'];
					cb_name		= is_checkbox[k]['name'];
					checked		= parseInt(cols[cb_index].innerHTML);
					
					cols[cb_index].innerHTML = "";
					cb	= element_append_element(cols[cb_index],'input',"","");
					
					cb.setAttribute('type',"checkbox");
					cb.checked = checked;
					cb.onclick = listaedit_is_checkbox.bindAsEventListener(this,cb,cb_name);
				}
				
			}
		}
		if($(name+'_commands_box')) {
			Position.absolutize($(name+'_commands_box'));
			Element.setStyle($(name+'_commands_box'),{display: 'none'});
			commands = $$('#'+name+'_commands_box ul li');
			for(j=0;j<commands.length;j++) {
				command = commands[j].className.substr(18);
				span = commands[j].getElementsByClassName('confirm_text');
				confirm_text = span[0].innerHTML;
				commands[j].onclick = listaedit_command.bindAsEventListener(this,command,name,0,confirm_text);
			}
			input = element_append_element($('form_'+name+'_lista'),'input');
			element_append_attribute(input,'id',name+'_com');
			Element.hide(input);
		}	
	}
}

function listaedit_change_visibility(e,content) {
	//new Effect.toggle(content,'blind');
	switch_display(content);
	commands_boxs = $$('.listaedit_commands_box');
	for(i=0;i<commands_boxs.length;i++) {
		Element.setStyle(commands_boxs[i],{display: 'none'});
	}
}

function listaedit_clear(e,edit) {
	forms = edit.getElementsByTagName('form');
	form = forms[0];
	Forms[form.id].clear();
}

function listaedit_add(e,edit,save,lista) {
	ok = 0;
	inputs = edit.getElementsByTagName('input');
	for(i=0;i<inputs.length;i++) {
		if(inputs[i].type=="hidden") {
			if(!ok && inputs[i].name.indexOf('_id')==inputs[i].name.length-3) {
				inputs[i].disabled = true;
				ok = 1;
			}
		}
	}
	save.click();
}

function listaedit_command(e,com,name,col,confirm_text) {
	if(com=='command') {
		pos = Position.cumulativeOffset(col);
		Element.setStyle(name+'_commands_box',{left: (pos[0])+'px', top: (pos[1])+'px'});
		switch_display(name+'_commands_box');
		id_span = col.getElementsByClassName('listaedit_row_id');
		id = parseInt(id_span[0].innerHTML);
		$(name+'_com').value = id;
	}
	else {
		if($F(name+'_com') && (confirm_text=="" || confirm(confirm_text))) {
			//alert(com+'_'+name);
			$(name+'_com').name = com+'_'+name;
			$('mode_'+name+'_lista').value = '';
			form = $('form_'+name+'_lista');
			form.submit();
		}
	}
}

function listaedit_order(e,o,type) {
	order		= o.innerHTML;
	id_span		= o.parentNode.parentNode.parentNode.getElementsByClassName('listaedit_row_id');
	id			= parseInt(id_span[0].innerHTML);
	table_name	= o.parentNode.parentNode.parentNode.parentNode.parentNode.id;
	switch(type) {
		case 'up': {
			order++;
			break;
		}
		case 'down': {
			order--;
			break;
		}
	}

	action	= $('form_'+table_name).action;
	
	pars = "mode_"+table_name+"=ajax_order";
	pars+= "&order="+order;
	pars+= "&id="+id;
	//alert(pars);
	
	var myAjax = new Ajax.Request(
		action, 
		{
			method: "post", 
			parameters: pars,
			evalScripts: true,
			onComplete: listaedit_order_response
		});
	
	o.innerHTML = order;
}

function listaedit_order_response(originalRequest) {
	if(parseInt(originalRequest.responseText)!=originalRequest.responseText) {
		alert(originalRequest.responseText);
	}
}

function listaedit_is_checkbox(e,cb,name) {
	is			= cb.checked?1:0;
	id_span		= cb.parentNode.parentNode.getElementsByClassName('listaedit_row_id');
	id			= parseInt(id_span[0].innerHTML);
	table_name	= cb.parentNode.parentNode.parentNode.parentNode.id;
	
	action	= $('form_'+table_name).action;
	
	pars = "mode_"+table_name+"=ajax_is_checkbox";
	pars+= "&name="+name;
	pars+= "&is="+is;
	pars+= "&id="+id;
	//alert(pars);
	
	var myAjax = new Ajax.Request(
		action, 
		{
			method: "post", 
			parameters: pars,
			evalScripts: true,
			onComplete: listaedit_is_checkbox_response
		});
}

function listaedit_is_checkbox_response(originalRequest) {
	if(parseInt(originalRequest.responseText)!=originalRequest.responseText) {
		alert(originalRequest.responseText);
	}
}

/****************************************/
/***            view handler          ***/
/****************************************/

function view_handler() {
	rows = $$(".view tbody tr");
	for(i=0;i<rows.length;i++) {
		rows[i].onclick = view_row_select.bindAsEventListener(this,rows[i]);
	}
}

function view_row_select(e,row) {
	if(row.className.indexOf("view_row_selected")==-1) {
		Element.addClassName(row,"view_row_selected");
	}
	else {
		Element.removeClassName(row,"view_row_selected");
	}
}


/****************************************/
/***           frame handler          ***/
/****************************************/

function frame_handler() {
	frame_handler_debug();
	frame_handler_response();
	frame_handler_error();
	frame_handler_loadbar();
}

// debug
function frame_handler_debug() {
	if($('frame_debug')) {
		frame_handler_debug_show();
		frame_handler_debug_append_button_close();
		frame_handler_debug_append_button_expand();
	}
}

function frame_handler_debug_show() {
	Element.setStyle('frame_debug',{display: 'block'});
}

function frame_handler_debug_hide() {
	Element.setStyle('frame_debug',{display: 'none'});
}

function frame_handler_debug_close() {
	new Effect.Fade('frame_debug');
	window.setTimeout("frame_handler_debug_hide()",5000);
}

function frame_handler_debug_append_button_close() {
	button_close = element_append_element($('frame_debug_buttons'),'div',"frame_debug_button_close","frame_debug_button_close");
	Event.observe(button_close,'click',frame_handler_debug_close,false);
}

function frame_handler_debug_append_button_expand() {
	button_expand = element_append_element($('frame_debug_buttons'),'div',"frame_debug_button_expand","frame_debug_button_expand");
	Event.observe(button_expand,'click',frame_handler_debug_expand,false);
}

function frame_handler_debug_expand() {
	Element.setStyle('frame_debug_content',{height: '250px'});
	Event.stopObserving('frame_debug_button_expand','click',frame_handler_debug_expand,false);
	Event.observe('frame_debug_button_expand','click',frame_handler_debug_contract,false);
}

function frame_handler_debug_contract() {
	Element.setStyle('frame_debug_content',{height: '50px'});
	Event.stopObserving('frame_debug_button_expand','click',frame_handler_debug_contract,false);
	Event.observe('frame_debug_button_expand','click',frame_handler_debug_expand,false);
}

// error
function frame_handler_error() {
	if($('frame_error')) {
		frame_handler_error_show();
		Event.observe('frame_error','click',frame_handler_error_hide,false);
		window.setTimeout("frame_handler_error_hide()",60000);
	}
}

function frame_handler_error_show() {
	$('frame_error').setOpacity(0.9);
	Element.setStyle('frame_error',{display: 'block'});	
}

function frame_handler_error_hide() {
	new Effect.Fade('frame_error');
	window.setTimeout("Element.setStyle('frame_error',{display: 'none'})",3000);
}

// response
function frame_handler_response() {
	if($('frame_response')) {
		frame_handler_response_show();
		Event.observe('frame_response','click',frame_handler_response_hide,false);
		window.setTimeout("frame_handler_response_hide()",15000);
	}
}

function frame_handler_response_show() {
	$('frame_response').setOpacity(0.9);
	Element.setStyle('frame_response',{display: 'block'});	
}

function frame_handler_response_hide() {
	new Effect.Fade('frame_response');
	window.setTimeout("Element.setStyle('frame_response',{display: 'none'})",3000);
}

// loadbar
function frame_handler_loadbar() {
	if($('frame_loadbar')) {
		Element.hide('frame_loadbar');
		Position.prepare();
		Element.setStyle('frame_loadbar',{top: (Position.deltaY+30)+'px'});
		var loadbar_handler = {
			onCreate: function(){
				Position.prepare();
				Element.setStyle('frame_loadbar',{top: (Position.deltaY+30)+'px'});
				Element.setStyle('frame_loadbar',{display: 'block'});
				//Element.show('frame_loadbar');
			},

			onComplete: function() {
				if(Ajax.activeRequestCount == 0){
					Element.hide('frame_loadbar');
				}
			}
		};
		Ajax.Responders.register(loadbar_handler);
	}
}


/****************************************/
/***    language_selector handler     ***/
/****************************************/

function language_selector_handler() {
	if($('language_selector')) {
		langs = $('language_selector').getElementsByTagName('img');
		for(i=0;i<langs.length;i++) {
			langs[i].onclick = language_select.bindAsEventListener(this,langs[i]);
		}
	}
}

function language_select(e,obj) {
	cookie_set('lang',obj.title,365);
	document.location.reload();
}


/****************************************/
/***          email handler           ***/
/****************************************/

function email_handler() {
	emails = document.getElementsByClassName('email');
	for(i=0;i<emails.length;i++) {
		s = emails[i].href;
		s = s.replace('[at]','@');
		s = s.replace('[dot]','.');
		emails[i].href = s;
		s = emails[i].innerHTML;
		s = s.replace('[at]','@');
		s = s.replace('[dot]','.');
		emails[i].innerHTML = s;
	}
}

/****************************************/
/***               poety              ***/
/****************************************/

function poety_init() {
	box_handler();
	frame_handler();
	lista_handler();
	pager_handler();
	filter_handler();
	view_handler();
	listaedit_handler();
	language_selector_handler();
	email_handler();
}

var overlib_text = new Array();
Event.observe(window,'load',poety_init,false);