code: function(representation) {
  	/* Fields */
  	this.seconds = 0;
  
  	/* Constructor */
  	if (representation == 'undefined' || representation == undefined || representation == '') {
  		representation = 0;
  	}
  	
  	if (typeof representation === 'number' && representation < 0) {
  		throw new Error(Duration.prototype.Error.NegativeValue);
  	}
  	else if (typeof representation === 'number') {
  		this.seconds = representation;
  	}
  	else {
  		var isSupportedFormat = false;
  		for (var format in Duration.prototype.DurationFormat) {
  			var pattern = Duration.prototype.DurationFormat[format].pattern;
  			var parser = Duration.prototype.DurationFormat[format].parser;
  			if (pattern.test(representation)) {
  				isSupportedFormat = true;
  				this.seconds = parser(this.seconds, representation.match(pattern));
  				break;
  			}
  		}
  
  		if (!isSupportedFormat) {
  			throw new Error(Duration.prototype.Error.UnexpectedFormat);
  		}
  	}
  
  	if (isNaN(this.seconds)) {
  		throw new Error(Duration.prototype.Error.Overflow);
  	}
  }
docs: /*
  duration.js
  A JavaScript library for parsing and manipulating ISO 8601 formatted duration strings.
  
  Licensed under The MIT License (MIT)
   
  @constructor