function ChangeRegion() {
	var frm = document.forms.regFrm;
	var id_country = frm.id_country.value;
	var i,len,id_region;
	var mrequest = '';

	frm.elements["id_region"].disabled = true;
	len = frm.elements["id_region"].length;
	for (i=len-1; i>0; i--) {
		frm.elements["id_region"].options[i] = null;
	}

	ChangeCity();

	if (id_country > 0) {
		mrequest += '?country=' + encodeURI(id_country.toString());
		mrequest += '&method=CabRegRegion';
		
		loadXMLDoc(mrequest);
	} 
}



function CabRegRegion(result) {
	var frm = document.forms.regFrm;
	var tmp_arr = new Array();
	var i, j=1;

	if (result && result != '0') {
		tmp_arr = result.split(';');
		for (i=0; i<tmp_arr.length; i=i+2) {
			frm.elements["id_region"].options[j] = new Option(tmp_arr[i], tmp_arr[i+1]);
			j++;
		}
	}

	frm.elements["id_region"].disabled = false;
	//document.getElementById('org_region_div').style.display = 'block';
}



function ChangeCity() {
	var frm = document.forms.regFrm;
	var id_region = frm.id_region.value;
	var i,len;
	var mrequest = '';

	frm.elements["id_city"].disabled = true;
	//document.getElementById('org_city_div').style.display = 'none';
	len = frm.elements["id_city"].length;
	for (i=len-1; i>0; i--) {
		frm.elements["id_city"].options[i] = null;
	}

	if (id_region > 0) {
		mrequest += '?region=' + encodeURI(id_region.toString());
		mrequest += '&method=CabRegCity';
		
		loadXMLDoc(mrequest);

		//document.getElementById('org_region_div').style.display = 'none';
	} else {
		//document.getElementById('org_region_div').style.display = 'block';
	}
}



function CabRegCity(result) {
	var frm = document.forms.regFrm;
	var tmp_arr = new Array();
	var i, j=1;

	if (result && result != '0') {
		tmp_arr = result.split(';');
		for (i=0; i<tmp_arr.length; i=i+2) {
			frm.elements["id_city"].options[j] = new Option(tmp_arr[i], tmp_arr[i+1]);
			j++;
		}
	}

	frm.elements["id_city"].disabled = false;
	//document.getElementById('org_city_div').style.display = 'block';
}



function CityCheck() {
	var frm = document.forms.regFrm;
	var id_city = frm.id_city.value;

	if (id_city > 0) {
		//document.getElementById('org_city_div').style.display = 'none';
	} else {
		//document.getElementById('org_city_div').style.display = 'block';
	}
}



function ManRegion() {
	var frm = document.forms.regFrm;
	var org_country = frm.org_country.value;

	if (org_country) {
		//document.getElementById('org_region_div').style.display = 'block';
	}
}



function ChkRegFrm() {
	var frm = document.forms.regFrm;
	var re_email = /^[-a-z0-9_\.]+@{1}[-a-z0-9_\.]+\.{1}[-a-z0-9_\.]+$/i;
	var re_digits = /^[0-9]+$/;
	var re_phone = /^[-\+0-9\s\(\)]+$/i;
	var re_ccode = /^[0-9]{6}$/;
	var message = '';
	var cid;

	var org_title = frm.org_title.value;
	var id_org_type = frm.id_org_type.options[frm.id_org_type.selectedIndex].value;
	var id_country = frm.id_country.options[frm.id_country.selectedIndex].value;
	var id_region = frm.id_region.options[frm.id_region.selectedIndex].value;
	//var org_region = frm.org_region.value;
	var id_city = frm.id_city.options[frm.id_city.selectedIndex].value;
	//var org_city = frm.org_city.value;
	var org_phone_1 = frm.org_phone_1.value;
	var org_phone_2 = frm.org_phone_2.value;
	var org_phone_3 = frm.org_phone_3.value;
	var org_fax = frm.org_fax.value;
	var org_icq = frm.org_icq.value;
	//var name = frm.name.value;
	var phone_mob = frm.phone_mob.value;
	var phone = frm.phone.value;
	var icq = frm.icq.value;
	var email = frm.email.value;
	var pwd = frm.pwd.value;
	var re_pwd = frm.re_pwd.value;
	var agree = frm.agree.checked;
	var ccode = frm.ccode.value;
	
	if (!org_title && !message) {
		message += 'Необходимо ввести название организации / Ф. И. О. участника';
		message += "<br />\n";
		cid = document.getElementById('org_title');
		cid.className='tx_on';
	}

	if (id_org_type == '0' && !message) {
		message += 'Необходимо выбрать тип организации';
		message += "<br />\n";
		cid = document.getElementById('id_org_type');
		cid.className='tx_on';
	}

	if (id_country == '0' && !message) {
		message += 'Необходимо выбрать страну';
		message += "<br />\n";
		cid = document.getElementById('id_country');
		cid.className='tx_on';
	}

	if (id_region == '0' && !message) {
		message += 'Необходимо выбрать регион';
		message += "<br />\n";
		cid = document.getElementById('id_region');
		cid.className='tx_on';
	}
	
	/*
	if (id_region != '0' && org_region && !message) {
		message += 'Необходимо либо выбрать регион либо ввести свой вариант';
		message += "<br />\n";
		cid = document.getElementById('org_region');
		cid.className='tx_on';
	}
	*/

	
	if (id_city == '0' && !message) {
		message += 'Необходимо выбрать город';
		message += "<br />\n";
		cid = document.getElementById('id_city');
		cid.className='tx_on';
	}
	
	/*
	if (id_city != '0' && org_city && !message) {
		message += 'Необходимо либо выбрать город либо ввести свой вариант';
		message += "<br />\n";
		cid = document.getElementById('org_city');
		cid.className='tx_on';
	}
	*/

	if (org_phone_1 && !org_phone_1.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Городской телефон #1)';
		message += "<br />\n";
		cid = document.getElementById('org_phone_1');
		cid.className='tx_on';
	}

	if (org_phone_2 && !org_phone_2.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Городской телефон #2)';
		message += "<br />\n";
		cid = document.getElementById('org_phone_2');
		cid.className='tx_on';
	}

	if (org_phone_3 && !org_phone_3.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Городской телефон #3)';
		message += "<br />\n";
		cid = document.getElementById('org_phone_3');
		cid.className='tx_on';
	}

	if (org_fax && !org_fax.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Факс)';
		message += "<br />\n";
		cid = document.getElementById('org_fax');
		cid.className='tx_on';
	}

	if (org_icq && !org_icq.match(re_digits) && !message) {
		message += 'Некорректный формат номера icq (допускаются только цифры без пробелов)';
		message += "<br />\n";
		cid = document.getElementById('org_icq');
		cid.className='tx_on';
	}

	/*
	if (!name && !message) {
		message += 'Необходимо ввести Ф. И. О.';
		message += "<br />\n";
		cid = document.getElementById('name');
		cid.className='tx_on';
	}
	*/
	
	if (phone_mob && !phone_mob.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Моб. телефон)';
		message += "<br />\n";
		cid = document.getElementById('phone_mob');
		cid.className='tx_on';
	}

	if (phone && !phone.match(re_phone) && !message) {
		message += 'Некорректный формат номера телефона (Телефон)';
		message += "<br />\n";
		cid = document.getElementById('phone');
		cid.className='tx_on';
	}

	if (icq && !icq.match(re_digits) && !message) {
		message += 'Некорректный формат номера icq (допускаются только цифры без пробелов)';
		message += "<br />\n";
		cid = document.getElementById('icq');
		cid.className='tx_on';
	}

	if (!email.match(re_email) && !message) {
		message += 'Необходимо ввести корректный e-mail адрес';
		message += "<br />\n";
		cid = document.getElementById('email');
		cid.className='tx_on';
	}

	if (!pwd && !message) {
		message += 'Необходимо ввести пароль';
		message += "<br />\n";
		cid = document.getElementById('pwd');
		cid.className='tx_on';
	}

	if (pwd && re_pwd != pwd && !message) {
		message += 'Пароль и его подтверждение не совпадают';
		message += "<br />\n";
		cid = document.getElementById('re_pwd');
		cid.className='tx_on';
	}

	if (!agree && !message) {
		message += 'Для успешной регистрации необходимо согласиться с условиями';
		message += "<br />\n";
		cid = '';
	}

	if (!ccode.match(re_ccode) && !message) {
		message += 'Необходимо ввести 6 цифр с картинки';
		message += "<br />\n";
		cid = document.getElementById('ccode');
		cid.className='tx_on';
	}

	if (message) {
		hs.htmlExpand(frm.sbm, { contentId: 'errorBox' } );
		document.getElementById('errorBoxBody').innerHTML = message;
	} else {
		ChkRegFrmOrgTitle();
	}

	return false;
}



function ChkRegFrmOrgTitle() {
	var frm = document.forms.regFrm;
	var org_title = frm.org_title.value;

	var mrequest = '';

	if (org_title) {
		mrequest += '?title=' + encodeURI(org_title.toString());
		mrequest += '&method=CabRegRegionOrgTitle';

		loadXMLDoc(mrequest);
	}
}



function CabRegRegionOrgTitle(result) {
	var message = '';
	var frm = document.forms.regFrm;
	var cid = frm.org_title;
	
	//alert('1 - ' + result);

	if (result == 0 || result == '0') {
		message = 'Организация с таким названием уже существует, выберите другое';
	}

	if (message) {
		hs.htmlExpand(frm.sbm, { contentId: 'errorBox' } );
		document.getElementById('errorBoxBody').innerHTML = message;
		//document.getElementById('errorBoxDiv').style.height = '120px';
		cid.className='tx_on';
	} else {
		ChkRegFrmEmail();
	}
}



function ChkRegFrmEmail() {
	var frm = document.forms.regFrm;
	var email = frm.email.value;
	var mrequest = '';

	if (email) {
		mrequest += '?email=' + encodeURI(email.toString());
		mrequest += '&method=CabRegRegionEmail';
		
		loadXMLDoc(mrequest);
	}
}



function CabRegRegionEmail(result) {
	var message = '';
	var frm = document.forms.regFrm;
	var cid = frm.email;

	//alert('2 - ' + result);

	if (result == 0 || result == '0') {
		message = 'Пользователь с таким e-mail уже существует, выберите другой';
	}

	if (message) {
		hs.htmlExpand(frm.sbm, { contentId: 'errorBox' } );
		document.getElementById('errorBoxBody').innerHTML = message;
		//document.getElementById('errorBoxDiv').style.height = '120px';
		cid.className='tx_on';
	} else {
		ChkRegFrmCcode();
		//frm.submit();
	}
}




function ChkRegFrmCcode() {
	var frm = document.forms.regFrm;
	var ccode = frm.ccode.value;
	var sess_id = frm.sess_id.value;
	var mrequest = '';

	if (ccode) {
		mrequest += '?ccode=' + encodeURI(ccode.toString());
		mrequest += '&method=CabRegRegionCcode';
		mrequest += '&sessid=' + encodeURI(sess_id);
		
		loadXMLDoc(mrequest);
	}
}




function CabRegRegionCcode(result) {
	var message = '';
	var frm = document.forms.regFrm;
	var cid = frm.ccode;

	//alert('3 - ' + result);

	if (result == 0 || result == '0') {
		message = 'Неверный код, попробуйте еще раз';
	}

	if (message) {
		hs.htmlExpand(frm.sbm, { contentId: 'errorBox' } );
		document.getElementById('errorBoxBody').innerHTML = message;
		//document.getElementById('errorBoxDiv').style.height = '120px';
		cid.className='tx_on';
	} else {
		frm.submit();
	}
}