///////////////// Email Validation ////////////////////
function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

///////////////// end of Email Validation /////////////////////

// проверка комментариев
function commentcheck(thisform) {
with (thisform) {
if (document.getElementById('name')) {var user_name=new RegExp(document.getElementById('name').value);} // check if user name exists and define it
if (document.getElementById('text')) {var user_text = document.getElementById('text').value;} // check if text exists and define it
	
if (document.getElementById('name').value==null||document.getElementById("name").value=="Как тебя зовут?") {
alert("Пожалуйста, укажи своё имя или nickname!");
name.focus();
return false;
}
else if (! isValidEmail(document.getElementById('email').value)) {
alert("Привет, "+document.getElementById('name').value+"! \n\n Проверь, пожалуйста, верность адреса своей электронной почты!");
email.focus();
return false;
}
else if (document.getElementById('text').value=="Текст сообщения") {
alert("Спасибо за твой интерес, "+document.getElementById('name').value+"! \n\n Мы будем рады если ты оставишь своё сообщение.");
text.focus();
return false;
}
else if (user_name.test(user_text)==false) { // 
alert("Во избежании появления на этом сайте спама, мы просим каждого участника подписываться под своим сообщением. Пожалуйста, подпишись `"+document.getElementById('name').value+"` в конце своего сообщения\n\n Спасибо, "+document.getElementById('name').value+", за помощь воддержке чистоты нашего сайта от спама.");
text.focus();
return false;
}
else return true;
} // end of with (thisform)
}//  

// Radio Button Validation
// copyright Stephen Chapman, 15th Nov 2004,14th Sep 2005
// you may copy this function but please keep the copyright notice with it
function checkIfAnyChecked(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return true;// return btn[cnt].value;
    else return false;//return null;
}
                  
////////////
////////////
/// MAIN VALIDATION FORM
////////////

function fullcheck(thisform) {
with (thisform) {
if (! checkIfAnyChecked(thisform.poll)) {
alert("Вами не выбран ни один ответ!");
return false;
}
/*
else if (document.getElementById('new_image') != null && document.getElementById('new_image').disabled != true && (document.getElementById('new_image').value=="" || isValidFileName(document.getElementById('new_image').value)==false)) {
alert("Пожалуйста, проверьте, название и тип закачиваемого Вами файла. Требования к файлу: \n 1) Только латинские буквы (переименуйте, если использована кириллица) \n 2) Файл только формата JPG  \n 3) Вместо пробелов используйте знак _ или -");
new_image.focus();
return false;
}*/
else return true;
} // end of with (thisform)
}//  
