var Vnw = {};

(function () {
	
	var Event = YAHOO.util.Event;
	var $ = function (id) {return document.getElementById(id);};
	
	Formular = {
		
		_init : {},
		
		_length : 150,
		
		init : function () {
			try {
				Event.on('form-beschreibung', 'keydown', this.cut, this._length);
				Event.on('form-beschreibung', 'keyup', this.cut, this._length);
				Event.on('form-beschreibung', 'keypress', this.cut, this._length);
				Event.on('form-beschreibung', 'change', this.cut, this._length);
				
				Event.on('form-beschreibung', 'focus', function () {
          if ($('form-gegenstand').selectedIndex != 0) {
            return;
          }
          
          var t = $('form-beschreibung');
          
          if (t.value.length == 0) {
            if ($('form-modell').value) {
              t.value = $('form-modell').value + ', ';
            }
            
            if ($('form-baujahr').value) {
              t.value += 'Bj.' + $('form-baujahr').value.substr(2,2) + ', ';
            }
            
            var km = parseInt($('form-km').value);
            
            if (km) {
              if (km > 9999) {
                t.value += Math.round(km /= 1000) + 'tKm, '; 
              } else {
                t.value += km + 'Km, ';
              }
            }
             
            if (!$('form-tuev-nein').checked) {
              var m = $('form-tuev-1').value;
              t.value += 'TÜV ' + (m>9 ? m : '0' + m) + '/' + $('form-tuev-2').value.substr(2,2) + ', ';
            }
            
            $('char-counter').value = t.value.length + ' von ' + this._length;
          }
        }, this, true);
			} catch (ex) {
				document.getElementById('error-msg').innerHTML = ex;
			}
		},
		
		/**
		 * Aktiviert oder deaktiviert die Auswahlfelder für die TÜV Angaben.
		 */
		swapTuev: function (flag) {
			document.getElementById('form-tuev-1').disabled = flag;
	    document.getElementById('form-tuev-2').disabled = flag;
		},	
		
		/**
	   * Blendet die Autoangaben je nach gewähltem Gegenstand aus oder ein.
	   */
	  swapAuto: function (flag) {
	    var lis = YAHOO.util.Dom.getElementsByClassName('gegenstand-auto', null, document.getElementById('field-gegenstand'));
	    for(var i = 0; i < lis.length; i++) {
	      lis[i].style.display = flag ? 'block' : 'none';
	    }
	  },
		
		/**
		 * Prüft ob ein Bild angegeben wurde und fragt ob eine Anzeige wirklich 
		 * gespeichert werden soll.
		 */
		submitAd: function () {
			if (!document.getElementById('anzeigebild').value && !REFILL && !document.getElementById('bild_tmp_id').value) {
				if (!confirm('Sie haben kein Bild angegeben. Trotzdem fortfahren?')) {
					return false;
				}
			}
			
			return true;
		},
		
		cut : function (e, len) {
	    var el = YAHOO.util.Event.getTarget(e);
	    var c = document.getElementById('char-counter');
	    
	    if (el.value.length > len) {
	      el.value = el.value.substring(0, len);
	    }
	    
	    c.value = el.value.length + ' von ' + len;
	  }
	}
	
	Vnw.Formular = Formular;
	
	YAHOO.util.Event.onDOMReady(Formular.init, Vnw.Formular, true);
})();
