var tempComment = "";
var editId = "";
function ChangeText(post, type, phrase, id) {
	var waitimg = '<img class="inlineimg" id="waitimg" src="images/misc/progress.gif" border="0" title="'+phrase+'" />';
	var reqprogress = '<div class="tborder" style="border-top:0px;padding:10px 10px 10px 10px;">'+waitimg+' '+phrase+'</div>';
    var form="ajax_opinion_form";
    switch(type) {
        case 'post':
            form="opinion_form";
        case 'edit_save':
    		post += encodeURIComponent(document.forms[form].comment.value)+'&value='+document.forms[form].value.value;
            if (type=='edit_save') {
                if (document.getElementById('last5_table')) {
                    post+='&last5=1';
                    id='last5_table';
                } else {
                    id=editId.substring(3);
                    editId="";
                }
            }
            break;
        case 'delete':
        case 'rollback':
            if ((document.getElementById('opinion_table_deleted')) && (document.getElementById('opinion_table_deleted').style.display!='none')) {
                post += '&drawtable=1';
            } 
            if (id == 'last5_table') {
                post += '&last5=1';
            }
            break;
        case 'rating':
        case 'power':
		case 'edit':
    		var reqprogress = '<div class="smallfont">'+waitimg+' '+phrase+'</div>';
			break;
	}
	var request = null;
    if(YAHOO.util.Connect.isCallInProgress(request)) {
         YAHOO.util.Connect.abort(request);
         document.body.style.cursor = "default";
    }
	switch(type) {
        case 'post':
			rmDiv('my');
			//perehvatyvaem soderzhimoe kontejnera, chtoby ne propalo posle POST. Sluchaj, kogda POST idet posle RESTORE.
			var temp = fetch_object('new_opinion').innerHTML;
            fetch_object('new_opinion').innerHTML = reqprogress;
            break;
        case 'delete': 
        case 'rollback':
        case 'restore': 
        case 'edit_save':
            fetch_object(id).innerHTML = reqprogress;
            break;
        case 'rating':
        case 'power':
    		fetch_object('status_'+type).innerHTML = reqprogress;
            break;
		case 'edit': 
			if (editId!="") {
				fetch_object(editId).innerHTML = tempComment;
			}
			tempComment = fetch_object('td_'+id).innerHTML;
			editId = 'td_'+id;
			fetch_object('td_'+id).innerHTML = reqprogress;
			break;
	}
    document.body.style.cursor = "wait";
    var sUrl = 'opinion.php';
    var handleSuccess = function(o) {
        if(o.responseText !== undefined) {
            if (id == 'last5_table') {
                fetch_object(id).innerHTML = o.responseText;
            } else {     
            	switch(type) {
                    case 'post':
                    case 'restore': 
                    case 'edit_save':
                        if (document.getElementById(id)) {
                            rmDiv(id);
                        }
                        var result = o.responseText.split("++", 2);
        				if (document.getElementById('smallstats')) {
        					fetch_object('smallstats').innerHTML = result[0];
        				}
                        if ((type=='restore') ||(type=='edit_save')) {
                            result[1]+=fetch_object('new_opinion').innerHTML;
                            fetch_object('new_opinion').innerHTML= result[1];
                        } else {
                            fetch_object('new_opinion').innerHTML = result[1]+temp;
                        }
                        break;
                    case 'delete': 
                    case 'rollback':
    				case 'edit':
                        if (type == 'edit') {
                            fetch_object('td_'+id).innerHTML = o.responseText;
                        } else {
    						if (type == 'rollback') {
    							var result = o.responseText.split("++", 2);
    							fetch_object(id).innerHTML=result[1];
    						} else {
    							var result = o.responseText.split("++", 3);
    							rmDiv(id);
                                result[1]+=fetch_object('deleted_table').innerHTML;
    							fetch_object('deleted_table').innerHTML= result[1];
    							fetch_object('opinion_table_deleted').innerHTML=result[2];
    						}
    						if (document.getElementById('smallstats')) {
    							fetch_object('smallstats').innerHTML = result[0];
    						}
                        }
                        break;
                    case 'rating':
                    case 'power':
                        fetch_object(type).innerHTML = o.responseText;
                        
                        break;
    			}
            }
        }
        document.body.style.cursor = "default";
    }
    var handleFailure = function(o) {
        if(o.responseText !== undefined) {
            alert(o.responseText);
        }
        document.body.style.cursor = "default";
    }
    var callback = {
        success: handleSuccess,
        failure: handleFailure,
        timeout: vB_Default_Timeout
    };
    request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, post);
    cansel_request_marka = function() {
        if(YAHOO.util.Connect.isCallInProgress(request)) {
             YAHOO.util.Connect.abort(request);
        }
        document.body.style.cursor = "default";
    }
}
function rmDiv(obj) {
	if(typeof obj== 'string') obj=document.getElementById(obj);
    if(obj && obj.parentNode)obj.parentNode.removeChild(obj);
}

