var gLonghandProperties = [
	{ name: "-moz-appearance", prop: "MozAppearance"},
	{ name: "-moz-outline-radius-topleft", prop: "MozOutlineRadiusTopleft"},
	{ name: "-moz-outline-radius-topright", prop: "MozOutlineRadiusTopright"},
	{ name: "-moz-outline-radius-bottomright", prop: "MozOutlineRadiusBottomright"},
	{ name: "-moz-outline-radius-bottomleft", prop: "MozOutlineRadiusBottomleft"},
	{ name: "-moz-tab-size", prop: "MozTabSize"},
	{ name: "-moz-animation-delay", prop: "MozAnimationDelay"},
	{ name: "-moz-animation-direction", prop: "MozAnimationDirection"},
	{ name: "-moz-animation-duration", prop: "MozAnimationDuration"},
	{ name: "-moz-animation-fill-mode", prop: "MozAnimationFillMode"},
	{ name: "-moz-animation-iteration-count", prop: "MozAnimationIterationCount"},
	{ name: "-moz-animation-name", prop: "MozAnimationName"},
	{ name: "-moz-animation-play-state", prop: "MozAnimationPlayState"},
	{ name: "-moz-animation-timing-function", prop: "MozAnimationTimingFunction"},
	{ name: "background-attachment", prop: "backgroundAttachment"},
	{ name: "background-clip", prop: "backgroundClip"},
	{ name: "background-color", prop: "backgroundColor"},
	{ name: "background-image", prop: "backgroundImage"},
	{ name: "-moz-background-inline-policy", prop: "MozBackgroundInlinePolicy"},
	{ name: "background-origin", prop: "backgroundOrigin"},
	{ name: "background-position", prop: "backgroundPosition"},
	{ name: "background-repeat", prop: "backgroundRepeat"},
	{ name: "background-size", prop: "backgroundSize"},
	{ name: "-moz-binding", prop: "MozBinding"},
	{ name: "border-bottom-color", prop: "borderBottomColor"},
	{ name: "-moz-border-bottom-colors", prop: "MozBorderBottomColors"},
	{ name: "border-bottom-style", prop: "borderBottomStyle"},
	{ name: "border-bottom-width", prop: "borderBottomWidth"},
	{ name: "border-collapse", prop: "borderCollapse"},
	{ name: "-moz-border-image-source", prop: "MozBorderImageSource"},
	{ name: "-moz-border-image-slice", prop: "MozBorderImageSlice"},
	{ name: "-moz-border-image-width", prop: "MozBorderImageWidth"},
	{ name: "-moz-border-image-outset", prop: "MozBorderImageOutset"},
	{ name: "-moz-border-image-repeat", prop: "MozBorderImageRepeat"},
	{ name: "-moz-border-left-colors", prop: "MozBorderLeftColors"},
	{ name: "-moz-border-right-colors", prop: "MozBorderRightColors"},
	{ name: "border-spacing", prop: "borderSpacing"},
	{ name: "border-top-color", prop: "borderTopColor"},
	{ name: "-moz-border-top-colors", prop: "MozBorderTopColors"},
	{ name: "border-top-style", prop: "borderTopStyle"},
	{ name: "border-top-width", prop: "borderTopWidth"},
	{ name: "border-top-left-radius", prop: "borderTopLeftRadius"},
	{ name: "border-top-right-radius", prop: "borderTopRightRadius"},
	{ name: "border-bottom-right-radius", prop: "borderBottomRightRadius"},
	{ name: "border-bottom-left-radius", prop: "borderBottomLeftRadius"},
	{ name: "bottom", prop: "bottom"},
	{ name: "box-shadow", prop: "boxShadow"},
	{ name: "-moz-box-sizing", prop: "MozBoxSizing"},
	{ name: "caption-side", prop: "captionSide"},
	{ name: "clear", prop: "clear"},
	{ name: "clip", prop: "clip"},
	{ name: "color", prop: "color"},
	{ name: "-moz-column-count", prop: "MozColumnCount"},
	{ name: "-moz-column-fill", prop: "MozColumnFill"},
	{ name: "-moz-column-width", prop: "MozColumnWidth"},
	{ name: "-moz-column-gap", prop: "MozColumnGap"},
	{ name: "-moz-column-rule-color", prop: "MozColumnRuleColor"},
	{ name: "-moz-column-rule-style", prop: "MozColumnRuleStyle"},
	{ name: "-moz-column-rule-width", prop: "MozColumnRuleWidth"},
	{ name: "content", prop: "content"},
	{ name: "counter-increment", prop: "counterIncrement"},
	{ name: "counter-reset", prop: "counterReset"},
	{ name: "cursor", prop: "cursor"},
	{ name: "direction", prop: "direction"},
	{ name: "display", prop: "display"},
	{ name: "empty-cells", prop: "emptyCells"},
	{ name: "float", prop: "cssFloat"},
	{ name: "-moz-float-edge", prop: "MozFloatEdge"},
	{ name: "font-family", prop: "fontFamily"},
	{ name: "-moz-font-feature-settings", prop: "MozFontFeatureSettings"},
	{ name: "-moz-font-language-override", prop: "MozFontLanguageOverride"},
	{ name: "font-size", prop: "fontSize"},
	{ name: "font-size-adjust", prop: "fontSizeAdjust"},
	{ name: "font-stretch", prop: "fontStretch"},
	{ name: "font-style", prop: "fontStyle"},
	{ name: "font-variant", prop: "fontVariant"},
	{ name: "font-weight", prop: "fontWeight"},
	{ name: "-moz-force-broken-image-icon", prop: "MozForceBrokenImageIcon"},
	{ name: "height", prop: "height"},
	{ name: "-moz-image-region", prop: "MozImageRegion"},
	{ name: "ime-mode", prop: "imeMode"},
	{ name: "left", prop: "left"},
	{ name: "letter-spacing", prop: "letterSpacing"},
	{ name: "line-height", prop: "lineHeight"},
	{ name: "list-style-image", prop: "listStyleImage"},
	{ name: "list-style-position", prop: "listStylePosition"},
	{ name: "list-style-type", prop: "listStyleType"},
	{ name: "margin-bottom", prop: "marginBottom"},
	{ name: "margin-top", prop: "marginTop"},
	{ name: "marker-offset", prop: "markerOffset"},
	{ name: "marks", prop: "marks"},
	{ name: "max-height", prop: "maxHeight"},
	{ name: "max-width", prop: "maxWidth"},
	{ name: "min-height", prop: "minHeight"},
	{ name: "min-width", prop: "minWidth"},
	{ name: "opacity", prop: "opacity"},
	{ name: "-moz-orient", prop: "MozOrient"},
	{ name: "orphans", prop: "orphans"},
	{ name: "outline-color", prop: "outlineColor"},
	{ name: "outline-style", prop: "outlineStyle"},
	{ name: "outline-width", prop: "outlineWidth"},
	{ name: "outline-offset", prop: "outlineOffset"},
	{ name: "overflow-x", prop: "overflowX"},
	{ name: "overflow-y", prop: "overflowY"},
	{ name: "padding-bottom", prop: "paddingBottom"},
	{ name: "padding-top", prop: "paddingTop"},
	{ name: "page", prop: "page"},
	{ name: "page-break-after", prop: "pageBreakAfter"},
	{ name: "page-break-before", prop: "pageBreakBefore"},
	{ name: "page-break-inside", prop: "pageBreakInside"},
	{ name: "pointer-events", prop: "pointerEvents"},
	{ name: "position", prop: "position"},
	{ name: "quotes", prop: "quotes"},
	{ name: "resize", prop: "resize"},
	{ name: "right", prop: "right"},
	{ name: "size", prop: "size"},
	{ name: "table-layout", prop: "tableLayout"},
	{ name: "text-align", prop: "textAlign"},
	{ name: "-moz-text-align-last", prop: "MozTextAlignLast"},
	{ name: "-moz-text-blink", prop: "MozTextBlink"},
	{ name: "-moz-text-decoration-color", prop: "MozTextDecorationColor"},
	{ name: "-moz-text-decoration-line", prop: "MozTextDecorationLine"},
	{ name: "-moz-text-decoration-style", prop: "MozTextDecorationStyle"},
	{ name: "text-indent", prop: "textIndent"},
	{ name: "text-overflow", prop: "textOverflow"},
	{ name: "text-shadow", prop: "textShadow"},
	{ name: "-moz-text-size-adjust", prop: "MozTextSizeAdjust"},
	{ name: "text-transform", prop: "textTransform"},
	{ name: "-moz-transform", prop: "MozTransform"},
	{ name: "-moz-transform-origin", prop: "MozTransformOrigin"},
	{ name: "-moz-perspective-origin", prop: "MozPerspectiveOrigin"},
	{ name: "-moz-perspective", prop: "MozPerspective"},
	{ name: "-moz-transform-style", prop: "MozTransformStyle"},
	{ name: "-moz-backface-visibility", prop: "MozBackfaceVisibility"},
	{ name: "top", prop: "top"},
	{ name: "-moz-transition-delay", prop: "MozTransitionDelay"},
	{ name: "-moz-transition-duration", prop: "MozTransitionDuration"},
	{ name: "-moz-transition-property", prop: "MozTransitionProperty"},
	{ name: "-moz-transition-timing-function", prop: "MozTransitionTimingFunction"},
	{ name: "unicode-bidi", prop: "unicodeBidi"},
	{ name: "-moz-user-focus", prop: "MozUserFocus"},
	{ name: "-moz-user-input", prop: "MozUserInput"},
	{ name: "-moz-user-modify", prop: "MozUserModify"},
	{ name: "-moz-user-select", prop: "MozUserSelect"},
	{ name: "vertical-align", prop: "verticalAlign"},
	{ name: "visibility", prop: "visibility"},
	{ name: "white-space", prop: "whiteSpace"},
	{ name: "widows", prop: "widows"},
	{ name: "width", prop: "width"},
	{ name: "-moz-window-shadow", prop: "MozWindowShadow"},
	{ name: "word-break", prop: "wordBreak"},
	{ name: "word-spacing", prop: "wordSpacing"},
	{ name: "word-wrap", prop: "wordWrap"},
	{ name: "-moz-hyphens", prop: "MozHyphens"},
	{ name: "z-index", prop: "zIndex"},
	{ name: "-moz-box-align", prop: "MozBoxAlign"},
	{ name: "-moz-box-direction", prop: "MozBoxDirection"},
	{ name: "-moz-box-flex", prop: "MozBoxFlex"},
	{ name: "-moz-box-orient", prop: "MozBoxOrient"},
	{ name: "-moz-box-pack", prop: "MozBoxPack"},
	{ name: "-moz-box-ordinal-group", prop: "MozBoxOrdinalGroup"},
	{ name: "-moz-stack-sizing", prop: "MozStackSizing"},
	{ name: "clip-path", prop: "clipPath"},
	{ name: "clip-rule", prop: "clipRule"},
	{ name: "color-interpolation", prop: "colorInterpolation"},
	{ name: "color-interpolation-filters", prop: "colorInterpolationFilters"},
	{ name: "dominant-baseline", prop: "dominantBaseline"},
	{ name: "fill", prop: "fill"},
	{ name: "fill-opacity", prop: "fillOpacity"},
	{ name: "fill-rule", prop: "fillRule"},
	{ name: "filter", prop: "filter"},
	{ name: "flood-color", prop: "floodColor"},
	{ name: "flood-opacity", prop: "floodOpacity"},
	{ name: "image-rendering", prop: "imageRendering"},
	{ name: "lighting-color", prop: "lightingColor"},
	{ name: "marker-end", prop: "markerEnd"},
	{ name: "marker-mid", prop: "markerMid"},
	{ name: "marker-start", prop: "markerStart"},
	{ name: "mask", prop: "mask"},
	{ name: "shape-rendering", prop: "shapeRendering"},
	{ name: "stop-color", prop: "stopColor"},
	{ name: "stop-opacity", prop: "stopOpacity"},
	{ name: "stroke", prop: "stroke"},
	{ name: "stroke-dasharray", prop: "strokeDasharray"},
	{ name: "stroke-dashoffset", prop: "strokeDashoffset"},
	{ name: "stroke-linecap", prop: "strokeLinecap"},
	{ name: "stroke-linejoin", prop: "strokeLinejoin"},
	{ name: "stroke-miterlimit", prop: "strokeMiterlimit"},
	{ name: "stroke-opacity", prop: "strokeOpacity"},
	{ name: "stroke-width", prop: "strokeWidth"},
	{ name: "text-anchor", prop: "textAnchor"},
	{ name: "text-rendering", prop: "textRendering"},
	{ name: "vector-effect", prop: "vectorEffect"}
];

var gShorthandProperties = [
	{ name: "-moz-outline-radius", prop: "MozOutlineRadius"},
	{ name: "-moz-animation", prop: "MozAnimation"},
	{ name: "background", prop: "background"},
	{ name: "border", prop: "border"},
	{ name: "border-bottom", prop: "borderBottom"},
	{ name: "border-color", prop: "borderColor"},
	{ name: "-moz-border-end", prop: "MozBorderEnd"},
	{ name: "-moz-border-end-color", prop: "MozBorderEndColor"},
	{ name: "-moz-border-end-style", prop: "MozBorderEndStyle"},
	{ name: "-moz-border-end-width", prop: "MozBorderEndWidth"},
	{ name: "-moz-border-image", prop: "MozBorderImage"},
	{ name: "border-left", prop: "borderLeft"},
	{ name: "border-left-color", prop: "borderLeftColor"},
	{ name: "border-left-style", prop: "borderLeftStyle"},
	{ name: "border-left-width", prop: "borderLeftWidth"},
	{ name: "border-right", prop: "borderRight"},
	{ name: "border-right-color", prop: "borderRightColor"},
	{ name: "border-right-style", prop: "borderRightStyle"},
	{ name: "border-right-width", prop: "borderRightWidth"},
	{ name: "-moz-border-start", prop: "MozBorderStart"},
	{ name: "-moz-border-start-color", prop: "MozBorderStartColor"},
	{ name: "-moz-border-start-style", prop: "MozBorderStartStyle"},
	{ name: "-moz-border-start-width", prop: "MozBorderStartWidth"},
	{ name: "border-style", prop: "borderStyle"},
	{ name: "border-top", prop: "borderTop"},
	{ name: "border-width", prop: "borderWidth"},
	{ name: "border-radius", prop: "borderRadius"},
	{ name: "-moz-columns", prop: "MozColumns"},
	{ name: "-moz-column-rule", prop: "MozColumnRule"},
	{ name: "font", prop: "font"},
	{ name: "list-style", prop: "listStyle"},
	{ name: "margin", prop: "margin"},
	{ name: "-moz-margin-end", prop: "MozMarginEnd"},
	{ name: "margin-left", prop: "marginLeft"},
	{ name: "margin-right", prop: "marginRight"},
	{ name: "-moz-margin-start", prop: "MozMarginStart"},
	{ name: "outline", prop: "outline"},
	{ name: "overflow", prop: "overflow"},
	{ name: "padding", prop: "padding"},
	{ name: "-moz-padding-end", prop: "MozPaddingEnd"},
	{ name: "padding-left", prop: "paddingLeft"},
	{ name: "padding-right", prop: "paddingRight"},
	{ name: "-moz-padding-start", prop: "MozPaddingStart"},
	{ name: "text-decoration", prop: "textDecoration"},
	{ name: "-moz-transition", prop: "MozTransition"},
	{ name: "marker", prop: "marker"}
];

var gShorthandPropertiesLikeLonghand = [
	{ name: "-moz-margin-end", prop: "MozMarginEnd"},
	{ name: "margin-left", prop: "marginLeft"},
	{ name: "margin-right", prop: "marginRight"},
	{ name: "-moz-margin-start", prop: "MozMarginStart"},
	{ name: "overflow", prop: "overflow"},
	{ name: "-moz-padding-end", prop: "MozPaddingEnd"},
	{ name: "padding-left", prop: "paddingLeft"},
	{ name: "padding-right", prop: "paddingRight"},
	{ name: "-moz-padding-start", prop: "MozPaddingStart"},
];
