var oForm;
var reIsTime = /(^\d{2}:\d{2}$)/;
var reIsDate = /(^\d{2}\/\d{4}$)/;
var reIsYear = /(^\d{4}$)/;
var reIsNumber = /(^\d+$)/;
var reIsFloat = /^(\d+|\d*[.]\d+)$/;
var reIsImage = /^(\w+[.]gif)$/;
var reIsMail = /^([a-zA-Z0-9_\.\-!#\$%&'*=?^_{|}~])+\@(([a-zA-Z0-9_\.\-!#\$%&'*=?^_{|}~])+\.)+([a-zA-Z0-9]{2,4})+$/;

if ( navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5 )
  {
    window.onresize = onResize;
  }

function onResize()
  {
    window.location.reload();
  }

function getCheckboxValue( csCheckboxName )
  {
    var oCheckbox = eval("oForm." + csCheckboxName);
    var CheckboxValue = "";

    for( var i=0; i<oCheckbox.length; i++ )
      if ( oCheckbox[i].checked )
        CheckboxValue = ( CheckboxValue == "" ) ? oCheckbox[i].value : CheckboxValue + ", " + oCheckbox[i].value;

    return CheckboxValue;
  }

function getSelectValue( csSelectName )
  {
    var oSelect = eval("oForm." + csSelectName);
    var SelectValue = "";

    for( var i=0; i<oSelect.length; i++ )
      {
        if ( oSelect[i].selected == true )
          SelectValue = ( SelectValue == "" ) ? oSelect[i].value : SelectValue + ", " + oSelect[i].value;
      }
    return SelectValue;
  }

function getRadioValue( csRadioName )
  {
    var oRadio = eval("oForm." + csRadioName);
    for( var i=0; i<oRadio.length; i++ )
      if ( oRadio[i].checked ) return oRadio[i].value;
    return "";
  }

function getRadioPosition(csRadioName)
{
  var oRadio = eval("oForm." + csRadioName);
  for( var i=0; i<oRadio.length; i++ )
    if ( oRadio[i].checked ) return i;
  return -1;
}

function getEditPhone( cs )
  {
    return cs.replace( /\D/g, '' );
  }

function replChar( csValue )
{
  var newString = new String( csValue ).toString();
//  newString = newString.substr( 0, 255 );

  newString = newString.replace( /&/g, '&amp;' );
  newString = newString.replace( /</g, '&lt;' );
  newString = newString.replace( />/g, '&gt;' );
  newString = newString.replace( /"/g, '&#34;' );//"
  newString = newString.replace( /'/g, '&#39;' );
  newString = newString.replace( /]/g, '&#93;' );

  var theStr = '';
  for( var i = 0; i < newString.length; i++ )
  {
    var csSymbol = newString.substring( i, i + 1 );
    var nCode = getAsciiCode( csSymbol )
    if( nCode > 127 )
    {
      theStr += '&#' + nCode + ';';
    }
    else
    {
      theStr += csSymbol;
    }
  }
  return theStr;
}


function getAsciiCode( csSymbol )
{
  var hexSymbol = escape( csSymbol );

  var re = /%u/g;
  hexSymbol = hexSymbol.replace( re, '' );
  re = /%/g;

  hexSymbol = hexSymbol.replace( re, '' );
  return parseInt( "0x" + hexSymbol );
}

function getAsciiCode( csSymbol )
{
  var hexSymbol = escape( csSymbol );

  var re = /%u/g;
  hexSymbol = hexSymbol.replace( re, '' );
  re = /%/g;

  hexSymbol = hexSymbol.replace( re, '' );
  return parseInt( "0x" + hexSymbol );
}

function notChecked( csRadioName )
  {
    var oRadio = eval("oForm." + csRadioName);

    for( var i=0; i<oRadio.length; i++ )
      if ( oRadio[i].checked ) return false;

    alert ("please fill all required fields.");
    return true;
  }

function notFilled( csTextName )
{
    if ( eval( "oForm." + csTextName ).value != "" && eval( "oForm." + csTextName ).value != "0" ) return false;

    alert ("please fill all required fields.");
    eval( "oForm." + csTextName ).focus();
    return true;
}

function checkTime( csTextName )
{
    var oTime = eval( "oForm." + csTextName );
    if ( ( "" != oTime.value ) && ( !reIsTime.exec( oTime.value ) ) )
    {
      alert ("please input the data in HH:MM format.");
      oTime.focus();
      return false;
    }
    return true;
}

function checkDate( csTextName )
{
  var oDate = eval( "oForm." + csTextName );
  if ( ( "" != oDate.value ) && ( !reIsDate.exec( oDate.value ) ) )
  {
    alert ("please input the date in MM/YYYY format.");
    oDate.focus();
    return false;
  }
  return true;
}

function checkNumber( csTextName )
{
    var oTime = eval( "oForm." + csTextName );
    if ( ( "" != oTime.value ) && ( !reIsNumber.exec( oTime.value ) ) )
    {
      alert ("please use only number characters.");
      oTime.focus();
      return false;
    }
    return true;
}

function checkFloat( csTextName )
{
    var oField = eval( "oForm." + csTextName );
    if ( ( "" != oField.value ) && ( !reIsFloat.exec( oField.value ) ) )
    {
      alert ("please enter valid number like \"1.5\"");
      oField.focus();
      return false;
    }
    return true;
}

function checkMail( csTextName )
{
    var oField = eval( "oForm." + csTextName );
    if ( ( "" != oField.value ) && ( !reIsMail.exec( oField.value ) ) )
    {
      alert ("please enter valid e-mail like \"my@email.com\".");
      oField.focus();
      return false;
    }
    return true;
}


function checkLength(csText)
{
    var cs=new String( csText ).toString();
    if (cs.length>255)
  alert("the length of this field cannot exceed 255 characters.");
}

function checkYear(csTextName)
{
/*  var oField=eval("oForm."+csTextName);
  var cs=new String(oField.value).toString();
  if ((cs.length!=4) || (!reIsNumber.exec(oField.value)))
  {
    alert ("Enter 4-digit year");
    oField.focus();
    return false;
  }*/


  var oField=eval("oForm."+csTextName);
  if (!reIsYear.exec(oField.value))
  {
    alert ("Enter 4-digit year");
    oField.focus();
    return false;
  }
  return true;
}

function isImage(csTextName)
{
  var oField=eval("oForm."+csTextName);
  if ((oField.value!="")&&(!reIsImage.exec(oField.value)))
  {
    alert("only image files may be accepted.\nFile masks: *.bmp, *.jpg, *.png, *.gif");
    oField.focus();
    return false;
  }
  return true;
}
