'use strict';

var shorthandParser = require('../parsers').shorthandParser; var shorthandSetter = require('../parsers').shorthandSetter; var shorthandGetter = require('../parsers').shorthandGetter;

var shorthand_for = {

'border-width': require('./borderWidth'),
'border-style': require('./borderStyle'),
'border-color': require('./borderColor')

};

var isValid = function isValid(v) {

return shorthandParser(v, shorthand_for) !== undefined;

}; module.exports.isValid = isValid;

var parser = function (v) {

if (v.toString().toLowerCase() === 'none') {
    v = '';
}
if (isValid(v)) {
    return v;
}
return undefined;

};

var myShorthandSetter = shorthandSetter('border', shorthand_for); var myShorthandGetter = shorthandGetter('border', shorthand_for);

module.exports.definition = {

set: function (v) {
    if (v.toString().toLowerCase() === 'none') {
        v = '';
    }
    myShorthandSetter.call(this, v);
    this.removeProperty('border-top');
    this.removeProperty('border-left');
    this.removeProperty('border-right');
    this.removeProperty('border-bottom');
    this._values['border-top'] = this._values.border;
    this._values['border-left'] = this._values.border;
    this._values['border-right'] = this._values.border;
    this._values['border-bottom'] = this._values.border;
},
get: myShorthandGetter,
enumerable: true,
configurable: true

};