define( [

"../var/document",
"../core"

], function( document, jQuery ) {

“use strict”;

var cssPrefixes = [ “Webkit”, “Moz”, “ms” ],

emptyStyle = document.createElement( "div" ).style,
vendorProps = {};

// Return a vendor-prefixed property or undefined function vendorPropName( name ) {

// Check for vendor prefixed names
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
        i = cssPrefixes.length;

while ( i-- ) {
        name = cssPrefixes[ i ] + capName;
        if ( name in emptyStyle ) {
                return name;
        }
}

}

// Return a potentially-mapped jQuery.cssProps or vendor prefixed property function finalPropName( name ) {

var final = jQuery.cssProps[ name ] || vendorProps[ name ];

if ( final ) {
        return final;
}
if ( name in emptyStyle ) {
        return name;
}
return vendorProps[ name ] = vendorPropName( name ) || name;

}

return finalPropName;

} );