/**  
* ajax.js
*
* @author Christian Knerr (cback)
* @package CBACK_Forum
* @version 1.0.1
* @since 08.03.2008 - 23:11:38
* @copyright (c) 2009 CBACK Software - www.cback.net
*/

var notes_txt = '';
var ptxt_backup = '';
var ptxt_cont = 0;


function validate_password(destination, element1, element2)
{
	if ( document.getElementById(element1).value != document.getElementById(element2).value )
	{
		document.getElementById(destination).style.display	= 'block';
		document.getElementById(destination).innerHTML		= ERR_PW_CHECK;
	}
	else
	{
		document.getElementById(destination).style.display	= 'none';
		document.getElementById(destination).innerHTML = '';
	}
}

function validate_email(destination, element)
{
	var email = document.getElementById(element).value;
	
	if ( !email.match(/^[A-Za-z0-9/./_/%/\-äöüÄÖÜ]{1,}[@]{1,}[A-Za-z0-9/./_/%/\-]{1,}[.]{1,}[A-Za-z0-9]{2,4}$/) )
	{
		document.getElementById(destination).style.display	= 'block';
		document.getElementById(destination).innerHTML = ERR_EMAIL_CHECK;
	}
	else
	{
		document.getElementById(destination).style.display	= 'none';
		document.getElementById(destination).innerHTML = '';
	}
}

function validate_email_empty(destination, element)
{
	var email_empty = document.getElementById(element).value;
	
	if ( email_empty == '' )
	{
		document.getElementById(destination).style.display	= 'none';
		document.getElementById(destination).innerHTML = '';
	}
	else
	{
		validate_email(destination, element);
	}
}

function validate_numbers(destination, element)
{
	var vfield = document.getElementById(element).value;
	
	if ( vfield != '' && !vfield.match(/^[0-9]{0,}$/) )
	{
		document.getElementById(destination).style.display	= 'block';
		document.getElementById(destination).innerHTML = ERR_NUMB_ONLY;
	}
	else
	{
		document.getElementById(destination).style.display	= 'none';
		document.getElementById(destination).innerHTML = '';
	}
}

function validate_nospaces(destination, element)
{
	var vfield = document.getElementById(element).value;
	
	if ( vfield.match(/[ ]/) )
	{
		document.getElementById(destination).style.display	= 'block';
		document.getElementById(destination).innerHTML = ERR_NO_SPACES;
	}
	else
	{
		document.getElementById(destination).style.display	= 'none';
		document.getElementById(destination).innerHTML = '';
	}
}

function validate_username(destination, element)
{
	// Reserved for later use
}

function cback_dlg_close()
{
	var cdlg = new Fx.Style('cback_dlg', 'top').start(190,0);
	document.getElementById('cback_dlg_content').innerHTML	= '';
	document.getElementById('cback_dlg').style.display		= 'none';
}

function cback_dlg_display(insertcode)
{
	document.getElementById('cback_dlg_content').innerHTML	= insertcode;
	document.getElementById('cback_dlg').style.display		= 'block';
	var cdlg = new Fx.Style('cback_dlg', 'top').start(0,100);
}

function note_edit(id)
{
	cback_dlg_close();
	if (document.getElementById('editnote'+id))
	{
		notes_txt = document.getElementById('editnote'+id).value;
	}
	else
		notes_txt = document.getElementById('nid_' + id).innerHTML;
	document.getElementById('nid_' + id).style.overflow = 'visible';
	document.getElementById('nid_' + id).innerHTML	= '<form action=\'usercp.' + PHP_EXTENSION + '?mode=notes\' method=\'post\' id=\'nf' + id + '\'><input type=\'hidden\' name=\'edit_id\' value=\'' + id + '\' /><textarea name=\'editnote\' id=\'editnote' + id + '\' class=\'notearea\'>' + notes_txt + '</textarea><div align=\'right\'><input type=\'button\' name=\'notes_abort\' value=\'X\' onclick=\'note_close_edit(' + id + ')\' class=\'button_yellow\' /> <input type=\'submit\' name=\'notes_edit\' value=\'&gt;&gt;\' onclick=\'note_edit_do(' + id + '); return false;\' class=\'button_green\' /></div></form>';	
}

function note_delete_do(id)
{
	cback_dlg_close();
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'usercp.' + PHP_EXTENSION + '?mode=notes&is_ajax=1&note_delete=' + id;
	new Ajax(url,
			{
				method: 'get',
				onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
				onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
			}).request();
	document.getElementById('nbox' + id).style.display = 'none';
}

function note_edit_do(id)
{
	var notex_txt = document.getElementById('editnote' + id).value;
	document.getElementById('ajax_activity').style.display = 'block';
	new Ajax(PHP_PATH + 'usercp.' + PHP_EXTENSION + '?mode=notes&is_ajax=1',{
		method: 'post',
		data: $('nf' + id),
		onComplete: function(){document.getElementById('nid_' + id).innerHTML = notex_txt;document.getElementById('nid_' + id).style.overflow = 'auto';document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('nid_' + id).style.overflow = 'auto';document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);},
		evalScripts: true
	}).request();
}

function note_close_edit(id)
{
	document.getElementById('nid_' + id).innerHTML	= notes_txt;
	document.getElementById('nid_' + id).style.overflow = 'auto';
}

function drop_b_i_list(id, pos)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=lstdropper';
	var el_prefix = '';
	if ( pos == 1 )
	{
		// Buddylist
		url = url + '&lid=' + pos;
		el_prefix = 'bud' + id;
	}
	else if ( pos == 2 )
	{
		// Ignorelist
		url = url + '&lid=' + pos;
		el_prefix = 'ign' + id;
	}
	
	url = url + '&itemid=' + id;

	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
	document.getElementById(el_prefix).style.display = 'none';
}

function rate_topic(id, value)
{
	// Topic bewerten
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=topicrating&t=' + id + '&ra=' + value;
	new Ajax(url,
	{
		method: 'get',
		update:	'ratet' + id,
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function rate_user(id, value)
{
	// User bewerten
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=userrating&u=' + id + '&ra=' + value;
	new Ajax(url,
	{
		method: 'get',
		update:	'rateu' + id,
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function mark_post_important(fsys, tsys, psys, element, status)
{
	var url		= PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=topicmark&f=' + fsys + '&t=' + tsys + '&p=' + psys;
	var col1	= '#EFF5FF';
	var col2	= '#FFE4CF';
	
	document.getElementById('ajax_activity').style.display = 'block';

	if ( status == 1 )
	{
		document.getElementById(element).style.background = col1;
		document.getElementById('tm'+psys).onclick = 'mark_post_important(' + fsys + ',' + tsys + ',' + psys + ',\'' + element + '\',0);return false;';
	}
	else
	{
		document.getElementById(element).style.background = col2;
		document.getElementById('tm'+psys).onclick = 'mark_post_important(' + fsys + ',' + tsys + ',' + psys + ',\'' + element + '\',1);return false;';
	}
	
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function change_topic_status(fsys, tsys, method, langst)
{
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=' + method + '&f=' + fsys + '&t=' + tsys;
	var ok 	= false;
	
	document.getElementById('ajax_activity').style.display = 'block';
	
	if ( method == 'normal' || method == 'important' || method == 'announce' || method == 'globalannounce' || method == 'open' || method == 'close' )
	{
		ok = true;
	}
	
	if ( method == 'open' )
	{
		document.getElementById('b_2_t').src = TPL_PATH + '/images/buttons/new_post_' + langst + '.png';
		document.getElementById('b_2_b').src = TPL_PATH + '/images/buttons/new_post_' + langst + '.png';
	}
	else if ( method == 'close' )
	{
		document.getElementById('b_2_t').src = TPL_PATH + '/images/buttons/closed_r_' + langst + '.png';
		document.getElementById('b_2_b').src = TPL_PATH + '/images/buttons/closed_r_' + langst + '.png';
	}
	
	if ( ok )
	{
		new Ajax(url,
		{
			method: 'get',
			onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
			onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
		}).request();
	}
}

function add_friendlist(uid)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=add_friendlist&uid=' + uid;
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function add_ignorelist(uid)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=add_ignorelist&uid=' + uid;
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function add_abo_t(id)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=abotopic&t=' + id + '&m=on';
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function remove_abo_t(id)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=abotopic&t=' + id + '&m=off';
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function add_abo_f(id)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=aboforum&f=' + id + '&m=on';
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function remove_abo_f(id)
{
	document.getElementById('ajax_activity').style.display = 'block';
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=aboforum&f=' + id + '&m=off';
	new Ajax(url,
	{
		method: 'get',
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';cback_dlg_display('<div align=center><h2>' + AJAX_OK + '</h2></div>');},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}

function copy_value(value, sendto, wname)
{
	if ( wname == 'closemen' )
	{
		document.getElementById(sendto).value = value;
	}
	else
	{
		opener.document.getElementById(sendto).value = value;
	}
	
	if ( wname == 'closeit' )
	{
		self.close();
	}
}

function user_search_ajax(search, element, fname)
{
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=usersearch&str=' + search + '&destination=' + element + '&field=' + fname;
	new Ajax(url,
	{
		method: 'get',
		update:	element,
		onComplete: function(){if(document.getElementById(element).innerHTML != ''){document.getElementById(element).style.visibility='visible';document.getElementById(element).style.display='block';}}
	}).request();
}

function group_search_ajax(search, element, fname)
{
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=groupsearch&str=' + search + '&destination=' + element + '&field=' + fname;
	new Ajax(url,
	{
		method: 'get',
		update:	element,
		onComplete: function(){if(document.getElementById(element).innerHTML != ''){document.getElementById(element).style.visibility='visible';document.getElementById(element).style.display='block';}}
	}).request();
}


function quick_edit_do(fr, tp, ps, co)
{
	if ( ptxt_cont > 0 )
	{
		quick_edit_abort(ptxt_cont);
	}
	ptxt_cont = co;
	document.getElementById('ajax_activity').style.display = 'block';
	ptxt_backup = document.getElementById('message_container_'+co).innerHTML;
	var url = PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=quickedit&f=' + fr + '&t=' + tp + '&p=' + ps + '&c=' + co;
	new Ajax(url,
	{
		method: 'get',
		update:	'message_container_'+co,
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);}
	}).request();
}


function quick_edit_abort(co)
{
	document.getElementById('message_container_'+co).innerHTML = ptxt_backup;
	ptxt_backup = '';
	ptxt_cont = 0;
}

function reinterprete(fr, tp, ps, co)
{
	document.getElementById('ajax_activity').style.display = 'block';
	ptxt_backup = '';
	ptxt_cont = 0;
	new Ajax(PHP_PATH + 'ajax.' + PHP_EXTENSION + '?mode=doquickedit&f=' + fr + '&t=' + tp + '&p=' + ps + '&c=' + co,{
		method: 'post',
		data: $('sendf'),
		update: 'message_container_'+co,
		onComplete: function(){document.getElementById('ajax_activity').style.display = 'none';},
		onFailure: function(){document.getElementById('ajax_activity').style.display = 'none';alert(ERR_AJAX);},
		evalScripts: true
	}).request();
}