var req;

function loadXMLDoc(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
      response = req.responseXML.documentElement;

      method = response.getElementsByTagName('method')[0].firstChild.data;

      result = response.getElementsByTagName('result')[0].firstChild.data;
      eval(method + '(\'\', \''+result+'\')');
        } else {
            alert("Помилка отримання XML даних:\n" + req.statusText);
        }
    }
}

flagCheckName = 0;

function checkName(input, response)
{
  if (response != ''){ 
    // Response mode
    message   = document.getElementById('form_reg_error');
    if (response == '1'){
      message.innerHTML = 'Ваш логін вже зайнято. Будь-ласка оберіть інший...';
      flagCheckName = 1;
    }else{
      message.innerHTML = '<span style="color:#00FF00;">Логін <b>'+document.form_reg.login.value+'</b> вільний!</span>';
      flagCheckName = 2;
    } 
  }else{
    // Input mode
    if(input != '') {
    	message   = document.getElementById('form_reg_error');
    	message.innerHTML = '<center><img src="thickbox/loadingAnimation.gif"></center>';
    	url  = '/xml/checkUserName.php?q='+input;
    	loadXMLDoc(url);
    }
    
  }

}

flagCheckRand = 0;

function checkRand(input, response)
{
  if (response != ''){ 
    // Response mode
    message   = document.getElementById('form_reg_error');
    if (response == '1'){
      message.innerHTML = 'Код підтвердження помилковий. Будь-ласка спробуйте ще раз...';
      flagCheckRand = 1;
    }else{
      message.innerHTML = '<span style="color:#00FF00;">Код підтвердження вірний!</span>';
      flagCheckRand = 2;
    } 
  }else{
    // Input mode
    if(input != '') {
    	message   = document.getElementById('form_reg_error');
    	message.innerHTML = '<center><img src="thickbox/loadingAnimation.gif"></center>';
    	url  = '/xml/checkRand.php?q='+input;
    	loadXMLDoc(url);
    }
    
  }

}

function password_focus() {
	message   = document.getElementById('form_reg_error');
    message.innerHTML = '<span style="color:#0000FF;">Пароль. Поле обов`язкове. Має 6-40 символів.</span>';
}

function password2_focus() {
	message   = document.getElementById('form_reg_error');
    message.innerHTML = '<span style="color:#0000FF;">Пароль (підтвердження). Поле обов`язкове. Має 6-40 символів.</span>';
}

function userpic_focus() {
	message   = document.getElementById('form_reg_error');
    message.innerHTML = '<span style="color:#0000FF;">Аватар. Додаткове поле. Розмір: 100x100px. Формат: jpg, gif, png.</span>';
}

function check_form() {
	if(document.form_reg.login.value=='Логін') {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Логiн. Поле є обов`язковим.';
    	document.form_reg.login.focus();
    	return false;
	}
	if(document.form_reg.login.value.length<3) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Логiн. Мінімальна довжина 3 символи.';
    	document.form_reg.login.focus();
    	return false;
	}
    var text = document.form_reg.login.value;
    var GoodChars = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890_";
    var i = 0;
    for (i =0; i <= text.length-1; i++)	{
      if (GoodChars.indexOf(text.charAt(i)) == -1)	{
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Логін. Логін може містити великі та малі латинські літері, цифри, підкреслення.';
    	document.form_reg.login.focus();
    	return false;
      }
    }
	if(document.form_reg.password.value=='Пароль') {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Пароль. Поле є обов`язковим.';
    	document.form_reg.password.focus();
    	return false;
	}
	if(document.form_reg.password.value.length<6) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Пароль. Мінімальна довжина 6 символiв.';
    	document.form_reg.password.focus();
    	return false;
	}
	if(document.form_reg.password2.value=='Пароль') {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Пароль (підтвердження). Поле є обов`язковим.';
    	document.form_reg.password2.focus();
    	return false;
	}
	if(document.form_reg.password2.value.length<6) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Пароль (підтвердження). Мінімальна довжина 6 символiв.';
    	document.form_reg.password2.focus();
    	return false;
	}
	if(document.form_reg.password.value!=document.form_reg.password2.value) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Паролі повинні збігатися.';
    	document.form_reg.password.focus();
    	return false;
	}
	// captcha
	if(document.form_reg.rand.value=='') {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Код підтвердження. Поле є обов`язковим.';
    	document.form_reg.rand.focus();
    	return false;
	}
	if(!check_form_main())
		return false;
	if(flagCheckName!=2) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Такий логін вже зайнято. Будь-ласка оберіть інший...';
    	document.form_reg.login.focus();
    	return false;
	}
	if(flagCheckRand!=2) {
		message   = document.getElementById('form_reg_error');
    	message.innerHTML = 'Код підтвердження помилковий. Будь-ласка спробуйте ще раз...';
    	document.form_reg.rand.focus();
    	return false;
	}
	message   = document.getElementById('form_reg_error');
   	message.innerHTML = '<span style="color:#00FF00;">Форма заповнена успішно!</span>';
	return true;
}