var inst = WO.setup.inst;
function show_city(input, response, outfield){
  var city = document.getElementById(fld);
  var city_input = document.getElementById('city_input');
  if(response != ''){ 
    // Response mode
    if(city) {
      city.innerHTML = response;
      city_input.value = response;
      if(response == 'Ugyldig'){
         //alert("Postnummeret du tastet inn er ugyldig, vennligst oppgi et gyldig postnummer"); 
        city.innerHTML = '';
        city_input.value = '';
      }
    }
  }else{
  // Input mode
    fld = outfield; 
    url  =  '/wsp/' + inst + '/frontend.cgi?func=frontend.show&query=show_city&template=city_xml&content_type=text/xml&func_id=' + input;
    loadXMLDoc(url);
  }
}

// DM code verification
function DMCodeVerification(){
  var inp = $('dmcode');
  var url = '/wsp/' + inst + '/frontend.cgi?func=frontend.show';
  var loader = 'http://' + WO.setup.url + '/' + inst + '/frontend/elements/preloader.gif';
  var funcId = $('func_id');
  var msg = new Element('span').addClassName('error').setStyle('display: block; padding-left: 10em');
      if(inp){
     
           var preloader = new Element('span').setStyle('position: absolute; background: url(' + loader + ') left top no-repeat; padding: 0px 16px 16px 0px;' );
           inp.insert({ after: preloader.hide() });
           preloader.insert({ after: msg.hide() });
           var f = inp.up('form', 0);

           f.observe('submit', function(e){

                if(inp.isValid != true) {
                    e.stop();
                }

           });

           inp.observe('change', function(e){
          
               var dmCode = this.value;
               new Ajax.Request(url, {
                     parameters: { 
                                    template: 'dmcode_verification'
                                  , debug: 'off'
                                  , mid: $('mid').value
                                  , dmcode: dmCode.strip()
                                 }
                   , onLoading: function(){ 
                                  f.disable();
                                  preloader.show();
                                }
                   , onSuccess: function(r){
                                    preloader.hide();
                                    var code = r.responseText.strip();
                                    var ok = code != '0' && !code.blank() ;
                                    inp.isValid = ok;
                                    
                                    if(ok == false){
                                       inp.addClassName('error');
                                       msg.show().update(WO.freetext('dm_code_error'));
                                    }else{
                                       inp.removeClassName('error');
                                       msg.hide();
                                       funcId.value = code;
                                    }

                                    f.enable();
                               }
               });

           });
      }

}
document.observe('dom:loaded', function(){
    DMCodeVerification();
});