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 checkForm1(theForm)
{
	 var obj=document.forms[theForm];
     if (obj.elements["username"].value.indexOf(" ") > -1)
       {
        alert("Spaces in username are not allowed");
        return;
       }
     obj.submit();
     return true;

}

function checkForm2(theForm)
{
	 var obj=document.forms[theForm];
     if (obj.elements["_login_"].value.indexOf(" ") > -1)
       {
        alert("Spaces in username are not allowed");
        return;
       }
     obj.submit();
     return true;

}function checkForm(theForm)
{
 var obj=document.forms[theForm];
 if (obj.action.value== 'user_add')
    {
     if (obj.elements["newUser[login]"].value.length < 4)
       {
        alert("Username lower 4 symbols.");
        return;
       }
     if (obj.elements["newUser[pass1]"].value.length < 4 || obj.elements["newUser[pass2]"].value.length < 4)
       {
        alert("Password lower 4 symbols.");
        return;
       }
     if (obj.elements["newUser[pass1]"].value != obj.elements["newUser[pass2]"].value)
       {
        alert("Password <> confirm password.");
        return;
       }
    }
  else if (obj.action.value=='auth')
    {
     if (obj.elements["_login_"].value.length < 4)
       {
        alert("Username lower 4 symbols.");
        return;
       }
     if (obj.elements["_pass_"].value.length < 4)
       {
        alert("Password lower 4 symbols.");
        return;
       }
    }
  else if (obj.action.value== 'user_update')
    {
     if (obj.elements["reg"].value==0)
        {
         if (obj.elements["viewUser[login]"].value.length < 4)
            {
             alert("Username lower 4 symbols.");
             return;
            }
         if (obj.elements["viewUser[pass1]"].value.length>0||obj.elements["viewUser[pass2]"].value.length>0)
            {
             if (obj.elements["viewUser[pass1]"].value.length < 4 || obj.elements["viewUser[pass2]"].value.length < 4)
                {
                 alert("Password lower 4 symbols");
                 return;
                }
             if (obj.elements["viewUser[pass1]"].value != obj.elements["viewUser[pass2]"].value)
                {
                 alert("Password <> confirm password.");
                 return;
                }
            }
        }
     if (obj.elements["viewUser[name]"].value.length < 1)
       {
        alert("Please enter your name.");
        return;
       }

     if (obj.elements["viewUser[zip]"].value.length < 1)
       {
        alert("Please enter your ZIP code.");
        return;
       }

     if (obj.elements["viewUser[email]"].value.length < 4&&obj.elements["viewUser[tel]"].value.length < 4)
       {
        alert("Please enter your contact phone or e-mail.");
        return;
       }

    }
  else if (obj.action.value== 'pas_restore')
    {
     if (obj.elements["prUser[email]"].value.length < 4)
       {
        alert("Please enter your e-mail");
        return;
       }
    }
 obj.submit();
 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;
}

/**
  * Checks/unchecks all options of a <select> element
  *
  * - export from phpMyAdmin 2.3.0 -
  *
  * @param   string   the form name
  * @param   string   the element name
  * @param   boolean  whether to check or to uncheck the element
  *
  * @return  boolean  always 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

/**
 * Displays an confirmation box beforme to submit a "EXIT/DELETE" operations.
 * This function is called while clicking links
 *
 * - export from phpMyAdmin 2.3.0 -
 *
 * @param   object   the link
 * @param   object   the sql query to submit
 *
 * @return  boolean  whether to run the query or not
 */
var confirmMsg  = 'Вы действительно желаете ';
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;
} // end of the 'confirmLink()' function