var xmlDoc = null ;

function xmlSendReq( reqText ) {
  if (typeof window.ActiveXObject != 'undefined' ) {
    xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
    xmlDoc.onreadystatechange = xmlProcess ;
  }
  else {
    xmlDoc = new XMLHttpRequest();
    xmlDoc.onload = xmlProcess ;
  }
  xmlDoc.open( "GET", reqText, true );
  xmlDoc.send( null );
}

function xmlProcess() {
  if ( xmlDoc.readyState != 4 ) return ;
//  alert(xmlDoc.responseText);
  var response = xmlDoc.responseText.split("\n");
  switch ( response[0] )
  {
	case 'error':
		alert(response[1]);
		break;
	case 'UpdateKarma':
		UpdateKarmaText( response[1], response[2] );
		break;
	case 'UpdateComment':
		UpdateComment( response[1], response[2] );
		break;
	case 'UpdateProfile':
		UpdateProfile( response[1], response[2] );
		break;
	case 'PostMove':
		PostMoveResult( response[1], response[2] );
		break;
  }
}

function PostMoveResult( id, tocat )
{
	document.getElementById('postmover_'+id).style.display = 'none';
	document.getElementById('postmover2_'+id).innerHTML = 'перемещено в <b>'+tocat+'</b>';
}

function rssiJSVote( id, updown )
{
	var voting = "up";
	if ( updown == 2 ) voting = "down";
	var adress = '/'+id+'/vote/'+voting+'/'+Math.random();
	xmlSendReq( adress );
	document.getElementById('rssi_vd'+id).style.display = 'none';
	document.getElementById('rssi_vu'+id).style.display = 'none';
}

function UpdateKarmaText( id, text )
{
	var el=document.getElementById( 'kval_'+id );
	el.innerHTML = text;
	
	document.getElementById( 'kc_1_'+id ).style.display = 'none';
	document.getElementById( 'kc_2_'+id ).style.display = 'block';
}

function UpdateKarma( id, text )
{
	var el=document.getElementById( 'kval_'+id );
	if ( text > 1.5 ) el.className = 'p3';
	else if ( text > 1 ) el.className = 'p2';
	else el.className = 'p1';
	
	if ( text > 0 ) text = "+" + text;
	
	UpdateKarmaText( id, text );
}

function rateComment( id, updown )
{
	var adress = '/'+id+'/ratecomment/'+updown+'/'+Math.random();
	xmlSendReq( adress );
}

function UpdateComment( id, text )
{
	document.getElementById('cratep_'+id).style.display = 'none';
	document.getElementById('cratem_'+id).style.display = 'none';
	document.getElementById('crate_'+id).className = 'ratefull';
	document.getElementById('crate_'+id).innerHTML = text;
}

function startSiteSearch()
{
	var value = document.getElementById('sbox').value;
	if ( value.length < 3 ) alert('Поисковая фраза слишком мала. Попробуйте написать больше букавок.');
	else
	{
		document.location = '/search/prepare/'+value;
	}
}

function searchKeyPress(e)
{
      var kk = navigator.appName == 'Netscape' ? e.which : e.keyCode;
      if (kk == 13) startSiteSearch();
}

var RTR1 = 2;
var RTR2 = 1;
var RTR3 = 1;

function changeRateTable( rtrow, rtvalue )
{
	// Меняем классы на ссылках
	document.getElementById('rta'+rtrow+rtvalue).className = 'active';
	document.getElementById('rta'+rtrow+( 3 - rtvalue) ).className = 'inactive';
	
	switch ( rtrow )
	{
		case 1:
			RTR1 = rtvalue;
			break;
		case 2:
			RTR2 = rtvalue;
			break;
		case 3:
			RTR3 = rtvalue;
			break;
	}
	
	// Прячем видимый элемент
	if ( document.getElementById('rtt_111').style.display == 'block' )document.getElementById('rtt_111').style.display = 'none';
	if ( document.getElementById('rtt_121').style.display == 'block' )document.getElementById('rtt_121').style.display = 'none';
	if ( document.getElementById('rtt_122').style.display == 'block' )document.getElementById('rtt_122').style.display = 'none';
	if ( document.getElementById('rtt_222').style.display == 'block' )document.getElementById('rtt_222').style.display = 'none';
	if ( document.getElementById('rtt_221').style.display == 'block' )document.getElementById('rtt_221').style.display = 'none';
	if ( document.getElementById('rtt_211').style.display == 'block' )document.getElementById('rtt_211').style.display = 'none';
	if ( document.getElementById('rtt_212').style.display == 'block' )document.getElementById('rtt_212').style.display = 'none';
	if ( document.getElementById('rtt_112').style.display == 'block' )document.getElementById('rtt_112').style.display = 'none';
	
	// Показываем что нужно
	document.getElementById('rtt_'+RTR1+RTR2+RTR3).style.display = 'block';
}

function changeTimelineTable( index )
{
	// Скрываем всё
	for ( var i = 1; i < 4; i++ )
	{
		document.getElementById('tlid'+i).style.display = 'none';
		document.getElementById('chtl'+i).className = 'inactive';
	}
	document.getElementById('tlid'+index).style.display = 'block';
	document.getElementById('chtl'+index).className = 'active';
}

function moveToSite( id_post )
{
	var mt = document.getElementById('postmover_'+id_post).value;
	
	if ( mt == 'nochange' ) return true;
	
	var adress = '/'+id_post+'/moveto/'+mt+'/'+Math.random();
	xmlSendReq( adress );
}

function showHiddenComment( id_comment )
{
	document.getElementById('hcl_'+id_comment).style.display = 'none';
	document.getElementById('hc_'+id_comment).style.display = 'block';
}

function doProfileEdit( fieldName )
{
	document.getElementById('prof_v_'+fieldName).style.display = 'none';
	document.getElementById('prof_c_'+fieldName).style.display = 'block';
}

function doProfileSave( fieldName )
{
	if ( fieldName == 'birthdate' )
	{
		var url = '/user/'+profile_user_name+'/profile/ajaxsave/'+fieldName+'/'+Math.random()+'/'+document.getElementById('birthdate_year').value+'-'+document.getElementById('birthdate_month').value+'-'+document.getElementById('birthdate_day').value;
	}
	else if ( fieldName == 'sex' )
	{
		var url = '/user/'+profile_user_name+'/profile/ajaxsave/'+fieldName+'/'+Math.random()+'/'+document.getElementById('prof_f_'+fieldName).value;
	}
	else
	{
		
		var priv = '';
		if ( document.getElementById('prof_p_'+fieldName) )
		{
			if ( document.getElementById('prof_p_'+fieldName).checked ) priv = 'yes';
		}
		var url = '/user/'+profile_user_name+'/profile/ajaxsave/'+fieldName+'/'+Math.random()+'/'+document.getElementById('prof_f_'+fieldName).value+'/'+priv;
	}
//	alert( url );
	xmlSendReq( url );
	document.getElementById('prof_v_'+fieldName).style.display = 'block';
	document.getElementById('prof_v_'+fieldName).innerHTML = '<i>сохранение</i>';
	document.getElementById('prof_c_'+fieldName).style.display = 'none';
}

function UpdateProfile( fieldName, fieldValue )
{
	document.getElementById('prof_v_'+fieldName).innerHTML = fieldValue;
}
