var  x_request  =  createXMLHttpRequest(); 

function  createXMLHttpRequest()  {  
	if (window.XMLHttpRequest)  {  //  если  используется  браузер,  отличный  от  Microsoft  Internet  Explorer  
        try  {  
            xhr  =  new  XMLHttpRequest();  
        }  catch(e)  {  
            xhr  =  false;  
        }  
    }  else  if(window.ActiveXObject)  {  //  если  используется  Microsoft  Internet  Explorer  
        try  {  
            xhr  =  new  ActiveXObject("Microsoft.XMLHTTP");  
        }  catch(e)  {  
            xhr  =  false;  
        }  
    } 
    return  xhr;
}

function  getForm(fobj)  {  
	var  str  =  "";  
    var  ft  =  "";  
    var  fv  =  "";  
    var  fn  =  "";  
    var  els  =  "";  
	for(var  i  =  0;i  <  fobj.elements.length;i++)  {  
        els  =  fobj.elements[i];  //  текущий  элемент  
        ft  =  els.title;  //  title  элемента  
        fv  =  els.value;  //  value  элемента  
        fn  =  els.name;  //  name  элемента  
        //switch(els.name)  {  //  обрабатываем  данные  согласно  типу  элемента  
        //    case  felement:  
				str  +=  fn  +  "="  +  encodeURI(fv)  +  "&";  
        //        break;
        //}  //  switch  
    }  //  for  
    str  =  str.substr(0,(str.length  -  1));  
    return  str;  
} 

/*
frm - название формы
file - название файла для обработки
func - название функции для обработки
target - элемент формы, куда поместить результат
*/
function  sendRequest(frm,  file, target)  {  
	var  rnd982g  =  Math.random();  
    var  str  =  "";  
	
	switch(target)
	{
		case "view":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_view;
		        x_request.send(null);  
		    }
			break;
		case "poll":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_poll;
		        x_request.send(null);  
		    }
			break;
		case "checklogin":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_checklogin;
		        x_request.send(null);  
		    }
			break;
		case "checkpass":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_checkpass;
		        x_request.send(null);  
		    }
			break;
		case "checknick":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_checknick;
		        x_request.send(null);  
		    }
			break;
		case "checkregform":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_checkregform;
		        x_request.send(null);  
		    }
			break;
		case "sendfriend":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_sendfriend;
		        x_request.send(null);  
		    }
			break;
		case "complain":
			if (str  =  getForm(frm))  {  
			    x_request.open('GET',  file+'?'+str+'&rnd982g='+rnd982g);  
		        x_request.onreadystatechange  =  sendResponse_complain;
		        x_request.send(null);  
		    }
			break;
	}
    return false;
}

function  sendResponse_view()  {  
    if (x_request.readyState  ==  1)  {  
		document.getElementById("details").innerHTML = "<h2 align=center>Loading ...</h2>";
	}
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		document.getElementById("details").innerHTML = response;
	}
}

function  sendResponse_checklogin()  {  
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		document.getElementById("checklogin").innerHTML = response;
	}
}

function  sendResponse_checkpass()  {  
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		document.getElementById("checkpass").innerHTML = response;
	}
}

function  sendResponse_checknick()  {  
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		document.getElementById("checknick").innerHTML = response;
	}
}

function  sendResponse_checkregform()  {  
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		if (response=="")
			document.forms[1].submit();
		else
		{
			document.getElementById("checkregform").innerHTML = response + "<br>";
		}	
	}
}

function  sendResponse_poll()  {  
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
		document.getElementById("div_poll").innerHTML = response;
	}
}

function  sendResponse_sendfriend()  {
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
	}
}

function  sendResponse_complain()  {
    if (x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;
	}
}

