function setMailValue(selectName)
{
	var MailValueKey = document.getElementById(selectName).value;
	var elementTo = document.getElementById('notif_mails');
	elementTo.value = mailvalue[MailValueKey];
	//alert(elementTo.value);
	return;
}

var userflag = new Array();

function onchange_val_text()
{

	// Проверка текстового поля
	if(document.getElementById('usertext'))
	{
		var flag2 = 0;
		if (document.getElementById('usertext').value != '')
		{
			if (document.getElementById('usertext').value == '')
			{
				document.getElementById('usertext').style.border= borderErrorStyle;
				document.getElementById('usertext').style.background = backgroundErrorColor;
				//document.getElementById('errorusertext').innerHTML = 'Введите текст сообщения';
				flag2 = 0; //userflag.push(false);
				//return flag2;
			}
			else
			{
				document.getElementById('usertext').style.border = borderPassStyle;
				document.getElementById('usertext').style.background = backgroundPassColor;
				//document.getElementById('errorusertext').innerHTML = '';
				flag2 = 1; //userflag.push(true);
				//return flag2;
			}
		}
		else
		{
			document.getElementById('usertext').style.border = borderDefStyle;
			document.getElementById('usertext').style.background = backgroundDefColor;
			//document.getElementById('errorusertext').innerHTML = '';
			flag2 = 0; //userflag.push(false);
			//return flag2;
		}
	}
	return flag2;
}

function onchange_val()

{
	var flag = true;
	userflag = [];

	// Проверка имени
	if(document.getElementById('username') && flag)
	{
		if (document.getElementById('username').value != '')
		{
			if ((/^[a-zа-яіїєё\`\'\s]+$/i.test(document.getElementById('username').value)) == false)
			{
				document.getElementById('username').style.border= borderErrorStyle;
				document.getElementById('username').style.background = backgroundErrorColor;
				document.getElementById('errorusername').innerHTML = 'Имя может содержать только буквы английского,<br/> русского и украинского языков';
				flag = true; userflag.push(0);
			}
			else if (document.getElementById('username').value.length < 2)
			{
				document.getElementById('username').style.border = borderErrorStyle;
				document.getElementById('username').style.background = backgroundErrorColor;
				document.getElementById('errorusername').innerHTML = "Вы должны ввести имя более двух символов";
				flag = true; userflag.push(0);
			}
			else
			{
				document.getElementById('username').style.border = borderPassStyle;
				document.getElementById('username').style.background = backgroundPassColor;
				document.getElementById('errorusername').innerHTML = '';
				flag = true; userflag.push(1);
			}
		}
		else
		{
			document.getElementById('username').style.border = borderDefStyle;
			document.getElementById('username').style.background = backgroundDefColor;
			document.getElementById('errorusername').innerHTML = '';
			flag = true; userflag.push(0);
		}
	}
	// Проверка электронного почтового адреса
	if(document.getElementById('usermail') && flag)
	{
		if (document.getElementById('usermail').value != '')
		{
			if ((/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@[a-z0-9]([a-z0-9\-]*[a-z0-9])*\.([a-z0-9\-]*[a-z0-9]\.)*[a-z]{2,4}$/i.test(document.getElementById('usermail').value)) == false)
			{
				document.getElementById('usermail').style.border= borderErrorStyle;
				document.getElementById('usermail').style.background = backgroundErrorColor;
				document.getElementById('errorusermail').innerHTML = 'Введите корректный адрес электронной почты';
				flag = true; userflag.push(0);
			}
			else
			{
				document.getElementById('usermail').style.border = borderPassStyle;
				document.getElementById('usermail').style.background = backgroundPassColor;
				document.getElementById('errorusermail').innerHTML = '';
				flag = true; userflag.push(1);
			}
		}
		else
		{
			document.getElementById('usermail').style.border = borderDefStyle;
			document.getElementById('usermail').style.background = backgroundDefColor;
			document.getElementById('errorusermail').innerHTML = '';
			flag = true; userflag.push(0);
		}
	}
	// Проверка номера телефона
	if(document.getElementById('userphone') && flag)
	{
		if (document.getElementById('userphone').value != '')
		{
			var onlydigit = document.getElementById('userphone').value.match(/\d/g);
			if ((/^[\+]?[0-9 \(]+[0-9 \-\(\)]*$/i.test(document.getElementById('userphone').value)) == false)
			{

				document.getElementById('userphone').style.border= borderErrorStyle;
				document.getElementById('userphone').style.background = backgroundErrorColor;
				document.getElementById('erroruserphone').innerHTML = 'Введите корректный номер телефона';
				flag = true; userflag.push(0);
			}
			else if (onlydigit.length < 5)
			{
				document.getElementById('userphone').style.border= borderErrorStyle;
				document.getElementById('userphone').style.background = backgroundErrorColor;
				document.getElementById('erroruserphone').innerHTML = 'Цифр в номере должно быть больше пяти';
				flag = true; userflag.push(0);
			}
			else if (onlydigit.length > 20)
			{
				document.getElementById('userphone').style.border= borderErrorStyle;
				document.getElementById('userphone').style.background = backgroundErrorColor;
				document.getElementById('erroruserphone').innerHTML = 'Цифр в номере должно быть меньше двадцати';
				flag = true; userflag.push(0);
			}
			else
			{
				document.getElementById('userphone').style.border = borderPassStyle;
				document.getElementById('userphone').style.background = backgroundPassColor;
				document.getElementById('erroruserphone').innerHTML = '';
				flag = true; userflag.push(1);
			}
		}
		else
		{
			document.getElementById('userphone').style.border = borderDefStyle;
			document.getElementById('userphone').style.background = backgroundDefColor;
			document.getElementById('erroruserphone').innerHTML = '';
			flag = true; userflag.push(0);
		}
	}
	// Проверка выбора темы сообщения
	if(document.getElementById('usertheme') && flag)
	{
		if (document.getElementById('usertheme').value != ' ')
		{
			if (document.getElementById('usertheme').value != '' && document.getElementById('usertheme').value != ' ')
			{
				document.getElementById('usertheme').style.border = borderPassStyle;
				document.getElementById('usertheme').style.background = backgroundPassColor;
				document.getElementById('errorusertheme').innerHTML = '';
				flag = true; userflag.push(1);
			}
			else
			{
				document.getElementById('usertheme').style.border= borderErrorStyle;
				document.getElementById('usertheme').style.background = backgroundErrorColor;
				document.getElementById('errorusertheme').innerHTML = 'Выберите тему сообщения';
				flag = true; userflag.push(0);
			}
		}
		else
		{
			document.getElementById('usertheme').style.border = borderDefStyle;
			document.getElementById('usertheme').style.background = backgroundDefColor;
			document.getElementById('errorusertheme').innerHTML = '';
			flag = true; userflag.push(0);
		}
	}
}
function detection()
{
	var thisflag = 1;
	for (var i=0; i<userflag.length; i++)
	{
		if ((userflag[i] == 0) || (onchange_val_text() == 0))
		{
			document.getElementById('sendForm').disabled = true;
			document.getElementById('sendForm').style.background = backgroundButtonErrorColor;
			document.getElementById('sendForm').style.border = borderButtonErrorStyle;
			document.getElementById('sendForm').style.color = textButtonErrorColor;
			thisflag = 0;
		}
	}
	if ((document.getElementById('sendForm')) && (thisflag == 1) && (userflag.length > 0))
	{
		document.getElementById('sendForm').disabled = false;
		document.getElementById('sendForm').style.background = backgroundButtonPassColor;
		document.getElementById('sendForm').style.border = borderButtonPassStyle;
		document.getElementById('sendForm').style.color = textButtonPassColor;
	}
}

setInterval(onchange_val_text,500);// таймер вызова проверки текста сообщения
setInterval(detection,1);// таймер вызова проверки всех полей, кроме текста сообщения

var check=1;
var c=0; // счетчик имен строк
function adddiv()
{
	if (check > (count-1)) document.getElementById('atach').style.visibility = 'hidden';
	if (check > count) return false;
	//if (document.getElementById('atach').style.display == 'none') document.getElementById('atach').style.display = '';
	c++; // увеличиваем счётчик строк
	s=document.getElementById('feedbackTop').innerHTML; // получаем HTML-код таблицы
	var name = 'name'+c;
	s2='<input size="40" type="file" id="filename'+c+'" name="filename'+c+'" onchange="setTimeout(\'doLoad(document.getElementById(\\\'filename'+c+'\\\'),'+c+')\','+delay+'); return false;"> <a href="" onclick="removediv('+c+', 0); return false;">удалить</a><br/>'; // новое атач-поле
	objParentCont=document.createElement('DIV');// создаем новый div для атач-поля
	objParentCont.innerHTML=s2;// вставляем в div атач-поле
	objParentCont.setAttribute('id',name);// задаем параметр id
	objParentCont.setAttribute('name',name);// задаем параметр name
	objParentCont.setAttribute('style','padding:3px;');// задаем параметр name
	document.getElementById('feedbackTop').appendChild(objParentCont);// вывод на страницу
	check++;
}
function removediv(i, k)
{
	var d = document.getElementById("feedbackTop");
	var d_child = document.getElementById("name"+i);
	var throwawayNode = d.removeChild(d_child);
	if (k===0) {check--; document.getElementById('atach').style.visibility = 'visible';}
}
function sendRequest() {
	var oForm = document.getElementById('f');
	var result = new JsHttpRequest();

	result.open("post", oForm.action, true);
	result.onreadystatechange = function() {
		if (result.readyState == 4) {
			// Write debug information too (output becomes responseText).
			//Modalbox.hide();
			document.getElementById('divStatus').innerHTML = result.responseText;
		    //document.write(document.body.innerHTML);
			//Modalbox.show(Builder.build('<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'), {height: 150});
     		//Modalbox.show(result.responseText);
			//Modalbox.resize(-50, -400);
			//document.getElementById('MB_window').style.position = 'absolute';
     		//document.getElementById('MB_window').style.margin = '-100px 0 0 0';
			//document.getElementById('MB_window').style.top = '50%';
     		
     		


			//Modalbox.show(result.responseText, {overlayOpacity: .50, width: 400, height: 70});
		}
	}
	if (detection())
	{
		return false;
	}
	var atachfile = document.getElementById('uploaded').innerHTML;
	oForm.username ? sendUsername = oForm.username.value : sendUsername = '';
	oForm.usermail ? sendUsermail = oForm.usermail.value : sendUsermail = '';
	oForm.userphone ? sendUserphone = oForm.userphone.value : sendUserphone = '';
	oForm.usertheme ? sendUsertheme = oForm.usertheme.value : sendUsertheme = '';
	oForm.usertext ? sendUsertext = oForm.usertext.value : sendUsertext = '';
	// Send data to backend.
	result.send( {name:sendUsername, mail:sendUsermail, phone:sendUserphone, theme:sendUsertheme, text:sendUsertext, atach:atachfile, url:oForm.url.value, notif_mails:oForm.notif_mails.value} );
}
checknumber = -1;

function doLoad(value,divfile) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			checkname = "checkname"+checknumber;
			objParentCont=document.createElement('DIV');// создаем новый INPUT для атач-поля
			objParentCont.innerHTML = req.responseText;// вставляем INPUT атач-поле
			objParentCont.setAttribute('id',checkname);// задаем параметр id
			objParentCont.setAttribute('name',checkname);// задаем параметр name
			document.getElementById('uploaded').appendChild(objParentCont);// вывод на страницу
			removediv(divfile, 1);
		}

	}

	// Prepare request object (automatically choose GET or POST).
	req.open(null, 'upload.php', true);
	// Send data to backend.
	req.send( { file: value, div: divfile } );
	checknumber++;

}


function feedback() {
	document.getElementById('maindiv').style.display = 'block';
}
function feedbackclose() {
	document.getElementById('maindiv').style.display = 'none';
}
