/* checkforms.js
 *
 * © IAF 2006; autor: nsergy@maris.ru
 * version: 00.00.01
 * version: .02 rvm@maris.ru
 */

function getEl(id){
  return document.getElementById(id);
}
function fix_work(){
  var el = getEl("joinus");
  if(!el) return;
  if (el['tx_iafau_pi1[au_work]'][0].checked){
      doclick_fwork();
      return;
  }else{
    if (el['tx_iafau_pi1[au_work]'][1].checked){
        doclick_swork();
        return;
      }else{
        if (el['tx_iafau_pi1[au_work]'][2].checked){
          doclick_twork();
          return;
  }}}
boxesOff(['swork','twork','departm','positn' ]);
}

var gJForm;
function doLoad(){
    var elm = document.getElementById("joinus");
    gJForm = elm;
    if (elm){
      getEl("shrw_twork").className = "" ;
      getEl("shrw_departm").className = "odd" ;
      getEl("shrw_positn").className = "" ;
        //document.getElementById("tx_iafau_pi1[au_work]").checked;
        //document.joinus['tx_iafau_pi1[au_fname]'].focus();
    elm['tx_iafau_pi1[au_fname]'].focus();
    
    fix_work();
    }
  roundedImages();
}

function dokeyup_fname(){
    document.getElementById("exc_fname").style.display = 'none';
}

function dokeyup_lname(){
    document.getElementById("exc_lname").style.display = 'none';
}

function dofocus_tname(){
    document.getElementById("exc_tname").style.display = 'none';
}

function dokeyup_login(){
    document.getElementById("exc_login").style.display = 'none';
    document.getElementById("exc_login_2").style.display = 'none';
}

function dokeyup_fpassword(){
    document.getElementById("exc_fpassword").style.display = 'none';
    document.getElementById("look_fp").style.display = 'none';
}

function look_fpass(){
    getEl("look_fp").style.display = '';

    var passw = CurrForm['tx_iafau_pi1[au_fpassword]'].value ;
    if( !passw ) passw = 'Empty';
    getEl("badfpassword").innerHTML = passw ;
	var elm = gJForm['tx_iafau_pi1[au_fpassword]'];
	elm.focus();
	elm.select();
}

function dokeyup_cpassword(){
    document.getElementById("exc_cpassword").style.display = 'none';
    document.getElementById("look_cp").style.display = 'none';
}

function look_cpass(){
    getEl("look_cp").style.display = '';

    var passw = CurrForm['tx_iafau_pi1[au_cpassword]'].value ;
    if( !passw ) passw = 'Empty';
    getEl("badcpassword").innerHTML = passw ;
	var elm = gJForm['tx_iafau_pi1[au_cpassword]'];
	elm.focus();
	elm.select();
}

function dofocus_permission_query(){
    document.getElementById("exc_permission_query").style.display = 'none';
}

function dokeyup_mail(){
    document.getElementById("exc_mail").style.display = 'none';
}

function doclick_gender(){
    document.getElementById("exc_gender").style.display = 'none';
}

function dokeyup_paddress(){
    document.getElementById("exc_paddress").style.display = 'none';
}

function dokeyup_zip(){
    document.getElementById("exc_zip").style.display = 'none';
}

function dokeyup_city(){
    document.getElementById("exc_city").style.display = 'none';
}

function dokeyup_cedex(){
    document.getElementById("exc_cedex").style.display = 'none';
}

function dofocus_country(){
    document.getElementById("exc_country").style.display = 'none';
}

function dokeyup_phone(){
    document.getElementById("exc_phone").style.display = 'none';
}

function dokeyup_fax(){
    document.getElementById("exc_fax").style.display = 'none';
}

function dofocus_swork(){
    document.getElementById("exc_swork").style.display = 'none';
}

function dokeyup_twork(){
    document.getElementById("exc_twork").style.display = 'none';
}

function doclick_work(element){
//alert(element.value);
    document.getElementById("exc_work").style.display = 'none';
    if ('1' == element.value){
        doclick_fwork();
    }
    if ('2' == element.value){
        doclick_swork();
    }
    if ('3' == element.value){
        doclick_twork();
    }

}

function boxDisp(id, val){
  getEl( 'box_'+id+'_a' ).style.display = val;
  getEl( 'box_'+id+'_b' ).style.display = val;
}
function boxesDisp(a,val){
  for( var i in a) boxDisp(a[i], val);
}
function boxesOff(a){
  boxesDisp(a, 'none')
}
function boxesOn(a){
  boxesDisp(a, '')
}
function doclick_fwork(){
    boxesOff(['swork','twork','departm','positn' ]);
}
function doclick_swork(){
    boxesOn(['swork','departm','positn']);
    boxesOff(['twork']);
}
function doclick_twork(){
    boxesOff(['swork']);
    boxesOn(['twork','departm','positn']);
}

function dokeyup_department(){
    document.getElementById("exc_department").style.display = 'none';
}

function dokeyup_position(){
    document.getElementById("exc_position").style.display = 'none';
}

function dokeyup_vc(){
    document.getElementById("exc_vc").style.display = 'none';
}

function elOff(el){
  if(el) el.style.display = 'none';
}
function idOff(id){
  elOff( getEl( id ) );
}
function excOff(id){
  idOff( 'exc_' + id );
}
var fields2 = ['swork', 'department', 'position' ];

function doreset(){
  for( var i in fields) excOff(fields[i]);
  for( var i in fields2) excOff(fields[i]);
  idOff('look_fp');
  idOff('look_cp');
  
  getEl("joinus").reset();
  fix_work();
}

function check_fname(element){
    var str = element.value;
    var res = /^(.+)$/;
    if (!str.match(res)){
        document.getElementById("exc_fname").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_lname(element){
    var str = element.value;
    var res = /^(.+)$/;
    if (!str.match(res)){
        document.getElementById("exc_lname").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_tname(element){
    var str = element.value;
    /* if (0 == element.selectedIndex){ */
    if (-1 < str.indexOf("Select")){
        document.getElementById("exc_tname").style.display = '';
        return false;
    } else {
        return true;
    }
}

function check_login(element){
    var str = element.value;
    var res = /^[A-Za-z0-9_@\.]{5,50}$/;
    if (!str.match(res)){
        document.getElementById("exc_login").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_fpassword(element){
    var str = element.value;
    var res = /^[\w]{5,20}$/;
    var lng = str.length;
    /* if (!str.match(res)){ */
    if (5 > lng || 20 < lng){
        document.getElementById("exc_fpassword").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_cpassword(element){
   var passw1 = CurrForm['tx_iafau_pi1[au_fpassword]'].value ;
   var passw2 = CurrForm['tx_iafau_pi1[au_cpassword]'].value ;
   var res = passw1 == passw2 ;
   if (!res){
        document.getElementById("exc_cpassword").style.display = '';
        element.focus();
        element.select();
   }
   return res;
}

function check_permission_query(element){
    var str = element.value;
    /* if (0 == element.selectedIndex){ */
    if (-1 < str.indexOf("Select")){
        document.getElementById("exc_permission_query").style.display = '';
        return false;
    } else {
        return true;
    }
}

function check_mail(element){
    var str = element.value;
    var res = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(res)){
        document.getElementById("exc_mail").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_gender(element){
    for (var i= 0; i < element.length; i++){
        if (element[i].checked){
            return true;
        }
    }
    document.getElementById("exc_gender").style.display = '';
    return false;
}

function check_paddress(element){
    return true; // 30.Jan.2007 Tue 13:45 ruv
    var str = element.value;
    var res = /^(.+)$/;
    if (!str.match(res)){
        document.getElementById("exc_paddress").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_zip(element){
    var str = element.value;
    var res = /^(.+)$/;
    if (!str.match(res)){
        document.getElementById("exc_zip").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_city(element){
    var str = element.value;
    var res = /^(.+)$/;
    if (!str.match(res)){
        document.getElementById("exc_city").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_cedex(element){
    var str = element.value;
    var res = /^([\w\s]{3,20})?$/;
    if (!str.match(res)){
        document.getElementById("exc_cedex").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_country(element){
    var str = element.value;
    if (-1 < str.indexOf("Select")){
    /* if (0 == element.selectedIndex){ */
        document.getElementById("exc_country").style.display = '';
        return false;
    } else {
        return true;
    }
}

function check_phone(element){
    var str = element.value;
    var res = /^([\w\s-\+\(\)\.]{1,50})?$/;
    if (!str.match(res)){
        document.getElementById("exc_phone").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_fax(element){
    var str = element.value;
    var res = /^([\w\s-\+\(\)\.]{1,50})?$/;
    if (!str.match(res)){
        document.getElementById("exc_fax").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

function check_work(element){
    var str;
    var elm;
    var dop = false;
    for (var i= 0; i < element.length; i++){
        if (element[i].checked){
            break;
        }
    }
    if (3 == i){
	document.getElementById("exc_work").style.display = '';
	return false;
    }
    if (1 == i){
        elm = document.getElementById("tx_iafau_pi1[au_swork]");
        str = elm.value;
        if (-1 < str.indexOf("Select")){
        /* if (0 == elm.selectedIndex){ */
            document.getElementById("exc_swork").style.display = '';
            return false;
        } else {
            dop = true;
        }
    }
    if (2 == i){
        elm = document.getElementById("tx_iafau_pi1[au_twork]");
        str = elm.value;
        var res = /^(.){1,100}$/;
        if (!str.match(res)){
//alert("FALSE: "+str);
            document.getElementById("exc_twork").style.display = '';
            elm.focus();
            elm.select();
            return false;
        } else {
            dop = true;
        }
    }
//alert("TRUE: "+str);
    if (dop){
        dop = false;
        elm = document.getElementById("tx_iafau_pi1[au_department]");
        str = elm.value;
        var res = /^(.){1,100}$/;
        if (!str.match(res)){
            document.getElementById("exc_department").style.display = '';
            elm.focus();
            elm.select();
            return false;
        } else {
            dop = true;
        }
    }
    if (dop){
        dop = false;
        elm = document.getElementById("tx_iafau_pi1[au_position]");
        str = elm.value;
        var res = /^(.){1,100}$/;
        if (!str.match(res)){
            document.getElementById("exc_position").style.display = '';
            elm.focus();
            elm.select();
            return false;
        } else {
            dop = true;
        }
    }
    return true;
}

function check_vc(element){
    var str = element.value;
    var res = /^[A-Za-z-1-9']{4}$/;
    if (!str.match(res)){
        document.getElementById("exc_vc").style.display = '';
        element.focus();
        element.select();
        return false;
    } else {
        return true;
    }
}

var CurrForm = null ;
function checkField( id ){ //  for example, 'fname'
  if(!CurrForm) return true;
  var el = CurrForm['tx_iafau_pi1[au_' + id + ']'] ;
  if( !el) return true ;
  var check_func = eval( 'check_'+id );
  return check_func(el);
}

var fields = [
'fname',
'lname',
'tname',
'login',
'fpassword',
'cpassword',
'mail',
'permission_query',
'gender',
'paddress',
'zip',
'city',
'cedex',
'country',
'phone',
'fax',
'work',
'vc' ];

function domail(){
	var el = getEl("joinus");
	el.submit();
}

function nomail(){
	var el = getEl("joinus");
	el['tx_iafau_pi1[domail]'].value=el['tx_iafau_pi1[ignmail]'].value;
	document.getElementById("exc_mail_2").style.display = 'none';
}

function checkFormJoin2(form){
    CurrForm = form ;
    for( i in fields) if(! checkField(fields[i]) ) return false ;
    //return false;
    return true;
}

window.onload = doLoad;