/**
* function check()
*
* check the fields
*/
/*function check_old(form_element, check) {
  var regNumeric = /^[\-0-9\.]{1,}$/;
  var regEmail   = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var regUrl     = /(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\/)|(www\.))*(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(\/[a-zA-Z0-9\&amp;%_\.\/-~-]*)?/;
  var regArray = {'required':'', 'numeric':regNumeric, 'email':regEmail, 'url':regUrl};
  var chBoxArray = new Array();
  
  form_num = form_element.length; 
  for(i=0; i<form_num; i++) {
    var name = form_element[i].name;
    var value = form_element[i].value;
    var check_name = check[name];
    if(check_name) {
      for(var ck in check_name) {
        if(check_name[ck]) {
          if(!value && ck=='required') {
            alert(check_name[ck]);
            form_element[i].focus();
            return false;
          }
          else if(value) {
            if(regCheck = regArray[ck]) {
              if(regCheck.exec(value) == null) {
                alert(check_name[ck]);
                form_element[i].focus();
                return false;
              }
            }
          }
          if(ck == 'required' && form_element[i].type=='checkbox' &&  form_element[i].checked==false) {
              alert(check_name[ck]);
              form_element[i].focus();
              return false;
           }

          if(ck == 'required' && form_element[i].type == 'radio') {
            j = i; selected = false;
            while(form_element[i].type == 'radio' && form_element[i].name == name) {
              if(form_element[i].checked) selected = true;
              i++;
            }
            i--
            if(!selected) {
              alert(check_name[ck]);
              form_element[j].focus();
              return false;
            }
          }
        }
      }
    }
//---  
    pos=name.search(String.fromCharCode(93));
    if (pos>0 ){
        var name_c= name.substr(0, pos-2);
        var check_name = check[name_c];
        if(check_name) {
          for(var ck in check_name) {
            if(check_name[ck]) {
              if(ck=='required') {
                 if (typeof(chBoxArray[name_c])=="undefined") {chBoxArray[name_c] = i;
                 }else{ chBoxArray[name_c]=chBoxArray[name_c]+','+ i;}
              }
            }
          }    
        }
    }
//---    
  }
  for(var ck in chBoxArray) {
    eval("var chBox = new Array("+chBoxArray[ck]+");");
    selected =0; 
    for(var i in chBox) {
        if(form_element[chBox[i]].checked) selected ++;
    }
     if (typeof(check[ck]['check_element'])=="undefined") {n_sel=1;}else{n_sel=check[ck]['check_element']}
    if(selected<n_sel) {
      alert(check[ck]['required']);
      form_element[chBox[i]].focus();
      return false;
    }
  }
  
  return true;
}*/




//---- Form 

//--- check  
  $(document).ready(function() {
    $("*[rel^='info']")
        .each(function() {
            if ($(this).val()==""){
                var vl = decodeURIComponent($(this).attr("rel").substr(5,999)); 
                $(this).val(vl).unbind("click").bind("click",function(){
                        $(this).css("color","#000000")
                        $(this).val("").unbind("click");
                    });
            }
       });
    });       
  


var captcha_check=false;
var security_code_invalid = "Invalid Security Code";
//function setFocus(el){
//   $(el).addClass("state-highlight").focus();
//	setTimeout(function() {$(el).removeClass("state-highlight", 1500);}, 500);
//}
var str_form_error = '';

function setFocus(el, text){
   str_form_error += $(el).attr("name")+'\r\n';
   $("span.error_js", $(el).parent()).remove();
   $(".br_error_js", $(el).parent()).remove();
   $(el).addClass("state-highlight-error");
   $('<br class="br_error_js"/><span class="error_js">' + text + '</span>').hide().appendTo($(el).parent()).fadeIn(3000);
   //setTimeout(function() {$(el).removeClass("state-highlight", 1500);}, 500);
}

function removeFocus(el){
   $("span.error_js", $(el).parent()).remove();
   $(el).removeClass("state-highlight-error");
}


function check(form_element, check) {
  var regNumeric = /^[\-0-9\.]{1,}$/;
  var regEmail   = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var regUrl     = /(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\/)|(www\.))*(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(\/[a-zA-Z0-9\&amp;%_\.\/-~-]*)?/;
  var regArray = {"required":"", "numeric":regNumeric, "email":regEmail, "url":regUrl,"min":"","max":"","length_min":"","security_code":""};
  var chBoxArray = new Array();
  
  form_num = form_element.length; 
  return_val = true;
  for(i=0; i<form_num; i++) {
    var name = form_element[i].name;
    var value = form_element[i].value;
    var check_name = check[name];

    var el = $(form_element[i]); 
    s_info = el.attr('rel');
    if (s_info && s_info.substr(0, 4)=='info'){
       vl = (s_info.substr(5,999));
       if (vl==encodeURIComponent(value) ) {
        value='';
        el.val('');
       }
    };
    
    removeFocus(form_element[i]); 

    if(check_name) {
      for(var ck in check_name) {
        if(check_name[ck]) {                    
          if(!value && ck=="required" && (check_name['check']=='undefined' || check_name['check']!=false)){
            //jAlert(check_name[ck], "Alert", function(){setFocus(form_element[i])});
            setFocus(form_element[i], check_name[ck]);
            return_val = false;
          }
          else if(ck=="max" && value>parseFloat(check_name[ck]) ) {
            //jAlert("Maximum Value "+ check_name[ck],"Alert",function(){setFocus(form_element[i])});
            setFocus(form_element[i], "Maximum Value "+ check_name[ck]);
            return_val = false;
          }
          else if(ck=="min" && value<parseFloat(check_name[ck]) ) {
            //jAlert("Minimum Value "+ check_name[ck],"Alert",function(){setFocus(form_element[i])});
            setFocus(form_element[i], "Minimum Value "+ check_name[ck]);
            return_val = false;
          }
          else if(ck=="length_min" && value.length<parseInt(check_name[ck]) ) {
            //jAlert(check_name["required"]+" ("+value.length+")","Alert",function(){setFocus(form_element[i])});
            setFocus(form_element[i], check_name["required"]+" ("+value.length+")");
            return_val = false;
          }
          else if(value) {
            if(regCheck = regArray[ck] ) {
              if(regCheck.exec(value) == null) {
                //jAlert(check_name[ck],"Alert",function(){setFocus(form_element[i])});
                setFocus(form_element[i], check_name[ck]);
                return_val = false;
              }
            }
          }

          if(ck == "required" && form_element[i].type=="checkbox" &&  form_element[i].checked==false ) {
              //jAlert(check_name[ck],"Alert",function(){setFocus(form_element[i])});
              setFocus(form_element[i], check_name[ck]);
              return_val = false;
           }

          if(ck == "required" && form_element[i].type == "radio") {
            j = i; 
            selected = false;
            while(form_element[i].type == "radio" && form_element[i].name == name ) {
              if(form_element[i].checked) 
                 selected = true;
              i++;
            }
            i--
            if(!selected) {
              //jAlert(check_name[ck],"Alert",function(){setFocus(form_element[i])});
              setFocus(form_element[i], check_name[ck]);
              return_val = false;
            }
          }
          
        }
      }

    }
//--- step1 fields[] -> array  or checkBox
    pos=name.search(String.fromCharCode(93));
    if (pos>0 ){
        var name_c= name.substr(0, pos-2);
        var check_name = check[name_c];
        if(check_name) {
          for(var ck in check_name){
              if(check_name[ck] && ck=="required" ){
                 if(typeof(chBoxArray[name_c])=="undefined"){
                    chBoxArray[name_c] = '"' + i + '"';
                 }
                 else{ 
                    chBoxArray[name_c] = chBoxArray[name_c]+' , "'+ i +'"'; 
                 }
            }
          }    
        }
    }
//---    
   }

//--- step2 fields[] -> array  or checkBox
 for(var ck in chBoxArray) {
    eval("var chBox = new Array("+chBoxArray[ck]+");");
    selected =0; 
    for(var i in chBox) {
        if(form_element[chBox[i]].type=="checkbox" && form_element[chBox[i]].checked) selected ++;
        if(form_element[chBox[i]].type=="text" && form_element[chBox[i]].value>'') selected ++;
    }
    if (typeof(check[ck]["check_element"])=="undefined") {n_sel=1;}else{n_sel=check[ck]["check_element"]}
    
    if(selected<n_sel) {
       br = 0; 
       for(var i in chBox) {
            if(form_element[chBox[i]].type=="checkbox" && form_element[chBox[i]].checked==false) br = 1;
            if(form_element[chBox[i]].type=="text" && form_element[chBox[i]].value=='') br = 1;
            if(br==1){
                //jAlert(check[ck]["required"],"Alert",function(){setFocus(form_element[chBox[i]])});
                setFocus(form_element[chBox[i]], check[ck]["required"]);
                return_val = false;                
                break;
            }
       }
        
      //return false;
    }
  }
//---    
if(return_val == false) return false;  

  
//---  validate security_code 
     if ( captcha_check ){
        vl = $(form_element).find("#security_code").val();
        sr = $(form_element).find("#img_security_code").attr("src");
        if ( vl>'' && sr >''){
            rt = false; 
            $.ajax({
              async: false,   
              type: "GET",
              url: sr,
              data:{code:vl},
              success:function(data) { 
                    if (data=="invalid") {
                        rt = false;
                        reloadSecurityCode($(form_element).find("#img_security_code"));
                        setFocus($(form_element).find("#security_code"),security_code_invalid);
                        //jAlert(security_code_invalid,"Alert",function(){setFocus($(form_element).find("#security_code"))});
                    }else{
                        rt = true;
                    }
                },
              error: function (data, status, e){jAlert(e,"Error"); captcha_check=false; rt = true;} 
              }); 
              return rt;
        }     
    }
  
  return true;
}



function reloadSecurityCode(el) {
   var src = $(el).attr("src");
   var date = new Date();
   src = src.replace(/v=(.*?)\&/gi, "v="+date.getTime()+"&");
  $(el).attr("src", src) ;
   return false;
}

//--- check 

//--- clear
function f_formClear(form_id){
  $('#'+form_id+' input,select').each(function(){
        var t = this.type, tag = this.tagName.toLowerCase();
        if ($(this).attr("readonly")== true) return 
        if ($(this).attr("disabled")== true) return 
        if (t == 'text' || t == 'password' || tag == 'textarea')
            this.value = '';
        else if (t == 'checkbox' || t == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
  });
  return true;
}
//--- clear

//---- Form  
