
function na_change_img_src(name, nsdoc, rpath, preload)
{ 
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img) {
    img.altsrc = img.src;
    img.src    = rpath;
  } 
}

function na_restore_img_src(name, nsdoc)
{
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img && img.altsrc) {
    img.src    = img.altsrc;
    img.altsrc = null;
  } 
}

function checkCom(field,name) {
	var emailStr=field.value;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:'\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alertMessage+="Поле "+name+": Неверно введенный комментарий (проверьте @ и .'s)\n";
		validationOk=false;
		return;
	}
}

function checkEmail(field,name) {
	var emailStr=field.value;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:'\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alertMessage+="Поле "+name+": Неверно введенный Email (проверьте @ и .)\n";
		validationOk=false;
		return;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alertMessage+="Поле "+name+": Неверное имя пользователя.\n";
			validationOk=false;
			return;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
		alertMessage+="Поле "+name+": Имя домена содержит неверные символы.\n";
		validationOk=false;
		return;
		}
	}
	if (user.match(userPat)==null) {
		alertMessage+="Поле "+name+": Неверное имя пользователя .\n";
		validationOk=false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alertMessage+="Поле "+name+": Неверный IP адрес!\n";
				validationOk=false;
				return;
			}
		}
		return;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alertMessage+="Поле "+name+": Неверный домен.\n";
			validationOk=false;
			return;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alertMessage+="Поле "+name+": Адрес должен завершаться на известный домен или двубуквенный код страны.\n";
		validationOk=false;
		return;
	}
	if (len<2) {
		alertMessage+="Поле "+name+": Имя хоста не определено!\n";
		validationOk=false;
		return;
	}
}



function photos(cid)
{
	//var new_win = window.open('index.php?content=photos2&cid='+cid,'photos','menubar=no,scrollbars=no,status=no,width=500,height=700, toolbar=no, titlebar=no')
	var new_win = window.open('index.php?content=photos2&cid='+cid,'photos','menubar=no,status=no,toolbar=no,titlebar=no,width=800,height=610');
	new_win.focus();
}


function CheckCount(MaxLen,fname)
{
	if (document.getElementById(fname).value.length >= MaxLen)
	{
		alert("Объем текста не должен превышать "+MaxLen+" символов");
		document.all[fname].value = document.all[fname].value.substring(0, MaxLen-2);
	}
}


function checkRequired(name, fieldCtl)
{	
	var fieldValue=fieldCtl.value;
	if (fieldValue.length<1) 
	{
		alertMessage+="Поле "+name+" должно быть заполнено!\n";
		validationOk=false;
		fieldCtl.focus();
		return;
	}	
}

function checkExpression(name,fieldCtl,regexp,val_desc) 
{	
	var fieldValue=fieldCtl.value;		
	if (!regexp.test(fieldValue)) 
	{		
		alertMessage+="Поле "+name+" должно содержать только " + val_desc + " !\n";
		validationOk=false;
		fieldCtl.focus();
		return;
	}
}


function handlePwdRecoverForm()
{
	alertMessage='';
	validationOk=true;

	var frmComment = document.forms["pwdRecover"];

	checkRequired('Ваше Имя',frmComment.elements["name"]);		
	checkRequired('Ключевое слово',frmComment.elements["secretKey"]);			
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	
	return true;
}


function handleCommentForm()
{
	alertMessage='';
	validationOk=true;

	var frmComment = document.forms["addComment"];

	checkRequired('Ваше Имя',frmComment.elements["name"]);		
	checkRequired('Ваш Email',frmComment.elements["email"]);		
	checkEmail(frmComment.elements["email"],'Ваш Email');
	checkRequired('Комментарий',frmComment.elements["comment"]);
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	
	return true;
}


function handleRegistrationForm()
{
	alertMessage='';
	validationOk=true;
	
	var frmRegister = document.forms["frmRegister"];
	
	
	if (frmRegister.elements["formMode"].value == "doRegister")
	{
		checkRequired('Ваш Ник',frmRegister.elements["Login"]);		
		checkRequired('Пароль',frmRegister.elements["Password"]);
		
		checkRequired('Ключевое слово',frmRegister.elements["SecretAnswer"]);
	}
		
	checkRequired('Имя',frmRegister.elements["Name"]);
	checkRequired('Фамилия',frmRegister.elements["Surname"]);
	
	checkRequired('Страна проживания',frmRegister.elements["Country"]);
	checkRequired('Город',frmRegister.elements["City"]);
	checkRequired('E-mail',frmRegister.elements["Email"]);
	checkEmail(frmRegister.elements["Email"],'E-mail');

	checkRequired('Рост',frmRegister.elements["Height"]);
	checkExpression('Рост',frmRegister.elements["Height"],/\d{3}/,"три цифры");
	checkRequired('Вес',frmRegister.elements["Weight"]);
	checkExpression('Вес',frmRegister.elements["Weight"],/\d{2,3}/,"две или три цифры");
	checkRequired('Цвет глаз',frmRegister.elements["EyeColor"]);
	checkRequired('Цвет волос',frmRegister.elements["HairColor"]);
	checkRequired('Объем груди',frmRegister.elements["VBossom"]);
	checkExpression('Объем груди',frmRegister.elements["VBossom"],/\d{2,3}/,"две или три цифры");
	checkRequired('Объем талии',frmRegister.elements["VWaist"]);
	checkExpression('Объем талии',frmRegister.elements["VWaist"],/\d{2,3}/,"две или три цифры");
	checkRequired('Объем бедер',frmRegister.elements["VHips"]);
	checkExpression('Объем бедер',frmRegister.elements["VHips"],/\d{2,3}/,"две или три цифры");
	checkRequired('Образование',frmRegister.elements["Education"]);


	checkRequired('Ваши увлечения',frmRegister.elements["YourPassion"]);	
	checkRequired('Кем вы видите себя через 10 лет?',frmRegister.elements["YouInTenYears"]);
	checkRequired('Ваш идеал женщины?',frmRegister.elements["YourWoman"]);
	checkRequired('Ваш идеал мужчины?',frmRegister.elements["YourMan"]);
	checkRequired('Какие качества вы уважаете в людях?',frmRegister.elements["YourLikeStrains"]);
	checkRequired('Как вы проводите своё свободное время?',frmRegister.elements["YourLeasure"]);
	checkRequired('Ваша любимая книга?',frmRegister.elements["YourBestBook"]);
	checkRequired('Ваш любимый писатель?',frmRegister.elements["YourBestWriter"]);
	checkRequired('Ваш любимый кинофильм?',frmRegister.elements["YourBestMovie"]);
	checkRequired('Ваши музыкальные пристрастия?',frmRegister.elements["YourBestMusic"]);
	checkRequired('Когда вы в первый раз влюбились?',frmRegister.elements["FirstTimeYouLove"]);
	checkRequired('Самое запоминающееся событие в вашей жизни?',frmRegister.elements["YourMainEpisode"]);
	checkRequired('Любимое место отдыха?',frmRegister.elements["YourBestRestPlace"]);
	checkRequired('В какой стране мира вы хотели бы проживать? И почему?',frmRegister.elements["YourBestCountry"]);
	checkRequired('Владеете ли вы иностранным языком? Каким?',frmRegister.elements["YourForeignLanguages"]);
	checkRequired('В чём по-вашему заключается секрет гармоничных взаимоотношений с противоположным полом?',frmRegister.elements["YourSexHarmony"]);
	checkRequired('Какие черты характера вам в себе не нравятся?',frmRegister.elements["YourWorstStrains"]);
	checkRequired('От каких вредных привычек вы бы хотели избавиться?',frmRegister.elements["YourBadHabits"]);
	checkRequired('Какие качества вы бы хотели развить в себе?',frmRegister.elements["YourImprovementStrains"]);
	checkRequired('Можно ли вас вогнать в краску и что для этого нужно сделать?',frmRegister.elements["YourRedReasons"]);
	
	if (frmRegister.elements["formMode"].value == "doRegister")
	{
		var foundImage = false;
		for (var ic=1; ic <= 10; ic++)
		{
			if (frmRegister.elements["Image_" + ic].value != "")
				foundImage = true;
		}
		if (!foundImage)	
		{
			validationOk = false;
			alertMessage += "Необходимо предоставить как минимум одну фотографию!";
		}
	}
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	
	frmRegister.submit();
}



function doPhotoDelete()
{

	//var res = confirm("Вы действительно хотите удалить фотографии?");
	//if (res < 1) return false;

	var frmRegister = document.forms["frmRegister"];
	frmRegister.elements["paction"].value = "doDeletePhotos";
	frmRegister.submit();
}


function addComment(cid)
{
	window.open('comment.php?cid='+cid,'vote','menubar=no,scrollbars=no,status=no,width=550,height=400,toolbar=no,titlebar=no');
}

function pwdRecover()
{
	window.open('pwdrecover.php','recover','menubar=no,scrollbars=no,status=no,width=450,height=300,toolbar=no,titlebar=no');
}