<!--

var waitOutput;
var inputName;
var checkingMembers = new Array();
var switchWait = 0;
var switchWait1 = 0;
var xmlHttp = new Array();
var resultsShown = 0;

var startC;

// array of them
for (startC=0;startC<=9;startC++)
{
xmlHttp[startC] = createXmlHttpRequestObject();
xmlHttp[startC].fired = 0;
xmlHttp[startC].checkedName = new Array();
}


function CheckLastNames()
{
//alert('checklastnames');
inputName = '';
inputName=document.getElementsByName("username")[0].value;

waitOutput=document.getElementById('lastNameCheck').firstChild;

waitOutput.nodeValue = '';

RemoveWaitOutputChilds();
RemoveLastNamesOutputChilds();
HideSubmitButton();

if (inputName == '')
{
waitOutput.nodeValue = 'Ошибка: вы не ввели имя аватара.';
}
else
{


checkingMembers = [];
for (var uncheckedLastNameId in lastNames )
checkingMembers[checkingMembers.length] = uncheckedLastNameId; 
resultsShown = 0;

checkingMembers.sort( randOrd );

var startC2;

for (startC2=0;startC2<=9;startC2++)
{
xmlHttp[startC2].fired = 0;
xmlHttp[startC2].checkedName = [];
PushNextName(startC2);
}

}

} 


function PushNextName(xmlHttpId)
{

var checkNameScript = '';

var currentMember = checkingMembers[0];


checkingMembers.splice(0,1);

waitOutput.nodeValue = 'Ждите, проверяю имена пользователей...';

checkNameScript="/wp-content/plugins/chknm.php?username=" + inputName + "&last_name_id=" + currentMember;



if (xmlHttp[xmlHttpId])
{


try
{

xmlHttp[xmlHttpId].open("GET", checkNameScript, true);
xmlHttp[xmlHttpId].onreadystatechange = handleRequestStateChange;
xmlHttp[xmlHttpId].send(null);
}


catch (e)
{
alert("Ошибка: не могу соединиться с сервером:\n" + e.toString());
}


}



}


function EmptyWaitBlock()
{
waitOutput=document.getElementById('lastNameCheck').firstChild;
waitOutputRoot=document.getElementById('lastNameCheck');


RemoveWaitOutputChilds();


waitOutput.nodeValue = 'Введите имя аватара и нажмите на кнопку.';

var htmlToAdd = '<br/><input type="button" value="Искать фамилии" onClick="CheckLastNames()"><br/>';
var newDiv = document.createElement('DIV');
newDiv.innerHTML = htmlToAdd;
waitOutputRoot.appendChild(newDiv);



}

function RemoveWaitOutputChilds()
{
waitOutputRoot=document.getElementById('lastNameCheck');

if ( waitOutputRoot.hasChildNodes() )
{
    while ( waitOutputRoot.childNodes.length > 1 )
    {
        waitOutputRoot.removeChild( waitOutputRoot.lastChild );       
    } 
}
}

function RemoveLastNamesOutputChilds()
{
var checkedOutput=document.getElementById('checkedResultsShow');

if ( checkedOutput.hasChildNodes() )
{
    while ( checkedOutput.childNodes.length > 0 )
    {
        checkedOutput.removeChild( checkedOutput.lastChild );       
    } 
}
}



function createXmlHttpRequestObject()
{

var xmlHttp;

try
{

xmlHttp = new XMLHttpRequest();
}
catch(e)
{

var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");

for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
{
try
{

xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch (e) {}
}
}

if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
} 


function handleRequestStateChange()
{

var startC3;

for (startC3=0;startC3<=9;startC3++)
{


	if (xmlHttp[startC3].readyState == 1)
	{
if (switchWait1 == 0)
{
	waitOutput.nodeValue = "Ждите. Идет поиск свободных фамилий для имени " + inputName +". \\  ";
switchWait1=1;
}
else if (switchWait1 == 1)
{
	waitOutput.nodeValue = "Ждите.. Идет поиск свободных фамилий для имени " + inputName +". | ";
switchWait1=2;
}
else if (switchWait1 == 2)
{
	waitOutput.nodeValue = "Ждите... Идет поиск свободных фамилий для имени " + inputName +". / ";
switchWait1=3;
}
else
{
	waitOutput.nodeValue = "Ждите.... Идет поиск свободных фамилий для имени " + inputName +". - ";
switchWait1=0;
}
	}
	else if (xmlHttp[startC3].readyState == 2)
	{
if (switchWait == 0)
{
	waitOutput.nodeValue = "Ждите. Идет поиск свободных фамилий для имени " + inputName +". \\  ";
switchWait=1;
}
else if (switchWait == 1)
{
	waitOutput.nodeValue = "Ждите.. Идет поиск свободных фамилий для имени " + inputName +". | ";
switchWait=2;
}
else if (switchWait == 2)
{
	waitOutput.nodeValue = "Ждите... Идет поиск свободных фамилий для имени " + inputName +". / ";
switchWait=3;
}
else
{
	waitOutput.nodeValue = "Ждите.... Идет поиск свободных фамилий для имени " + inputName +". - ";
switchWait=0;
}
	}
	else if (xmlHttp[startC3].readyState == 3)
	{
	waitOutput.nodeValue = "Имя проверяется";
	}

	else if (xmlHttp[startC3].readyState == 4)
	{

		if (xmlHttp[startC3].status == 200)
		{
		
try
{

/*

var response = xmlHttp[startC3].responseText;

waitOutput.nodeValue = "Ответ получен. Сервер сообщил:";
waitOutput.nodeValue += response;

*/

waitOutput.nodeValue = "Имя проверено";
handleServerResponse(startC3);




if (xmlHttp[startC3].fired == 0 && checkingMembers.length > 1) PushNextName(startC3);
else
{

waitOutput=document.getElementById('lastNameCheck').firstChild;
waitOutput.nodeValue = "Найдены незанятые фамилии. Выберите подходящую.";
}

}
catch(e)
{

alert("Ошибка чтения ответа: " + e.toString());
}
		}
		else
		{

		alert("Ошибка получения данных:\n" +
		xmlHttp[startC3].statusText);
		}

	}

} 

} 


function NextTen()
{
RemoveWaitOutputChilds();
resultsShown = 0;
var startC4;
for (startC4=0;startC4<=9;startC4++)
{
xmlHttp[startC4].checkedName = [];
xmlHttp[startC4].fired = 0;
PushNextName(startC4);
}
}


function handleServerResponse(xmlHttpId1)
{


var xmlResponse = xmlHttp[xmlHttpId1].responseXML;

xmlRoot = xmlResponse.documentElement;

var lastNameId = xmlRoot.getElementsByTagName("lastnameid").item(0).firstChild.data;
var lastNameResult = xmlRoot.getElementsByTagName("lastnameresult").item(0).firstChild.data;



if (lastNameResult == 'FREE') 
{
xmlHttp[xmlHttpId1].checkedName[lastNameId] = lastNames[lastNameId];
xmlHttp[xmlHttpId1].fired = 1;
}

var checkedOutput=document.getElementById('checkedResultsShow');

var firedCount = 0;
var startC1;

for (startC1=0;startC1<=9;startC1++)
{
if (xmlHttp[startC1].fired == 1) firedCount++;
}

if (firedCount == 10 && resultsShown == 0)
{
resultsShown = 1;

var startC5;
for (startC5=0;startC5<=9;startC5++)
{
for ( var checkedLastNameId in xmlHttp[startC5].checkedName )
{
var nameButtonToAdd = '<br/><input type="radio" name="last_name_id" value="'+ checkedLastNameId +'" onClick="ShowSubmitButton()"> '+inputName + ' ' + lastNames[checkedLastNameId] +' ';
var nameButtonDiv = document.createElement('DIV');
nameButtonDiv.innerHTML = nameButtonToAdd;
checkedOutput.appendChild(nameButtonDiv);

} 


xmlHttp[startC5].checkedName = [];

} 


RemoveWaitOutputChilds();
waitOutput=document.getElementById('lastNameCheck').firstChild;
waitOutput.nodeValue = "Найдены незанятые фамилии. Выберите подходящую.";

if (checkingMembers.length > 0)
{
var waitOutputRoot = document.getElementById('lastNameCheck');
var buttonToAdd = '<br/><input type="button" value="Найти еще 10 фамилий" onClick="NextTen()"><br/>';
var buttonDiv = document.createElement('DIV');
buttonDiv.innerHTML = buttonToAdd;
waitOutputRoot.appendChild(buttonDiv);
} 

} 

} 


function ShowSubmitButton()
{
HideSubmitButton();
var submitButtonOutput=document.getElementById('submitButtonBlock');
var submitButtonToAdd = '<input type="submit" value="Создать аватара" />';
var submitButtonDiv = document.createElement('DIV');
submitButtonDiv.innerHTML = submitButtonToAdd;
submitButtonOutput.appendChild(submitButtonDiv);
}

function HideSubmitButton()
{
var submitButtonOutput=document.getElementById('submitButtonBlock');

if ( submitButtonOutput.hasChildNodes() )
{
    while ( submitButtonOutput.childNodes.length > 0 )
    {
        submitButtonOutput.removeChild( submitButtonOutput.lastChild );       
    } 
}

}


function stopRKey(evt) { 
  var evt = (evt) ? evt : ((event) ? event : null); 
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
  if ((evt.keyCode == 13) && ( (node.type=="text") || (node.type=="password") ))  {return false;} 
} 

document.onkeypress = stopRKey;

function randOrd(){
return (Math.round(Math.random())-0.5); }

//-->
