var login_subaction;
function CreateRequest(){
    var Request = false;

    if (window.XMLHttpRequest){
        //Gecko-совместимые браузеры, Safari, Konqueror
        Request = new XMLHttpRequest();
    }else if (window.ActiveXObject){
        //Internet explorer
        try{
            Request = new ActiveXObject("Microsoft.XMLHTTP");
        }catch (CatchException){
            Request = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }

    if (!Request){
        alert("Browser don't support ajax!");
    }
    
    return Request;
}


/*
Функция посылки запроса к файлу на сервере
r_method - тип запроса: GET или POST
r_path - путь к файлу
r_args - аргументы вида a=1&b=2&c=3...

*/
function SendRequest(r_method, r_path, r_args, action, part){
    var return_result;
    //Создаём запрос
    ////alert(part);
    var Request = CreateRequest();
    //Проверяем существование запроса еще раз
    if (!Request){
        return;
    }

    //Назначаем пользовательский обработчик
    Request.onreadystatechange = function(){
        //Если обмен данными завершен
        if (Request.readyState == 4){
            return_result = r_handler(Request);
            switch(action){
                case 'vote':
                    if(return_result == 'false'){
                        location.replace('http://garbuzgames.com/index.php?action=register');
                    }else{
                        document.getElementById("stars_conteiner").innerHTML = return_result;
                    }    
                break;
                case 'build_vote':
                    document.getElementById("rating_msg").innerHTML = '';
                    document.getElementById("rating_msg").style.visibility='hidden';
                break;
                case 'log_in_chat':
                
                    var user_info_array = return_result.split('<-->');
                    alert(return_result);
                   
                    chat_api_onload(user_info_array[4], false, user_info_array[1], 'pass', user_info_array[2], user_info_array[0]);
                break;
				case 'delete_comments':
                    case 'delete_comments':
						//alert('deleted commentvvvv'+return_result);
						switch (part){
							case 'new':
							 //alert(part+'ff');
								document.getElementById('new_comment').innerHTML = '<div class="commentItems border">You message deleted!</div>';
							break;
							case 'old':
							default:
								 //alert(part+'ff');
								document.getElementById(return_result).innerHTML = 'You message deleted!';
							break;
						}
						
						//document.getElementById(return_result).style.visibility='hidden';
					break;
                break;
                case 'login':
                    if(return_result == 'false'){
                        location.replace('http://garbuzgames.com/index.php?action=register');
                    }else{
                        document.getElementById("user_header_block").innerHTML = return_result;
						//change down menu
						document.getElementById("submit_menu").innerHTML = '<a class="" href="http://garbuzgames.com/index.php/index.php?action=submit" title="Submit Your Game" >Submit Your Game</a>';
                        
                        switch(part){
							case 'index':
								document.getElementById("big_submit_cont").innerHTML = '<div class="gameSubmit"><p><a href="http://garbuzgames.com/index.php?action=submit" title="">Submit Your Game</a></p></div>';
							break;
                            case 'playgame':
                                //rebuild voting stars
                                r_path = 'http://garbuzgames.com/new_functions.php';
                                r_args = 'action=redraw_voting_star';
                                SendRequest('post', r_path, r_args, 'build_vote', 'a');
                                //change comment form
                                //document.getElementById("com_form_div").style.display='block'; 
                                //document.getElementById("p_r_t_l_c").style.display='none';
                                //login to chat
                                r_path = 'http://garbuzgames.com/new_functions.php';
                                r_args = 'action=user_info_to_chat';
                                SendRequest('post', r_path, r_args, 'log_in_chat', 'a');
                                
                            break;
                        }
                        
                        
                        return true;
                    }
                    return false;
                break;
                case 'redraw_star':
                    document.getElementById("user_header_block").innerHTML = return_result; 
                break;
                case 'jnf_ch_email':
                ////alert('return_result='+return_result);
                    if(return_result=='email_error'){
                       document.getElementById('jnf_msg2').innerHTML = 'Your E-mail is already used!<br>';
                       document.getElementById('jnf_mail').style.backgroundColor = "#fb4c4c";
                    }else return true;
                break;
                case 'jnf':
                    if(return_result=='email_error'){
                        document.getElementById('jnf_mail').style.backgroundColor = "#fb4c4c";
                        document.getElementById('jnf_msg2').innerHTML = 'Your E-mail is already used!<br>';
                    }else{
                        document.getElementById('jnf_msg1').innerHTML = return_result;
                    }
                break;
                default:
                    return false;
                break;
            }  
        }
    }

    //Проверяем, если требуется сделать GET-запрос
    if (r_method.toLowerCase() == "get" && r_args.length > 0)
        r_path += "?" + r_args;
    
    //Инициализируем соединение
    Request.open(r_method, r_path, true);
    
    if (r_method.toLowerCase() == "post"){
        //Если это POST-запрос
        //Устанавливаем заголовок
        Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
        //Посылаем запрос
        Request.send(r_args);
    }else{
        //Если это GET-запрос
        //Посылаем нуль-запрос
        Request.send(null);
    }
    
}


function r_handler(Request){
    return Request.responseText;
}


function ajax_login(r_path, part){
   // if(document.getElementById("loginuser").value=='' || document.getElementById("loginpassword").value=='') return false;
    //var r_args='loginuser='+document.getElementById("loginuser").value+'&loginpassword='+document.getElementById("loginpassword").value;
   
	var logins  	 = document.form1.loginusers.value;
	var passwords = document.form1.loginpasswords.value;
	//alert(logins);
	if(logins == '' || passwords == '') return false;
	var r_args='loginuser='+logins+'&loginpassword='+passwords;
	var logs = SendRequest('post', r_path, r_args, 'login', part);
    
    return false;
}


function ajax_delete_comment(c_id,s_c,u_id, mode){
    
    var r_args='action=delete_comment&comment_id='+c_id+'&s_c='+s_c+'&u_id'+u_id;
    var r_path = 'http://garbuzgames.com/new_functions.php';
   
   // div.innerHTML = '<font color="#fb4c4c">deleted</font>';
    var logs = SendRequest('post', r_path, r_args, 'delete_comments', mode);
    
    return false;

}