var isError = new Array();
isError['url']		= true;
isError['url_href']	= true;
isError['email']	= true;
isError['cat_id']	= true;
isError['name']		= true;
isError['descr']	= true;
isError['keyz']		= true;
isError['agree']	= true;
isError['parol']	= false;

function perenos(says, dlina) {
	var output = '';
	var realmaxi = 0;
	var mini=0;
	while (realmaxi!=-1) {
		maxi = mini + dlina;
		if (maxi>says.length) {
			output = output + says.substring(mini, maxi) + '<br />';
			realmaxi=-1;
		} else {
			realmini = says.substring(mini, maxi).indexOf(' ')
			realmaxi = says.substring(mini, maxi).lastIndexOf(' ');
			if ( realmini == realmaxi ) {
				output = output + says.substring(mini, maxi) + '<br />';
				realmaxi=-1;
			} else {
				output = output + says.substr(mini, realmaxi) + '<br />';
			}
			mini = mini + realmaxi + 1;
		}
	}
	return output;
}

function say(phrase) {
	var says = new Array();
	says[1] = 'тИЦ – тематический индекс цитирования, который показывает авторитетность ресурса относительно других, близких по тематике сайтов и используется для ранжирования сайтов в каталоге Яндекса.';
	says[2] = 'PR (Google PageRank) - численное значение, которое отражает, насколько значима данная страница в интернете. Он является одним из факторов, определяющих порядок вывода результатов поиска. Это не единственный фактор, который используется для оценки страниц, но один из важнейших.';
	says[3] = 'WR (WebaltaRank) - значение, определяющее положение интернет-ресурса в поисковой системе Webalta.ru, с учетом ссылок и цитат на него с других сайтов.';
	says[4] = 'К регистрации принимаются только сайты зарегистрированные на доменах второго уровня. Адрес сайта обязательно должен быть полным.';
	says[5] = 'На этот адрес будет выслано письмо со ссылкой для подтверждения регистрации. Обязуюсь никак не использовать ваш E-mail адрес.';
	says[6] = 'Разместив сайт в подходящем разделе, вы не только получите ссылку для поисковиков, но и можете рассчитывать на посетителей с каталога.';
	says[7] = 'Данный текст станет ссылкой на Ваш сайт. Во избежание удаления сайта как спам, используйте только осмысленный текст, а не набор ключевых слов. Не допускайте грамматических ошибок.';
	says[8] = 'Не делайте описание бессмысленным набором ключевых фраз, не допускайте в них грамматических ошибок! Сайты с некачественным описанием не будут приняты.';
	says[9] = 'Список ключевых слов, которые характеризуют ваш сайт. Слова необходимо перечислять через запятую.';
	says[10] = 'Вставьте этот код в любую страницу Вашего сайта. Важным моментом является правильность установки кода! Если код будет установлен неправильно, - сайт будет удален из каталога.';
	document.getElementById('say').innerHTML = perenos(says[phrase], 65);
}

function showLength(id, min, max) {

//alert("!!!");
//say("!!!");
	curField = document.getElementById(id.name);
	on = id.value.length;
	ln = max - on;
	if (ln < 0) { ln = 0; id.value = id.value.slice(0,max); on = max; }
	lnpx = Math.round(id.value.length / max * 200);
	if (lnpx == 0) lnpx = 1;
	if (lnpx == 200) lnpx = 199;
	if (ln > (max - min)) {
		color2='#fcc';
		color='#f77';
		isError[id.name] = true;
		curField.className = 'input_red';
	} else {
		color2='#cfc';
		color='#7f7';
		isError[id.name] = false;
		curField.className = 'input_green';
	}
	document.getElementById(id.name + '_cntr').innerHTML = '<img src="img/zero.gif" align="middle" width="' + lnpx + '" height="10px" style="background:' + color + '"/><img src="img/zero.gif" align="middle" width="' + (200 - lnpx) + '" height="10px" style="background:' + color2 + '"/> введено: ' + on + ' осталось: ' + ln;
	isErrors();
}



function showResult() 	{
	if (!document.getElementById('name').value.length) { name = 'Название сайта'; } 
		else { name = document.getElementById('name').value; }
	if (!document.getElementById('descr').value.length) { descr = 'Описание сайта'; } 
		else { descr = document.getElementById('descr').value; }

	document.getElementById('result').innerHTML = 'Ваша ссылка будет выглядить так:<br><a href=\''+ document.getElementById('url').value+'\' target=_blank  class="svoy"><b>' + name + '</b></a><br>' + descr;
			}



function isErrors() {
	add = document.getElementById("add");
	add.disabled = false;
	for ( var i in isError ) {
		if( isError[i] ) {	add.disabled = true; }
	}
}

function testURL() {
	var urlFilter = /^http:\/\/www\.[\.a-z0-9-]{0,66}\.[a-z]{2,4}[\/]{0,1}$/i
	url = document.getElementById("url");
	if ( !urlFilter.test(url.value) ) {
		url.className = 'input_red';
		isError['url'] = true;
		//say(4);
	} else {
		url.className = 'input_green';
		isError['url'] = false;
	}
	isErrors();
}

function testURL_HREF() {

//isError['url_href'] = true;


	url_href = document.getElementById("url_href");
	if (url_href.value == 'http://www.')
		{isError['url_href'] = true;}
	else 
		{isError['url_href'] = false;}

	isErrors();
}


function testEmail() {
	var emailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	email = document.getElementById("email");
	if ( !emailFilter.test(email.value) ) {
		email.className = 'input_red';
		isError['email'] = true;
		//say(5);
	} else {
		email.className = 'input_green';
		isError['email'] = false;
	}
	isErrors();
}

function testCat() {
	cat_id = document.getElementById("cat_id");
	if ( cat_id.value == 0 ) {
		cat_id.className = 'input_red';
		isError['cat_id'] = true;
		//say(6);
	} else {
		cat_id.className = 'input_green';
		isError['cat_id'] = false;
	}
	isErrors();
}


function testPASS(id) {


	on = id.value.length;
	ln = 8 - on;
	if (ln < 0) { ln = 0; id.value = id.value.slice(0,8); on = 8; }


	parol = document.getElementById('parol');
	var passFilter = /^([a-z0-9]{4,8})$/i
	// var passFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if ( !passFilter.test(parol.value) ) {
		parol.className = 'input_red';
		//isError['parol'] = true;
		//say(4);
	} else {
		parol.className = 'input_green';
		//isError['parol'] = false;
	}
//isErrors();

}

function testAGREE() {

	agree = document.getElementById("agree");
//	alert(agree.value);

	if (agree.checked == true) 
	{
		{isError['agree'] = false;}
//alert("1");
	}
	else
	{
		{isError['agree'] = true;}
//alert("0");
	}




//	if ( agree.value == 0 ) {
//		cat_id.className = 'input_red';
//		isError['cat_id'] = true;
//		//say(6);
//	} else {
//		cat_id.className = 'input_green';
//		isError['cat_id'] = false;
//	}
	isErrors();

//alert("!!!");

}

function refresh() 
{
	

//email = document.getElementById("email");
testEmail();
testURL();
testURL_HREF();
//id = document.getElementById("cat_id");
testCat();


id = document.getElementById("name");
showLength(id, 10, 100);

id = document.getElementById("descr");
showLength(id, 100, 250);

id = document.getElementById("keyz");
showLength(id, 10, 250);


id = document.getElementById("parol");
testPASS(id);

}


