window.onload = initForms;

function initForms() {
         document.forms[0].onsubmit = function() {return validForm();}
}




function validForm() {
     var error_string = "";
     var allGood = true;
     var thisTagGood = true;
     var allTags = document.getElementsByTagName ("*");


     for (var i=0; (i<allTags.length && allGood); i++) {


/*
alert("allTags["+i+"] = " + allTags[i] + "--- allTags[i].name = " + allTags[i].name + "--- allTags[i].value = " +  allTags[i].value);
*/


	  
      if (allTags[i].name == "otziv1") {	  
	  
/*
alert("allTags["+i+"] = " + allTags[i] + "--- allTags[i].name = " + allTags[i].name + "--- allTags[i].value = " +  allTags[i].value);
*/

           allGood = validTag(allTags[i]);


     }

}	 


if (!allGood) {

error_string = "Прошу отзыв писать разборчивым почерком...\n" + error_string;
alert(error_string);
}

return allGood;







     function validTag(thisTag) {


        var outClass = "";
        var allClasses = thisTag.className.split (" ");

// alert("function validTag");

        for (var j=0; j<allClasses.length; j++) {
           outClass += validBasedOnClass(allClasses[j]) + " ";
        }

        thisTag.className = outClass;


        if (outClass.indexOf("invalid") > -1) {
           invalidLabel(thisTag.parentNode);
           thisTag.focus();
	   thisTag.select();
           return false;
        }
	else {
           validLabel(thisTag.parentNode);
        }
        return true;





        function validBasedOnClass(thisClass) {
           var classBack = "";

// alert("function validBasedOnClass - thisClass = ") + thisClass;

           switch(thisClass) {

              case "":

              case "invalid":
                 break;


              case "otziv1":

// alert("function validBasedOnClass -- case otziv1");

                 if (!otziv1 (thisTag.value)) classBack = "invalid ";
                 classBack += thisClass;
                 break;


              default:
                 break;

           }
           return classBack;
        }









        function otziv1(par2) {
		var error_string_par2 = "";
	    var par2len = par2.length;
	
// alert("par2len = " + par2len);
// alert("second time.... par2len = " + par2len);

           if (par2 == "") {
               error_string_par2 += "Кажется, вы забыли сделать запись...\n";
           }

// alert("if par2 == blank ----- par2len = " + par2len);

           if (par2len < 7) {
              error_string_par2 += "Отзыв должен быть внятным и понятным!\n";
// alert("error_string_par2 = " + error_string_par2);			  
           }

// alert("if (par2len < 7) ----- par2len = " + par2len);


// alert("par2.charAt(0) = " + par2.charAt(0));

// alert("par2.charAt(1) = " + par2.charAt(1));

	   if (par2.charAt(0) == par2.charAt(1)) {
              error_string_par2 += "* Отзыв должен быть внятным и понятным! *\n";

		if (par2.charAt(0) == " ") {
              	error_string_par2 += "** Эти пробелы в начале сообщения не нужны! **\n";
		}
           }


           if (error_string_par2 == "")

           {
// validLabel(thisTag.parentNode);
return true;
} 
           else {

           alert(error_string_par2);
           return false;
           }
        }







        function invalidLabel(parentTag) {
           if (parentTag.nodeName == "LABEL") {
              parentTag.className += " invalid";
           }
        }

        function validLabel(parentTag) {

           if (parentTag.nodeName == "LABEL") {
              parentTag.className += " valid";
           }

        }



	}

}







