browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

if (((browserName == "Netscape") && (browserVer >= 3)) || ((browserName == "Microsoft Internet Explorer") && (browserVer >= 4))) useImages = "1";
else useImages = "0";

function newWindow(href, title, w, h, scrollbars) {
	w1=window.open(href,title,'resizable=no,menubar=no,status=no,scrollbars='+scrollbars+',width='+w+',height='+h);
	if (useImages == "1") {
		w1.focus();
	}
}

function isNeedFieldsFilled(formName, reqFields) {
	var fieldValue;
	var fieldType;
	var fieldName;
	var isSomeFieldNotFilled = false;
	var i;

	for (i=0; i<reqFields.length; i++) {
	
		if (fieldType = document.forms[formName].elements[reqFields[i]].type) {
		} else if (fieldType = document.forms[formName].elements[reqFields[i]][0].type) {
		} else {
			alert('!');
		}
		
		if (fieldType == 'radio') {
		
			var checked = 0;
			var j;
			for (j=0; j<document.forms[formName].elements[reqFields[i]].length; j++) {
				if (document.forms[formName].elements[reqFields[i]][j].checked) {
					checked = 1;
					break;
				}
			}
			
			if (!checked) {
				isSomeFieldNotFilled = true;
				break
			}

		} else {

			fieldValue = document.forms[formName].elements[reqFields[i]].value;
			
			if (fieldValue.indexOf(':!:') == -1) {
				if (!fieldValue.match(/\S{1,}/g)) {
					isSomeFieldNotFilled = true;
					break;
				}
			} else {
				if (!fieldValue.match(/\S{1,}:!:\S{0,}/g)) {
					isSomeFieldNotFilled = true;
					break;
				}
			}	
		}
	}
	
	if (isSomeFieldNotFilled) {
		alert('Необходимо заполнить все обязательные поля!');
		
		if (fieldType == 'radio') {
			document.forms[formName].elements[reqFields[i]][0].focus();
		} else if (fieldType == 'hidden') {
			fieldName = document.forms[formName].elements[reqFields[i]].name;
			fieldName = fieldName.substring(formName.length+1, fieldName.length);
			document.forms[formName].elements[fieldName].focus();
		} else {
			document.forms[formName].elements[reqFields[i]].focus();
		}
		
		return false;
	} else {
		return true;
	}
}

function isEmailValid (emailField) {
	var isIncorrect = false;
	var i;
	
	if (emailField.value.match(/\S{1,}@\S{1,}/g)) {
	} else {
		isIncorrect = true;
	}
	
	if (isIncorrect) {
		alert('Введите реальный адрес E-mail!');
		emailField.focus();
		return false;
	} else {
		return true;
	}	
}

function prepareField(formName, fieldToPrepare, field1, field2, field3) {

	var idx;
	var val1;
	var val2;
	var val3;

	idx = document.forms[formName].elements[field1].selectedIndex;
	val1 = document.forms[formName].elements[field1].options[idx].value;
	val2 = document.forms[formName].elements[field2].value;
	
	if (field3) {
		val3 = document.forms[formName].elements[field3].value;
	}

	if (field3 && (!val1.match(/\S{1,}:!:\S{1,}/g))) {
		document.forms[formName].elements[fieldToPrepare].value = val2+':!:'+val3;
	} else if (field3) {
		document.forms[formName].elements[fieldToPrepare].value = val1;
	} else if (!val1.match(/\S{1,}/g)) {
		document.forms[formName].elements[fieldToPrepare].value = val2;
	} else {
		document.forms[formName].elements[fieldToPrepare].value = val1;
	}
}

function isNumber(field) {
	if (field.value.match(/\d+/g)) {
		return true;
	} else {
		field.focus();
		alert('Числовое поле!');
		return false;
	}
}

