	function Defilant(id, pos_init, pos_min, pos_max, delta, direction) {
	   this.id          = id;
	   this.element     = document.getElementById(id);
	   this.pos_init    = pos_init;
	   this.pos_min     = pos_min;
	   this.pos_max     = pos_max;
	   this.pos_current = pos_init;
	   this.delta       = delta;
	   this.direction   = direction;
	}

	Defilant.prototype.defile = function() {
	   if (!this.element) {
	      this.element = document.getElementById(this.id);
	   }
	   if (this.element) {
	      if(this.direction == 'vertical'){
	         if(this.pos_current < (this.pos_min - this.element.offsetHeight) ){
	            this.pos_current = this.pos_init;
	         } else if (this.pos_current > this.pos_max ) {
	            this.pos_current = this.pos_init - this.element.offsetHeight;
	         } else {
	            this.pos_current += this.delta;
	         }
	         this.element.style.top = this.pos_current+"px";
	      } else if(this.direction == 'horizontal') {
	         if(this.pos_current < (this.pos_min - this.element.offsetWidth) ){
	            this.pos_current = this.pos_init;
	         } else if (this.pos_current > this.pos_max ) {
	            this.pos_current = this.pos_init - this.element.offsetWidth;
	         } else {
	            this.pos_current += this.delta;
	         }
	         this.element.style.left = this.pos_current+"px";
	      }
	   }
	}
