function isDigit(charCode){ return (charCode >= 48 && charCode <= 57)}
function isLat(charCode){ return ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122))}
function isRus(charCode){ return (charCode >= 1040 && charCode <= 1103)}
function filter(evt,set,exc,x) 
       { //set= 1 - digit 2 - lat 4 - rus; x=кроме set
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
			((evt.keyCode) ? evt.keyCode : evt.which);
//alert(charCode);
		if (charCode > 13 && !x^(!(set&1 && isDigit(charCode)) && !(set&2 && isLat(charCode)) && !(set&4 && isRus(charCode)) && exc.indexOf(String.fromCharCode(charCode))==-1)) {
		if (evt.preventDefault) { evt.preventDefault(); } else { evt.returnValue = false; return false; }
		}
	}
}

function checkForm(theForm)
{
 var obj=document.forms[theForm];

 if (theForm=="CommentsForm")
    {
     if (obj.elements["content"].value.length<4)
        {
         alert("Your message is too small");
         obj.elements["content"].focus();
         return false;
        }
    }
 else if (obj.action.value== "user_add")
    {
     if (obj.elements["newUser[login]"].value.length < 4) 
       {
        alert("Login is too small.");
        obj.elements["newUser[login]"].focus();
        return false;
       }
     if (obj.elements["newUser[email]"].value.length < 4) 
       {
        alert("Please specify correct e-mail.");
        obj.elements["newUser[email]"].focus();
        return false;
       }

     if (obj.elements["newUser[pass1]"].value.length < 4 || obj.elements["newUser[pass2]"].value.length < 4) 
       {
        alert("Password is too small");
        obj.elements["newUser[pass1]"].focus();
        return false;
       }
     if (obj.elements["newUser[pass1]"].value != obj.elements["newUser[pass2]"].value) 
       {
        alert("Passwords is not same.");
        obj.elements["newUser[pass1]"].focus();
        return false;
       }

    }
  else if (obj.action.value== 'user_update')
    {
     if (obj.elements["newUser[login]"].value.length < 4) 
       {
        alert("Too small login.");
        obj.elements["newUser[login]"].focus();
        return false;
       }

     if (obj.elements["newUser[email]"].value.length < 4) 
       {
        alert("Please specify correct e-mail.");
        obj.elements["newUser[email]"].focus();
        return false;
       }

     if (obj.elements["newUser[pass1]"].value.length>0||obj.elements["newUser[pass2]"].value.length>0)
        {
         if (obj.elements["newUser[pass1]"].value.length < 4 || obj.elements["newUser[pass2]"].value.length < 4) 
            {
             alert("Too small password");
             obj.elements["newUser[pass1]"].focus();
             return false;
            }
         if (obj.elements["newUser[pass1]"].value != obj.elements["newUser[pass2]"].value) 
            {
             alert("Passwords is not same.");
             obj.elements["newUser[pass1]"].focus();
             return false;
            }
       }
    }
  else if (obj.action.value== 'pas_restore')
    {
     if (obj.elements["prUser[login]"].value.length < 4) 
       {
        alert("Login is too small.");
        obj.elements["prUser[login]"].focus();
        return false;
       }
     if (obj.elements["prUser[email]"].value.length < 4) 
       {
        alert("Please specify your E-Mail.");
        obj.elements["prUser[email]"].focus();
        return false;
       }
    }
  else if (theForm=='RcmdForm')
    {
     if (obj.elements["yourname"].value.length<1)
        {
         alert("Please specify your name");
         obj.elements["yourname"].focus();
         return false;
        }
     if (obj.elements["friendname"].value.length<1)
        {
         alert("Please specify your friend's name");
         obj.elements["friendname"].focus();
         return false;
        }

     if (obj.elements["youremail"].value.length<4)
        {
         alert("Please specify your email");
         obj.elements["youremail"].focus();
         return false;
        }

     if (obj.elements["friendemail"].value.length<4)
        {
         alert("Please specify your friend's email");
         obj.elements["friendemail"].focus();
         return false;
        }

     if (obj.elements["code2"].value.length<4)
        {
         alert("Please specify correct secure code");
         obj.elements["code2"].focus();
         return false;
        }

    }

 return true;
}

function isNumeric(str)
{
  if (str.length == 0) return false;
  for (var i=0; i < str.length; i++)
     {
      var ch = str.substring(i, i+1);
      if ( ch < "0" || ch>"9" || str.length == null)  return false;
    }
  return true;
}

function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) {
        selectObject.options[i].selected = do_check;
    } // end for

    return true;
} // end of the 'setSelectOptions()' function

var confirmMsg  = 'You really wish ';
function confirmLink(theLink, theSqlQuery)
{
    // Confirmation is not required in the configuration file
    // or browser is Opera (crappy js implementation)
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }

    var is_confirmed = confirm(confirmMsg + theSqlQuery);
    if (is_confirmed) {
        theLink.href += '&is_js_confirmed=1';
    }

    return is_confirmed;
}

