function isNumeric(vTestValue) {
    // put the TEST value into a string object variable
    var sField = new String(Trim(vTestValue));
    // check for a length of 0 - if so, return false
    if(sField.length==0) {
        return false;
    } else if(sField.length==1 && (sField.charAt(0) == '.' || sField.charAt(0) == ',' || (sField.charAt(0) == '-'))) {
        return false;
    }
    // loop through each character of the string
    for(var x=0; x < sField.length; x++) {
        // if the character is < 0 or > 9, return false (not a number)
        if((sField.charAt(x) >= '0' && sField.charAt(x) <= '9') || sField.charAt(x) == '.' || sField.charAt(x) == ',' || (sField.charAt(x) == '-' && x==0)) {
            /* do nothing */
        } else {
            return false;
        }
    }
    // made it through the loop - we have a number
    return true;
}

function isEven(x) { return (x%2)?false:true; }
function isOdd(x) { return !isEven(x); }

function check_zip(zip) {
    if (zip.length==5) {
        document.getElementById("strasse").innerHTML='<input type="text" name="strasse" value="" disabled>';
        get_addr(zip);
    } else {
        return false;
    }
}

function get_addr(zip) {
    AjaxRequest.get( {
        'url':'rpc.php?zip='+zip
        ,'onLoading':function() { document.getElementById('ort').innerHTML='<img src="/images/loader.gif" alt="Loading...">'; }
        ,'onSuccess': function(req) {
            show_ort(req)}
        }
    )
}

function get_streets(scpl_id) {
    AjaxRequest.get( {
        'url':'rpc.php?scpl_id='+scpl_id
        ,'onLoading':function() { document.getElementById('strasse').innerHTML='<img src="/images/loader.gif" alt="Loading...">'; }
        ,'onSuccess': function (req) {show_streets(req)}
        }
    )
}

function show_ort(req) {
    var item=req.responseXML.getElementsByTagName('item');
    var list='';
    for (i=1;i<item.length+1;i++) {
        list=list+'<option value="'+item[i-1].getAttribute("scpl_id")+'">'+item[i-1].getAttribute("scpl_ort")+'<\/option>'
    }
    if (i>10) {
        size=10;
    } else {
        size=i;
    }
    document.getElementById('ort').innerHTML='<select size="'+size+'" width="20" name="stadt" onClick="get_streets(document.frm_act.stadt.options[document.frm_act.stadt.selectedIndex].value);document.getElementById(\'frm_act\').scpl_id.value=document.frm_act.stadt.options[document.frm_act.stadt.selectedIndex].value;">'+list+'<\/select>';
}

function show_streets(req) {
    var item = req.responseXML.getElementsByTagName('item');
    var list='';
    for (i=1;i<item.length+1;i++) {
        list=list+'<option value="'+item[i-1].getAttribute("scsb_id")+'">'+item[i-1].getAttribute("scsb_strasse")+'<\/option>';
    }
    if (i>10) {
        size=10;
    } else {
        size=i;
    }
    document.getElementById("strasse").innerHTML='<select size="'+size+'" width="20" name="strasse" onClick="document.getElementById(\'frm_act\').scsb_id.value=document.frm_act.strasse.options[document.frm_act.strasse.selectedIndex].value;show_hausmummer_field();">'+list+'<\/select>';
}

function send_stdout(mess) {
    AjaxRequest.get( {
        'url':'http://www.ortelmobile.de/includes/send_act_err.php?mess='+mess
        ,'onSuccess': function (req) {}
        }
    )
}

function show_hausmummer_field() {
    document.getElementById('hnr').innerHTML='<input type="text" size="5" maxlength="8" name="hausnummer" value=""/>';
}

/* tbv registratie ortel.fr */
function check_fr_addr(language,lastName,firstName,Address,postalCode,City) {
    AjaxRequest.get( {
        'url':'soap.php?language='+language+'&lastName='+lastName+'&firstName='+firstName+'&Address='+Address+'&postalCode='+postalCode+'&City='+City+'&action=Normalize'
        ,'onSuccess': function (req) {}
        }
    )
}

function validateSIM(msisdn,icc,anrede,lastName,firstName,geburtstag,Address,City,postalCode) {
    AjaxRequest.get({
      'url':'soap.php?msisdn='+escape(msisdn)+'&icc='+escape(icc)+'&action=validateSIM'
        ,'onSuccess': function (req) {
        var txtdoc = req.responseText;
        if (txtdoc.indexOf('false</Success>')>0) {
          var regex = /<ErrorMessage xmlns="http:\/\/ecare.eplusspain.com\/ecare\/datatypes\/Result">(.+?)<\/ErrorMessage>/g;
          var result=[];
          var e;
          while (e = regex.exec(txtdoc)) {
            result.push(e[1]);
          }
          alert(result);
          document.getElementById('msisdn_field').style.color='#FF0000';
          document.getElementById('icc_field').style.color='#FF0000';
          return false;
        } else if (txtdoc.indexOf('SessionId')>0) {
          var regex = /<SessionId>(.+?)<\/SessionId>/g;
          var result=[];
          var e;
          while (e = regex.exec(txtdoc)) {
            result.push(e[1]);
          }
          SessionId=result; //needed for the next call to ecare
          //UpdateCustomer
           AjaxRequest.get({
             'url':'soap.php?SessionId='+escape(SessionId)+'&msisdn='+escape(msisdn)+'&anrede='+escape(anrede)+'&lastName='+escape(lastName)+'&firstName='+escape(firstName)+'&geburtstag='+geburtstag+'&Address='+escape(Address)+'&City='+escape(City)+'&postalCode='+escape(postalCode)+'&action=UpdateCustomer'
             ,'onSuccess': function (req) {
               var txtdoc = req.responseText;
               if (txtdoc.indexOf('<soap:Fault>')>0) {
                 var regex = /<faultstring>(.+?)<\/faultstring>/g;
                 var result=[];
                 var e;
                 while (e = regex.exec(txtdoc)) {
                   result.push(e[1]);
                 }
                 if (result!='') {
                   alert(result);
                 } else if (txtdoc!='') {
                   alert(txtdoc);
                 } else {
                   alert('Some error occurred');
                 }
                 return false;
               } else if (txtdoc!='[OK]') {
                alert(txtdoc);
                 return false;
               } else {
                //CreateOrder to remove the barrier
                AjaxRequest.get({
                  'url':'soap.php?SessionId='+escape(SessionId)+'&msisdn='+escape(msisdn)+'&anrede='+escape(anrede)+'&lastName='+escape(lastName)+'&firstName='+escape(firstName)+'&geburtstag='+geburtstag+'&Address='+escape(Address)+'&City='+escape(City)+'&postalCode='+escape(postalCode)+'&action=CreateOrder'
                  ,'onSuccess': function (req) {
                    var txtdoc = req.responseText;
                    if (txtdoc.indexOf('<soap:Fault>')>0) {
                      var regex = /<faultstring>(.+?)<\/faultstring>/g;
                      var result=[];
                      var e;
                      while (e = regex.exec(txtdoc)) {
                        result.push(e[1]);
                      }
                      if (result!='') {
                        alert(result);
                      } else if (txtdoc!='') {
                        alert(txtdoc);
                      } else {
                        alert('Some error occurred');
                      }
                      return false;
                    } else if (txtdoc=='[OK]') {
                      alert('Your card is registered');
                      return false;
                    } else {
                      alert(txtdoc);
                    }
                  }
                })
               }
             }
           })
        }
      }
  })
}