<!--
 Copyright 2015 Adobe Systems Incorporated.  All rights reserved. 
-->
<html>
    <head>
        <title>
           Responsive Layout Manipulator Extension for Dreamweaver
        </title>
        <link href="assets/css/ResponsiveLayoutManipulator.css" rel="stylesheet">
    </head>
    <body onload="createResponsiveLayoutManipulator()">
        <div id="responsiveLayoutOverlayContainer">
        </div>
        <script src="../ExtensionConstants.js" type="application/javascript"></script>
        <script src="assets/js/ResponsiveConstants.js" type="application/javascript"></script>
        <script src="../Utils/DebugUtils.js" type="application/javascript"></script>
        <script src="../Utils/JavascriptUtils.js" type="application/javascript"></script>
        <script src="../DwUtility.js" type="application/javascript"></script>
        <script src="assets/js/LayoutOps.js" type="application/javascript"></script>
        <script src="assets/js/GridModel.js" type="application/javascript"></script>
        <script src="assets/js/UIModel.js" type="application/javascript"></script>
        <script src="assets/js/ResponsiveFramework.js" type="application/javascript"></script>
        <script src="assets/js/ResponsiveAdapter.js" type="application/javascript"></script>
        <script src="assets/js/ResponsiveLayoutManipulator.js" type="application/javascript"></script>
        <script>
            ResponsiveLayoutConstants.setWindowObj(window.parent);
            var docWindowObj = ResponsiveLayoutConstants.docWindowObj;
            var ResponsiveFrameworkData = docWindowObj.ResponsiveFrameworkLookup;

            /*
                function:unloadResponsiveLayoutExtension - unload this extension from Dw ELV. Sends the parent controller the message to unload the Dw ELV Extension.
                Arguments: message to be logged while unloading the extension
                Return: none
            */
            function unloadResponsiveLayoutExtension(message) {
                // unload this extension from Dw ELV
                DebugUtils.log(message);
                docWindowObj.responsiveInfo = {};
                dwObject.setResponsiveFeatures("", []);
                var messageDetails = {};
                messageDetails.type = DW_PARENT_EVENT.UNLOAD_EXTENSION_BY_ID;
                messageDetails.extensionID = ResponsiveLayoutConstants.ExtensionId;
                dwExtensionController.sendMessage(messageDetails);
            }
            
            /*
                function:createResponsiveLayoutManipulator - Initialize the Responsive Layout Extension in Dw ELV.
                Arguments: none.
                Return: none.
            */
            function createResponsiveLayoutManipulator() {
                if(docWindowObj.responsiveInfo.responsiveFramework !== "") {
                    window.responsiveLayoutManipulator = null;
                    try {
                        if (docWindowObj.responsiveInfo.responsiveFramework === ResponsiveLayoutConstants.FRAMEWORK.BOOTSTRAP) {
                            window.responsiveLayoutManipulator = new ResponsiveOverlay.ResponsiveLayoutManipulator(ResponsiveLayoutConstants.FRAMEWORK.BOOTSTRAP, docWindowObj.responsiveInfo.frameworkVersion);
                        } /*else if { for other frameworks } */ else {
                            window.responsiveLayoutManipulator = null;
                            unloadResponsiveLayoutExtension("Not a recoginised responsive framework, but still the extension is loaded");
                        }
                    } catch (e) {
                        window.responsiveLayoutManipulator = null;
                        unloadResponsiveLayoutExtension("Responsive Framework Manipulator failed to Initialize: " + e.toString());
                    } finally {
                        if (window.responsiveLayoutManipulator) {
                            // it will set the responsive features list when initialization is complete
                        } else {
                            dwObject.setResponsiveFeatures("", []);
                        }
                    }
                } else {
                    //unload silently
                    unloadResponsiveLayoutExtension();
                }
            }
        </script>
    </body>
</html>