var dest;
var dest2;
var dest3;
var destfv;
var destfv1;

function createRequestObject() {

    var request = null;
    try {
        request=new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new XMLHttpRequest();
    } catch (e){}
    return request;
}

function urlEncodeData(data) {

    var query = [];
    if (data instanceof Object) {
        for (var k in data) {
            query.push(encodeURIComponent(k) + "=" +
                encodeURIComponent(data[k]));
        }
        return query.join('&');
    } else {
        return encodeURIComponent(data);
    }
}

function serverRequest(url, data, callback) {

    var request = createRequestObject();
    if(!request) return false;
    request.onreadystatechange  = function() {
        if((request.readyState == 4) && (request.status == 200) && callback) callback(request);
    };
    request.open('POST', url, true);
    if (request.setRequestHeader)
        request.setRequestHeader("Content-Type",
            "application/x-www-form-urlencoded");
    request.send(urlEncodeData(data));
    return true;
}

function parseData(lform){

    var data = [];
    elements = lform.elements;
    for (var i = 0; i < elements.length; i++) {
        v = elements[i];
        if(v.name && v.value && (v.type != "submit"))
            data[v.name] = v.value;
    }

    return data;
}

function insertHTML5(request){

	response = request.responseText;
    if((response == "Указанный ник уже занят другим пользователем") || (response == "Указанный ник не существует")){
		destfv.innerHTML = response;
	} else {
		destfv2.innerHTML = response;
	}
}

function insertHTML4(request){

	response = request.responseText;
    if(response == "Эта страница уже добавлена вами"){
		destfv.innerHTML = response;
	} else {
		destfv2.innerHTML = response;
	}
}


function insertHTML22(request){

    response = request.responseText;
    if(response != "FAIL!"){		
		dest3.innerHTML = response;
    }
    else{
	
    }
}

function insertHTML2(request){

    response = request.responseText;
    if(response != "FAIL!"){		
		dest2.innerHTML = response;
    }
    else{
	
    }
}

function insertHTML(request){

	var data = [];
    response = request.responseText;
	data["mod"] = "in";	
    if(response == "WELCOME"){		
		serverRequest("/log-it.php",data,insertHTML2);
		data["mod"] = "in2";
		serverRequest("/log-it.php",data,insertHTML22);
    }
    else{
		dest.innerHTML = response;        
    }
}

function insertHTML3(request){

	var data = [];
    response = request.responseText;
	dest.innerHTML = response;
	data["mod"] = "out";	
    serverRequest("/log-it.php",data,insertHTML2);    
}

function login(lform, url, destination, destination2, destination3, callback){

    dest = destination;
	dest2 = destination2;
	dest3 = destination3;
    serverRequest(url, parseData(lform), callback);
}

function add_fv(lform, url, destination1, destination2, callback){

	destfv = destination1;
	destfv2 = destination2;
	serverRequest(url, parseData(lform), callback);
}
