var ajax = new JsoxAJAX();

var ids = new Array();

///////////////////


var callbackUpdateHistory = function( obj )
{
	eval( 'var response = ' + obj.responseText );

	var o = document.getElementById( 'athistorylist' + response.aid );
	o.innerHTML = response.msg;
}

var updateHistory = function( id )
{
	ajax.post({
		url: "scr/geth.php",
		parameters: {
						"aid"			: id,
						"updatehistory"	: 1,
						"async"			: 1
					},
		onSuccess: callbackUpdateHistory
		});
}

/////////////////////

var callbackFoo = function( obj )
{
	eval( 'var response = ' + obj.responseText );


	if ( response.result == '1' )
	{
		response.msg = '<p class="success">' + response.msg + '</p>';
		document.getElementById( 'atcontent' + response.aid ).atchanged = false;
	}
	else
	{
		response.msg = '<p class="error">' + response.msg + '</p>';
	}

	var o = document.getElementById( 'atinfo' + response.aid );
	o.innerHTML = response.msg + o.innerHTML;
	document.getElementById( 'atdate' + response.aid ).value = response.modified;
	document.getElementById( 'atactual' + response.aid ).innerHTML = response.content;

	updateHistory( response.aid );

	//setTimeout( 'clearInfo(' + response.aid + ')', 5000 );
}

var addTranslation = function( id )
{
	var obj = document.getElementById( 'atcontent' + id );

	if ( !obj.atchanged )
		return;

	if ( obj.atthink )
	{
		obj.atthink = false;
		return;
	}

	var content = obj.value;

	ajax.post({
		url: "scr/add.php",
		parameters: {
						"aid"		: id,
						"content"	: content,
						"addtrans"	: 1,
						"async"		: 1
					},
		onSuccess: callbackFoo
		});
}

var clearInfo = function( id )
{
	document.getElementById( 'atinfo' + id ).innerHTML = '';
}


//////////////////


var checkCallback = function( obj )
{
	eval( 'var response = ' + obj.responseText );

	response.msg = '<p class="error">' + response.msg + '</p>';

	for( var i = 0; i < response.results.length; i++ )
	{
		var res = response.results[i];

		var obj = document.getElementById( 'atdate' + res['aid'] );

		if ( obj.value != res['modified'] )
		{
			var o = document.getElementById( 'atinfo' + res['aid'] );
			o.innerHTML = response.msg + o.innerHTML;
			document.getElementById( 'atactual' + res['aid'] ).innerHTML = res['content'];
			document.getElementById( 'atcontent' + res['aid'] ).atthink = true;
			obj.value = res['modified'];
		}
	}
}

var checkTrans = function( id )
{
	var par = new Array();

	par['check[' + id + ']'] = document.getElementById( 'atdate' + id ).value;

	par['checktrans'] = 1;
	par['async'] = 1;

	ajax.post({
		url: "scr/check.php",
		parameters: par,
		onSuccess: function(o) { checkCallback(o); addTranslation(id); }
		});
}

var checkAllTrans = function()
{
	var par = new Array();

	for( var i = 0; i < ids.length; i++ )
		par['check[' + ids[i] + ']'] = document.getElementById( 'atdate' + ids[i] ).value;

	par['checktrans'] = 1;
	par['async'] = 1;

	ajax.post({
		url: "scr/check.php",
		parameters: par,
		onSuccess: function(o){
								checkCallback(o);
								for( var i = 0; i < ids.length; i++ )
									addTranslation( ids[i] );
							}
		});
}

//////////////


var submitAll = function()
{
	for( var i = 0; i < ids.length; i++ )
		checkTrans( ids[i] );
}

/////////////////////

var switchCallback = function( obj )
{
	eval( 'var response = ' + obj.responseText );

	if ( response.current >= 0 )
	{
		response.msg = '<p class="success">' + response.msg + '</p>';
	}
	else
	{
		response.msg = '<p class="error">' + response.msg + '</p>';
	}

	var o = document.getElementById( 'atinfo' + response.aid );
	o.innerHTML = response.msg + o.innerHTML;

	document.getElementById( 'atswitch' + response.aid ).innerHTML = response.action;

	if ( response.current == 1 )
	{
		document.getElementById( 'attransstatus' + response.aid ).innerHTML = ' [' + response.status + ']';
		document.getElementById( 'atto' + response.aid ).value = '0';
	}
	else
	{
		document.getElementById( 'attransstatus' + response.aid ).innerHTML = '';
		document.getElementById( 'atto' + response.aid ).value = '1';
	}
}

var switchTrans = function( id )
{
	var par = new Array();

	par['aid'] = id;

	par['to'] = document.getElementById( 'atto' + id ).value;

	par['switchtrans'] = 1;
	par['async'] = 1;

	ajax.post({
		url: "scr/switch.php",
		parameters: par,
		onSuccess: switchCallback
		});
}


//////////////////////////////

var showhide = function( id )
{
	var o = document.getElementById( id );

	if ( o.style.position == 'absolute' )
	{
		o.style.position = 'relative';
		o.style.visibility = 'visible';
	}
	else
	{
		o.style.position = 'absolute';
		o.style.visibility = 'hidden';
	}

	return false;
}

var putin = function( id, txt )
{
	var czy = true;

	var e = document.getElementById( 'atcontent' + id );

	if ( e.atchanged )
	{
		czy = confirm( 'Editor content will be replaced. Are you sure?' );
	}

	if ( czy && ( e.value != txt ) )
	{
		e.value = txt;
		e.atchanged = true;
	}
}

/////////////////

var callbackUpdateComment = function( obj )
{
	eval( 'var response = ' + obj.responseText );

	var o = document.getElementById( 'atcommentlist' + response.aid );
	o.innerHTML = response.msg;
}

var updateComments = function( id )
{
	ajax.post({
		url: "scr/getc.php",
		parameters: {
						"aid"			: id,
						"updatecomment"	: 1,
						"async"			: 1
					},
		onSuccess: callbackUpdateComment
		});
}

var callbackComment = function( obj )
{
	eval( 'var response = ' + obj.responseText );

	if ( response.result == '1' )
	{
		response.msg = '<p class="success">' + response.msg + '</p>';
		document.getElementById( 'atcontent' + response.aid ).atchanged = false;
	}
	else
	{
		response.msg = '<p class="error">' + response.msg + '</p>';
	}

	var o = document.getElementById( 'atinfo' + response.aid );
	o.innerHTML = response.msg + o.innerHTML;

	updateComments( response.aid );
}

var addComment = function( id )
{
	var obj = document.getElementById( 'atcomment' + id );

	var comment = obj.value;

	if ( comment == '' )
		return;

	ajax.post({
		url: "scr/addc.php",
		parameters: {
						"aid"			: id,
						"comment"		: comment,
						"addcomment"	: 1,
						"async"			: 1
					},
		onSuccess: callbackComment
		});
}

////////////////////
