function changeCity(country) {
	country = country.selectedIndex;
	if (country != 0) {
		document.getElementById('lcity').style.display = 'none';
		document.getElementById('fcity').style.display = '';
	} else {
		document.getElementById('fcity').style.display = 'none';
		document.getElementById('lcity').style.display = '';
	}
}

function showSign(el) {
	if (el.value >= 20 && el.value <= 25) {
		document.getElementById('sign').style.display = '';
	} else {
		document.getElementById('sign').style.display = 'none';
	}
}

function changeSign(el) {
	var zmonths = new Array(Array(10,11), Array(11,12), Array(12,1), Array(1,2), Array(2,3), Array(3,4), Array(4,5), Array(5,6), Array(6,7), Array(7,8), Array(8,9), Array(9,10));
	document.getElementById('Zsign').options.length = 0;
	for (i=0; i < 2; i++) {
		monthNum = zmonths[el.value-1][i];
		document.getElementById('Zsign').options[i] = new Option(zodies[monthNum-1],monthNum);
	}
}

function validate(step) {
	switch (step) {
		case 1:
			var obj = document.getElementById('regUsername');
			if (obj.value.length < 1) {
				alert(msgEmptyUsername)
				obj.focus();
				obj.select();
				return false;
			}

			if (obj.value.length < 4) {
				alert(msgShortUsername)
				obj.focus();
				obj.select();
				return false;
			}

			re = /[^A-Za-z0-9._]/g;
			if (obj.value.match(re)) {
				alert(msgInvalidUsername)
				obj.focus();
				obj.select();
				return false;
			}

			obj = document.getElementById('regPassword');
			if (obj.value.length < 1) {
				alert(msgEmptyPassword)
				obj.focus();
				obj.select();
				return false;
			}

			if (obj.value.length < 4) {
				alert(msgShortPassword)
				obj.focus();
				obj.select();
				return false;
			}

			re = new RegExp("["+pregRange+" ]","g");
			if (obj.value.match(re)) {
				alert(msgInvalidPassword)
				obj.focus();
				obj.select();
				return false;
			}

			obj1 = document.getElementById('regPassword2');
			if (obj1.value.length < 1) {
				alert(msgEmptyRepeatPassword)
				obj1.focus();
				obj1.select();
				return false;
			}

			if (obj.value != obj1.value) {
				alert(msgDiffPasswords)
				obj.focus();
				obj.select();
				return false;
			}

			obj = document.getElementById('regFName');
			if (obj.value.length < 1) {
				alert(msgEmptyFirstName)
				obj.focus();
				obj.select();
				return false;
			}

			//re = /[^A-Za-zа-яА-Я\-]/g;
			re = new RegExp("[^A-Za-z"+pregRange+"\-]","g");
			if (obj.value.match(re)) {
				alert(msgInvalidFirstName)
				obj.focus();
				obj.select();
				return false;
			}

			obj = document.getElementById('lname');
			if (obj.value.length < 1) {
				alert(msgEmptyFamilyName)
				obj.focus();
				obj.select();
				return false;
			}

			//re = /[^A-Za-zа-яА-Я\-]/g;
			re = new RegExp("[^A-Za-z"+pregRange+"\-]","g");
			if (obj.value.match(re)) {
				alert(msgInvalidFamilyName)
				obj.focus();
				obj.select();
				return false;
			}

			obj = document.getElementById('regEmail');
			if (obj.value.length < 1) {
				alert(msgEmptyEmail)
				obj.focus();
				obj.select();
				return false;
			}

			re = /^[_A-Za-z][_A-Za-z0-9\-\.]+@[_A-Za-z0-9\-\.]+\.[_A-Za-z][_A-Za-z0-9]+$/g;
			if (!obj.value.match(re)) {
				alert(msgInvalidEmail)
				obj.focus();
				obj.select();
				return false;
			}

			re = /www\.|@\.|\.\./g;
			if (obj.value.match(re)) {
				alert(msgInvalidEmail)
				obj.focus();
				obj.select();
				return false;
			}

			obj = document.getElementById('regCountry');
			if (obj.selectedIndex != 0) {
				obj1 = document.getElementById('regFCity');
				if (obj1.value.length < 1) {
					alert(msgEmptyCity)
					obj1.focus();
					obj1.select();
					return false;
				}

				re = /[^A-Za-zа-яА-Я\- ]/g;
				if (obj1.value.match(re)) {
					alert(msgInvalidCity)
					obj1.focus();
					obj1.select();
					return false;
				}
			}

			obj = document.getElementById('birthdayDate');
			/*if (obj.selectedIndex == 0) {
				alert(msgChooseDay)
				obj.focus()
				return false;
			}*/

			obj1 = document.getElementById('birthdayMonth');
			/*if (obj1.selectedIndex == 0) {
				alert(msgChooseMonth)
				obj1.focus()
				return false;
			}*/

			obj2 = document.getElementById('birthdayYear');
			/*if (obj2.selectedIndex == 0) {
				alert(msgChooseYear)
				obj2.focus()
				return false;
			}*/

			if (!isValidDate(obj.options[obj.selectedIndex].text, obj1.options[obj1.selectedIndex].value, obj2.options[obj2.selectedIndex].text)) {
				alert(msgInvalidDate)
				obj.focus()
				return false;
			}

			obj = document.getElementById('gender');
			if (obj.selectedIndex == 0) {
				alert(msgChooseGender)
				obj.focus()
				return false;
			}

			obj = document.getElementById('lookfor');
			if (obj.selectedIndex == 0) {
				alert(msgChooseYouAre)
				obj.focus()
				return false;
			}

			obj = document.getElementById('iam181');
			if (!obj.checked) {
				alert(msg18)
				obj.focus()
				return false;
			}

			obj = document.getElementById('rights1');
			if (!obj.checked) {
				alert(msgRights)
				obj.focus()
				return false;
			}
			break;
		case 2:
			var checked = checkArray('Rel_type[]');
			if (checked.length == 0) {
				alert(msgEmptyRelationship);
				return false;
			}
			checked = checkArray('Yint[]');
			if (checked.length == 0) {
				alert(msgEmptyInterests);
				return false;
			}
			var obj = document.getElementById('Pad_subject');
			if (obj.value.length < 5) {
				alert(msgEmptyPadSubject)
				obj.focus();
				obj.select();
				return false;
			}
			var obj = document.getElementById('Pad_text');
			if (obj.value.length < 5) {
				alert(msgEmptyPadText)
				obj.focus();
				obj.select();
				return false;
			}
			if (CheckLength(obj.value)) {
				alert(padText+msgFiledHas20LetterWord);
				obj.focus();
				obj.select();
				return false;
			}
			break;
		case 3:
			var obj = document.getElementById('ageFrom');
			var obj1 = document.getElementById('ageTo');
			if (obj.selectedIndex && obj1.selectedIndex) {
				if (obj.selectedIndex > obj1.selectedIndex) {
					var tmp = obj.selectedIndex;
					obj.selectedIndex = obj1.selectedIndex;
					obj1.selectedIndex = tmp;
				}
			}
			var obj = document.getElementById('heightFrom');
			var obj1 = document.getElementById('heightTo');
			if (obj.selectedIndex && obj1.selectedIndex) {
				if (obj.selectedIndex > obj1.selectedIndex) {
					var tmp = obj.selectedIndex;
					obj.selectedIndex = obj1.selectedIndex;
					obj1.selectedIndex = tmp;
				}
			}
			var obj = document.getElementById('weightFrom');
			var obj1 = document.getElementById('weightTo');
			if (obj.selectedIndex && obj1.selectedIndex) {
				if (obj.selectedIndex > obj1.selectedIndex) {
					var tmp = obj.selectedIndex;
					obj.selectedIndex = obj1.selectedIndex;
					obj1.selectedIndex = tmp;
				}
			}
			var obj = document.getElementById('partnerDesc');
			if (obj.value.length > 2000) {
				alert(msgFieldPartnerTooLong);
				obj.focus();
				obj.select();
				return false;
			}
			if (CheckLength(obj.value)) {
				alert(partnerText+msgFiledHas20LetterWord);
				obj.focus();
				obj.select();
				return false;
			}
			break;
		case 4:
			var checked = checkArray('Outgo[]');
			if (checked.length == 0) {
				alert(msgEmptyOutgo);
				return false;
			}
			checked = checkArray('Sport[]');
			if (checked.length == 0) {
				alert(msgEmptySport);
				return false;
			}
			checked = checkArray('Music[]');
			if (checked.length == 0) {
				alert(msgEmptyMusic);
				return false;
			}
			checked = checkArray('Litera[]');
			if (checked.length == 0) {
				alert(msgEmptyILitera);
				return false;
			}
			checked = checkArray('Kitchen[]');
			if (checked.length == 0) {
				alert(msgEmptyKitchen);
				return false;
			}
			break;
		case 5:
			var pic = document.getElementById('personalPic');
			if (trim(pic.value) == '') {
				alert(msgRegPicEmpty);
				pic.focus();
				pic.select();
				return false;
			}
			var ext = validExtension(pic.value,new Array('jpg','jpeg'));
			if (!ext) {
				alert(msgRegPicInvalid);
				pic.focus();
				pic.select();
				return false;
			}
			break;
	}
	// return false;
	return true;
}

function isValidDate(day, month, year) {
	res = true;

	if (month == 4 || month == 6 || month == 9 || month == 11) {
		daysInMonth = 30
	} else if (month == 2) {
		if (year%4 == 0) {
			if (year%100 == 0 && year%400 != 0) {
				daysInMonth = 28
			} else {
				daysInMonth = 29
			}
		} else {
			daysInMonth = 28
		}
	} else {
		daysInMonth = 31
	}

	if (day > daysInMonth) {
		res = false;
	}

	return res;
}

//var checkButton;
function checkUsername(ch) {
	request=getXmlHttpRequestObject();
	//checkButton = ch;
	var url = "ajax/checkUsername.php?username="+document.getElementById('regUsername').value;
	request.onreadystatechange=stateChanged;
	request.open("GET",url,true);
	request.setRequestHeader("Accept-Language", "bg, en");
	request.setRequestHeader("Accept-Charset", "utf8");
	request.send(null);
}

function checkPassword() {
	var obj1 = document.getElementById('regPassword');
	var obj2 = document.getElementById('regPassword2');
	if (obj1.value != obj2.value) {
		document.getElementById('checkPassword').style.display = '';
		document.getElementById('checkPassword').style.color = 'red';
		document.getElementById('checkPassword').innerHTML = msgDiffPasswords;
	}
}

function checkEmail(ch) {
	request=getXmlHttpRequestObject();
	//checkButton = ch;
	var url = "ajax/checkEmail.php?email="+document.getElementById('regEmail').value;
	request.onreadystatechange=stateChanged;
	request.open("GET",url,true);
	request.setRequestHeader("Accept-Language", "bg, en");
	request.setRequestHeader("Accept-Charset", "utf8");
	request.send(null);
}

function stateChanged() {
	if (request.readyState==4 || request.readyState=="complete") {
		//checkButton.style.display = 'none';
		xml = request.responseXML;
		var arr=getTagsAsArray(xml);

		if (arr[0]['id']) {
			document.getElementById(arr[0]['id']).style.display = '';
			document.getElementById(arr[0]['id']).style.color = arr[0]['color'];
			document.getElementById(arr[0]['id']).innerHTML = arr[0]['text'];
		}
	}
}
function openHelp(id) {
	var help = document.getElementById('helpContent');
	document.getElementById('help').style.display = '';
	for (var i = 0;i< help.childNodes.length;i++) {
		if (help.childNodes[i].tagName != undefined) {
			help.childNodes[i].style.display = 'none';
		}
	}
	document.getElementById(id).style.display = '';
}
function closeHelp(id) {
	document.getElementById('help').style.display = 'none';
	var help = document.getElementById('helpContent');
	for (var i = 0;i< help.childNodes.length;i++) {
		if (help.childNodes[i].tagName != undefined) {
			help.childNodes[i].style.display = 'none';
		}
	}
}

function checkArray(arrayName) {
	var retval = new Array();
	var objs = document.getElementsByName(arrayName);
	for (var i = 0;i< objs.length;i++) {
		if (objs[i].checked == true) {
			retval.push(objs[i].value);
		}
	}
	return retval;
}

function CheckLength(str) {
	var maxword = 20;
	str = str.replace(/<br\s*\/?>/ig,' ');
	str = str.replace(/(<([^>]+)>)/ig,"");
	var words = str.split(/\s/);
	for(var i=0; i<words.length; i++) {
		if(words[i].length > maxword) {
			return true;
		}
	}
	return false;
}

function walkForm(step) {
	var formFields = document.getElementById('regStep'+step).elements;
	var postParams = '';
	for (var i = 0;i< formFields.length;i++) {
		if (i == 0) {
			postParams += '';
		} else {
			postParams += '&';
		}
		if (formFields[i].type == 'checkbox') {
			if (formFields[i].checked) {
				postParams += formFields[i].name+'='+encodeURIComponent(formFields[i].value);
			}
		} else {
			postParams += formFields[i].name+'='+encodeURIComponent(formFields[i].value);
		}
		// debug(formFields[i].name,formFields[i].value);
	}
	return postParams;
}

function ajaxForm(step,btn) {
	btn.disabled = true;
	btn.value = ajaxLoading;
	requestForm=getXmlHttpRequestObject();
	var url = "ajax/regform.php";
	requestForm.onreadystatechange=formSubmittedState;
	requestForm.open("POST",url,true);
	requestForm.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf8');
	requestForm.setRequestHeader("Accept-Language", "bg, en");
	requestForm.setRequestHeader("Accept-Charset", "utf8");
	// debug(walkForm(step));
	requestForm.send(walkForm(step)+'&regstep='+step);
}

function ajaxFormStep(step) {
	requestForm=getXmlHttpRequestObject();
	var url = "ajax/regform.php";
	requestForm.onreadystatechange=formSubmittedState;
	requestForm.open("POST",url,true);
	requestForm.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf8');
	requestForm.setRequestHeader("Accept-Language", "bg, en");
	requestForm.setRequestHeader("Accept-Charset", "utf8");
	requestForm.send('&regstep='+step+'&sameScript=true');
}

function formSubmittedState() {
	if (requestForm.readyState==4 || requestForm.readyState=="complete") {
		document.getElementById('regStep').innerHTML = requestForm.responseText;
	}
}

