function readMode(idHref, elementId){
	document.getElementById('readMoreId').style.display = 'inherit';
	document.getElementById('readMoreLinkId').style.display = 'none'; 
	return false;
	
}

function clearValues() {
	for ( var i = 1; i <= 7; i++) {
		var checkBox = document.getElementById('ok_' + i);
		if (checkBox != null) {
			checkBox.checked = false;
			checkBox.removeAttribute("disabled");
		}
	}
}


function showMath(obj) {
	if (obj.checked) {
		document.getElementById("math_type_id").style.visibility = "visible";
	} else {
		document.getElementById("math_type_id").style.visibility = "hidden";
	}

}

function showPhis(obj) {
	if (obj.checked) {
		document.getElementById("phis_type_id").style.visibility = "visible";
	} else {
		document.getElementById("phis_type_id").style.visibility = "hidden";
	}

}

function showNextPart(number) {
	if (document.getElementById('tr_' + number) != null) {
		document.getElementById('tr_' + number).style.display = '';
	}
	document.getElementById('ok_' + number).disabled = "disabled";

}

function validateName(inputName, what) {
	var fld = document.forms[0][inputName];
	var name = fld.value;
	var error = "";

	if (name.length < 3) {
		error = what + "не может быть менее 3 символов.";
	}else if (name.length > 25) {
		error = what + "не может быть более 25 символов.";
	} else if (name.replace(/[а-я А-Я 0-9 ё]/g, "").length != 0) {
		error = what + " содержит некорректные символы";
	}
	if (error != "") {
		fld.style.background = "Red";
	} else {
		fld.style.background = "White";
	}
	return error;
}

function validatePhone(inputName, what, digitsNumber) {
	var fld = document.forms[0][inputName];
	var phone = fld.value;
	var error = "";
	var illegalChars = /\D/; // allow letters, numbers, and underscores
	var errorString = "";
	var phoneLength = phone.length;
	if (phone.replace(/[0-9 ( ) + -]/g, "").length != 0) {
		error = "Некорректный формат " + what;
	} else	if (phone.length!= 0 && phone.length - phone.replace(/[0-9]/g, "").length != digitsNumber) {// 7
																										// digits
		error = "Некорректный формат " + what + " (должно быть ровно " + digitsNumber + " цифр)";
	}
	if (error != "") {
		fld.style.background = "Red";
	} else {
		fld.style.background = "White";
	}
	return error;
}

function trim(s) {
	return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(inputName, what) {
	var fld = document.forms[0][inputName];
	var phone = fld.value;
	var error = "";
	var tfld = trim(phone); // value of field with whitespace trimmed off
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;

	if (phone == "") {
		
	} else if (!emailFilter.test(tfld)) { // test email for illegal characters
		error = what + " некорректен.";
	} else if (phone.match(illegalChars)) {
		error = what + " некорректен.";
	}
	if (error != "") {
		fld.style.background = "Red";
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateAge(inputName) {
	var fld = document.forms[0][inputName];
	var age = fld.value;
	var error = "";
	var illegalChars = /\D/; // allow letters, numbers, and underscores

	if (illegalChars.test(fld.value)) {
		fld.style.background = 'Red';
		error = "Возраст ученика содержит некорректные символы";
	} else if (age.length == 0 || parseInt(age) < 6 || parseInt(age) > 99) {
		fld.style.background = 'Red';
		error = "Возраст ученика должен быть от 6 до 99 лет";
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateSchoolNumber(inputName) {
	var fld = document.forms[0][inputName];
	var schoolNumber = fld.value;
	var error = "";
	var illegalChars = /\D/; // allow letters, numbers, and underscores

	if (illegalChars.test(schoolNumber)) {
		fld.style.background = 'Red';
		error = "Номер учебного заведения содержит некорректные символы";
	} else if (schoolNumber.length == 0 || parseInt(schoolNumber) < 1
			|| parseInt(schoolNumber) > 999) {
		fld.style.background = 'Red';
		error = "Номер учебного заведения должен быть от 1 до 9999";
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateForm(inputName) {
	var fld = document.forms[0][inputName];
	var form = fld.value;
	var error = "";
	var illegalChars = /\D/; // allow letters, numbers, and underscores

	if (illegalChars.test(form)) {
		fld.style.background = 'Red';
		error = "Класс обучения заведения содержит некорректные символы";
	} else if (form.length == 0 || parseInt(form) < 1 || parseInt(form) > 12) {
		fld.style.background = 'Red';
		error = "Класс обучения должен быть от 1 до 12";
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateSubject(){
	if(document.forms[0].math.checked == false && document.forms[0].phys.checked == false){
		return "Необходимо выбрать как минимум один предмет для изучения";
	}
	return "";
}

function validateAge(inputName){
	var fld=document.forms[0][inputName];
	var age = fld.value;
	var error = "";
    var illegalChars = /\D/; // allow letters, numbers, and underscores
 
	if (illegalChars.test(fld.value)) {
        fld.style.background = 'Red'; 
        error = "Возраст ученика содержит некорректные символы";
    } else if(age.length==0 || parseInt(age)<10 || parseInt(age)>99){
    	 fld.style.background = 'Red'; 
	     error = "Возраст ученика должен быть от 10 до 99 лет";
    }else {
        fld.style.background = 'White';
    }
    return error;
}

function validatePhones(pupilPhone, parentPhone){
	var p1 = document.forms[0][pupilPhone].value;
	var p2 = document.forms[0][parentPhone].value;
	var error = "";
	if(p1.length == 0 && p2.length == 0){
		error = "Мобильный телефон ученика либо родителя должен быть указан";
	}
    return error;
}




function validate() {
    if (document.getElementById("ok_7") != null &&
    document.getElementById("ok_7").checked == false) {
	   alert("Перед отправкой данных Вы должны согласиться на указанные выше условия");
	   return false; 
    }
	 
	var errorsArray = new Array();
	var error = validateName("name", "Имя ученика ");
	var i = 0;
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validateName("surname", "Фамилия ученика ");
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validateAge("age");
    if(error!=""){
    	errorsArray[i++]=error;
    }
	error = validatePhone("phone", "городского телефона ученика", 7);
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validatePhone("cellphone", "мобильного телефона ученика", 9);
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validateEmail("email", "Email адрес ученика");
	if (error != "") {
		errorsArray[i++] = error;
	}

	error = validateName("parent_name", "Имя родителя ");
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validateName("parent_surname", "Фамилия родителя ");
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validatePhone("parent_cellphone", "мобильного телефона ", 9);
	if (error != "") {
		errorsArray[i++] = error;
	}
	error = validateEmail("parent_email", "Email адрес родителя");
	if (error != "") {
		errorsArray[i++] = error;
	}
	
	error = validatePhones("cellphone", "parent_cellphone");
	if (error != "") {
		errorsArray[i++] = error;
	}
	
	error = validateSubject();
    if(error!=""){
    	errorsArray[i++]=error;
    }
    if(errorsArray.length==0){
     	document.dorms[0].isDataEntered.value = "ok";
        return true;
    }else{
     	var table = document.getElementById("anketa").children[0];
     	var i = 0;
     	var trEl = document.getElementById("trId"+ i);
     	while(trEl != null){
			i += 1;
			table.removeChild(trEl);
			trEl = document.getElementById("trId" + i);
		}
		var tableRoot;
     	if(document.getElementById("anketa").firstChild.nodeName.toLowerCase() == "tbody"){// ie
     		tableRoot = document.getElementById("anketa").childNodes[0];
     	}else{
     		tableRoot = document.getElementById("anketa").childNodes[1];
     	}
     	
     	
     	for(var i=0;i<errorsArray.length;i++){
     		var el = createTr(errorsArray[i], i);
         	tableRoot.insertBefore(el, tableRoot.firstChild);
         	var el = createTr(errorsArray[i], i + errorsArray.length);
         	tableRoot.insertBefore(el, tableRoot.lastChild);
     	}
     }
     return false;
         
 }


 function createTr(error, i){
 	var tr=document.createElement("tr");
 	tr.id = "trId" + i;
 	var td = document.createElement("td");
 	td.colSpan = 5;
 	td.style.color = "red";
 	td.style.padding = "0px";
 	var text = document.createTextNode(error);
 	td.appendChild(text);
 	tr.appendChild(td);
    return tr;
 	
 }



