formatting the code, removing unnecessary imports and URL patterns correction
authorSeshu-Kumar-M <seshu.kumar.m@huawei.com>
Fri, 23 Sep 2016 13:53:10 +0000 (21:53 +0800)
committerSeshu-Kumar-M <seshu.kumar.m@huawei.com>
Fri, 23 Sep 2016 13:53:10 +0000 (21:53 +0800)
Change-Id: Id160a255d4acb4b901ca33965080b76d38810be1
Signed-off-by: Seshu-Kumar-M <seshu.kumar.m@huawei.com>
26 files changed:
openo-portal/portal-extsys/pom.xml
openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/controller.html
openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/css/RMain.css
openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/css/VMMain.css
openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/js/controller.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/css/bootstrap.css
openo-portal/portal-extsys/src/main/webapp/extsys/vim/css/skill.css
openo-portal/portal-extsys/src/main/webapp/extsys/vim/css/vim.css
openo-portal/portal-extsys/src/main/webapp/extsys/vim/css/vimChart.css
openo-portal/portal-extsys/src/main/webapp/extsys/vim/i18n/loadi18nApp.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/client-cometd.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/jqBootstrapValidation.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/vim-validate.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/vimChart.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/vimChartController.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/vimController.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/js/vimUtil.js
openo-portal/portal-extsys/src/main/webapp/extsys/vim/vimChart.html
openo-portal/portal-extsys/src/main/webapp/extsys/vim/vimView.html
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/css/vnfm.css
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/js/commonUtil.js
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/js/loadi18n_nsoc.js
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/js/vnfm-validate.js
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/js/vnfmController.js
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/js/vnfmUtil.js
openo-portal/portal-extsys/src/main/webapp/extsys/vnfm/vnfmView.html

index 8832e0d..3b6c5e5 100644 (file)
@@ -16,8 +16,9 @@
     limitations under the License.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion> 
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.openo.gso.gui</groupId>
         <artifactId>openo-portal</artifactId>
@@ -34,7 +35,7 @@
                 <configuration>
                     <failOnMissingWebXml>false</failOnMissingWebXml>
                 </configuration>
-      </plugin>
-    </plugins>
-  </build>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 1760666..8be93ad 100644 (file)
 <!DOCTYPE html>\r
 <html>\r
 <head>\r
-<head lang="en">\r
-<meta charset="UTF-8">\r
-<title></title>\r
-<link href="css/bootstrap.min.css" rel="stylesheet" />\r
-<link href="css/VMMain.css" rel="stylesheet" />\r
-<link href="css/bootstrap-table.min.css" rel="stylesheet" />\r
-<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>\r
-<script type="text/javascript" src="js/controller.js"></script>\r
-<script type="text/javascript" src="js/bootstrap.min.js"></script>\r
-<script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
-<script type="text/javascript">\r
-       $(document).ready(function() {\r
+    <head lang="en">\r
+        <meta charset="UTF-8">\r
+        <title></title>\r
+        <link href="css/bootstrap.min.css" rel="stylesheet"/>\r
+        <link href="css/VMMain.css" rel="stylesheet"/>\r
+        <link href="css/bootstrap-table.min.css" rel="stylesheet"/>\r
+        <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>\r
+        <script type="text/javascript" src="js/controller.js"></script>\r
+        <script type="text/javascript" src="js/bootstrap.min.js"></script>\r
+        <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
+        <script type="text/javascript">\r
+            $(document).ready(function () {\r
 \r
-               var jsondata = loadControllerData();\r
+                var jsondata = loadControllerData();\r
 \r
-               $('#controller').bootstrapTable({\r
-                       //Assigning data to table\r
-                       data : jsondata\r
-               });\r
-       });\r
-       function operateFormatter(value, row, index) {\r
-               return [ '<img class="siteDeleteImg" src="images/delete.png" href="javascript:void(0)" style="cursor: pointer" name="title" title="Delete" />' ]\r
-                               .join('');\r
+                $('#controller').bootstrapTable({\r
+                    //Assigning data to table\r
+                    data: jsondata\r
+                });\r
+            });\r
+            function operateFormatter(value, row, index) {\r
+                return ['<img class="siteDeleteImg" src="images/delete.png" href="javascript:void(0)" style="cursor: pointer" name="title" title="Delete" />']\r
+                        .join('');\r
 \r
-       }\r
-       window.operateEvents = {\r
-               'click .siteDeleteImg' : function(e, value, row, index) {\r
-                       // TO DO ajex call for delete\r
-                       deleteLink(row.id);\r
-                       console.log(value, row, index);\r
-               }\r
-       };\r
-</script>\r
-</head>\r
+            }\r
+            window.operateEvents = {\r
+                'click .siteDeleteImg': function (e, value, row, index) {\r
+                    // TO DO ajex call for delete\r
+                    deleteLink(row.id);\r
+                    console.log(value, row, index);\r
+                }\r
+            };\r
+        </script>\r
+    </head>\r
 <body id="open_base_site_cotentBody" class="cotentBody ng-scope">\r
-    <div class="container-fluid ms-controller">\r
+<div class="container-fluid ms-controller">\r
 \r
-        <div class="uploadBtn">\r
-            <div id="open_base_tpL_userHeader" class="userHeader">\r
-                <div id="open_base_tpL_buttonGroup" class="openoButton_buttonGroupClass">\r
-                    <div\r
+    <div class="uploadBtn">\r
+        <div id="open_base_tpL_userHeader" class="userHeader">\r
+            <div id="open_base_tpL_buttonGroup" class="openoButton_buttonGroupClass">\r
+                <div\r
                         class="openo openo-widget-button openoButton_buttonClass_parent ng-isolate-scope openoButton_buttonClass defaultbutton openoButton_button_default"\r
                         tabindex="0" id="false" text="res.brApp_ui_res_btn_create" icon-url="./images/add.png"\r
                         cls="defaultbutton" click="clickAdd"\r
                         style="display: inline-block; padding-left: 0px; padding-right: 0px;">\r
-                        <div class="openoButton_buttonInnerClass openo-corner-all openoButton_Image" id="false_button">\r
+                    <div class="openoButton_buttonInnerClass openo-corner-all openoButton_Image" id="false_button">\r
                             <span class="openo-widget-button-image openoButton_buttonLeftImg"\r
-                                style="background-image: url(images/add.png);"></span><span\r
-                                class="openoButton_buttonCenterText openoButton_buttonCenterTextFont">Create</span><span\r
-                                class="openo-widget-button-image openoButton_buttonImgDefault"></span>\r
-                        </div>\r
+                                  style="background-image: url(images/add.png);"></span><span\r
+                            class="openoButton_buttonCenterText openoButton_buttonCenterTextFont">Create</span><span\r
+                            class="openo-widget-button-image openoButton_buttonImgDefault"></span>\r
                     </div>\r
-\r
                 </div>\r
+\r
             </div>\r
         </div>\r
+    </div>\r
 \r
-        <div class="row-fluid" data-name="table_zone">\r
-            <div id='ict_virtualApplication_table_div'>\r
-                <div>\r
-                    <div class="top">\r
-                        <table id="controller" data-pagination="true" data-page-size="10"\r
-                            data-pagination-first-text="First" data-pagination-pre-text="Previous"\r
-                            data-pagination-next-text="Next" data-pagination-last-text="Last">\r
-                            <thead id="controller" class="openo-table-thead">\r
-                                <tr class="active">\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="name" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+    <div class="row-fluid" data-name="table_zone">\r
+        <div id='ict_virtualApplication_table_div'>\r
+            <div>\r
+                <div class="top">\r
+                    <table id="controller" data-pagination="true" data-page-size="10"\r
+                           data-pagination-first-text="First" data-pagination-pre-text="Previous"\r
+                           data-pagination-next-text="Next" data-pagination-last-text="Last">\r
+                        <thead id="controller" class="openo-table-thead">\r
+                        <tr class="active">\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="name" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_name_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip openoTable_sortable leftHeaderAlign  openo-table-disable-element ">Name\r
+                                                  class="openo-table-th-sorticon overflow_elip openoTable_sortable leftHeaderAlign  openo-table-disable-element ">Name\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="protocol" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="protocol" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_protocol_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Protocol\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Protocol\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="productname" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="productname" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_productname_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Product\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Product\r
                                                 Name</span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="type" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="type" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_type_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Type\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Type\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="vendor" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="vendor" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_vendor_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Vendor\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Vendor\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
+                                </div>\r
+                            </th>\r
 \r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="version" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="version" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_version_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Version\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Version\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="description" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="description" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_description_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Description\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Description\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="createtime" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="createtime" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_createtime_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Create\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Create\r
                                                 Time </span>\r
-                                        </div>\r
-                                    </th>\r
-                                    <th\r
-                                        class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
-                                        data-field="operation" data-sortable="true">\r
-                                        <div class="openo-table-th-border"></div>\r
-                                        <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                </div>\r
+                            </th>\r
+                            <th\r
+                                    class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign"\r
+                                    data-field="operation" data-sortable="true">\r
+                                <div class="openo-table-th-border"></div>\r
+                                <div class="DataTables_sort_wrapper openo-ellipsis ">\r
                                             <span id="ctrler_operation_sorticon"\r
-                                                class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Operation\r
+                                                  class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Operation\r
                                             </span>\r
-                                        </div>\r
-                                    </th>\r
-                                </tr>\r
-                            </thead>\r
-                            <tbody>\r
-                            </tbody>\r
-                        </table>\r
-                    </div>\r
+                                </div>\r
+                            </th>\r
+                        </tr>\r
+                        </thead>\r
+                        <tbody>\r
+                        </tbody>\r
+                    </table>\r
                 </div>\r
             </div>\r
         </div>\r
-        <!-- <div id="tpListopenotable_pagination_wrapper" class="openo-table-pagination-wrapper" style="display: block;"><div class="pagination-container openo-pagination-theme openo-pagination"><div class="openoPagination_openoPaginationLengthOptions" id="tpListopenotable_wrapper_div"><input readonly="true" class="openo-pagination-select openopaginationselect" value="" id="tpListopenotable_wrapper_input" actualval="20" style="width: 32px;"><span class="openo-pagination-selectspan openopaginationselectspan" id="tpListopenotable_wrapper_trigger"></span></div><label style="display: block;float:left;">Total records: 23</label><li class="active"><span class="current prev openo-disabled" id="tpListopenotable_wrapper_prev">&nbsp;</span></li><ul><li class="active"><span class="current" id="tpListopenotable_wrapper_page_link_1">1</span></li><li><a class="page-link" id="tpListopenotable_wrapper_page_link_2">2</a></li><li><a class="page-link" id="tpListopenotable_wrapper_page_link_3">3</a></li><li><a class="page-link next" id="tpListopenotable_wrapper_next">&nbsp;</a></li></ul></div></div> -->\r
+    </div>\r
+    <!-- <div id="tpListopenotable_pagination_wrapper" class="openo-table-pagination-wrapper" style="display: block;"><div class="pagination-container openo-pagination-theme openo-pagination"><div class="openoPagination_openoPaginationLengthOptions" id="tpListopenotable_wrapper_div"><input readonly="true" class="openo-pagination-select openopaginationselect" value="" id="tpListopenotable_wrapper_input" actualval="20" style="width: 32px;"><span class="openo-pagination-selectspan openopaginationselectspan" id="tpListopenotable_wrapper_trigger"></span></div><label style="display: block;float:left;">Total records: 23</label><li class="active"><span class="current prev openo-disabled" id="tpListopenotable_wrapper_prev">&nbsp;</span></li><ul><li class="active"><span class="current" id="tpListopenotable_wrapper_page_link_1">1</span></li><li><a class="page-link" id="tpListopenotable_wrapper_page_link_2">2</a></li><li><a class="page-link" id="tpListopenotable_wrapper_page_link_3">3</a></li><li><a class="page-link next" id="tpListopenotable_wrapper_next">&nbsp;</a></li></ul></div></div> -->\r
 \r
-        <div id="vmAppDialog" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"\r
-            aria-hidden="false">\r
-            <div class="modal-dialog">\r
-                <div class="modal-content">\r
-                    <div class="content">\r
-                        <div class="modal-header">\r
-                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\r
-                            <h4 class="modal-title" id="myModalLabel">\r
-                                <span>Create</span>\r
-                            </h4>\r
-                        </div>\r
-                        <form class="form-horizontal" role="form" id="controllerForm">\r
-                            <div id="wizard">\r
-                                <div class="modal-body">\r
-                                    <ul class="nav nav-pills nav-justified vmapp-margin">\r
-                                    </ul>\r
-                                    <div class="tab-content">\r
-                                        <div class="tab-pane active" id="basicTab">\r
-                                            <div class="form-group" ms-class="has-error:vmAppDialog.name==''">\r
-                                                <label class="col-sm-3 control-label"> <span>Name</span> <span\r
+    <div id="vmAppDialog" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"\r
+         aria-hidden="false">\r
+        <div class="modal-dialog">\r
+            <div class="modal-content">\r
+                <div class="content">\r
+                    <div class="modal-header">\r
+                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\r
+                        <h4 class="modal-title" id="myModalLabel">\r
+                            <span>Create</span>\r
+                        </h4>\r
+                    </div>\r
+                    <form class="form-horizontal" role="form" id="controllerForm">\r
+                        <div id="wizard">\r
+                            <div class="modal-body">\r
+                                <ul class="nav nav-pills nav-justified vmapp-margin">\r
+                                </ul>\r
+                                <div class="tab-content">\r
+                                    <div class="tab-pane active" id="basicTab">\r
+                                        <div class="form-group" ms-class="has-error:vmAppDialog.name==''">\r
+                                            <label class="col-sm-3 control-label"> <span>Name</span> <span\r
                                                     class="required">*</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="name" name="name" class="form-control" />\r
-                                                </div>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="name" name="name" class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>URL</span> <span\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>URL</span> <span\r
                                                     class="required">*</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="url" name="url" class="form-control" />\r
-                                                </div>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="url" name="url" class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>User Name</span> <span\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>User Name</span> <span\r
                                                     class="required">*</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="username" name="username"\r
-                                                        class="form-control" />\r
-                                                </div>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="username" name="username"\r
+                                                       class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Password</span> <span\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Password</span> <span\r
                                                     class="required">*</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="password" id="password" name="password"\r
-                                                        class="form-control" />\r
-                                                </div>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="password" id="password" name="password"\r
+                                                       class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Version</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="version" name="version" class="form-control" />\r
-                                                </div>\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Version</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="version" name="version" class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Vendor</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="vendor" name="vendor" class="form-control" />\r
-                                                </div>\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Vendor</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="vendor" name="vendor" class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Description</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="description" name="description"\r
-                                                        class="form-control" />\r
-                                                </div>\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Description</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="description" name="description"\r
+                                                       class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Protocol</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <select class="form-control"\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Protocol</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <select class="form-control"\r
                                                         style="padding-top: 0px; padding-bottom: 0px;" id="protocol"\r
                                                         name="protocol">\r
-                                                        <option value="netconf">netconf</option>\r
-                                                        <option value="snmp">snmp</option>\r
-                                                    </select>\r
-                                                </div>\r
+                                                    <option value="netconf">netconf</option>\r
+                                                    <option value="snmp">snmp</option>\r
+                                                </select>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Product Name</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <input type="text" id="productname" name="productname"\r
-                                                        class="form-control" />\r
-                                                </div>\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Product Name</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <input type="text" id="productname" name="productname"\r
+                                                       class="form-control"/>\r
                                             </div>\r
-                                            <div class="form-group">\r
-                                                <label class="col-sm-3 control-label"> <span>Type</span>\r
-                                                </label>\r
-                                                <div class="col-sm-7">\r
-                                                    <select class="form-control"\r
+                                        </div>\r
+                                        <div class="form-group">\r
+                                            <label class="col-sm-3 control-label"> <span>Type</span>\r
+                                            </label>\r
+                                            <div class="col-sm-7">\r
+                                                <select class="form-control"\r
                                                         style="padding-top: 0px; padding-bottom: 0px;" id="type"\r
                                                         name="type">\r
-                                                        <option value="odl">ODL</option>\r
-                                                        <option value="onos">ONOS</option>\r
-                                                    </select>\r
-                                                </div>\r
+                                                    <option value="odl">ODL</option>\r
+                                                    <option value="onos">ONOS</option>\r
+                                                </select>\r
                                             </div>\r
                                         </div>\r
                                     </div>\r
                                 </div>\r
-                                <div class="modal-footer">\r
-                                    <button type="button" class="btn SDBtn" data-dismiss="modal" aria-hidden="true"\r
+                            </div>\r
+                            <div class="modal-footer">\r
+                                <button type="button" class="btn SDBtn" data-dismiss="modal" aria-hidden="true"\r
                                         id="createLink">\r
-                                        <span id="nfv-virtualApplication-iui-text-cancelBtn">OK</span>\r
-                                    </button>\r
-                                    <button type="button" class="btn button-previous SDBtn">\r
-                                        <span id="nfv-virtualApplication-iui-text-previousBtn">Cancel</span>\r
-                                    </button>\r
+                                    <span id="nfv-virtualApplication-iui-text-cancelBtn">OK</span>\r
+                                </button>\r
+                                <button type="button" class="btn button-previous SDBtn">\r
+                                    <span id="nfv-virtualApplication-iui-text-previousBtn">Cancel</span>\r
+                                </button>\r
 \r
-                                </div>\r
                             </div>\r
-                        </form>\r
-                    </div>\r
+                        </div>\r
+                    </form>\r
                 </div>\r
             </div>\r
         </div>\r
     </div>\r
-    <div id="filterTpLogicalType_select_popupcontainer" class="openo openo-select-popup-container openo-hide"\r
-        style="width: 155px; max-height: 130px; left: 628px; top: 104px; z-index: 1761;">\r
-        <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_0">\r
-            <label class="openo-ellipsis openo-select-blank-item" style="width: 100%; display: block; height: 20px;"></label>\r
-        </div>\r
-        <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_1">\r
-            <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">ETH</label>\r
-        </div>\r
-        <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_2">\r
-            <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;" title="POS">POS</label>\r
-        </div>\r
-        <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_3">\r
-            <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Trunk</label>\r
-        </div>\r
-        <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_4">\r
-            <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Loopback</label>\r
-        </div>\r
+</div>\r
+<div id="filterTpLogicalType_select_popupcontainer" class="openo openo-select-popup-container openo-hide"\r
+     style="width: 155px; max-height: 130px; left: 628px; top: 104px; z-index: 1761;">\r
+    <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_0">\r
+        <label class="openo-ellipsis openo-select-blank-item"\r
+               style="width: 100%; display: block; height: 20px;"></label>\r
+    </div>\r
+    <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_1">\r
+        <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">ETH</label>\r
+    </div>\r
+    <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_2">\r
+        <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;" title="POS">POS</label>\r
+    </div>\r
+    <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_3">\r
+        <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Trunk</label>\r
+    </div>\r
+    <div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_4">\r
+        <label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Loopback</label>\r
     </div>\r
+</div>\r
 \r
 \r
 </body>\r
index 1b8488a..0a74032 100644 (file)
  * limitations under the License.\r
  */\r
 \r
-\r
 #iemp_layout_container {\r
-  padding: 0px;\r
-  margin: 1px auto;\r
-  width: 100%;\r
-  height: 100%;\r
+    padding: 0px;\r
+    margin: 1px auto;\r
+    width: 100%;\r
+    height: 100%;\r
 }\r
+\r
 #iemp_layout_container .three-cols-layout {\r
-  width: 100%;\r
-  height: 100%;\r
-  border-collapse: collapse;\r
-  margin-left: 0px;\r
-  margin-top: 0px;\r
-  margin-right: 0px;\r
-  margin-bottom: 0px;\r
+    width: 100%;\r
+    height: 100%;\r
+    border-collapse: collapse;\r
+    margin-left: 0px;\r
+    margin-top: 0px;\r
+    margin-right: 0px;\r
+    margin-bottom: 0px;\r
 }\r
+\r
 #iemp_layout_container .three-cols-layout {\r
-  width: 100%;\r
-  height: 100%;\r
-  border-collapse: collapse;\r
-  margin-left: 0px;\r
-  margin-top: 0px;\r
-  margin-right: 0px;\r
-  margin-bottom: 0px;\r
+    width: 100%;\r
+    height: 100%;\r
+    border-collapse: collapse;\r
+    margin-left: 0px;\r
+    margin-top: 0px;\r
+    margin-right: 0px;\r
+    margin-bottom: 0px;\r
 }\r
+\r
 #iemp_layout_container .three-cols-column.three-cols-left {\r
-  width: 215px;\r
-  background-color: #f5f5f5;\r
+    width: 215px;\r
+    background-color: #f5f5f5;\r
 }\r
+\r
 .accordion_parent {\r
-  position: relative;\r
-  width: 220px;\r
-  background-color: #f5f5f5;\r
+    position: relative;\r
+    width: 220px;\r
+    background-color: #f5f5f5;\r
 }\r
+\r
 .openo-accordion-resizable-handle {\r
-  z-index: 1!important;\r
-  cursor: e-resize;\r
-  width: 7px;\r
-  right: -5px;\r
-  top: 0;\r
-  height: 100%;\r
-  position: absolute;\r
-  font-size: .1px;\r
-  display: block;\r
+    z-index: 1 !important;\r
+    cursor: e-resize;\r
+    width: 7px;\r
+    right: -5px;\r
+    top: 0;\r
+    height: 100%;\r
+    position: absolute;\r
+    font-size: .1px;\r
+    display: block;\r
 }\r
+\r
 .openoAccordian_accordionmenu {\r
-  width: 100%;\r
-  margin: 0;\r
-  padding: 0;\r
-  list-style-type: none;\r
-  line-height: 17px;\r
+    width: 100%;\r
+    margin: 0;\r
+    padding: 0;\r
+    list-style-type: none;\r
+    line-height: 17px;\r
 }\r
+\r
 .openoAccordian_accordionmenu li {\r
-  min-width: 75px;\r
-  margin: 0;\r
-  padding: 0;\r
-  list-style-type: none;\r
-  color: #000;\r
-  clear: both;\r
+    min-width: 75px;\r
+    margin: 0;\r
+    padding: 0;\r
+    list-style-type: none;\r
+    color: #000;\r
+    clear: both;\r
 }\r
+\r
 .openo_accordion_ui-icon-collapse, .openo_accordion_ui-icon-expand {\r
-  display: block;\r
-  float: left;\r
-  margin-bottom: -1px;\r
-  border-bottom: 1px solid #e5e5e5;\r
-  cursor: pointer;\r
-  width: 13px;\r
-  padding-top: 26px;\r
+    display: block;\r
+    float: left;\r
+    margin-bottom: -1px;\r
+    border-bottom: 1px solid #e5e5e5;\r
+    cursor: pointer;\r
+    width: 13px;\r
+    padding-top: 26px;\r
 }\r
+\r
 .openo_accordion_ui-icon-expand {\r
-  background: url(../images/collapse_arrow.png) right 20px no-repeat;\r
-  margin-top: 8px;\r
+    background: url(../images/collapse_arrow.png) right 20px no-repeat;\r
+    margin-top: 8px;\r
 }\r
-.openo_accordion_ui-icon-expand.current{\r
-  background: url(../images/expand_arrow.png) right 20px no-repeat;\r
+\r
+.openo_accordion_ui-icon-expand.current {\r
+    background: url(../images/expand_arrow.png) right 20px no-repeat;\r
 }\r
+\r
 .openoAccordian_showHideArrow_hide, .openoAccordian_showHideArrow_show {\r
-  display: block;\r
-  position: absolute;\r
-  right: 0;\r
-  top: 4px;\r
-  width: 18px;\r
-  height: 41px;\r
-  cursor: pointer;\r
-  background-color: #f5f5f5;\r
+    display: block;\r
+    position: absolute;\r
+    right: 0;\r
+    top: 4px;\r
+    width: 18px;\r
+    height: 41px;\r
+    cursor: pointer;\r
+    background-color: #f5f5f5;\r
 }\r
+\r
 .openoAccordian_showHideArrow_hide {\r
-  background-image: url(../images/openo.png);\r
-  background-position: -7px 0!important;\r
-  border-collapse: separate;\r
-  /*box-shadow: inset -1px 0 0 #e5e5e5;*/\r
+    background-image: url(../images/openo.png);\r
+    background-position: -7px 0 !important;\r
+    border-collapse: separate;\r
+    /*box-shadow: inset -1px 0 0 #e5e5e5;*/\r
 }\r
+\r
 a.header.opened, a.header.closed {\r
-  font-size: 16px;\r
-  padding-top: 24px;\r
-  padding-bottom: 25px;\r
-  color: #999999;\r
+    font-size: 16px;\r
+    padding-top: 24px;\r
+    padding-bottom: 25px;\r
+    color: #999999;\r
 }\r
+\r
 .openoAccordian_accordionmenu .closed, .openoAccordian_accordionmenu .opened {\r
-  padding-right: 10px;\r
-  background-position: 98% 50%;\r
-  background-repeat: no-repeat;\r
+    padding-right: 10px;\r
+    background-position: 98% 50%;\r
+    background-repeat: no-repeat;\r
 }\r
+\r
 .openoAccordian_accordionmenu li a {\r
-  padding: 11px 10px 12px;\r
-  color: #333333;\r
-  margin-right: 1px;\r
-  margin-top: -1px;\r
-  text-align: left!important;\r
-  font-family: "Microsoft Yahei",SimSun,Arial,Tahoma;\r
-  font-size: 14px;\r
-  text-overflow: ellipsis;\r
-  white-space: nowrap;\r
-  overflow: hidden;\r
-  border-top: 1px solid #e5e5e5;\r
-  border-bottom: 1px solid #e5e5e5;\r
-  /*height: 19px;*/\r
+    padding: 11px 10px 12px;\r
+    color: #333333;\r
+    margin-right: 1px;\r
+    margin-top: -1px;\r
+    text-align: left !important;\r
+    font-family: "Microsoft Yahei", SimSun, Arial, Tahoma;\r
+    font-size: 14px;\r
+    text-overflow: ellipsis;\r
+    white-space: nowrap;\r
+    overflow: hidden;\r
+    border-top: 1px solid #e5e5e5;\r
+    border-bottom: 1px solid #e5e5e5;\r
+    /*height: 19px;*/\r
 }\r
+\r
 .openoAccordian_accordionmenu ul {\r
-  margin: 0;\r
-  padding: 0;\r
-  overflow: hidden;\r
+    margin: 0;\r
+    padding: 0;\r
+    overflow: hidden;\r
 }\r
+\r
 .openoAccordian_accordionmenu a {\r
-  display: block;\r
-  text-decoration: none;\r
+    display: block;\r
+    text-decoration: none;\r
 }\r
+\r
 a {\r
-  color: #428bca;\r
-  text-decoration: none;\r
-  background: 0 0;\r
+    color: #428bca;\r
+    text-decoration: none;\r
+    background: 0 0;\r
 }\r
-.bar{\r
+\r
+.bar {\r
     height: 834px;\r
     width: 18px;\r
     background: #f8f8f8;\r
     display: none;\r
 }\r
-.bar span{\r
+\r
+.bar span {\r
     width: 13px;\r
     height: 34px;\r
     background-image: url(../images/openo.png);\r
-  background-position: -39px 0!important;\r
-  display: block;\r
-  /*margin-top: -430px;*/\r
+    background-position: -39px 0 !important;\r
+    display: block;\r
+    /*margin-top: -430px;*/\r
 }\r
-#accordionmenuid_ul_0_0_brAppTopMenuID_UL li{\r
+\r
+#accordionmenuid_ul_0_0_brAppTopMenuID_UL li {\r
     cursor: pointer;\r
 }\r
-#puer_base_openo{\r
+\r
+#puer_base_openo {\r
     border: 1px solid #ddd;\r
 }\r
+\r
 .openo_accordion_selected {\r
-  margin-left: 0;\r
-  margin-right: 0;\r
-  background: #fafafa;\r
-  border-left: 3px solid #4ac9ff!important;\r
-  box-shadow: none;\r
-  position: relative;\r
+    margin-left: 0;\r
+    margin-right: 0;\r
+    background: #fafafa;\r
+    border-left: 3px solid #4ac9ff !important;\r
+    box-shadow: none;\r
+    position: relative;\r
 }\r
-a:hover{\r
-    color: #4ac9ff!important;\r
+\r
+a:hover {\r
+    color: #4ac9ff !important;\r
 }\r
+\r
 .openoAccordian_accordionmenu li.openo_accordion_selected a {\r
-  position: relative;\r
-  left: -3px;\r
-  color: #009ae7;\r
+    position: relative;\r
+    left: -3px;\r
+    color: #009ae7;\r
 }\r
+\r
 .openo-accordion-resizable-handle {\r
-  z-index: 1!important;\r
-  cursor: e-resize;\r
-  width: 7px;\r
-  right: -5px;\r
-  top: 0;\r
-  height: 100%;\r
-  position: absolute;\r
-  font-size: .1px;\r
-  display: block;\r
+    z-index: 1 !important;\r
+    cursor: e-resize;\r
+    width: 7px;\r
+    right: -5px;\r
+    top: 0;\r
+    height: 100%;\r
+    position: absolute;\r
+    font-size: .1px;\r
+    display: block;\r
 }\r
+\r
 #iframeContainer iframe {\r
-  width: 100%;\r
-  height: 100%;\r
-  border: 0;\r
+    width: 100%;\r
+    height: 100%;\r
+    border: 0;\r
 }\r
+\r
 #accordionContent, #iframeContainer {\r
-  margin: 0;\r
-  padding: 0;\r
-  border: 0;\r
-  width: 100%;\r
-  height: 100%;\r
+    margin: 0;\r
+    padding: 0;\r
+    border: 0;\r
+    width: 100%;\r
+    height: 100%;\r
 }\r
+\r
 .openoAccordian_showHideArrow_show {\r
-  background-image: url(../images/openo.png);\r
-  background-position: -39px 0!important;\r
-  box-shadow: inset 1px 0 0 #e5e5e5,inset -1px 0 0 #e5e5e5;\r
+    background-image: url(../images/openo.png);\r
+    background-position: -39px 0 !important;\r
+    box-shadow: inset 1px 0 0 #e5e5e5, inset -1px 0 0 #e5e5e5;\r
 }
\ No newline at end of file
index e625e90..a1c0866 100644 (file)
  * limitations under the License.\r
  */\r
 \r
-\r
-body{\r
+body {\r
     font-family: '微软雅黑';\r
     font-size: 12px;\r
     color: #333;\r
     background: #fafafa;\r
 }\r
-button{\r
+\r
+button {\r
     outline: none;\r
 }\r
-ul,li{\r
+\r
+ul, li {\r
     list-style: none;\r
-    padding:0;\r
-    margin:0;\r
+    padding: 0;\r
+    margin: 0;\r
 }\r
-.titleFont{\r
+\r
+.titleFont {\r
     font-size: 16px;\r
 }\r
-.separator-line{\r
+\r
+.separator-line {\r
     height: 1px;\r
     width: 100%;\r
-    border:1px solid #ddd;\r
+    border: 1px solid #ddd;\r
     margin: 6px 0 15px 0;\r
 }\r
-.uploadBtn{\r
+\r
+.uploadBtn {\r
     overflow: hidden;\r
 }\r
+\r
 .creat-btn {\r
-       padding: 0 14px;\r
-       height: 24px;\r
+    padding: 0 14px;\r
+    height: 24px;\r
     float: left;\r
     cursor: pointer;\r
     text-decoration: none;\r
     outline: 0;\r
     border: 1px solid #d3d3d3;\r
     text-align: center;\r
-    box-shadow: 0 1px 1px rgba(0,0,0,.05);\r
+    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\r
     background: #fafafa;\r
-    background: -moz-linear-gradient(top,#fff,#fafafa);\r
-    background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#fafafa));\r
-    background: -webkit-linear-gradient(top,#fff,#fafafa);\r
-    background: linear-gradient(to bottom,#fff,#fafafa);\r
+    background: -moz-linear-gradient(top, #fff, #fafafa);\r
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #fafafa));\r
+    background: -webkit-linear-gradient(top, #fff, #fafafa);\r
+    background: linear-gradient(to bottom, #fff, #fafafa);\r
     border-radius: 6px;\r
     background: #fff url(../images/add.png) no-repeat 5px center;\r
     padding-left: 20px;\r
 }\r
+\r
 .creat-btn:hover {\r
-       color: #009ae7; \r
-       border: 1px solid #4AC9FF\r
+    color: #009ae7;\r
+    border: 1px solid #4AC9FF\r
 }\r
+\r
 .creat-btn:active {\r
-       color: #000;    \r
-       border: 1px solid #4AC9FF\r
+    color: #000;\r
+    border: 1px solid #4AC9FF\r
 }\r
+\r
 /*.creat-btn{\r
     background: #fff url(../image/add.png) no-repeat 5px center;\r
     border: 1px solid #ddd;\r
@@ -77,110 +85,130 @@ ul,li{
     color: #fff;\r
     border:1px solid #428bca;\r
 }*/\r
-.search{\r
+.search {\r
     width: 310px;\r
     height: 30px;\r
-    float:right;\r
+    float: right;\r
 }\r
-.search-text{\r
+\r
+.search-text {\r
     width: 250px;\r
     float: left;\r
     margin-right: 6px;\r
 }\r
-.search-btn{\r
+\r
+.search-btn {\r
     height: 30px;\r
     background: #fff;\r
     border: 1px solid #ddd;\r
     float: left;\r
 }\r
-#ict_virtualApplication_table_div{\r
+\r
+#ict_virtualApplication_table_div {\r
     margin-top: 15px;\r
 }\r
-.table>thead>tr.active>th{\r
-    border: 1px solid #ddd!important;\r
+\r
+.table > thead > tr.active > th {\r
+    border: 1px solid #ddd !important;\r
     border-bottom: 0;\r
     background: #f0f0f0;\r
 }\r
+\r
 /*.table tbody tr:hover{\r
     background: #e6fbe0!important;\r
 }*/\r
-.table tbody tr:last-child{\r
+.table tbody tr:last-child {\r
     border-bottom: 1px solid #ddd;\r
 }\r
-.table-btn{\r
+\r
+.table-btn {\r
     border: 1px solid #ccc;\r
     border-radius: 3px;\r
 }\r
-.delete-btn{\r
+\r
+.delete-btn {\r
     background: url(../image/delete.png) no-repeat;\r
     width: 16px;\r
     height: 16px;\r
     border: none;\r
 }\r
-.detail-btn{\r
+\r
+.detail-btn {\r
     background: url(../image/openo.png) no-repeat -343px -283px;\r
     width: 16px;\r
     height: 16px;\r
     border: none;\r
 }\r
-.detail-btn.current{\r
-    background-position: -7px -314px; \r
+\r
+.detail-btn.current {\r
+    background-position: -7px -314px;\r
 }\r
-.detail{\r
+\r
+.detail {\r
     height: 200px;\r
     border: 1px solid #ddd;\r
     margin-top: 60px;\r
 }\r
 \r
-.detail-top ul{\r
+.detail-top ul {\r
     height: 50px;\r
     line-height: 50px;\r
     border-bottom: 1px solid #ddd;\r
     padding-left: 0px;\r
-     background: #fafafa;\r
+    background: #fafafa;\r
 }\r
-.detail-top ul li{\r
-    float:left;\r
+\r
+.detail-top ul li {\r
+    float: left;\r
     width: 120px;\r
     text-align: center;\r
     border-right: 1px solid #ddd;\r
     cursor: pointer;\r
 }\r
-.detail-top ul li.current{\r
+\r
+.detail-top ul li.current {\r
     background: #fff;\r
 }\r
-.vmapp-margin{\r
+\r
+.vmapp-margin {\r
     margin-bottom: 10px;\r
 }\r
-.control-label .required{\r
+\r
+.control-label .required {\r
     color: #e02222;\r
     font-size: 12px;\r
     padding-left: 2px;\r
 }\r
-.form-group .control-label{\r
+\r
+.form-group .control-label {\r
     font-size: 12px;\r
     font-weight: 400;\r
 }\r
-legend{\r
+\r
+legend {\r
     font-size: 12px;\r
     font-weight: bold;\r
 }\r
-.pageGro{\r
+\r
+.pageGro {\r
     width: 250px;\r
     float: right;\r
 }\r
-.pageUp,.pageDown,.pageList,.pageList li{\r
+\r
+.pageUp, .pageDown, .pageList, .pageList li {\r
     float: left;\r
     cursor: pointer;\r
 }\r
-.pageUp,.pageDown{\r
+\r
+.pageUp, .pageDown {\r
     width: 60px;\r
     height: 30px;\r
     border: 1px solid #ddd;\r
     text-align: center;\r
     line-height: 30px;\r
 }\r
-.pageList li{\r
+\r
+.pageList li {\r
     width: 30px;\r
     height: 30px;\r
     border: 1px solid #ddd;\r
@@ -188,466 +216,543 @@ legend{
     line-height: 30px;\r
     border-left: none;\r
 }\r
-.pageList li.active{\r
+\r
+.pageList li.active {\r
     background: #428bca;\r
     color: #fff;\r
     border-color: #428bca;\r
 }\r
-.pageDown{\r
+\r
+.pageDown {\r
     border-left: none;\r
 }\r
-.headerLinkP{\r
+\r
+.headerLinkP {\r
     padding-top: 17px;\r
 }\r
-.headerLinkP span{\r
+\r
+.headerLinkP span {\r
     font-size: 12px;\r
     color: #666;\r
-    font-weight: normal!important;\r
+    font-weight: normal !important;\r
 }\r
-label{\r
-    font-weight: normal!important;\r
+\r
+label {\r
+    font-weight: normal !important;\r
 }\r
+\r
 table.userform tbody tr td {\r
-  display: table-cell;\r
-  padding-right: 10px;\r
-  padding-top: 10px;\r
-  font-size: 12px;\r
-  color: #333;\r
+    display: table-cell;\r
+    padding-right: 10px;\r
+    padding-top: 10px;\r
+    font-size: 12px;\r
+    color: #333;\r
 }\r
-.table th,.table td{\r
-    padding-top: 3px!important;\r
-    padding-bottom: 3px!important;\r
+\r
+.table th, .table td {\r
+    padding-top: 3px !important;\r
+    padding-bottom: 3px !important;\r
 }\r
+\r
 .openoBrowseButton_element {\r
-  display: table;\r
+    display: table;\r
 }\r
+\r
 .openo {\r
-  font-family: "Microsoft Yahei",SimSun,Arial,Tahoma;\r
-  font-size: 12px;\r
-  color: #000;\r
+    font-family: "Microsoft Yahei", SimSun, Arial, Tahoma;\r
+    font-size: 12px;\r
+    color: #000;\r
 }\r
+\r
 .openoBrowseButton_input {\r
-  width: 198px;\r
-  position: relative;\r
-  border: 1px solid #c3c3c3!important;\r
-  height: 26px;\r
-  background-color: #f3f3f3;\r
-  border-radius: 4px 0 0 4px;\r
-  border-right: none;\r
-  padding: 0;\r
+    width: 198px;\r
+    position: relative;\r
+    border: 1px solid #c3c3c3 !important;\r
+    height: 26px;\r
+    background-color: #f3f3f3;\r
+    border-radius: 4px 0 0 4px;\r
+    border-right: none;\r
+    padding: 0;\r
 }\r
+\r
 .buttonClassDefault, .buttonClassDefault:active {\r
-  cursor: pointer;\r
-  background-image: url(../images/openo.png);\r
-  background-position: -154px -7px!important;\r
+    cursor: pointer;\r
+    background-image: url(../images/openo.png);\r
+    background-position: -154px -7px !important;\r
 }\r
+\r
 .openoBrowseButton_button {\r
-  width: 27px;\r
-  border: 0;\r
-  float: right;\r
-  position: relative;\r
-  height: 26px;\r
-  right: 0;\r
-  top: 0;\r
-  border-radius: 0 4px 4px 0;\r
-  border-right: 1px solid #c3c3c3;\r
-  border-left: none;\r
+    width: 27px;\r
+    border: 0;\r
+    float: right;\r
+    position: relative;\r
+    height: 26px;\r
+    right: 0;\r
+    top: 0;\r
+    border-radius: 0 4px 4px 0;\r
+    border-right: 1px solid #c3c3c3;\r
+    border-left: none;\r
 }\r
+\r
 .openo .openo-input, .openo.openo-input {\r
-  outline: 0;\r
-  border: 1px solid #c3c3c3;\r
-  box-shadow: 1px 1px #f6f6f6 inset;\r
-  background-color: #fff;\r
-  height: 26px;\r
+    outline: 0;\r
+    border: 1px solid #c3c3c3;\r
+    box-shadow: 1px 1px #f6f6f6 inset;\r
+    background-color: #fff;\r
+    height: 26px;\r
 }\r
+\r
 .openoInput_openoDefaultText {\r
-  padding: 0 0 0 6px;\r
-  border-radius: 4px;\r
-  color: #000;\r
-  display: inline-block;\r
-  outline: 0;\r
-  box-shadow: 1px 1px #f6f6f6 inset;\r
-  font-size: 12px;\r
-  background: #fff;\r
+    padding: 0 0 0 6px;\r
+    border-radius: 4px;\r
+    color: #000;\r
+    display: inline-block;\r
+    outline: 0;\r
+    box-shadow: 1px 1px #f6f6f6 inset;\r
+    font-size: 12px;\r
+    background: #fff;\r
 }\r
+\r
 div.openo-select {\r
-  border: 1px solid #c3c3c3;\r
-  border-radius: 4px;\r
-  background: url(../images/arrow-down-enable.png) right no-repeat #fff;\r
-  line-height: 24px;\r
-  padding-left: 3px;\r
-  display: block;\r
-}\r
-div.openo-select>input.openo-select-input {\r
-  border: none;\r
-  outline: 0;\r
-  line-height: 21px;\r
-  height: 21px;\r
-  padding-left: 3px;\r
-  border-right: solid 1px #c3c3c3;\r
+    border: 1px solid #c3c3c3;\r
+    border-radius: 4px;\r
+    background: url(../images/arrow-down-enable.png) right no-repeat #fff;\r
+    line-height: 24px;\r
+    padding-left: 3px;\r
+    display: block;\r
 }\r
+\r
+div.openo-select > input.openo-select-input {\r
+    border: none;\r
+    outline: 0;\r
+    line-height: 21px;\r
+    height: 21px;\r
+    padding-left: 3px;\r
+    border-right: solid 1px #c3c3c3;\r
+}\r
+\r
 .openo .openo-ellipsis, .openo.openo-ellipsis {\r
-  overflow: hidden;\r
-  white-space: nowrap;\r
-  text-overflow: ellipsis;\r
+    overflow: hidden;\r
+    white-space: nowrap;\r
+    text-overflow: ellipsis;\r
 }\r
+\r
 a.openoButton_buttonClass, a.openoButton_buttonDisableClass, div.openoButton_buttonClass, div.openoButton_buttonDisableClass {\r
-  height: 26px;\r
-  float: left;\r
-  cursor: pointer;\r
-  text-decoration: none;\r
-  outline: 0;\r
-  border: 1px solid #d3d3d3;\r
-  text-align: center;\r
-  box-shadow: 0 1px 1px rgba(0,0,0,.05);\r
-  background: #fafafa;\r
-  background: -moz-linear-gradient(top,#fff,#fafafa);\r
-  background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#fafafa));\r
-  background: -webkit-linear-gradient(top,#fff,#fafafa);\r
-  background: linear-gradient(to bottom,#fff,#fafafa);\r
-  border-radius: 6px;\r
-}\r
-.openoButton_buttonInnerClass{\r
-      padding: 0 19px;\r
-      border-radius: 6px;\r
+    height: 26px;\r
+    float: left;\r
+    cursor: pointer;\r
+    text-decoration: none;\r
+    outline: 0;\r
+    border: 1px solid #d3d3d3;\r
+    text-align: center;\r
+    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\r
+    background: #fafafa;\r
+    background: -moz-linear-gradient(top, #fff, #fafafa);\r
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #fafafa));\r
+    background: -webkit-linear-gradient(top, #fff, #fafafa);\r
+    background: linear-gradient(to bottom, #fff, #fafafa);\r
+    border-radius: 6px;\r
+}\r
+\r
+.openoButton_buttonInnerClass {\r
+    padding: 0 19px;\r
+    border-radius: 6px;\r
 }\r
+\r
 .openoButton_buttonCenterText {\r
-  color: #000;\r
-  line-height: 24px;\r
-  white-space: nowrap;\r
-  width: auto!important;\r
+    color: #000;\r
+    line-height: 24px;\r
+    white-space: nowrap;\r
+    width: auto !important;\r
 }\r
+\r
 .userHeader {\r
-  clear: left;\r
-  overflow: hidden;\r
-  margin-bottom: 10px;\r
-  padding: 10px 10px 0px 0px;\r
+    clear: left;\r
+    overflow: hidden;\r
+    margin-bottom: 10px;\r
+    padding: 10px 10px 0px 0px;\r
 }\r
+\r
 .openoButton_buttonGroupClass {\r
-  display: inline;\r
+    display: inline;\r
 }\r
+\r
 .openoButton_buttonGroupClass div.openoButton_buttonClass_parent:first-child {\r
-  margin-left: 0;\r
+    margin-left: 0;\r
 }\r
+\r
 .openoButton_buttonLeftImg {\r
-  margin-right: 5px;\r
+    margin-right: 5px;\r
 }\r
+\r
 .openoButton_buttonLeftImg, .openoButton_buttonRightImg {\r
-  display: inline-block;\r
-  vertical-align: top;\r
-  width: 16px;\r
-  height: 16px;\r
-  margin-top: 4px;\r
+    display: inline-block;\r
+    vertical-align: top;\r
+    width: 16px;\r
+    height: 16px;\r
+    margin-top: 4px;\r
 }\r
+\r
 .openo-table-pagination-wrapper {\r
-  height: 37px;\r
+    height: 37px;\r
 }\r
+\r
 .openo-pagination {\r
-  display: block;\r
-  float: left;\r
-  overflow: hidden;\r
-  padding: 5px 0 0;\r
-  margin-top: 8px;\r
+    display: block;\r
+    float: left;\r
+    overflow: hidden;\r
+    padding: 5px 0 0;\r
+    margin-top: 8px;\r
 }\r
+\r
 .openoPagination_openoPaginationLengthOptions:not(msie8) {\r
-  line-height: 24px;\r
+    line-height: 24px;\r
 }\r
+\r
 .openoPagination_openoPaginationLengthOptions {\r
-  white-space: normal;\r
-  height: 24px;\r
-  float: left;\r
-  outline: 0;\r
-  line-height: 20px;\r
-  margin: 0 5px;\r
+    white-space: normal;\r
+    height: 24px;\r
+    float: left;\r
+    outline: 0;\r
+    line-height: 20px;\r
+    margin: 0 5px;\r
 }\r
+\r
 .openo-pagination-select {\r
-  height: 26px;\r
-  line-height: 22px;\r
-  text-align: center;\r
-  margin-right: -2px;\r
-  border: 1px solid #e0e0e0;\r
-  border-radius: 5px 0 0 5px;\r
-  padding: 1px;\r
+    height: 26px;\r
+    line-height: 22px;\r
+    text-align: center;\r
+    margin-right: -2px;\r
+    border: 1px solid #e0e0e0;\r
+    border-radius: 5px 0 0 5px;\r
+    padding: 1px;\r
 }\r
+\r
 .openoPagination_openoPaginationLengthOptions span {\r
-  background-color: #fff!important;\r
+    background-color: #fff !important;\r
 }\r
+\r
 .openo-pagination-theme a, .openo-pagination-theme span {\r
-  float: left;\r
-  color: #666;\r
-  font: 12px Lucida Grande,Verdana,Arial,Helvetica,sans-serif;\r
-  line-height: 24px;\r
-  font-weight: 400;\r
-  text-align: center;\r
-  border: 1px solid #e0e0e0;\r
-  text-decoration: none!important;\r
-  padding: 0 7px;\r
-  border-radius: 3px;\r
-  background: #fff;\r
+    float: left;\r
+    color: #666;\r
+    font: 12px Lucida Grande, Verdana, Arial, Helvetica, sans-serif;\r
+    line-height: 24px;\r
+    font-weight: 400;\r
+    text-align: center;\r
+    border: 1px solid #e0e0e0;\r
+    text-decoration: none !important;\r
+    padding: 0 7px;\r
+    border-radius: 3px;\r
+    background: #fff;\r
 }\r
+\r
 .openo-pagination-selectspan {\r
-  background: url(../images/ideo_default_select.png) left no-repeat!important;\r
-  float: right!important;\r
-  width: 26px;\r
-  height: 26px;\r
-  cursor: pointer;\r
+    background: url(../images/ideo_default_select.png) left no-repeat !important;\r
+    float: right !important;\r
+    width: 26px;\r
+    height: 26px;\r
+    cursor: pointer;\r
 }\r
+\r
 .openo-pagination-theme label {\r
-  padding-top: 6px;\r
-  vertical-align: middle;\r
-  margin-right: 20px;\r
-  margin-top: -1px;\r
-  float: left;\r
-  display: inline-block;\r
-  height: 20px;\r
-  font: 12px Lucida Grande,Verdana,Arial,Helvetica,sans-serif;\r
+    padding-top: 6px;\r
+    vertical-align: middle;\r
+    margin-right: 20px;\r
+    margin-top: -1px;\r
+    float: left;\r
+    display: inline-block;\r
+    height: 20px;\r
+    font: 12px Lucida Grande, Verdana, Arial, Helvetica, sans-serif;\r
 }\r
+\r
 .openo-pagination li, .openo-pagination ul {\r
-  list-style: none;\r
-  padding: 0;\r
-  margin: 0;\r
-  float: left;\r
+    list-style: none;\r
+    padding: 0;\r
+    margin: 0;\r
+    float: left;\r
 }\r
+\r
 dd, dl, dt, li {\r
-  color: #000;\r
+    color: #000;\r
 }\r
+\r
 .openo-pagination-theme a, .openo-pagination-theme span.current {\r
-  margin: 0 5px 0 0;\r
+    margin: 0 5px 0 0;\r
 }\r
+\r
 .openo .openo-disabled, .openo.openo-disabled {\r
-  border-color: #c3c3c3!important;\r
-  color: #666!important;\r
-  opacity: .3;\r
-  filter: alpha(opacity=30);\r
+    border-color: #c3c3c3 !important;\r
+    color: #666 !important;\r
+    opacity: .3;\r
+    filter: alpha(opacity=30);\r
 }\r
+\r
 .openo-pagination-theme .prev {\r
-  background: 0 0;\r
-  float: left;\r
+    background: 0 0;\r
+    float: left;\r
 }\r
+\r
 .openo-pagination-theme .current {\r
-  text-decoration: none!important;\r
-  float: left;\r
-  padding-left: 6px;\r
-  height: 24px;\r
-  color: #fff;\r
-  display: inline;\r
-  border-color: #00adf5;\r
-  background: #4ad2ff;\r
+    text-decoration: none !important;\r
+    float: left;\r
+    padding-left: 6px;\r
+    height: 24px;\r
+    color: #fff;\r
+    display: inline;\r
+    border-color: #00adf5;\r
+    background: #4ad2ff;\r
 }\r
+\r
 .openo-pagination-theme a, .openo-pagination-theme span {\r
-  float: left;\r
-  color: #666;\r
-  font: 12px Lucida Grande,Verdana,Arial,Helvetica,sans-serif;\r
-  line-height: 24px;\r
-  font-weight: 400;\r
-  text-align: center;\r
-  border: 1px solid #e0e0e0;\r
-  text-decoration: none!important;\r
-  padding: 0 7px;\r
-  border-radius: 3px;\r
-  background: #fff;\r
+    float: left;\r
+    color: #666;\r
+    font: 12px Lucida Grande, Verdana, Arial, Helvetica, sans-serif;\r
+    line-height: 24px;\r
+    font-weight: 400;\r
+    text-align: center;\r
+    border: 1px solid #e0e0e0;\r
+    text-decoration: none !important;\r
+    padding: 0 7px;\r
+    border-radius: 3px;\r
+    background: #fff;\r
 }\r
+\r
 .openo-pagination-theme .prev.openo-disabled:before {\r
-  background: url(../images/page_left_disabled.png) 50% 45% no-repeat;\r
+    background: url(../images/page_left_disabled.png) 50% 45% no-repeat;\r
 }\r
+\r
 .openo-pagination-theme .prev.openo-disabled:before {\r
-  background: url(../images/page_left_disabled.png) 50% 45% no-repeat;\r
+    background: url(../images/page_left_disabled.png) 50% 45% no-repeat;\r
 }\r
+\r
 .openo-pagination-theme .prev:before {\r
-  background: url(../images/page_l.png) 50% 45% no-repeat;\r
+    background: url(../images/page_l.png) 50% 45% no-repeat;\r
 }\r
+\r
 .openo-pagination-theme .next:after, .openo-pagination-theme .prev:before {\r
-  display: inline-block;\r
-  content: "";\r
-  vertical-align: middle;\r
-  width: 10px;\r
-  height: 24px;\r
+    display: inline-block;\r
+    content: "";\r
+    vertical-align: middle;\r
+    width: 10px;\r
+    height: 24px;\r
 }\r
+\r
 .openo-pagination-theme .prev:before {\r
-  background: url(../images/page_l.png) 50% 45% no-repeat;\r
+    background: url(../images/page_l.png) 50% 45% no-repeat;\r
 }\r
+\r
 .openo-pagination-theme .next:after, .openo-pagination-theme .prev:before {\r
-  display: inline-block;\r
-  content: "";\r
-  vertical-align: middle;\r
-  width: 10px;\r
-  height: 24px;\r
+    display: inline-block;\r
+    content: "";\r
+    vertical-align: middle;\r
+    width: 10px;\r
+    height: 24px;\r
 }\r
+\r
 pagination ul {\r
-  list-style: none;\r
-  padding: 0;\r
-  margin: 0;\r
-  float: left;\r
+    list-style: none;\r
+    padding: 0;\r
+    margin: 0;\r
+    float: left;\r
 }\r
+\r
 .openo-pagination li, .openo-pagination ul {\r
-  list-style: none;\r
-  padding: 0;\r
-  margin: 0;\r
-  float: left;\r
+    list-style: none;\r
+    padding: 0;\r
+    margin: 0;\r
+    float: left;\r
 }\r
+\r
 .openoPagination_gototext {\r
-  background: #FFF;\r
-  outline: 0;\r
-  width: 29px;\r
-  float: left;\r
-  height: 26px;\r
-  line-height: 24px;\r
-  border-radius: 4px;\r
-  border: 1px solid #c3c3c3;\r
-  padding: 0 0 0 5px;\r
-  margin: 0;\r
-  color: #666;\r
-  min-width: 50px;\r
+    background: #FFF;\r
+    outline: 0;\r
+    width: 29px;\r
+    float: left;\r
+    height: 26px;\r
+    line-height: 24px;\r
+    border-radius: 4px;\r
+    border: 1px solid #c3c3c3;\r
+    padding: 0 0 0 5px;\r
+    margin: 0;\r
+    color: #666;\r
+    min-width: 50px;\r
 }\r
+\r
 .openoPagination_gotoimage {\r
-  width: 29px;\r
-  height: 26px;\r
-  line-height: 26px;\r
-  background-color: #FFF;\r
-  background-image: url(/portal/themes/default/components/openo/images/openo.png);\r
-  padding-left: 21px;\r
-  float: left;\r
-  margin-left: 5px;\r
-  border: 1px solid #e0e0e0;\r
-  border-radius: 4px;\r
-  box-sizing: border-box;\r
-  -moz-box-sizing: border-box;\r
-  background-position: -184px -181px!important;\r
+    width: 29px;\r
+    height: 26px;\r
+    line-height: 26px;\r
+    background-color: #FFF;\r
+    background-image: url(/portal/themes/default/components/openo/images/openo.png);\r
+    padding-left: 21px;\r
+    float: left;\r
+    margin-left: 5px;\r
+    border: 1px solid #e0e0e0;\r
+    border-radius: 4px;\r
+    box-sizing: border-box;\r
+    -moz-box-sizing: border-box;\r
+    background-position: -184px -181px !important;\r
 }\r
+\r
 .openo-pagination-theme .ellipse {\r
-  float: left;\r
-  margin-left: -8px;\r
-  margin-right: -4px;\r
-  background: 0 0;\r
-  border: none;\r
-  border-radius: 0;\r
-  box-shadow: none;\r
-  font-weight: 700;\r
-  cursor: default;\r
+    float: left;\r
+    margin-left: -8px;\r
+    margin-right: -4px;\r
+    background: 0 0;\r
+    border: none;\r
+    border-radius: 0;\r
+    box-shadow: none;\r
+    font-weight: 700;\r
+    cursor: default;\r
 }\r
+\r
 .openo.openo-disabled {\r
-  border-color: #c3c3c3!important;\r
-  color: #666!important;\r
-  opacity: .3;\r
-  filter: alpha(opacity=30);\r
+    border-color: #c3c3c3 !important;\r
+    color: #666 !important;\r
+    opacity: .3;\r
+    filter: alpha(opacity=30);\r
 }\r
+\r
 .openo-pagination-theme .prev {\r
-  background: 0 0;\r
-  float: left;\r
+    background: 0 0;\r
+    float: left;\r
 }\r
+\r
 .openo-pagination-theme .current {\r
-  text-decoration: none!important;\r
-  float: left;\r
-  padding-left: 6px;\r
-  height: 26px;\r
-  color: #fff;\r
-  display: inline;\r
-  /*border-color: #00adf5;\r
-  background: #4ad2ff;*/\r
+    text-decoration: none !important;\r
+    float: left;\r
+    padding-left: 6px;\r
+    height: 26px;\r
+    color: #fff;\r
+    display: inline;\r
+    /*border-color: #00adf5;\r
+    background: #4ad2ff;*/\r
     border: 1px solid #e0e0e0;\r
 }\r
+\r
 .openo-pagination-theme .next:after {\r
-  background: url(../images/page_r.png) 50% 45% no-repeat;\r
+    background: url(../images/page_r.png) 50% 45% no-repeat;\r
 }\r
+\r
 .openoButton_buttonGroupClass div.openoButton_buttonClass_parent, .openoButton_buttonRightImg {\r
-  margin-left: 5px;\r
+    margin-left: 5px;\r
 }\r
 \r
 html, body {\r
-  height: 99%;\r
-  width: 98%;\r
+    height: 99%;\r
+    width: 98%;\r
 }\r
+\r
 .cotentBody {\r
-  padding: 0px 20px 0px 20px;\r
+    padding: 0px 20px 0px 20px;\r
 }\r
 \r
 div.openoButton_buttonClass:hover {\r
-  border: 1px solid #4ac9ff;\r
+    border: 1px solid #4ac9ff;\r
 }\r
+\r
 div.openoButton_button_default:hover .openoButton_buttonCenterText {\r
-  color: #009ae7;\r
+    color: #009ae7;\r
 }\r
+\r
 .header_lineimg {\r
-  height: 1px;\r
-  width: 100%;\r
-  margin-top: 17px;\r
+    height: 1px;\r
+    width: 100%;\r
+    margin-top: 17px;\r
 }\r
+\r
 .openo.openo-hide {\r
-  display: none;\r
+    display: none;\r
 }\r
+\r
 div.openo-select-popup-container {\r
-  position: absolute;\r
-  border: 1px solid #4ac9ff;\r
-  border-top: none;\r
-  border-radius: 0 0 4px 4px;\r
-  max-height: 202px;\r
-  overflow-y: auto;\r
-  background-color: #fff;\r
-  z-index: 880;\r
-}\r
-div.openo-select-popup-container>div.openo-select-item {\r
-  display: block;\r
+    position: absolute;\r
+    border: 1px solid #4ac9ff;\r
+    border-top: none;\r
+    border-radius: 0 0 4px 4px;\r
+    max-height: 202px;\r
+    overflow-y: auto;\r
+    background-color: #fff;\r
+    z-index: 880;\r
+}\r
+\r
+div.openo-select-popup-container > div.openo-select-item {\r
+    display: block;\r
 }\r
+\r
 .openo .openo-ellipsis, .openo.openo-ellipsis {\r
-  overflow: hidden;\r
-  white-space: nowrap;\r
-  text-overflow: ellipsis;\r
+    overflow: hidden;\r
+    white-space: nowrap;\r
+    text-overflow: ellipsis;\r
 }\r
-div.openo-select-popup-container>div.openo-select-item>label {\r
-  padding-top: 3px;\r
-  padding-bottom: 3px;\r
-  line-height: 20px;\r
+\r
+div.openo-select-popup-container > div.openo-select-item > label {\r
+    padding-top: 3px;\r
+    padding-bottom: 3px;\r
+    line-height: 20px;\r
 }\r
+\r
 .openo .openo-ellipsis, .openo.openo-ellipsis {\r
-  overflow: hidden;\r
-  white-space: nowrap;\r
-  text-overflow: ellipsis;\r
+    overflow: hidden;\r
+    white-space: nowrap;\r
+    text-overflow: ellipsis;\r
 }\r
+\r
 .openo-select-item label {\r
-  margin-left: 4px;\r
-  margin-right: 4px;\r
-  white-space: nowrap;\r
+    margin-left: 4px;\r
+    margin-right: 4px;\r
+    white-space: nowrap;\r
 }\r
-div.openo-select-popup-container>div.openo-select-item.openo-item-selected, div.openo-select-popup-container>div.openo-select-item:hover {\r
-  background-color: #f1f1f1;\r
-  color: #008fd6;\r
+\r
+div.openo-select-popup-container > div.openo-select-item.openo-item-selected, div.openo-select-popup-container > div.openo-select-item:hover {\r
+    background-color: #f1f1f1;\r
+    color: #008fd6;\r
 }\r
+\r
 div.openo-select.openo-focus {\r
-  border: 1px solid #4ac9ff;\r
-  border-bottom-left-radius: 0;\r
-  border-bottom-right-radius: 0;\r
-  border-bottom-color: #ddd;\r
+    border: 1px solid #4ac9ff;\r
+    border-bottom-left-radius: 0;\r
+    border-bottom-right-radius: 0;\r
+    border-bottom-color: #ddd;\r
 }\r
+\r
 .openo-pagination-theme a:hover {\r
-  border-color: #4ac9ff;\r
-  cursor: pointer;\r
+    border-color: #4ac9ff;\r
+    cursor: pointer;\r
 }\r
-.SDBtn{\r
-     background: #fff; \r
-     color: #333; \r
-     border: 1px solid #ddd;\r
+\r
+.SDBtn {\r
+    background: #fff;\r
+    color: #333;\r
+    border: 1px solid #ddd;\r
 }\r
-.SDBtn:hover{\r
-    color: #009ae7;    \r
-       border: 1px solid #4AC9FF\r
+\r
+.SDBtn:hover {\r
+    color: #009ae7;\r
+    border: 1px solid #4AC9FF\r
 }\r
+\r
 table tbody tr.even:hover td, table tbody tr.odd:hover td {\r
-  background-color: #e6fbe0;\r
+    background-color: #e6fbe0;\r
 }\r
+\r
 table tr.openoTable_row_selected td {\r
-  background: #e8f8fe!important;\r
-  border-bottom: 1px solid #e8e8e8!important;\r
+    background: #e8f8fe !important;\r
+    border-bottom: 1px solid #e8e8e8 !important;\r
 }\r
-.modal-body{\r
-    padding: 0!important;\r
+\r
+.modal-body {\r
+    padding: 0 !important;\r
 }\r
-.form-control{\r
-    height: 26px!important;\r
+\r
+.form-control {\r
+    height: 26px !important;\r
 }\r
+\r
 .form-group .control-label {\r
-  margin-left: 20px;\r
+    margin-left: 20px;\r
 }\r
 \r
 .form-horizontal .control-label {\r
-  text-align: left;\r
+    text-align: left;\r
 }
\ No newline at end of file
index 35da729..fa2f88f 100644 (file)
  */\r
 \r
 $('.siteDeleteImg').click(\r
-               function() {\r
-                       var data = $(this).parent().parent().parent().find('td:last').find(\r
-                                       'div:last').html();\r
-                       alert(data);\r
-                       var jsonObj = JSON.parse(data);\r
-                       for (var i = 0; i < jsonObj.length; i++) {\r
-                               var obj = jsonObj[i];\r
-                               var rowData = [ obj.tpName, obj.peName, obj.vlanId,\r
-                                               obj.siteCidr, obj.ip ];\r
-                               $('#underlayTpDataTable').DataTable();\r
-                               $('#underlayTpDataTable').dataTable().fnAddData(rowData);\r
-                       }\r
-               });\r
+    function () {\r
+        var data = $(this).parent().parent().parent().find('td:last').find(\r
+            'div:last').html();\r
+        alert(data);\r
+        var jsonObj = JSON.parse(data);\r
+        for (var i = 0; i < jsonObj.length; i++) {\r
+            var obj = jsonObj[i];\r
+            var rowData = [obj.tpName, obj.peName, obj.vlanId,\r
+                obj.siteCidr, obj.ip];\r
+            $('#underlayTpDataTable').DataTable();\r
+            $('#underlayTpDataTable').dataTable().fnAddData(rowData);\r
+        }\r
+    });\r
 \r
 function deleteController(objectId) {\r
-       var requestUrl = "/openoapi/extsys/v1/sdncontrollers/" + objectId;\r
-       $.ajax({\r
-               type : "DELETE",\r
-               url : requestUrl,\r
-               contentType : "application/json",\r
-               success : function(jsonobj) {\r
-                       $('#controller').bootstrapTable('remove', {\r
-                               field : 'id',\r
-                               values : [ objectId ]\r
-                       });\r
-                       alert("Delete Controller successfull !!!");\r
-               },\r
-               error : function(xhr, ajaxOptions, thrownError) {\r
-                       alert("Error on deleting controller : " + xhr.responseText);\r
-               }\r
-       });\r
+    var requestUrl = "/openoapi/extsys/v1/sdncontrollers/" + objectId;\r
+    $.ajax({\r
+        type: "DELETE",\r
+        url: requestUrl,\r
+        contentType: "application/json",\r
+        success: function (jsonobj) {\r
+            $('#controller').bootstrapTable('remove', {\r
+                field: 'id',\r
+                values: [objectId]\r
+            });\r
+            alert("Delete Controller successfull !!!");\r
+        },\r
+        error: function (xhr, ajaxOptions, thrownError) {\r
+            alert("Error on deleting controller : " + xhr.responseText);\r
+        }\r
+    });\r
 }\r
 \r
 function loadControllerData() {\r
-       var requestUrl = "/openoapi/extsys/v1/sdncontrollers";\r
-       $.ajax({\r
-               type : "GET",\r
-               url : requestUrl,\r
-               contentType : "application/json",\r
-               success : function(jsonobj) {\r
-                       $('#controller').bootstrapTable({\r
-                               data : jsonobj.topologicalControllers\r
-                       });\r
-               },\r
-               error : function(xhr, ajaxOptions, thrownError) {\r
-                       alert("Error on getting controller data : " + xhr.responseText);\r
-               }\r
-       });\r
+    var requestUrl = "/openoapi/extsys/v1/sdncontrollers";\r
+    $.ajax({\r
+        type: "GET",\r
+        url: requestUrl,\r
+        contentType: "application/json",\r
+        success: function (jsonobj) {\r
+            $('#controller').bootstrapTable({\r
+                data: jsonobj.topologicalControllers\r
+            });\r
+        },\r
+        error: function (xhr, ajaxOptions, thrownError) {\r
+            alert("Error on getting controller data : " + xhr.responseText);\r
+        }\r
+    });\r
 }\r
 \r
-$(function() {\r
-       $('.creat-btn').click(function() {\r
-               $('#vmAppDialog').addClass('in').css({\r
-                       'display' : 'block'\r
-               });\r
+$(function () {\r
+    $('.creat-btn').click(function () {\r
+        $('#vmAppDialog').addClass('in').css({\r
+            'display': 'block'\r
+        });\r
 \r
-       });\r
-       $('.close,.button-previous').click(function() {\r
-               $('#vmAppDialog').removeClass('in').css('display', 'none');\r
-       });\r
-       $('.detail-top ul li').click(function() {\r
-               $(this).addClass('current').siblings().removeClass('current');\r
-       });\r
-       $('.para').click(function() {\r
-               if ($('#serviceTemplateName').val() == '') {\r
-                       alert('Please choose the service templet!');\r
-                       $('#flavorTab').css('display', 'none');\r
-               } else {\r
-                       $('#flavorTab').css('display', 'block');\r
-               }\r
-               $('#basicTab').css('display', 'block');\r
-       });\r
-       $('.basic').click(function() {\r
-               $('#flavorTab').css('display', 'none');\r
-       });\r
+    });\r
+    $('.close,.button-previous').click(function () {\r
+        $('#vmAppDialog').removeClass('in').css('display', 'none');\r
+    });\r
+    $('.detail-top ul li').click(function () {\r
+        $(this).addClass('current').siblings().removeClass('current');\r
+    });\r
+    $('.para').click(function () {\r
+        if ($('#serviceTemplateName').val() == '') {\r
+            alert('Please choose the service templet!');\r
+            $('#flavorTab').css('display', 'none');\r
+        } else {\r
+            $('#flavorTab').css('display', 'block');\r
+        }\r
+        $('#basicTab').css('display', 'block');\r
+    });\r
+    $('.basic').click(function () {\r
+        $('#flavorTab').css('display', 'none');\r
+    });\r
 \r
-       $('.table tbody tr').click(\r
-                       function() {\r
-                               $(this).addClass('openoTable_row_selected').siblings()\r
-                                               .removeClass('openoTable_row_selected');\r
-                       });\r
-       $('.table tr:odd').addClass('active');\r
-       $('#false').click(function() {\r
-               $('#vmAppDialog').addClass('in').css({\r
-                       'display' : 'block'\r
-               });\r
-       });\r
-       $('.close,.button-previous').click(function() {\r
-               $('#vmAppDialog').removeClass('in').css('display', 'none');\r
-       });\r
-       $('#filterTpLogicalType').click(\r
-                       function() {\r
-                               $('#filterTpLogicalType_select_popupcontainer').toggleClass(\r
-                                               'openo-hide');\r
-                               $('#filterTpLogicalType').toggleClass('openo-focus');\r
-                               var oLeft = $('#open_base_tpL_td6').offset().left;\r
-                               var oTop = $('#open_base_tpL_td6').offset().top;\r
-                               var oHeight = $('#open_base_tpL_td6').height();\r
-                               $('#filterTpLogicalType_select_popupcontainer').css({\r
-                                       'left' : oLeft,\r
-                                       'top' : oTop + oHeight + 10\r
-                               });\r
-                       });\r
-       $('div.openo-select-popup-container>div.openo-select-item>label').click(\r
-                       function() {\r
-                               var Lvalue = $(this).html();\r
-                               $('#filterTpLogicalType_select_input').attr('value', Lvalue);\r
-                               $('#filterTpLogicalType_select_popupcontainer').addClass(\r
-                                               'openo-hide');\r
-                               $('#filterTpLogicalType').removeClass('openo-focus');\r
-                       });\r
-       $.fn.serializeObject = function() {\r
-               var o = {};\r
-               var a = this.serializeArray();\r
-               $.each(a, function() {\r
-                       if (o[this.name] !== undefined) {\r
-                               if (!o[this.name].push) {\r
-                                       o[this.name] = [ o[this.name] ];\r
-                               }\r
-                               o[this.name].push(this.value || '');\r
-                       } else {\r
-                               o[this.name] = this.value || '';\r
-                       }\r
-               });\r
-               return o;\r
-       };\r
+    $('.table tbody tr').click(\r
+        function () {\r
+            $(this).addClass('openoTable_row_selected').siblings()\r
+                .removeClass('openoTable_row_selected');\r
+        });\r
+    $('.table tr:odd').addClass('active');\r
+    $('#false').click(function () {\r
+        $('#vmAppDialog').addClass('in').css({\r
+            'display': 'block'\r
+        });\r
+    });\r
+    $('.close,.button-previous').click(function () {\r
+        $('#vmAppDialog').removeClass('in').css('display', 'none');\r
+    });\r
+    $('#filterTpLogicalType').click(\r
+        function () {\r
+            $('#filterTpLogicalType_select_popupcontainer').toggleClass(\r
+                'openo-hide');\r
+            $('#filterTpLogicalType').toggleClass('openo-focus');\r
+            var oLeft = $('#open_base_tpL_td6').offset().left;\r
+            var oTop = $('#open_base_tpL_td6').offset().top;\r
+            var oHeight = $('#open_base_tpL_td6').height();\r
+            $('#filterTpLogicalType_select_popupcontainer').css({\r
+                'left': oLeft,\r
+                'top': oTop + oHeight + 10\r
+            });\r
+        });\r
+    $('div.openo-select-popup-container>div.openo-select-item>label').click(\r
+        function () {\r
+            var Lvalue = $(this).html();\r
+            $('#filterTpLogicalType_select_input').attr('value', Lvalue);\r
+            $('#filterTpLogicalType_select_popupcontainer').addClass(\r
+                'openo-hide');\r
+            $('#filterTpLogicalType').removeClass('openo-focus');\r
+        });\r
+    $.fn.serializeObject = function () {\r
+        var o = {};\r
+        var a = this.serializeArray();\r
+        $.each(a, function () {\r
+            if (o[this.name] !== undefined) {\r
+                if (!o[this.name].push) {\r
+                    o[this.name] = [o[this.name]];\r
+                }\r
+                o[this.name].push(this.value || '');\r
+            } else {\r
+                o[this.name] = this.value || '';\r
+            }\r
+        });\r
+        return o;\r
+    };\r
 \r
-       $('#createController').click(function() {\r
-               var formData = JSON.stringify($("#controllerForm").serializeObject());\r
-               var jsonobj = JSON.parse(formData);\r
-               var newJson = {\r
-                       "topologicalController" : jsonobj\r
-               };\r
-               formData = JSON.stringify(newJson);\r
-               var requestUrl = "/openoapi/extsys/v1/sdncontrollers";\r
-               $.ajax({\r
-                       type : "POST",\r
-                       url : requestUrl,\r
-                       contentType : "application/json",\r
-                       dataType : "json",\r
-                       data : formData,\r
-                       success : function(jsonResp) {\r
-                               alert("Controller saved successfully!!!");\r
-                               jsonobj["id"] = jsonResp.topologicalController.id;\r
-                               $('#controller').bootstrapTable("append", jsonobj);\r
-                               $('#vmAppDialog').removeClass('in').css('display', 'none');\r
+    $('#createController').click(function () {\r
+        var formData = JSON.stringify($("#controllerForm").serializeObject());\r
+        var jsonobj = JSON.parse(formData);\r
+        var newJson = {\r
+            "topologicalController": jsonobj\r
+        };\r
+        formData = JSON.stringify(newJson);\r
+        var requestUrl = "/openoapi/extsys/v1/sdncontrollers";\r
+        $.ajax({\r
+            type: "POST",\r
+            url: requestUrl,\r
+            contentType: "application/json",\r
+            dataType: "json",\r
+            data: formData,\r
+            success: function (jsonResp) {\r
+                alert("Controller saved successfully!!!");\r
+                jsonobj["id"] = jsonResp.topologicalController.id;\r
+                $('#controller').bootstrapTable("append", jsonobj);\r
+                $('#vmAppDialog').removeClass('in').css('display', 'none');\r
 \r
-                       },\r
-                       error : function(xhr, ajaxOptions, thrownError) {\r
-                               alert("Error on page : " + xhr.responseText);\r
-                       }\r
-               });\r
-       });\r
+            },\r
+            error: function (xhr, ajaxOptions, thrownError) {\r
+                alert("Error on page : " + xhr.responseText);\r
+            }\r
+        });\r
+    });\r
 \r
 })
\ No newline at end of file
index 6e70054..dbebe62 100644 (file)
@@ -23,421 +23,422 @@ header,
 hgroup,\r
 nav,\r
 section {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 audio,\r
 canvas,\r
 video {\r
-  display: inline-block;\r
-  *display: inline;\r
-  *zoom: 1;\r
+    display: inline-block;\r
+    *display: inline;\r
+    *zoom: 1;\r
 }\r
 \r
 audio:not([controls]) {\r
-  display: none;\r
+    display: none;\r
 }\r
 \r
 html {\r
-  font-size: 100%;\r
-  -webkit-text-size-adjust: 100%;\r
-      -ms-text-size-adjust: 100%;\r
+    font-size: 100%;\r
+    -webkit-text-size-adjust: 100%;\r
+    -ms-text-size-adjust: 100%;\r
 }\r
 \r
 a:focus {\r
-  outline: thin dotted #333;\r
-  outline: 5px auto -webkit-focus-ring-color;\r
-  outline-offset: -2px;\r
+    outline: thin dotted #333;\r
+    outline: 5px auto -webkit-focus-ring-color;\r
+    outline-offset: -2px;\r
 }\r
 \r
 a:hover,\r
 a:active {\r
-  outline: 0;\r
+    outline: 0;\r
 }\r
 \r
 sub,\r
 sup {\r
-  position: relative;\r
-  font-size: 75%;\r
-  line-height: 0;\r
-  vertical-align: baseline;\r
+    position: relative;\r
+    font-size: 75%;\r
+    line-height: 0;\r
+    vertical-align: baseline;\r
 }\r
 \r
 sup {\r
-  top: -0.5em;\r
+    top: -0.5em;\r
 }\r
 \r
 sub {\r
-  bottom: -0.25em;\r
+    bottom: -0.25em;\r
 }\r
 \r
 img {\r
-  max-width: 100%;\r
-  vertical-align: middle;\r
-  border: 0;\r
-  -ms-interpolation-mode: bicubic;\r
+    max-width: 100%;\r
+    vertical-align: middle;\r
+    border: 0;\r
+    -ms-interpolation-mode: bicubic;\r
 }\r
 \r
 button,\r
 input,\r
 select,\r
 textarea {\r
-  margin: 0;\r
-  font-size: 100%;\r
-  vertical-align: middle;\r
+    margin: 0;\r
+    font-size: 100%;\r
+    vertical-align: middle;\r
 }\r
 \r
 button,\r
 input {\r
-  *overflow: visible;\r
-  line-height: normal;\r
+    *overflow: visible;\r
+    line-height: normal;\r
 }\r
 \r
 button::-moz-focus-inner,\r
 input::-moz-focus-inner {\r
-  padding: 0;\r
-  border: 0;\r
+    padding: 0;\r
+    border: 0;\r
 }\r
 \r
 button,\r
 input[type="button"],\r
 input[type="reset"],\r
 input[type="submit"] {\r
-  cursor: pointer;\r
-  -webkit-appearance: button;\r
+    cursor: pointer;\r
+    -webkit-appearance: button;\r
 }\r
 \r
 input[type="search"] {\r
-  -webkit-box-sizing: content-box;\r
-     -moz-box-sizing: content-box;\r
-          box-sizing: content-box;\r
-  -webkit-appearance: textfield;\r
+    -webkit-box-sizing: content-box;\r
+    -moz-box-sizing: content-box;\r
+    box-sizing: content-box;\r
+    -webkit-appearance: textfield;\r
 }\r
 \r
 input[type="search"]::-webkit-search-decoration,\r
 input[type="search"]::-webkit-search-cancel-button {\r
-  -webkit-appearance: none;\r
+    -webkit-appearance: none;\r
 }\r
 \r
 textarea {\r
-  overflow: auto;\r
-  vertical-align: top;\r
+    overflow: auto;\r
+    vertical-align: top;\r
 }\r
 \r
 .clearfix {\r
-  *zoom: 1;\r
+    *zoom: 1;\r
 }\r
 \r
 .clearfix:before,\r
 .clearfix:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .clearfix:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .hide-text {\r
-  font: 0/0 a;\r
-  color: transparent;\r
-  text-shadow: none;\r
-  background-color: transparent;\r
-  border: 0;\r
+    font: 0/0 a;\r
+    color: transparent;\r
+    text-shadow: none;\r
+    background-color: transparent;\r
+    border: 0;\r
 }\r
 \r
 .input-block-level {\r
-  display: block;\r
-  width: 100%;\r
-  min-height: 28px;\r
-  -webkit-box-sizing: border-box;\r
-     -moz-box-sizing: border-box;\r
-      -ms-box-sizing: border-box;\r
-          box-sizing: border-box;\r
+    display: block;\r
+    width: 100%;\r
+    min-height: 28px;\r
+    -webkit-box-sizing: border-box;\r
+    -moz-box-sizing: border-box;\r
+    -ms-box-sizing: border-box;\r
+    box-sizing: border-box;\r
 }\r
 \r
 body {\r
-  margin: 0;\r
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
-  font-size: 13px;\r
-  line-height: 18px;\r
-  color: #333333;\r
-  background-color: #ffffff;\r
+    margin: 0;\r
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
+    font-size: 13px;\r
+    line-height: 18px;\r
+    color: #333333;\r
+    background-color: #ffffff;\r
 }\r
 \r
 a {\r
-  color: #0088cc;\r
-  text-decoration: none;\r
+    color: #0088cc;\r
+    text-decoration: none;\r
 }\r
 \r
 a:hover {\r
-  color: #005580;\r
-  text-decoration: underline;\r
+    color: #005580;\r
+    text-decoration: underline;\r
 }\r
 \r
 .row {\r
-  margin-left: -20px;\r
-  *zoom: 1;\r
+    margin-left: -20px;\r
+    *zoom: 1;\r
 }\r
 \r
 .row:before,\r
 .row:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .row:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 [class*="span"] {\r
-  float: left;\r
-  margin-left: 20px;\r
+    float: left;\r
+    margin-left: 20px;\r
 }\r
 \r
 .container,\r
 .navbar-fixed-top .container,\r
 .navbar-fixed-bottom .container {\r
-  width: 940px;\r
+    width: 940px;\r
 }\r
 \r
 .span12 {\r
-  width: 940px;\r
+    width: 940px;\r
 }\r
 \r
 .span11 {\r
-  width: 860px;\r
+    width: 860px;\r
 }\r
 \r
 .span10 {\r
-  width: 780px;\r
+    width: 780px;\r
 }\r
 \r
 .span9 {\r
-  width: 700px;\r
+    width: 700px;\r
 }\r
 \r
 .span8 {\r
-  width: 620px;\r
+    width: 620px;\r
 }\r
 \r
 .span7 {\r
-  width: 540px;\r
+    width: 540px;\r
 }\r
 \r
 .span6 {\r
-  width: 460px;\r
+    width: 460px;\r
 }\r
 \r
 .span5 {\r
-  width: 380px;\r
+    width: 380px;\r
 }\r
 \r
 .span4 {\r
-  width: 300px;\r
+    width: 300px;\r
 }\r
 \r
 .span3 {\r
-  width: 220px;\r
+    width: 220px;\r
 }\r
 \r
 .span2 {\r
-  width: 140px;\r
+    width: 140px;\r
 }\r
 \r
 .span1 {\r
-  width: 60px;\r
+    width: 60px;\r
 }\r
 \r
 .offset12 {\r
-  margin-left: 980px;\r
+    margin-left: 980px;\r
 }\r
 \r
 .offset11 {\r
-  margin-left: 900px;\r
+    margin-left: 900px;\r
 }\r
 \r
 .offset10 {\r
-  margin-left: 820px;\r
+    margin-left: 820px;\r
 }\r
 \r
 .offset9 {\r
-  margin-left: 740px;\r
+    margin-left: 740px;\r
 }\r
 \r
 .offset8 {\r
-  margin-left: 660px;\r
+    margin-left: 660px;\r
 }\r
 \r
 .offset7 {\r
-  margin-left: 580px;\r
+    margin-left: 580px;\r
 }\r
 \r
 .offset6 {\r
-  margin-left: 500px;\r
+    margin-left: 500px;\r
 }\r
 \r
 .offset5 {\r
-  margin-left: 420px;\r
+    margin-left: 420px;\r
 }\r
 \r
 .offset4 {\r
-  margin-left: 340px;\r
+    margin-left: 340px;\r
 }\r
 \r
-.offset3 {\r\r
-  margin-left: 260px;\r
+.offset3 {\r
+\r
+    margin-left: 260px;\r
 }\r
 \r
 .offset2 {\r
-  margin-left: 180px;\r
+    margin-left: 180px;\r
 }\r
 \r
 .offset1 {\r
-  margin-left: 100px;\r
+    margin-left: 100px;\r
 }\r
 \r
 .row-fluid {\r
-  width: 100%;\r
-  *zoom: 1;\r
+    width: 100%;\r
+    *zoom: 1;\r
 }\r
 \r
 .row-fluid:before,\r
 .row-fluid:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .row-fluid:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .row-fluid [class*="span"] {\r
-  display: block;\r
-  float: left;\r
-  width: 100%;\r
-  min-height: 28px;\r
-  margin-left: 2.127659574%;\r
-  *margin-left: 2.0744680846382977%;\r
-  -webkit-box-sizing: border-box;\r
-     -moz-box-sizing: border-box;\r
-      -ms-box-sizing: border-box;\r
-          box-sizing: border-box;\r
+    display: block;\r
+    float: left;\r
+    width: 100%;\r
+    min-height: 28px;\r
+    margin-left: 2.127659574%;\r
+    *margin-left: 2.0744680846382977%;\r
+    -webkit-box-sizing: border-box;\r
+    -moz-box-sizing: border-box;\r
+    -ms-box-sizing: border-box;\r
+    box-sizing: border-box;\r
 }\r
 \r
 .row-fluid [class*="span"]:first-child {\r
-  margin-left: 0;\r
+    margin-left: 0;\r
 }\r
 \r
 .row-fluid .span12 {\r
-  width: 99.99999998999999%;\r
-  *width: 99.94680850063828%;\r
+    width: 99.99999998999999%;\r
+    *width: 99.94680850063828%;\r
 }\r
 \r
 .row-fluid .span11 {\r
-  width: 91.489361693%;\r
-  *width: 91.4361702036383%;\r
+    width: 91.489361693%;\r
+    *width: 91.4361702036383%;\r
 }\r
 \r
 .row-fluid .span10 {\r
-  width: 82.97872339599999%;\r
-  *width: 82.92553190663828%;\r
+    width: 82.97872339599999%;\r
+    *width: 82.92553190663828%;\r
 }\r
 \r
 .row-fluid .span9 {\r
-  width: 74.468085099%;\r
-  *width: 74.4148936096383%;\r
+    width: 74.468085099%;\r
+    *width: 74.4148936096383%;\r
 }\r
 \r
 .row-fluid .span8 {\r
-  width: 65.95744680199999%;\r
-  *width: 65.90425531263828%;\r
+    width: 65.95744680199999%;\r
+    *width: 65.90425531263828%;\r
 }\r
 \r
 .row-fluid .span7 {\r
-  width: 57.446808505%;\r
-  *width: 57.3936170156383%;\r
+    width: 57.446808505%;\r
+    *width: 57.3936170156383%;\r
 }\r
 \r
 .row-fluid .span6 {\r
-  width: 48.93617020799999%;\r
-  *width: 48.88297871863829%;\r
+    width: 48.93617020799999%;\r
+    *width: 48.88297871863829%;\r
 }\r
 \r
 .row-fluid .span5 {\r
-  width: 40.425531911%;\r
-  *width: 40.3723404216383%;\r
+    width: 40.425531911%;\r
+    *width: 40.3723404216383%;\r
 }\r
 \r
 .row-fluid .span4 {\r
-  width: 31.914893614%;\r
-  *width: 31.8617021246383%;\r
+    width: 31.914893614%;\r
+    *width: 31.8617021246383%;\r
 }\r
 \r
 .row-fluid .span3 {\r
-  width: 23.404255317%;\r
-  *width: 23.3510638276383%;\r
+    width: 23.404255317%;\r
+    *width: 23.3510638276383%;\r
 }\r
 \r
 .row-fluid .span2 {\r
-  width: 14.89361702%;\r
-  *width: 14.8404255306383%;\r
+    width: 14.89361702%;\r
+    *width: 14.8404255306383%;\r
 }\r
 \r
 .row-fluid .span1 {\r
-  width: 6.382978723%;\r
-  *width: 6.329787233638298%;\r
+    width: 6.382978723%;\r
+    *width: 6.329787233638298%;\r
 }\r
 \r
 .container {\r
-  margin-right: auto;\r
-  margin-left: auto;\r
-  *zoom: 1;\r
+    margin-right: auto;\r
+    margin-left: auto;\r
+    *zoom: 1;\r
 }\r
 \r
 .container:before,\r
 .container:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .container:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .container-fluid {\r
-  padding-right: 20px;\r
-  padding-left: 20px;\r
-  *zoom: 1;\r
+    padding-right: 20px;\r
+    padding-left: 20px;\r
+    *zoom: 1;\r
 }\r
 \r
 .container-fluid:before,\r
 .container-fluid:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .container-fluid:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 p {\r
-  margin: 0 0 9px;\r
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
-  font-size: 13px;\r
-  line-height: 18px;\r
+    margin: 0 0 9px;\r
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
+    font-size: 13px;\r
+    line-height: 18px;\r
 }\r
 \r
 p small {\r
-  font-size: 11px;\r
-  color: #999999;\r
+    font-size: 11px;\r
+    color: #999999;\r
 }\r
 \r
 .lead {\r
-  margin-bottom: 18px;\r
-  font-size: 20px;\r
-  font-weight: 200;\r
-  line-height: 27px;\r
+    margin-bottom: 18px;\r
+    font-size: 20px;\r
+    font-weight: 200;\r
+    line-height: 27px;\r
 }\r
 \r
 h1,\r
@@ -446,11 +447,11 @@ h3,
 h4,\r
 h5,\r
 h6 {\r
-  margin: 0;\r
-  font-family: inherit;\r
-  font-weight: bold;\r
-  color: inherit;\r
-  text-rendering: optimizelegibility;\r
+    margin: 0;\r
+    font-family: inherit;\r
+    font-weight: bold;\r
+    color: inherit;\r
+    text-rendering: optimizelegibility;\r
 }\r
 \r
 h1 small,\r
@@ -459,298 +460,298 @@ h3 small,
 h4 small,\r
 h5 small,\r
 h6 small {\r
-  font-weight: normal;\r
-  color: #999999;\r
+    font-weight: normal;\r
+    color: #999999;\r
 }\r
 \r
 h1 {\r
-  font-size: 30px;\r
-  line-height: 36px;\r
+    font-size: 30px;\r
+    line-height: 36px;\r
 }\r
 \r
 h1 small {\r
-  font-size: 18px;\r
+    font-size: 18px;\r
 }\r
 \r
 h2 {\r
-  font-size: 24px;\r
-  line-height: 36px;\r
+    font-size: 24px;\r
+    line-height: 36px;\r
 }\r
 \r
 h2 small {\r
-  font-size: 18px;\r
+    font-size: 18px;\r
 }\r
 \r
 h3 {\r
-  font-size: 18px;\r
-  line-height: 27px;\r
+    font-size: 18px;\r
+    line-height: 27px;\r
 }\r
 \r
 h3 small {\r
-  font-size: 14px;\r
+    font-size: 14px;\r
 }\r
 \r
 h4,\r
 h5,\r
 h6 {\r
-  line-height: 18px;\r
+    line-height: 18px;\r
 }\r
 \r
 h4 {\r
-  font-size: 14px;\r
+    font-size: 14px;\r
 }\r
 \r
 h4 small {\r
-  font-size: 12px;\r
+    font-size: 12px;\r
 }\r
 \r
 h5 {\r
-  font-size: 12px;\r
+    font-size: 12px;\r
 }\r
 \r
 h6 {\r
-  font-size: 11px;\r
-  color: #999999;\r
-  text-transform: uppercase;\r
+    font-size: 11px;\r
+    color: #999999;\r
+    text-transform: uppercase;\r
 }\r
 \r
 .page-header {\r
-  padding-bottom: 17px;\r
-  margin: 18px 0;\r
-  border-bottom: 1px solid #eeeeee;\r
+    padding-bottom: 17px;\r
+    margin: 18px 0;\r
+    border-bottom: 1px solid #eeeeee;\r
 }\r
 \r
 .page-header h1 {\r
-  line-height: 1;\r
+    line-height: 1;\r
 }\r
 \r
 ul,\r
 ol {\r
-  padding: 0;\r
-  margin: 0 0 9px 25px;\r
+    padding: 0;\r
+    margin: 0 0 9px 25px;\r
 }\r
 \r
 ul ul,\r
 ul ol,\r
 ol ol,\r
 ol ul {\r
-  margin-bottom: 0;\r
+    margin-bottom: 0;\r
 }\r
 \r
 ul {\r
-  list-style: disc;\r
+    list-style: disc;\r
 }\r
 \r
 ol {\r
-  list-style: decimal;\r
+    list-style: decimal;\r
 }\r
 \r
 li {\r
-  line-height: 18px;\r
+    line-height: 18px;\r
 }\r
 \r
 ul.unstyled,\r
 ol.unstyled {\r
-  margin-left: 0;\r
-  list-style: none;\r
+    margin-left: 0;\r
+    list-style: none;\r
 }\r
 \r
 dl {\r
-  margin-bottom: 18px;\r
+    margin-bottom: 18px;\r
 }\r
 \r
 dt,\r
 dd {\r
-  line-height: 18px;\r
+    line-height: 18px;\r
 }\r
 \r
 dt {\r
-  font-weight: bold;\r
-  line-height: 17px;\r
+    font-weight: bold;\r
+    line-height: 17px;\r
 }\r
 \r
 dd {\r
-  margin-left: 9px;\r
+    margin-left: 9px;\r
 }\r
 \r
 .dl-horizontal dt {\r
-  float: left;\r
-  width: 120px;\r
-  overflow: hidden;\r
-  clear: left;\r
-  text-align: right;\r
-  text-overflow: ellipsis;\r
-  white-space: nowrap;\r
+    float: left;\r
+    width: 120px;\r
+    overflow: hidden;\r
+    clear: left;\r
+    text-align: right;\r
+    text-overflow: ellipsis;\r
+    white-space: nowrap;\r
 }\r
 \r
 .dl-horizontal dd {\r
-  margin-left: 130px;\r
+    margin-left: 130px;\r
 }\r
 \r
 hr {\r
-  margin: 18px 0;\r
-  border: 0;\r
-  border-top: 1px solid #eeeeee;\r
-  border-bottom: 1px solid #ffffff;\r
+    margin: 18px 0;\r
+    border: 0;\r
+    border-top: 1px solid #eeeeee;\r
+    border-bottom: 1px solid #ffffff;\r
 }\r
 \r
 strong {\r
-  font-weight: bold;\r
+    font-weight: bold;\r
 }\r
 \r
 em {\r
-  font-style: italic;\r
+    font-style: italic;\r
 }\r
 \r
 .muted {\r
-  color: #999999;\r
+    color: #999999;\r
 }\r
 \r
 abbr[title] {\r
-  cursor: help;\r
-  border-bottom: 1px dotted #ddd;\r
+    cursor: help;\r
+    border-bottom: 1px dotted #ddd;\r
 }\r
 \r
 abbr.initialism {\r
-  font-size: 90%;\r
-  text-transform: uppercase;\r
+    font-size: 90%;\r
+    text-transform: uppercase;\r
 }\r
 \r
 blockquote {\r
-  padding: 0 0 0 15px;\r
-  margin: 0 0 18px;\r
-  border-left: 5px solid #eeeeee;\r
+    padding: 0 0 0 15px;\r
+    margin: 0 0 18px;\r
+    border-left: 5px solid #eeeeee;\r
 }\r
 \r
 blockquote p {\r
-  margin-bottom: 0;\r
-  font-size: 16px;\r
-  font-weight: 300;\r
-  line-height: 22.5px;\r
+    margin-bottom: 0;\r
+    font-size: 16px;\r
+    font-weight: 300;\r
+    line-height: 22.5px;\r
 }\r
 \r
 blockquote small {\r
-  display: block;\r
-  line-height: 18px;\r
-  color: #999999;\r
+    display: block;\r
+    line-height: 18px;\r
+    color: #999999;\r
 }\r
 \r
 blockquote small:before {\r
-  content: '\2014 \00A0';\r
+    content: '\2014 \00A0';\r
 }\r
 \r
 blockquote.pull-right {\r
-  float: right;\r
-  padding-right: 15px;\r
-  padding-left: 0;\r
-  border-right: 5px solid #eeeeee;\r
-  border-left: 0;\r
+    float: right;\r
+    padding-right: 15px;\r
+    padding-left: 0;\r
+    border-right: 5px solid #eeeeee;\r
+    border-left: 0;\r
 }\r
 \r
 blockquote.pull-right p,\r
 blockquote.pull-right small {\r
-  text-align: right;\r
+    text-align: right;\r
 }\r
 \r
 q:before,\r
 q:after,\r
 blockquote:before,\r
 blockquote:after {\r
-  content: "";\r
+    content: "";\r
 }\r
 \r
 address {\r
-  display: block;\r
-  margin-bottom: 18px;\r
-  font-style: normal;\r
-  line-height: 18px;\r
+    display: block;\r
+    margin-bottom: 18px;\r
+    font-style: normal;\r
+    line-height: 18px;\r
 }\r
 \r
 small {\r
-  font-size: 100%;\r
+    font-size: 100%;\r
 }\r
 \r
 cite {\r
-  font-style: normal;\r
+    font-style: normal;\r
 }\r
 \r
 code,\r
 pre {\r
-  padding: 0 3px 2px;\r
-  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;\r
-  font-size: 12px;\r
-  color: #333333;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
+    padding: 0 3px 2px;\r
+    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;\r
+    font-size: 12px;\r
+    color: #333333;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
 }\r
 \r
 code {\r
-  padding: 2px 4px;\r
-  color: #d14;\r
-  background-color: #f7f7f9;\r
-  border: 1px solid #e1e1e8;\r
+    padding: 2px 4px;\r
+    color: #d14;\r
+    background-color: #f7f7f9;\r
+    border: 1px solid #e1e1e8;\r
 }\r
 \r
 pre {\r
-  display: block;\r
-  padding: 8.5px;\r
-  margin: 0 0 9px;\r
-  font-size: 12.025px;\r
-  line-height: 18px;\r
-  word-break: break-all;\r
-  word-wrap: break-word;\r
-  white-space: pre;\r
-  white-space: pre-wrap;\r
-  background-color: #f5f5f5;\r
-  border: 1px solid #ccc;\r
-  border: 1px solid rgba(0, 0, 0, 0.15);\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    display: block;\r
+    padding: 8.5px;\r
+    margin: 0 0 9px;\r
+    font-size: 12.025px;\r
+    line-height: 18px;\r
+    word-break: break-all;\r
+    word-wrap: break-word;\r
+    white-space: pre;\r
+    white-space: pre-wrap;\r
+    background-color: #f5f5f5;\r
+    border: 1px solid #ccc;\r
+    border: 1px solid rgba(0, 0, 0, 0.15);\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 pre.prettyprint {\r
-  margin-bottom: 18px;\r
+    margin-bottom: 18px;\r
 }\r
 \r
 pre code {\r
-  padding: 0;\r
-  color: inherit;\r
-  background-color: transparent;\r
-  border: 0;\r
+    padding: 0;\r
+    color: inherit;\r
+    background-color: transparent;\r
+    border: 0;\r
 }\r
 \r
 .pre-scrollable {\r
-  max-height: 340px;\r
-  overflow-y: scroll;\r
+    max-height: 340px;\r
+    overflow-y: scroll;\r
 }\r
 \r
 form {\r
-  margin: 0 0 18px;\r
+    margin: 0 0 18px;\r
 }\r
 \r
 fieldset {\r
-  padding: 0;\r
-  margin: 0;\r
-  border: 0;\r
+    padding: 0;\r
+    margin: 0;\r
+    border: 0;\r
 }\r
 \r
 legend {\r
-  display: block;\r
-  width: 100%;\r
-  padding: 0;\r
-  margin-bottom: 27px;\r
-  font-size: 19.5px;\r
-  line-height: 36px;\r
-  color: #333333;\r
-  border: 0;\r
-  border-bottom: 1px solid #eee;\r
+    display: block;\r
+    width: 100%;\r
+    padding: 0;\r
+    margin-bottom: 27px;\r
+    font-size: 19.5px;\r
+    line-height: 36px;\r
+    color: #333333;\r
+    border: 0;\r
+    border-bottom: 1px solid #eee;\r
 }\r
 \r
 legend small {\r
-  font-size: 13.5px;\r
-  color: #999999;\r
+    font-size: 13.5px;\r
+    color: #999999;\r
 }\r
 \r
 label,\r
@@ -758,225 +759,225 @@ input,
 button,\r
 select,\r
 textarea {\r
-  font-size: 13px;\r
-  font-weight: normal;\r
-  line-height: 18px;\r
+    font-size: 13px;\r
+    font-weight: normal;\r
+    line-height: 18px;\r
 }\r
 \r
 input,\r
 button,\r
 select,\r
 textarea {\r
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
 }\r
 \r
 label {\r
-  display: block;\r
-  margin-bottom: 5px;\r
-  color: #333333;\r
+    display: block;\r
+    margin-bottom: 5px;\r
+    color: #333333;\r
 }\r
 \r
 input,\r
 textarea,\r
 select,\r
 .uneditable-input {\r
-  display: inline-block;\r
-  width: 210px;\r
-  height: 18px;\r
-  padding: 4px;\r
-  margin-bottom: 9px;\r
-  font-size: 13px;\r
-  line-height: 18px;\r
-  color: #555555;\r
-  background-color: #ffffff;\r
-  border: 1px solid #cccccc;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
+    display: inline-block;\r
+    width: 210px;\r
+    height: 18px;\r
+    padding: 4px;\r
+    margin-bottom: 9px;\r
+    font-size: 13px;\r
+    line-height: 18px;\r
+    color: #555555;\r
+    background-color: #ffffff;\r
+    border: 1px solid #cccccc;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
 }\r
 \r
 .uneditable-textarea {\r
-  width: auto;\r
-  height: auto;\r
+    width: auto;\r
+    height: auto;\r
 }\r
 \r
 label input,\r
 label textarea,\r
 label select {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 input[type="image"],\r
 input[type="checkbox"],\r
 input[type="radio"] {\r
-  width: auto;\r
-  height: auto;\r
-  padding: 0;\r
-  margin: 3px 0;\r
-  *margin-top: 0;\r
-  /* IE7 */\r
+    width: auto;\r
+    height: auto;\r
+    padding: 0;\r
+    margin: 3px 0;\r
+    *margin-top: 0;\r
+    /* IE7 */\r
 \r
-  line-height: normal;\r
-  cursor: pointer;\r
-  background-color: transparent;\r
-  border: 0 \9;\r
-  /* IE9 and down */\r
+    line-height: normal;\r
+    cursor: pointer;\r
+    background-color: transparent;\r
+    border: 0 \9;\r
+    /* IE9 and down */\r
 \r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 input[type="image"] {\r
-  border: 0;\r
+    border: 0;\r
 }\r
 \r
 input[type="file"] {\r
-  width: auto;\r
-  padding: initial;\r
-  line-height: initial;\r
-  background-color: #ffffff;\r
-  background-color: initial;\r
-  border: initial;\r
-  -webkit-box-shadow: none;\r
-     -moz-box-shadow: none;\r
-          box-shadow: none;\r
+    width: auto;\r
+    padding: initial;\r
+    line-height: initial;\r
+    background-color: #ffffff;\r
+    background-color: initial;\r
+    border: initial;\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
 }\r
 \r
 input[type="button"],\r
 input[type="reset"],\r
 input[type="submit"] {\r
-  width: auto;\r
-  height: auto;\r
+    width: auto;\r
+    height: auto;\r
 }\r
 \r
 select,\r
 input[type="file"] {\r
-  height: 28px;\r
-  /* In IE7, the height of the select element cannot be changed by height, only font-size */\r
+    height: 28px;\r
+    /* In IE7, the height of the select element cannot be changed by height, only font-size */\r
 \r
-  *margin-top: 4px;\r
-  /* For IE7, add top margin to align select with labels */\r
+    *margin-top: 4px;\r
+    /* For IE7, add top margin to align select with labels */\r
 \r
-  line-height: 28px;\r
+    line-height: 28px;\r
 }\r
 \r
 input[type="file"] {\r
-  line-height: 18px \9;\r
+    line-height: 18px \9;\r
 }\r
 \r
 select {\r
-  width: 220px;\r
-  background-color: #ffffff;\r
+    width: 220px;\r
+    background-color: #ffffff;\r
 }\r
 \r
 select[multiple],\r
 select[size] {\r
-  height: auto;\r
+    height: auto;\r
 }\r
 \r
 input[type="image"] {\r
-  -webkit-box-shadow: none;\r
-     -moz-box-shadow: none;\r
-          box-shadow: none;\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
 }\r
 \r
 textarea {\r
-  height: auto;\r
+    height: auto;\r
 }\r
 \r
 input[type="hidden"] {\r
-  display: none;\r
+    display: none;\r
 }\r
 \r
 .radio,\r
 .checkbox {\r
-  min-height: 18px;\r
-  padding-left: 18px;\r
+    min-height: 18px;\r
+    padding-left: 18px;\r
 }\r
 \r
 .radio input[type="radio"],\r
 .checkbox input[type="checkbox"] {\r
-  float: left;\r
-  margin-left: -18px;\r
+    float: left;\r
+    margin-left: -18px;\r
 }\r
 \r
 .controls > .radio:first-child,\r
 .controls > .checkbox:first-child {\r
-  padding-top: 5px;\r
+    padding-top: 5px;\r
 }\r
 \r
 .radio.inline,\r
 .checkbox.inline {\r
-  display: inline-block;\r
-  padding-top: 5px;\r
-  margin-bottom: 0;\r
-  vertical-align: middle;\r
+    display: inline-block;\r
+    padding-top: 5px;\r
+    margin-bottom: 0;\r
+    vertical-align: middle;\r
 }\r
 \r
 .radio.inline + .radio.inline,\r
 .checkbox.inline + .checkbox.inline {\r
-  margin-left: 10px;\r
+    margin-left: 10px;\r
 }\r
 \r
 input,\r
 textarea {\r
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\r
-     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\r
-      -ms-transition: border linear 0.2s, box-shadow linear 0.2s;\r
-       -o-transition: border linear 0.2s, box-shadow linear 0.2s;\r
-          transition: border linear 0.2s, box-shadow linear 0.2s;\r
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\r
+    -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\r
+    -ms-transition: border linear 0.2s, box-shadow linear 0.2s;\r
+    -o-transition: border linear 0.2s, box-shadow linear 0.2s;\r
+    transition: border linear 0.2s, box-shadow linear 0.2s;\r
 }\r
 \r
 input:focus,\r
 textarea:focus {\r
-  border-color: rgba(82, 168, 236, 0.8);\r
-  outline: 0;\r
-  outline: thin dotted \9;\r
-  /* IE6-9 */\r
+    border-color: rgba(82, 168, 236, 0.8);\r
+    outline: 0;\r
+    outline: thin dotted \9;\r
+    /* IE6-9 */\r
 \r
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
+    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\r
 }\r
 \r
 input[type="file"]:focus,\r
 input[type="radio"]:focus,\r
 input[type="checkbox"]:focus,\r
 select:focus {\r
-  outline: thin dotted #333;\r
-  outline: 5px auto -webkit-focus-ring-color;\r
-  outline-offset: -2px;\r
-  -webkit-box-shadow: none;\r
-     -moz-box-shadow: none;\r
-          box-shadow: none;\r
+    outline: thin dotted #333;\r
+    outline: 5px auto -webkit-focus-ring-color;\r
+    outline-offset: -2px;\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
 }\r
 \r
 .input-mini {\r
-  width: 60px;\r
+    width: 60px;\r
 }\r
 \r
 .input-small {\r
-  width: 90px;\r
+    width: 90px;\r
 }\r
 \r
 .input-medium {\r
-  width: 150px;\r
+    width: 150px;\r
 }\r
 \r
 .input-large {\r
-  width: 210px;\r
+    width: 210px;\r
 }\r
 \r
 .input-xlarge {\r
-  width: 270px;\r
+    width: 270px;\r
 }\r
 \r
 .input-xxlarge {\r
-  width: 530px;\r
+    width: 530px;\r
 }\r
 \r
 input[class*="span"],\r
@@ -987,86 +988,86 @@ textarea[class*="span"],
 .row-fluid select[class*="span"],\r
 .row-fluid textarea[class*="span"],\r
 .row-fluid .uneditable-input[class*="span"] {\r
-  float: none;\r
-  margin-left: 0;\r
+    float: none;\r
+    margin-left: 0;\r
 }\r
 \r
 input,\r
 textarea,\r
 .uneditable-input {\r
-  margin-left: 0;\r
+    margin-left: 0;\r
 }\r
 \r
 input.span12,\r
 textarea.span12,\r
 .uneditable-input.span12 {\r
-  width: 930px;\r
+    width: 930px;\r
 }\r
 \r
 input.span11,\r
 textarea.span11,\r
 .uneditable-input.span11 {\r
-  width: 850px;\r
+    width: 850px;\r
 }\r
 \r
 input.span10,\r
 textarea.span10,\r
 .uneditable-input.span10 {\r
-  width: 770px;\r
+    width: 770px;\r
 }\r
 \r
 input.span9,\r
 textarea.span9,\r
 .uneditable-input.span9 {\r
-  width: 690px;\r
+    width: 690px;\r
 }\r
 \r
 input.span8,\r
 textarea.span8,\r
 .uneditable-input.span8 {\r
-  width: 610px;\r
+    width: 610px;\r
 }\r
 \r
 input.span7,\r
 textarea.span7,\r
 .uneditable-input.span7 {\r
-  width: 530px;\r
+    width: 530px;\r
 }\r
 \r
 input.span6,\r
 textarea.span6,\r
 .uneditable-input.span6 {\r
-  width: 450px;\r
+    width: 450px;\r
 }\r
 \r
 input.span5,\r
 textarea.span5,\r
 .uneditable-input.span5 {\r
-  width: 370px;\r
+    width: 370px;\r
 }\r
 \r
 input.span4,\r
 textarea.span4,\r
 .uneditable-input.span4 {\r
-  width: 290px;\r
+    width: 290px;\r
 }\r
 \r
 input.span3,\r
 textarea.span3,\r
 .uneditable-input.span3 {\r
-  width: 210px;\r
+    width: 210px;\r
 }\r
 \r
 input.span2,\r
 textarea.span2,\r
 .uneditable-input.span2 {\r
-  width: 130px;\r
+    width: 130px;\r
 }\r
 \r
 input.span1,\r
 textarea.span1,\r
 .uneditable-input.span1 {\r
-  width: 50px;\r
+    width: 50px;\r
 }\r
 \r
 input[disabled],\r
@@ -1075,180 +1076,180 @@ textarea[disabled],
 input[readonly],\r
 select[readonly],\r
 textarea[readonly] {\r
-  cursor: not-allowed;\r
-  background-color: #eeeeee;\r
-  border-color: #ddd;\r
+    cursor: not-allowed;\r
+    background-color: #eeeeee;\r
+    border-color: #ddd;\r
 }\r
 \r
 input[type="radio"][disabled],\r
 input[type="checkbox"][disabled],\r
 input[type="radio"][readonly],\r
 input[type="checkbox"][readonly] {\r
-  background-color: transparent;\r
+    background-color: transparent;\r
 }\r
 \r
 .control-group.warning > label,\r
 .control-group.warning .help-block,\r
 .control-group.warning .help-inline {\r
-  color: #c09853;\r
+    color: #c09853;\r
 }\r
 \r
 .control-group.warning input,\r
 .control-group.warning select,\r
 .control-group.warning textarea {\r
-  color: #c09853;\r
-  border-color: #c09853;\r
+    color: #c09853;\r
+    border-color: #c09853;\r
 }\r
 \r
 .control-group.warning input:focus,\r
 .control-group.warning select:focus,\r
 .control-group.warning textarea:focus {\r
-  border-color: #a47e3c;\r
-  -webkit-box-shadow: 0 0 6px #dbc59e;\r
-     -moz-box-shadow: 0 0 6px #dbc59e;\r
-          box-shadow: 0 0 6px #dbc59e;\r
+    border-color: #a47e3c;\r
+    -webkit-box-shadow: 0 0 6px #dbc59e;\r
+    -moz-box-shadow: 0 0 6px #dbc59e;\r
+    box-shadow: 0 0 6px #dbc59e;\r
 }\r
 \r
 .control-group.warning .input-prepend .add-on,\r
 .control-group.warning .input-append .add-on {\r
-  color: #c09853;\r
-  background-color: #fcf8e3;\r
-  border-color: #c09853;\r
+    color: #c09853;\r
+    background-color: #fcf8e3;\r
+    border-color: #c09853;\r
 }\r
 \r
 .control-group.error > label,\r
 .control-group.error .help-block,\r
 .control-group.error .help-inline {\r
-  color: #b94a48;\r
+    color: #b94a48;\r
 }\r
 \r
 .control-group.error input,\r
 .control-group.error select,\r
 .control-group.error textarea {\r
-  color: #b94a48;\r
-  border-color: #b94a48;\r
+    color: #b94a48;\r
+    border-color: #b94a48;\r
 }\r
 \r
 .control-group.error input:focus,\r
 .control-group.error select:focus,\r
 .control-group.error textarea:focus {\r
-  border-color: #953b39;\r
-  -webkit-box-shadow: 0 0 6px #d59392;\r
-     -moz-box-shadow: 0 0 6px #d59392;\r
-          box-shadow: 0 0 6px #d59392;\r
+    border-color: #953b39;\r
+    -webkit-box-shadow: 0 0 6px #d59392;\r
+    -moz-box-shadow: 0 0 6px #d59392;\r
+    box-shadow: 0 0 6px #d59392;\r
 }\r
 \r
 .control-group.error .input-prepend .add-on,\r
 .control-group.error .input-append .add-on {\r
-  color: #b94a48;\r
-  background-color: #f2dede;\r
-  border-color: #b94a48;\r
+    color: #b94a48;\r
+    background-color: #f2dede;\r
+    border-color: #b94a48;\r
 }\r
 \r
 .control-group.success > label,\r
 .control-group.success .help-block,\r
 .control-group.success .help-inline {\r
-  color: #468847;\r
+    color: #468847;\r
 }\r
 \r
 .control-group.success input,\r
 .control-group.success select,\r
 .control-group.success textarea {\r
-  color: #468847;\r
-  border-color: #468847;\r
+    color: #468847;\r
+    border-color: #468847;\r
 }\r
 \r
 .control-group.success input:focus,\r
 .control-group.success select:focus,\r
 .control-group.success textarea:focus {\r
-  border-color: #356635;\r
-  -webkit-box-shadow: 0 0 6px #7aba7b;\r
-     -moz-box-shadow: 0 0 6px #7aba7b;\r
-          box-shadow: 0 0 6px #7aba7b;\r
+    border-color: #356635;\r
+    -webkit-box-shadow: 0 0 6px #7aba7b;\r
+    -moz-box-shadow: 0 0 6px #7aba7b;\r
+    box-shadow: 0 0 6px #7aba7b;\r
 }\r
 \r
 .control-group.success .input-prepend .add-on,\r
 .control-group.success .input-append .add-on {\r
-  color: #468847;\r
-  background-color: #dff0d8;\r
-  border-color: #468847;\r
+    color: #468847;\r
+    background-color: #dff0d8;\r
+    border-color: #468847;\r
 }\r
 \r
 input:focus:required:invalid,\r
 textarea:focus:required:invalid,\r
 select:focus:required:invalid {\r
-  color: #b94a48;\r
-  border-color: #ee5f5b;\r
+    color: #b94a48;\r
+    border-color: #ee5f5b;\r
 }\r
 \r
 input:focus:required:invalid:focus,\r
 textarea:focus:required:invalid:focus,\r
 select:focus:required:invalid:focus {\r
-  border-color: #e9322d;\r
-  -webkit-box-shadow: 0 0 6px #f8b9b7;\r
-     -moz-box-shadow: 0 0 6px #f8b9b7;\r
-          box-shadow: 0 0 6px #f8b9b7;\r
+    border-color: #e9322d;\r
+    -webkit-box-shadow: 0 0 6px #f8b9b7;\r
+    -moz-box-shadow: 0 0 6px #f8b9b7;\r
+    box-shadow: 0 0 6px #f8b9b7;\r
 }\r
 \r
 .form-actions {\r
-  padding: 17px 20px 18px;\r
-  margin-top: 18px;\r
-  margin-bottom: 18px;\r
-  background-color: #f5f5f5;\r
-  border-top: 1px solid #ddd;\r
-  *zoom: 1;\r
+    padding: 17px 20px 18px;\r
+    margin-top: 18px;\r
+    margin-bottom: 18px;\r
+    background-color: #f5f5f5;\r
+    border-top: 1px solid #ddd;\r
+    *zoom: 1;\r
 }\r
 \r
 .form-actions:before,\r
 .form-actions:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .form-actions:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .uneditable-input {\r
-  overflow: hidden;\r
-  white-space: nowrap;\r
-  cursor: not-allowed;\r
-  background-color: #ffffff;\r
-  border-color: #eee;\r
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
+    overflow: hidden;\r
+    white-space: nowrap;\r
+    cursor: not-allowed;\r
+    background-color: #ffffff;\r
+    border-color: #eee;\r
+    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
+    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\r
 }\r
 \r
 :-moz-placeholder {\r
-  color: #999999;\r
+    color: #999999;\r
 }\r
 \r
 ::-webkit-input-placeholder {\r
-  color: #999999;\r
+    color: #999999;\r
 }\r
 \r
 .help-block,\r
 .help-inline {\r
-  color: #555555;\r
+    color: #555555;\r
 }\r
 \r
 .help-block {\r
-  display: block;\r
-  margin-bottom: 9px;\r
+    display: block;\r
+    margin-bottom: 9px;\r
 }\r
 \r
 .help-inline {\r
-  display: inline-block;\r
-  *display: inline;\r
-  padding-left: 5px;\r
-  vertical-align: middle;\r
-  *zoom: 1;\r
+    display: inline-block;\r
+    *display: inline;\r
+    padding-left: 5px;\r
+    vertical-align: middle;\r
+    *zoom: 1;\r
 }\r
 \r
 .input-prepend,\r
 .input-append {\r
-  margin-bottom: 5px;\r
+    margin-bottom: 5px;\r
 }\r
 \r
 .input-prepend input,\r
@@ -1257,13 +1258,13 @@ select:focus:required:invalid:focus {
 .input-append select,\r
 .input-prepend .uneditable-input,\r
 .input-append .uneditable-input {\r
-  position: relative;\r
-  margin-bottom: 0;\r
-  *margin-left: 0;\r
-  vertical-align: middle;\r
-  -webkit-border-radius: 0 3px 3px 0;\r
-     -moz-border-radius: 0 3px 3px 0;\r
-          border-radius: 0 3px 3px 0;\r
+    position: relative;\r
+    margin-bottom: 0;\r
+    *margin-left: 0;\r
+    vertical-align: middle;\r
+    -webkit-border-radius: 0 3px 3px 0;\r
+    -moz-border-radius: 0 3px 3px 0;\r
+    border-radius: 0 3px 3px 0;\r
 }\r
 \r
 .input-prepend input:focus,\r
@@ -1272,113 +1273,113 @@ select:focus:required:invalid:focus {
 .input-append select:focus,\r
 .input-prepend .uneditable-input:focus,\r
 .input-append .uneditable-input:focus {\r
-  z-index: 2;\r
+    z-index: 2;\r
 }\r
 \r
 .input-prepend .uneditable-input,\r
 .input-append .uneditable-input {\r
-  border-left-color: #ccc;\r
+    border-left-color: #ccc;\r
 }\r
 \r
 .input-prepend .add-on,\r
 .input-append .add-on {\r
-  display: inline-block;\r
-  width: auto;\r
-  height: 18px;\r
-  min-width: 16px;\r
-  padding: 4px 5px;\r
-  font-weight: normal;\r
-  line-height: 18px;\r
-  text-align: center;\r
-  text-shadow: 0 1px 0 #ffffff;\r
-  vertical-align: middle;\r
-  background-color: #eeeeee;\r
-  border: 1px solid #ccc;\r
+    display: inline-block;\r
+    width: auto;\r
+    height: 18px;\r
+    min-width: 16px;\r
+    padding: 4px 5px;\r
+    font-weight: normal;\r
+    line-height: 18px;\r
+    text-align: center;\r
+    text-shadow: 0 1px 0 #ffffff;\r
+    vertical-align: middle;\r
+    background-color: #eeeeee;\r
+    border: 1px solid #ccc;\r
 }\r
 \r
 .input-prepend .add-on,\r
 .input-append .add-on,\r
 .input-prepend .btn,\r
 .input-append .btn {\r
-  margin-left: -1px;\r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    margin-left: -1px;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 .input-prepend .active,\r
 .input-append .active {\r
-  background-color: #a9dba9;\r
-  border-color: #46a546;\r
+    background-color: #a9dba9;\r
+    border-color: #46a546;\r
 }\r
 \r
 .input-prepend .add-on,\r
 .input-prepend .btn {\r
-  margin-right: -1px;\r
+    margin-right: -1px;\r
 }\r
 \r
 .input-prepend .add-on:first-child,\r
 .input-prepend .btn:first-child {\r
-  -webkit-border-radius: 3px 0 0 3px;\r
-     -moz-border-radius: 3px 0 0 3px;\r
-          border-radius: 3px 0 0 3px;\r
+    -webkit-border-radius: 3px 0 0 3px;\r
+    -moz-border-radius: 3px 0 0 3px;\r
+    border-radius: 3px 0 0 3px;\r
 }\r
 \r
 .input-append input,\r
 .input-append select,\r
 .input-append .uneditable-input {\r
-  -webkit-border-radius: 3px 0 0 3px;\r
-     -moz-border-radius: 3px 0 0 3px;\r
-          border-radius: 3px 0 0 3px;\r
+    -webkit-border-radius: 3px 0 0 3px;\r
+    -moz-border-radius: 3px 0 0 3px;\r
+    border-radius: 3px 0 0 3px;\r
 }\r
 \r
 .input-append .uneditable-input {\r
-  border-right-color: #ccc;\r
-  border-left-color: #eee;\r
+    border-right-color: #ccc;\r
+    border-left-color: #eee;\r
 }\r
 \r
 .input-append .add-on:last-child,\r
 .input-append .btn:last-child {\r
-  -webkit-border-radius: 0 3px 3px 0;\r
-     -moz-border-radius: 0 3px 3px 0;\r
-          border-radius: 0 3px 3px 0;\r
+    -webkit-border-radius: 0 3px 3px 0;\r
+    -moz-border-radius: 0 3px 3px 0;\r
+    border-radius: 0 3px 3px 0;\r
 }\r
 \r
 .input-prepend.input-append input,\r
 .input-prepend.input-append select,\r
 .input-prepend.input-append .uneditable-input {\r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 .input-prepend.input-append .add-on:first-child,\r
 .input-prepend.input-append .btn:first-child {\r
-  margin-right: -1px;\r
-  -webkit-border-radius: 3px 0 0 3px;\r
-     -moz-border-radius: 3px 0 0 3px;\r
-          border-radius: 3px 0 0 3px;\r
+    margin-right: -1px;\r
+    -webkit-border-radius: 3px 0 0 3px;\r
+    -moz-border-radius: 3px 0 0 3px;\r
+    border-radius: 3px 0 0 3px;\r
 }\r
 \r
 .input-prepend.input-append .add-on:last-child,\r
 .input-prepend.input-append .btn:last-child {\r
-  margin-left: -1px;\r
-  -webkit-border-radius: 0 3px 3px 0;\r
-     -moz-border-radius: 0 3px 3px 0;\r
-          border-radius: 0 3px 3px 0;\r
+    margin-left: -1px;\r
+    -webkit-border-radius: 0 3px 3px 0;\r
+    -moz-border-radius: 0 3px 3px 0;\r
+    border-radius: 0 3px 3px 0;\r
 }\r
 \r
 .search-query {\r
-  padding-right: 14px;\r
-  padding-right: 4px \9;\r
-  padding-left: 14px;\r
-  padding-left: 4px \9;\r
-  /* IE7-8 doesn't have border-radius, so don't indent the padding */\r
+    padding-right: 14px;\r
+    padding-right: 4px \9;\r
+    padding-left: 14px;\r
+    padding-left: 4px \9;\r
+    /* IE7-8 doesn't have border-radius, so don't indent the padding */\r
 \r
-  margin-bottom: 0;\r
-  -webkit-border-radius: 14px;\r
-     -moz-border-radius: 14px;\r
-          border-radius: 14px;\r
+    margin-bottom: 0;\r
+    -webkit-border-radius: 14px;\r
+    -moz-border-radius: 14px;\r
+    border-radius: 14px;\r
 }\r
 \r
 .form-search input,\r
@@ -1402,126 +1403,126 @@ select:focus:required:invalid:focus {
 .form-search .input-append,\r
 .form-inline .input-append,\r
 .form-horizontal .input-append {\r
-  display: inline-block;\r
-  *display: inline;\r
-  margin-bottom: 0;\r
-  *zoom: 1;\r
+    display: inline-block;\r
+    *display: inline;\r
+    margin-bottom: 0;\r
+    *zoom: 1;\r
 }\r
 \r
 .form-search .hide,\r
 .form-inline .hide,\r
 .form-horizontal .hide {\r
-  display: none;\r
+    display: none;\r
 }\r
 \r
 .form-search label,\r
 .form-inline label {\r
-  display: inline-block;\r
+    display: inline-block;\r
 }\r
 \r
 .form-search .input-append,\r
 .form-inline .input-append,\r
 .form-search .input-prepend,\r
 .form-inline .input-prepend {\r
-  margin-bottom: 0;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .form-search .radio,\r
 .form-search .checkbox,\r
 .form-inline .radio,\r
 .form-inline .checkbox {\r
-  padding-left: 0;\r
-  margin-bottom: 0;\r
-  vertical-align: middle;\r
+    padding-left: 0;\r
+    margin-bottom: 0;\r
+    vertical-align: middle;\r
 }\r
 \r
 .form-search .radio input[type="radio"],\r
 .form-search .checkbox input[type="checkbox"],\r
 .form-inline .radio input[type="radio"],\r
 .form-inline .checkbox input[type="checkbox"] {\r
-  float: left;\r
-  margin-right: 3px;\r
-  margin-left: 0;\r
+    float: left;\r
+    margin-right: 3px;\r
+    margin-left: 0;\r
 }\r
 \r
 .control-group {\r
-  margin-bottom: 9px;\r
+    margin-bottom: 9px;\r
 }\r
 \r
 legend + .control-group {\r
-  margin-top: 18px;\r
-  -webkit-margin-top-collapse: separate;\r
+    margin-top: 18px;\r
+    -webkit-margin-top-collapse: separate;\r
 }\r
 \r
 .form-horizontal .control-group {\r
-  margin-bottom: 18px;\r
-  *zoom: 1;\r
+    margin-bottom: 18px;\r
+    *zoom: 1;\r
 }\r
 \r
 .form-horizontal .control-group:before,\r
 .form-horizontal .control-group:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .form-horizontal .control-group:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .form-horizontal .control-label {\r
-  float: left;\r
-  width: 140px;\r
-  padding-top: 5px;\r
-  text-align: right;\r
+    float: left;\r
+    width: 140px;\r
+    padding-top: 5px;\r
+    text-align: right;\r
 }\r
 \r
 .form-horizontal .controls {\r
-  *display: inline-block;\r
-  *padding-left: 20px;\r
-  margin-left: 160px;\r
-  *margin-left: 0;\r
+    *display: inline-block;\r
+    *padding-left: 20px;\r
+    margin-left: 160px;\r
+    *margin-left: 0;\r
 }\r
 \r
 .form-horizontal .controls:first-child {\r
-  *padding-left: 160px;\r
+    *padding-left: 160px;\r
 }\r
 \r
 .form-horizontal .help-block {\r
-  margin-top: 9px;\r
-  margin-bottom: 0;\r
+    margin-top: 9px;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .form-horizontal .form-actions {\r
-  padding-left: 160px;\r
+    padding-left: 160px;\r
 }\r
 \r
 table {\r
-  max-width: 100%;\r
-  background-color: transparent;\r
-  border-collapse: collapse;\r
-  border-spacing: 0;\r
+    max-width: 100%;\r
+    background-color: transparent;\r
+    border-collapse: collapse;\r
+    border-spacing: 0;\r
 }\r
 \r
 .table {\r
-  width: 100%;\r
-  margin-bottom: 18px;\r
+    width: 100%;\r
+    margin-bottom: 18px;\r
 }\r
 \r
 .table th,\r
 .table td {\r
-  padding: 8px;\r
-  line-height: 18px;\r
-  text-align: left;\r
-  vertical-align: top;\r
-  border-top: 1px solid #dddddd;\r
+    padding: 8px;\r
+    line-height: 18px;\r
+    text-align: left;\r
+    vertical-align: top;\r
+    border-top: 1px solid #dddddd;\r
 }\r
 \r
 .table th {\r
-  font-weight: bold;\r
+    font-weight: bold;\r
 }\r
 \r
 .table thead th {\r
-  vertical-align: bottom;\r
+    vertical-align: bottom;\r
 }\r
 \r
 .table caption + thead tr:first-child th,\r
@@ -1530,31 +1531,31 @@ table {
 .table colgroup + thead tr:first-child td,\r
 .table thead:first-child tr:first-child th,\r
 .table thead:first-child tr:first-child td {\r
-  border-top: 0;\r
+    border-top: 0;\r
 }\r
 \r
 .table tbody + tbody {\r
-  border-top: 2px solid #dddddd;\r
+    border-top: 2px solid #dddddd;\r
 }\r
 \r
 .table-condensed th,\r
 .table-condensed td {\r
-  padding: 4px 5px;\r
+    padding: 4px 5px;\r
 }\r
 \r
 .table-bordered {\r
-  border: 1px solid #dddddd;\r
-  border-collapse: separate;\r
-  *border-collapse: collapsed;\r
-  border-left: 0;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    border: 1px solid #dddddd;\r
+    border-collapse: separate;\r
+    *border-collapse: collapsed;\r
+    border-left: 0;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .table-bordered th,\r
 .table-bordered td {\r
-  border-left: 1px solid #dddddd;\r
+    border-left: 1px solid #dddddd;\r
 }\r
 \r
 .table-bordered caption + thead tr:first-child th,\r
@@ -1566,1036 +1567,1036 @@ table {
 .table-bordered thead:first-child tr:first-child th,\r
 .table-bordered tbody:first-child tr:first-child th,\r
 .table-bordered tbody:first-child tr:first-child td {\r
-  border-top: 0;\r
+    border-top: 0;\r
 }\r
 \r
 .table-bordered thead:first-child tr:first-child th:first-child,\r
 .table-bordered tbody:first-child tr:first-child td:first-child {\r
-  -webkit-border-top-left-radius: 4px;\r
-          border-top-left-radius: 4px;\r
-  -moz-border-radius-topleft: 4px;\r
+    -webkit-border-top-left-radius: 4px;\r
+    border-top-left-radius: 4px;\r
+    -moz-border-radius-topleft: 4px;\r
 }\r
 \r
 .table-bordered thead:first-child tr:first-child th:last-child,\r
 .table-bordered tbody:first-child tr:first-child td:last-child {\r
-  -webkit-border-top-right-radius: 4px;\r
-          border-top-right-radius: 4px;\r
-  -moz-border-radius-topright: 4px;\r
+    -webkit-border-top-right-radius: 4px;\r
+    border-top-right-radius: 4px;\r
+    -moz-border-radius-topright: 4px;\r
 }\r
 \r
 .table-bordered thead:last-child tr:last-child th:first-child,\r
 .table-bordered tbody:last-child tr:last-child td:first-child {\r
-  -webkit-border-radius: 0 0 0 4px;\r
-     -moz-border-radius: 0 0 0 4px;\r
-          border-radius: 0 0 0 4px;\r
-  -webkit-border-bottom-left-radius: 4px;\r
-          border-bottom-left-radius: 4px;\r
-  -moz-border-radius-bottomleft: 4px;\r
+    -webkit-border-radius: 0 0 0 4px;\r
+    -moz-border-radius: 0 0 0 4px;\r
+    border-radius: 0 0 0 4px;\r
+    -webkit-border-bottom-left-radius: 4px;\r
+    border-bottom-left-radius: 4px;\r
+    -moz-border-radius-bottomleft: 4px;\r
 }\r
 \r
 .table-bordered thead:last-child tr:last-child th:last-child,\r
 .table-bordered tbody:last-child tr:last-child td:last-child {\r
-  -webkit-border-bottom-right-radius: 4px;\r
-          border-bottom-right-radius: 4px;\r
-  -moz-border-radius-bottomright: 4px;\r
+    -webkit-border-bottom-right-radius: 4px;\r
+    border-bottom-right-radius: 4px;\r
+    -moz-border-radius-bottomright: 4px;\r
 }\r
 \r
 .table-striped tbody tr:nth-child(odd) td,\r
 .table-striped tbody tr:nth-child(odd) th {\r
-  background-color: #f9f9f9;\r
+    background-color: #f9f9f9;\r
 }\r
 \r
 .table tbody tr:hover td,\r
 .table tbody tr:hover th {\r
-  background-color: #f5f5f5;\r
+    background-color: #f5f5f5;\r
 }\r
 \r
 table .span1 {\r
-  float: none;\r
-  width: 44px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 44px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span2 {\r
-  float: none;\r
-  width: 124px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 124px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span3 {\r
-  float: none;\r
-  width: 204px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 204px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span4 {\r
-  float: none;\r
-  width: 284px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 284px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span5 {\r
-  float: none;\r
-  width: 364px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 364px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span6 {\r
-  float: none;\r
-  width: 444px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 444px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span7 {\r
-  float: none;\r
-  width: 524px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 524px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span8 {\r
-  float: none;\r
-  width: 604px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 604px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span9 {\r
-  float: none;\r
-  width: 684px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 684px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span10 {\r
-  float: none;\r
-  width: 764px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 764px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span11 {\r
-  float: none;\r
-  width: 844px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 844px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span12 {\r
-  float: none;\r
-  width: 924px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 924px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span13 {\r
-  float: none;\r
-  width: 1004px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1004px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span14 {\r
-  float: none;\r
-  width: 1084px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1084px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span15 {\r
-  float: none;\r
-  width: 1164px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1164px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span16 {\r
-  float: none;\r
-  width: 1244px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1244px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span17 {\r
-  float: none;\r
-  width: 1324px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1324px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span18 {\r
-  float: none;\r
-  width: 1404px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1404px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span19 {\r
-  float: none;\r
-  width: 1484px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1484px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span20 {\r
-  float: none;\r
-  width: 1564px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1564px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span21 {\r
-  float: none;\r
-  width: 1644px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1644px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span22 {\r
-  float: none;\r
-  width: 1724px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1724px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span23 {\r
-  float: none;\r
-  width: 1804px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1804px;\r
+    margin-left: 0;\r
 }\r
 \r
 table .span24 {\r
-  float: none;\r
-  width: 1884px;\r
-  margin-left: 0;\r
+    float: none;\r
+    width: 1884px;\r
+    margin-left: 0;\r
 }\r
 \r
 [class^="icon-"],\r
 [class*=" icon-"] {\r
-  display: inline-block;\r
-  width: 14px;\r
-  height: 14px;\r
-  *margin-right: .3em;\r
-  line-height: 14px;\r
-  vertical-align: text-top;\r
-  background-image: url("../img/glyphicons-halflings.png");\r
-  background-position: 14px 14px;\r
-  background-repeat: no-repeat;\r
+    display: inline-block;\r
+    width: 14px;\r
+    height: 14px;\r
+    *margin-right: .3em;\r
+    line-height: 14px;\r
+    vertical-align: text-top;\r
+    background-image: url("../img/glyphicons-halflings.png");\r
+    background-position: 14px 14px;\r
+    background-repeat: no-repeat;\r
 }\r
 \r
 [class^="icon-"]:last-child,\r
 [class*=" icon-"]:last-child {\r
-  *margin-left: 0;\r
+    *margin-left: 0;\r
 }\r
 \r
 .icon-white {\r
-  background-image: url("../img/glyphicons-halflings-white.png");\r
+    background-image: url("../img/glyphicons-halflings-white.png");\r
 }\r
 \r
 .icon-glass {\r
-  background-position: 0      0;\r
+    background-position: 0 0;\r
 }\r
 \r
 .icon-music {\r
-  background-position: -24px 0;\r
+    background-position: -24px 0;\r
 }\r
 \r
 .icon-search {\r
-  background-position: -48px 0;\r
+    background-position: -48px 0;\r
 }\r
 \r
 .icon-envelope {\r
-  background-position: -72px 0;\r
+    background-position: -72px 0;\r
 }\r
 \r
 .icon-heart {\r
-  background-position: -96px 0;\r
+    background-position: -96px 0;\r
 }\r
 \r
 .icon-star {\r
-  background-position: -120px 0;\r
+    background-position: -120px 0;\r
 }\r
 \r
 .icon-star-empty {\r
-  background-position: -144px 0;\r
+    background-position: -144px 0;\r
 }\r
 \r
 .icon-user {\r
-  background-position: -168px 0;\r
+    background-position: -168px 0;\r
 }\r
 \r
 .icon-film {\r
-  background-position: -192px 0;\r
+    background-position: -192px 0;\r
 }\r
 \r
 .icon-th-large {\r
-  background-position: -216px 0;\r
+    background-position: -216px 0;\r
 }\r
 \r
 .icon-th {\r
-  background-position: -240px 0;\r
+    background-position: -240px 0;\r
 }\r
 \r
 .icon-th-list {\r
-  background-position: -264px 0;\r
+    background-position: -264px 0;\r
 }\r
 \r
 .icon-ok {\r
-  background-position: -288px 0;\r
+    background-position: -288px 0;\r
 }\r
 \r
 .icon-remove {\r
-  background-position: -312px 0;\r
+    background-position: -312px 0;\r
 }\r
 \r
 .icon-zoom-in {\r
-  background-position: -336px 0;\r
+    background-position: -336px 0;\r
 }\r
 \r
 .icon-zoom-out {\r
-  background-position: -360px 0;\r
+    background-position: -360px 0;\r
 }\r
 \r
 .icon-off {\r
-  background-position: -384px 0;\r
+    background-position: -384px 0;\r
 }\r
 \r
 .icon-signal {\r
-  background-position: -408px 0;\r
+    background-position: -408px 0;\r
 }\r
 \r
 .icon-cog {\r
-  background-position: -432px 0;\r
+    background-position: -432px 0;\r
 }\r
 \r
 .icon-trash {\r
-  background-position: -456px 0;\r
+    background-position: -456px 0;\r
 }\r
 \r
 .icon-home {\r
-  background-position: 0 -24px;\r
+    background-position: 0 -24px;\r
 }\r
 \r
 .icon-file {\r
-  background-position: -24px -24px;\r
+    background-position: -24px -24px;\r
 }\r
 \r
 .icon-time {\r
-  background-position: -48px -24px;\r
+    background-position: -48px -24px;\r
 }\r
 \r
 .icon-road {\r
-  background-position: -72px -24px;\r
+    background-position: -72px -24px;\r
 }\r
 \r
 .icon-download-alt {\r
-  background-position: -96px -24px;\r
+    background-position: -96px -24px;\r
 }\r
 \r
 .icon-download {\r
-  background-position: -120px -24px;\r
+    background-position: -120px -24px;\r
 }\r
 \r
 .icon-upload {\r
-  background-position: -144px -24px;\r
+    background-position: -144px -24px;\r
 }\r
 \r
 .icon-inbox {\r
-  background-position: -168px -24px;\r
+    background-position: -168px -24px;\r
 }\r
 \r
 .icon-play-circle {\r
-  background-position: -192px -24px;\r
+    background-position: -192px -24px;\r
 }\r
 \r
 .icon-repeat {\r
-  background-position: -216px -24px;\r
+    background-position: -216px -24px;\r
 }\r
 \r
 .icon-refresh {\r
-  background-position: -240px -24px;\r
+    background-position: -240px -24px;\r
 }\r
 \r
 .icon-list-alt {\r
-  background-position: -264px -24px;\r
+    background-position: -264px -24px;\r
 }\r
 \r
 .icon-lock {\r
-  background-position: -287px -24px;\r
+    background-position: -287px -24px;\r
 }\r
 \r
 .icon-flag {\r
-  background-position: -312px -24px;\r
+    background-position: -312px -24px;\r
 }\r
 \r
 .icon-headphones {\r
-  background-position: -336px -24px;\r
+    background-position: -336px -24px;\r
 }\r
 \r
 .icon-volume-off {\r
-  background-position: -360px -24px;\r
+    background-position: -360px -24px;\r
 }\r
 \r
 .icon-volume-down {\r
-  background-position: -384px -24px;\r
+    background-position: -384px -24px;\r
 }\r
 \r
 .icon-volume-up {\r
-  background-position: -408px -24px;\r
+    background-position: -408px -24px;\r
 }\r
 \r
 .icon-qrcode {\r
-  background-position: -432px -24px;\r
+    background-position: -432px -24px;\r
 }\r
 \r
 .icon-barcode {\r
-  background-position: -456px -24px;\r
+    background-position: -456px -24px;\r
 }\r
 \r
 .icon-tag {\r
-  background-position: 0 -48px;\r
+    background-position: 0 -48px;\r
 }\r
 \r
 .icon-tags {\r
-  background-position: -25px -48px;\r
+    background-position: -25px -48px;\r
 }\r
 \r
 .icon-book {\r
-  background-position: -48px -48px;\r
+    background-position: -48px -48px;\r
 }\r
 \r
 .icon-bookmark {\r
-  background-position: -72px -48px;\r
+    background-position: -72px -48px;\r
 }\r
 \r
 .icon-print {\r
-  background-position: -96px -48px;\r
+    background-position: -96px -48px;\r
 }\r
 \r
 .icon-camera {\r
-  background-position: -120px -48px;\r
+    background-position: -120px -48px;\r
 }\r
 \r
 .icon-font {\r
-  background-position: -144px -48px;\r
+    background-position: -144px -48px;\r
 }\r
 \r
 .icon-bold {\r
-  background-position: -167px -48px;\r
+    background-position: -167px -48px;\r
 }\r
 \r
 .icon-italic {\r
-  background-position: -192px -48px;\r
+    background-position: -192px -48px;\r
 }\r
 \r
 .icon-text-height {\r
-  background-position: -216px -48px;\r
+    background-position: -216px -48px;\r
 }\r
 \r
 .icon-text-width {\r
-  background-position: -240px -48px;\r
+    background-position: -240px -48px;\r
 }\r
 \r
 .icon-align-left {\r
-  background-position: -264px -48px;\r
+    background-position: -264px -48px;\r
 }\r
 \r
 .icon-align-center {\r
-  background-position: -288px -48px;\r
+    background-position: -288px -48px;\r
 }\r
 \r
 .icon-align-right {\r
-  background-position: -312px -48px;\r
+    background-position: -312px -48px;\r
 }\r
 \r
 .icon-align-justify {\r
-  background-position: -336px -48px;\r
+    background-position: -336px -48px;\r
 }\r
 \r
 .icon-list {\r
-  background-position: -360px -48px;\r
+    background-position: -360px -48px;\r
 }\r
 \r
 .icon-indent-left {\r
-  background-position: -384px -48px;\r
+    background-position: -384px -48px;\r
 }\r
 \r
 .icon-indent-right {\r
-  background-position: -408px -48px;\r
+    background-position: -408px -48px;\r
 }\r
 \r
 .icon-facetime-video {\r
-  background-position: -432px -48px;\r
+    background-position: -432px -48px;\r
 }\r
 \r
 .icon-picture {\r
-  background-position: -456px -48px;\r
+    background-position: -456px -48px;\r
 }\r
 \r
 .icon-pencil {\r
-  background-position: 0 -72px;\r
+    background-position: 0 -72px;\r
 }\r
 \r
 .icon-map-marker {\r
-  background-position: -24px -72px;\r
+    background-position: -24px -72px;\r
 }\r
 \r
 .icon-adjust {\r
-  background-position: -48px -72px;\r
+    background-position: -48px -72px;\r
 }\r
 \r
 .icon-tint {\r
-  background-position: -72px -72px;\r
+    background-position: -72px -72px;\r
 }\r
 \r
 .icon-edit {\r
-  background-position: -96px -72px;\r
+    background-position: -96px -72px;\r
 }\r
 \r
 .icon-share {\r
-  background-position: -120px -72px;\r
+    background-position: -120px -72px;\r
 }\r
 \r
 .icon-check {\r
-  background-position: -144px -72px;\r
+    background-position: -144px -72px;\r
 }\r
 \r
 .icon-move {\r
-  background-position: -168px -72px;\r
+    background-position: -168px -72px;\r
 }\r
 \r
 .icon-step-backward {\r
-  background-position: -192px -72px;\r
+    background-position: -192px -72px;\r
 }\r
 \r
 .icon-fast-backward {\r
-  background-position: -216px -72px;\r
+    background-position: -216px -72px;\r
 }\r
 \r
 .icon-backward {\r
-  background-position: -240px -72px;\r
+    background-position: -240px -72px;\r
 }\r
 \r
 .icon-play {\r
-  background-position: -264px -72px;\r
+    background-position: -264px -72px;\r
 }\r
 \r
 .icon-pause {\r
-  background-position: -288px -72px;\r
+    background-position: -288px -72px;\r
 }\r
 \r
 .icon-stop {\r
-  background-position: -312px -72px;\r
+    background-position: -312px -72px;\r
 }\r
 \r
 .icon-forward {\r
-  background-position: -336px -72px;\r
+    background-position: -336px -72px;\r
 }\r
 \r
 .icon-fast-forward {\r
-  background-position: -360px -72px;\r
+    background-position: -360px -72px;\r
 }\r
 \r
 .icon-step-forward {\r
-  background-position: -384px -72px;\r
+    background-position: -384px -72px;\r
 }\r
 \r
 .icon-eject {\r
-  background-position: -408px -72px;\r
+    background-position: -408px -72px;\r
 }\r
 \r
 .icon-chevron-left {\r
-  background-position: -432px -72px;\r
+    background-position: -432px -72px;\r
 }\r
 \r
 .icon-chevron-right {\r
-  background-position: -456px -72px;\r
+    background-position: -456px -72px;\r
 }\r
 \r
 .icon-plus-sign {\r
-  background-position: 0 -96px;\r
+    background-position: 0 -96px;\r
 }\r
 \r
 .icon-minus-sign {\r
-  background-position: -24px -96px;\r
+    background-position: -24px -96px;\r
 }\r
 \r
 .icon-remove-sign {\r
-  background-position: -48px -96px;\r
+    background-position: -48px -96px;\r
 }\r
 \r
 .icon-ok-sign {\r
-  background-position: -72px -96px;\r
+    background-position: -72px -96px;\r
 }\r
 \r
 .icon-question-sign {\r
-  background-position: -96px -96px;\r
+    background-position: -96px -96px;\r
 }\r
 \r
 .icon-info-sign {\r
-  background-position: -120px -96px;\r
+    background-position: -120px -96px;\r
 }\r
 \r
 .icon-screenshot {\r
-  background-position: -144px -96px;\r
+    background-position: -144px -96px;\r
 }\r
 \r
 .icon-remove-circle {\r
-  background-position: -168px -96px;\r
+    background-position: -168px -96px;\r
 }\r
 \r
 .icon-ok-circle {\r
-  background-position: -192px -96px;\r
+    background-position: -192px -96px;\r
 }\r
 \r
 .icon-ban-circle {\r
-  background-position: -216px -96px;\r
+    background-position: -216px -96px;\r
 }\r
 \r
 .icon-arrow-left {\r
-  background-position: -240px -96px;\r
+    background-position: -240px -96px;\r
 }\r
 \r
 .icon-arrow-right {\r
-  background-position: -264px -96px;\r
+    background-position: -264px -96px;\r
 }\r
 \r
 .icon-arrow-up {\r
-  background-position: -289px -96px;\r
+    background-position: -289px -96px;\r
 }\r
 \r
 .icon-arrow-down {\r
-  background-position: -312px -96px;\r
+    background-position: -312px -96px;\r
 }\r
 \r
 .icon-share-alt {\r
-  background-position: -336px -96px;\r
+    background-position: -336px -96px;\r
 }\r
 \r
 .icon-resize-full {\r
-  background-position: -360px -96px;\r
+    background-position: -360px -96px;\r
 }\r
 \r
 .icon-resize-small {\r
-  background-position: -384px -96px;\r
+    background-position: -384px -96px;\r
 }\r
 \r
 .icon-plus {\r
-  background-position: -408px -96px;\r
+    background-position: -408px -96px;\r
 }\r
 \r
 .icon-minus {\r
-  background-position: -433px -96px;\r
+    background-position: -433px -96px;\r
 }\r
 \r
 .icon-asterisk {\r
-  background-position: -456px -96px;\r
+    background-position: -456px -96px;\r
 }\r
 \r
 .icon-exclamation-sign {\r
-  background-position: 0 -120px;\r
+    background-position: 0 -120px;\r
 }\r
 \r
 .icon-gift {\r
-  background-position: -24px -120px;\r
+    background-position: -24px -120px;\r
 }\r
 \r
 .icon-leaf {\r
-  background-position: -48px -120px;\r
+    background-position: -48px -120px;\r
 }\r
 \r
 .icon-fire {\r
-  background-position: -72px -120px;\r
+    background-position: -72px -120px;\r
 }\r
 \r
 .icon-eye-open {\r
-  background-position: -96px -120px;\r
+    background-position: -96px -120px;\r
 }\r
 \r
 .icon-eye-close {\r
-  background-position: -120px -120px;\r
+    background-position: -120px -120px;\r
 }\r
 \r
 .icon-warning-sign {\r
-  background-position: -144px -120px;\r
+    background-position: -144px -120px;\r
 }\r
 \r
 .icon-plane {\r
-  background-position: -168px -120px;\r
+    background-position: -168px -120px;\r
 }\r
 \r
 .icon-calendar {\r
-  background-position: -192px -120px;\r
+    background-position: -192px -120px;\r
 }\r
 \r
 .icon-random {\r
-  background-position: -216px -120px;\r
+    background-position: -216px -120px;\r
 }\r
 \r
 .icon-comment {\r
-  background-position: -240px -120px;\r
+    background-position: -240px -120px;\r
 }\r
 \r
 .icon-magnet {\r
-  background-position: -264px -120px;\r
+    background-position: -264px -120px;\r
 }\r
 \r
 .icon-chevron-up {\r
-  background-position: -288px -120px;\r
+    background-position: -288px -120px;\r
 }\r
 \r
 .icon-chevron-down {\r
-  background-position: -313px -119px;\r
+    background-position: -313px -119px;\r
 }\r
 \r
 .icon-retweet {\r
-  background-position: -336px -120px;\r
+    background-position: -336px -120px;\r
 }\r
 \r
 .icon-shopping-cart {\r
-  background-position: -360px -120px;\r
+    background-position: -360px -120px;\r
 }\r
 \r
 .icon-folder-close {\r
-  background-position: -384px -120px;\r
+    background-position: -384px -120px;\r
 }\r
 \r
 .icon-folder-open {\r
-  background-position: -408px -120px;\r
+    background-position: -408px -120px;\r
 }\r
 \r
 .icon-resize-vertical {\r
-  background-position: -432px -119px;\r
+    background-position: -432px -119px;\r
 }\r
 \r
 .icon-resize-horizontal {\r
-  background-position: -456px -118px;\r
+    background-position: -456px -118px;\r
 }\r
 \r
 .icon-hdd {\r
-  background-position: 0 -144px;\r
+    background-position: 0 -144px;\r
 }\r
 \r
 .icon-bullhorn {\r
-  background-position: -24px -144px;\r
+    background-position: -24px -144px;\r
 }\r
 \r
 .icon-bell {\r
-  background-position: -48px -144px;\r
+    background-position: -48px -144px;\r
 }\r
 \r
 .icon-certificate {\r
-  background-position: -72px -144px;\r
+    background-position: -72px -144px;\r
 }\r
 \r
 .icon-thumbs-up {\r
-  background-position: -96px -144px;\r
+    background-position: -96px -144px;\r
 }\r
 \r
 .icon-thumbs-down {\r
-  background-position: -120px -144px;\r
+    background-position: -120px -144px;\r
 }\r
 \r
 .icon-hand-right {\r
-  background-position: -144px -144px;\r
+    background-position: -144px -144px;\r
 }\r
 \r
 .icon-hand-left {\r
-  background-position: -168px -144px;\r
+    background-position: -168px -144px;\r
 }\r
 \r
 .icon-hand-up {\r
-  background-position: -192px -144px;\r
+    background-position: -192px -144px;\r
 }\r
 \r
 .icon-hand-down {\r
-  background-position: -216px -144px;\r
+    background-position: -216px -144px;\r
 }\r
 \r
 .icon-circle-arrow-right {\r
-  background-position: -240px -144px;\r
+    background-position: -240px -144px;\r
 }\r
 \r
 .icon-circle-arrow-left {\r
-  background-position: -264px -144px;\r
+    background-position: -264px -144px;\r
 }\r
 \r
 .icon-circle-arrow-up {\r
-  background-position: -288px -144px;\r
+    background-position: -288px -144px;\r
 }\r
 \r
 .icon-circle-arrow-down {\r
-  background-position: -312px -144px;\r
+    background-position: -312px -144px;\r
 }\r
 \r
 .icon-globe {\r
-  background-position: -336px -144px;\r
+    background-position: -336px -144px;\r
 }\r
 \r
 .icon-wrench {\r
-  background-position: -360px -144px;\r
+    background-position: -360px -144px;\r
 }\r
 \r
 .icon-tasks {\r
-  background-position: -384px -144px;\r
+    background-position: -384px -144px;\r
 }\r
 \r
 .icon-filter {\r
-  background-position: -408px -144px;\r
+    background-position: -408px -144px;\r
 }\r
 \r
 .icon-briefcase {\r
-  background-position: -432px -144px;\r
+    background-position: -432px -144px;\r
 }\r
 \r
 .icon-fullscreen {\r
-  background-position: -456px -144px;\r
+    background-position: -456px -144px;\r
 }\r
 \r
 .dropup,\r
 .dropdown {\r
-  position: relative;\r
+    position: relative;\r
 }\r
 \r
 .dropdown-toggle {\r
-  *margin-bottom: -3px;\r
+    *margin-bottom: -3px;\r
 }\r
 \r
 .dropdown-toggle:active,\r
 .open .dropdown-toggle {\r
-  outline: 0;\r
+    outline: 0;\r
 }\r
 \r
 .caret {\r
-  display: inline-block;\r
-  width: 0;\r
-  height: 0;\r
-  vertical-align: top;\r
-  border-top: 4px solid #000000;\r
-  border-right: 4px solid transparent;\r
-  border-left: 4px solid transparent;\r
-  content: "";\r
-  opacity: 0.3;\r
-  filter: alpha(opacity=30);\r
+    display: inline-block;\r
+    width: 0;\r
+    height: 0;\r
+    vertical-align: top;\r
+    border-top: 4px solid #000000;\r
+    border-right: 4px solid transparent;\r
+    border-left: 4px solid transparent;\r
+    content: "";\r
+    opacity: 0.3;\r
+    filter: alpha(opacity=30);\r
 }\r
 \r
 .dropdown .caret {\r
-  margin-top: 8px;\r
-  margin-left: 2px;\r
+    margin-top: 8px;\r
+    margin-left: 2px;\r
 }\r
 \r
 .dropdown:hover .caret,\r
 .open .caret {\r
-  opacity: 1;\r
-  filter: alpha(opacity=100);\r
+    opacity: 1;\r
+    filter: alpha(opacity=100);\r
 }\r
 \r
 .dropdown-menu {\r
-  position: absolute;\r
-  top: 100%;\r
-  left: 0;\r
-  z-index: 1000;\r
-  display: none;\r
-  float: left;\r
-  min-width: 160px;\r
-  padding: 4px 0;\r
-  margin: 1px 0 0;\r
-  list-style: none;\r
-  background-color: #ffffff;\r
-  border: 1px solid #ccc;\r
-  border: 1px solid rgba(0, 0, 0, 0.2);\r
-  *border-right-width: 2px;\r
-  *border-bottom-width: 2px;\r
-  -webkit-border-radius: 5px;\r
-     -moz-border-radius: 5px;\r
-          border-radius: 5px;\r
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
-     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
-          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
-  -webkit-background-clip: padding-box;\r
-     -moz-background-clip: padding;\r
-          background-clip: padding-box;\r
+    position: absolute;\r
+    top: 100%;\r
+    left: 0;\r
+    z-index: 1000;\r
+    display: none;\r
+    float: left;\r
+    min-width: 160px;\r
+    padding: 4px 0;\r
+    margin: 1px 0 0;\r
+    list-style: none;\r
+    background-color: #ffffff;\r
+    border: 1px solid #ccc;\r
+    border: 1px solid rgba(0, 0, 0, 0.2);\r
+    *border-right-width: 2px;\r
+    *border-bottom-width: 2px;\r
+    -webkit-border-radius: 5px;\r
+    -moz-border-radius: 5px;\r
+    border-radius: 5px;\r
+    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
+    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
+    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r
+    -webkit-background-clip: padding-box;\r
+    -moz-background-clip: padding;\r
+    background-clip: padding-box;\r
 }\r
 \r
 .dropdown-menu.pull-right {\r
-  right: 0;\r
-  left: auto;\r
+    right: 0;\r
+    left: auto;\r
 }\r
 \r
 .dropdown-menu .divider {\r
-  *width: 100%;\r
-  height: 1px;\r
-  margin: 8px 1px;\r
-  *margin: -5px 0 5px;\r
-  overflow: hidden;\r
-  background-color: #e5e5e5;\r
-  border-bottom: 1px solid #ffffff;\r
+    *width: 100%;\r
+    height: 1px;\r
+    margin: 8px 1px;\r
+    *margin: -5px 0 5px;\r
+    overflow: hidden;\r
+    background-color: #e5e5e5;\r
+    border-bottom: 1px solid #ffffff;\r
 }\r
 \r
 .dropdown-menu a {\r
-  display: block;\r
-  padding: 3px 15px;\r
-  clear: both;\r
-  font-weight: normal;\r
-  line-height: 18px;\r
-  color: #333333;\r
-  white-space: nowrap;\r
+    display: block;\r
+    padding: 3px 15px;\r
+    clear: both;\r
+    font-weight: normal;\r
+    line-height: 18px;\r
+    color: #333333;\r
+    white-space: nowrap;\r
 }\r
 \r
 .dropdown-menu li > a:hover,\r
 .dropdown-menu .active > a,\r
 .dropdown-menu .active > a:hover {\r
-  color: #ffffff;\r
-  text-decoration: none;\r
-  background-color: #0088cc;\r
+    color: #ffffff;\r
+    text-decoration: none;\r
+    background-color: #0088cc;\r
 }\r
 \r
 .open {\r
-  *z-index: 1000;\r
+    *z-index: 1000;\r
 }\r
 \r
 .open .dropdown-menu {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 .pull-right .dropdown-menu {\r
-  right: 0;\r
-  left: auto;\r
+    right: 0;\r
+    left: auto;\r
 }\r
 \r
 .dropup .caret,\r
 .navbar-fixed-bottom .dropdown .caret {\r
-  border-top: 0;\r
-  border-bottom: 4px solid #000000;\r
-  content: "\2191";\r
+    border-top: 0;\r
+    border-bottom: 4px solid #000000;\r
+    content: "\2191";\r
 }\r
 \r
 .dropup .dropdown-menu,\r
 .navbar-fixed-bottom .dropdown .dropdown-menu {\r
-  top: auto;\r
-  bottom: 100%;\r
-  margin-bottom: 1px;\r
+    top: auto;\r
+    bottom: 100%;\r
+    margin-bottom: 1px;\r
 }\r
 \r
 .typeahead {\r
-  margin-top: 2px;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    margin-top: 2px;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .well {\r
-  min-height: 20px;\r
-  padding: 19px;\r
-  margin-bottom: 20px;\r
-  background-color: #f5f5f5;\r
-  border: 1px solid #eee;\r
-  border: 1px solid rgba(0, 0, 0, 0.05);\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
+    min-height: 20px;\r
+    padding: 19px;\r
+    margin-bottom: 20px;\r
+    background-color: #f5f5f5;\r
+    border: 1px solid #eee;\r
+    border: 1px solid rgba(0, 0, 0, 0.05);\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .well blockquote {\r
-  border-color: #ddd;\r
-  border-color: rgba(0, 0, 0, 0.15);\r
+    border-color: #ddd;\r
+    border-color: rgba(0, 0, 0, 0.15);\r
 }\r
 \r
 .well-large {\r
-  padding: 24px;\r
-  -webkit-border-radius: 6px;\r
-     -moz-border-radius: 6px;\r
-          border-radius: 6px;\r
+    padding: 24px;\r
+    -webkit-border-radius: 6px;\r
+    -moz-border-radius: 6px;\r
+    border-radius: 6px;\r
 }\r
 \r
 .well-small {\r
-  padding: 9px;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
+    padding: 9px;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
 }\r
 \r
 .fade {\r
-  opacity: 0;\r
-  filter: alpha(opacity=0);\r
-  -webkit-transition: opacity 0.15s linear;\r
-     -moz-transition: opacity 0.15s linear;\r
-      -ms-transition: opacity 0.15s linear;\r
-       -o-transition: opacity 0.15s linear;\r
-          transition: opacity 0.15s linear;\r
+    opacity: 0;\r
+    filter: alpha(opacity=0);\r
+    -webkit-transition: opacity 0.15s linear;\r
+    -moz-transition: opacity 0.15s linear;\r
+    -ms-transition: opacity 0.15s linear;\r
+    -o-transition: opacity 0.15s linear;\r
+    transition: opacity 0.15s linear;\r
 }\r
 \r
 .fade.in {\r
-  opacity: 1;\r
-  filter: alpha(opacity=100);\r
+    opacity: 1;\r
+    filter: alpha(opacity=100);\r
 }\r
 \r
 .collapse {\r
-  position: relative;\r
-  height: 0;\r
-  overflow: hidden;\r
-  -webkit-transition: height 0.35s ease;\r
-     -moz-transition: height 0.35s ease;\r
-      -ms-transition: height 0.35s ease;\r
-       -o-transition: height 0.35s ease;\r
-          transition: height 0.35s ease;\r
+    position: relative;\r
+    height: 0;\r
+    overflow: hidden;\r
+    -webkit-transition: height 0.35s ease;\r
+    -moz-transition: height 0.35s ease;\r
+    -ms-transition: height 0.35s ease;\r
+    -o-transition: height 0.35s ease;\r
+    transition: height 0.35s ease;\r
 }\r
 \r
 .collapse.in {\r
-  height: auto;\r
+    height: auto;\r
 }\r
 \r
 .close {\r
-  float: right;\r
-  font-size: 20px;\r
-  font-weight: bold;\r
-  line-height: 18px;\r
-  color: #000000;\r
-  text-shadow: 0 1px 0 #ffffff;\r
-  opacity: 0.2;\r
-  filter: alpha(opacity=20);\r
+    float: right;\r
+    font-size: 20px;\r
+    font-weight: bold;\r
+    line-height: 18px;\r
+    color: #000000;\r
+    text-shadow: 0 1px 0 #ffffff;\r
+    opacity: 0.2;\r
+    filter: alpha(opacity=20);\r
 }\r
 \r
 .close:hover {\r
-  color: #000000;\r
-  text-decoration: none;\r
-  cursor: pointer;\r
-  opacity: 0.4;\r
-  filter: alpha(opacity=40);\r
+    color: #000000;\r
+    text-decoration: none;\r
+    cursor: pointer;\r
+    opacity: 0.4;\r
+    filter: alpha(opacity=40);\r
 }\r
 \r
 button.close {\r
-  padding: 0;\r
-  cursor: pointer;\r
-  background: transparent;\r
-  border: 0;\r
-  -webkit-appearance: none;\r
+    padding: 0;\r
+    cursor: pointer;\r
+    background: transparent;\r
+    border: 0;\r
+    -webkit-appearance: none;\r
 }\r
 \r
 .btn {\r
-  display: inline-block;\r
-  *display: inline;\r
-  padding: 4px 10px 4px;\r
-  margin-bottom: 0;\r
-  *margin-left: .3em;\r
-  font-size: 13px;\r
-  line-height: 18px;\r
-  *line-height: 20px;\r
-  color: #333333;\r
-  text-align: center;\r
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\r
-  vertical-align: middle;\r
-  cursor: pointer;\r
-  background-color: #f5f5f5;\r
-  *background-color: #e6e6e6;\r
-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));\r
-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);\r
-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);\r
-  background-image: linear-gradient(top, #ffffff, #e6e6e6);\r
-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);\r
-  background-repeat: repeat-x;\r
-  border: 1px solid #cccccc;\r
-  *border: 0;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;\r
-  border-bottom-color: #b3b3b3;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
-  *zoom: 1;\r
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    display: inline-block;\r
+    *display: inline;\r
+    padding: 4px 10px 4px;\r
+    margin-bottom: 0;\r
+    *margin-left: .3em;\r
+    font-size: 13px;\r
+    line-height: 18px;\r
+    *line-height: 20px;\r
+    color: #333333;\r
+    text-align: center;\r
+    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\r
+    vertical-align: middle;\r
+    cursor: pointer;\r
+    background-color: #f5f5f5;\r
+    *background-color: #e6e6e6;\r
+    background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));\r
+    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);\r
+    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);\r
+    background-image: linear-gradient(top, #ffffff, #e6e6e6);\r
+    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);\r
+    background-repeat: repeat-x;\r
+    border: 1px solid #cccccc;\r
+    *border: 0;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    border-color: #e6e6e6 #e6e6e6 #bfbfbf;\r
+    border-bottom-color: #b3b3b3;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    *zoom: 1;\r
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .btn:hover,\r
@@ -2603,90 +2604,90 @@ button.close {
 .btn.active,\r
 .btn.disabled,\r
 .btn[disabled] {\r
-  background-color: #e6e6e6;\r
-  *background-color: #d9d9d9;\r
+    background-color: #e6e6e6;\r
+    *background-color: #d9d9d9;\r
 }\r
 \r
 .btn:active,\r
 .btn.active {\r
-  background-color: #cccccc \9;\r
+    background-color: #cccccc \9;\r
 }\r
 \r
 .btn:first-child {\r
-  *margin-left: 0;\r
+    *margin-left: 0;\r
 }\r
 \r
 .btn:hover {\r
-  color: #333333;\r
-  text-decoration: none;\r
-  background-color: #e6e6e6;\r
-  *background-color: #d9d9d9;\r
-  /* Buttons in IE7 don't get borders, so darken on hover */\r
+    color: #333333;\r
+    text-decoration: none;\r
+    background-color: #e6e6e6;\r
+    *background-color: #d9d9d9;\r
+    /* Buttons in IE7 don't get borders, so darken on hover */\r
 \r
-  background-position: 0 -15px;\r
-  -webkit-transition: background-position 0.1s linear;\r
-     -moz-transition: background-position 0.1s linear;\r
-      -ms-transition: background-position 0.1s linear;\r
-       -o-transition: background-position 0.1s linear;\r
-          transition: background-position 0.1s linear;\r
+    background-position: 0 -15px;\r
+    -webkit-transition: background-position 0.1s linear;\r
+    -moz-transition: background-position 0.1s linear;\r
+    -ms-transition: background-position 0.1s linear;\r
+    -o-transition: background-position 0.1s linear;\r
+    transition: background-position 0.1s linear;\r
 }\r
 \r
 .btn:focus {\r
-  outline: thin dotted #333;\r
-  outline: 5px auto -webkit-focus-ring-color;\r
-  outline-offset: -2px;\r
+    outline: thin dotted #333;\r
+    outline: 5px auto -webkit-focus-ring-color;\r
+    outline-offset: -2px;\r
 }\r
 \r
 .btn.active,\r
 .btn:active {\r
-  background-color: #e6e6e6;\r
-  background-color: #d9d9d9 \9;\r
-  background-image: none;\r
-  outline: 0;\r
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    background-color: #e6e6e6;\r
+    background-color: #d9d9d9 \9;\r
+    background-image: none;\r
+    outline: 0;\r
+    -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .btn.disabled,\r
 .btn[disabled] {\r
-  cursor: default;\r
-  background-color: #e6e6e6;\r
-  background-image: none;\r
-  opacity: 0.65;\r
-  filter: alpha(opacity=65);\r
-  -webkit-box-shadow: none;\r
-     -moz-box-shadow: none;\r
-          box-shadow: none;\r
+    cursor: default;\r
+    background-color: #e6e6e6;\r
+    background-image: none;\r
+    opacity: 0.65;\r
+    filter: alpha(opacity=65);\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
 }\r
 \r
 .btn-large {\r
-  padding: 9px 14px;\r
-  font-size: 15px;\r
-  line-height: normal;\r
-  -webkit-border-radius: 5px;\r
-     -moz-border-radius: 5px;\r
-          border-radius: 5px;\r
+    padding: 9px 14px;\r
+    font-size: 15px;\r
+    line-height: normal;\r
+    -webkit-border-radius: 5px;\r
+    -moz-border-radius: 5px;\r
+    border-radius: 5px;\r
 }\r
 \r
 .btn-large [class^="icon-"] {\r
-  margin-top: 1px;\r
+    margin-top: 1px;\r
 }\r
 \r
 .btn-small {\r
-  padding: 5px 9px;\r
-  font-size: 11px;\r
-  line-height: 16px;\r
+    padding: 5px 9px;\r
+    font-size: 11px;\r
+    line-height: 16px;\r
 }\r
 \r
 .btn-small [class^="icon-"] {\r
-  margin-top: -1px;\r
+    margin-top: -1px;\r
 }\r
 \r
 .btn-mini {\r
-  padding: 2px 6px;\r
-  font-size: 11px;\r
-  line-height: 14px;\r
+    padding: 2px 6px;\r
+    font-size: 11px;\r
+    line-height: 14px;\r
 }\r
 \r
 .btn-primary,\r
@@ -2701,8 +2702,8 @@ button.close {
 .btn-info:hover,\r
 .btn-inverse,\r
 .btn-inverse:hover {\r
-  color: #ffffff;\r
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
+    color: #ffffff;\r
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
 }\r
 \r
 .btn-primary.active,\r
@@ -2711,28 +2712,28 @@ button.close {
 .btn-success.active,\r
 .btn-info.active,\r
 .btn-inverse.active {\r
-  color: rgba(255, 255, 255, 0.75);\r
+    color: rgba(255, 255, 255, 0.75);\r
 }\r
 \r
 .btn {\r
-  border-color: #ccc;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    border-color: #ccc;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
 }\r
 \r
 .btn-primary {\r
-  background-color: #0074cc;\r
-  *background-color: #0055cc;\r
-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));\r
-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);\r
-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);\r
-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);\r
-  background-image: linear-gradient(top, #0088cc, #0055cc);\r
-  background-repeat: repeat-x;\r
-  border-color: #0055cc #0055cc #003580;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #0074cc;\r
+    *background-color: #0055cc;\r
+    background-image: -ms-linear-gradient(top, #0088cc, #0055cc);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));\r
+    background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);\r
+    background-image: -o-linear-gradient(top, #0088cc, #0055cc);\r
+    background-image: -moz-linear-gradient(top, #0088cc, #0055cc);\r
+    background-image: linear-gradient(top, #0088cc, #0055cc);\r
+    background-repeat: repeat-x;\r
+    border-color: #0055cc #0055cc #003580;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-primary:hover,\r
@@ -2740,29 +2741,29 @@ button.close {
 .btn-primary.active,\r
 .btn-primary.disabled,\r
 .btn-primary[disabled] {\r
-  background-color: #0055cc;\r
-  *background-color: #004ab3;\r
+    background-color: #0055cc;\r
+    *background-color: #004ab3;\r
 }\r
 \r
 .btn-primary:active,\r
 .btn-primary.active {\r
-  background-color: #004099 \9;\r
+    background-color: #004099 \9;\r
 }\r
 \r
 .btn-warning {\r
-  background-color: #faa732;\r
-  *background-color: #f89406;\r
-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\r
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: linear-gradient(top, #fbb450, #f89406);\r
-  background-repeat: repeat-x;\r
-  border-color: #f89406 #f89406 #ad6704;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #faa732;\r
+    *background-color: #f89406;\r
+    background-image: -ms-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\r
+    background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -o-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -moz-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: linear-gradient(top, #fbb450, #f89406);\r
+    background-repeat: repeat-x;\r
+    border-color: #f89406 #f89406 #ad6704;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-warning:hover,\r
@@ -2770,29 +2771,29 @@ button.close {
 .btn-warning.active,\r
 .btn-warning.disabled,\r
 .btn-warning[disabled] {\r
-  background-color: #f89406;\r
-  *background-color: #df8505;\r
+    background-color: #f89406;\r
+    *background-color: #df8505;\r
 }\r
 \r
 .btn-warning:active,\r
 .btn-warning.active {\r
-  background-color: #c67605 \9;\r
+    background-color: #c67605 \9;\r
 }\r
 \r
 .btn-danger {\r
-  background-color: #da4f49;\r
-  *background-color: #bd362f;\r
-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));\r
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);\r
-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);\r
-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);\r
-  background-image: linear-gradient(top, #ee5f5b, #bd362f);\r
-  background-repeat: repeat-x;\r
-  border-color: #bd362f #bd362f #802420;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #da4f49;\r
+    *background-color: #bd362f;\r
+    background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));\r
+    background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);\r
+    background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);\r
+    background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);\r
+    background-image: linear-gradient(top, #ee5f5b, #bd362f);\r
+    background-repeat: repeat-x;\r
+    border-color: #bd362f #bd362f #802420;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-danger:hover,\r
@@ -2800,29 +2801,29 @@ button.close {
 .btn-danger.active,\r
 .btn-danger.disabled,\r
 .btn-danger[disabled] {\r
-  background-color: #bd362f;\r
-  *background-color: #a9302a;\r
+    background-color: #bd362f;\r
+    *background-color: #a9302a;\r
 }\r
 \r
 .btn-danger:active,\r
 .btn-danger.active {\r
-  background-color: #942a25 \9;\r
+    background-color: #942a25 \9;\r
 }\r
 \r
 .btn-success {\r
-  background-color: #5bb75b;\r
-  *background-color: #51a351;\r
-  background-image: -ms-linear-gradient(top, #62c462, #51a351);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));\r
-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);\r
-  background-image: -o-linear-gradient(top, #62c462, #51a351);\r
-  background-image: -moz-linear-gradient(top, #62c462, #51a351);\r
-  background-image: linear-gradient(top, #62c462, #51a351);\r
-  background-repeat: repeat-x;\r
-  border-color: #51a351 #51a351 #387038;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #5bb75b;\r
+    *background-color: #51a351;\r
+    background-image: -ms-linear-gradient(top, #62c462, #51a351);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));\r
+    background-image: -webkit-linear-gradient(top, #62c462, #51a351);\r
+    background-image: -o-linear-gradient(top, #62c462, #51a351);\r
+    background-image: -moz-linear-gradient(top, #62c462, #51a351);\r
+    background-image: linear-gradient(top, #62c462, #51a351);\r
+    background-repeat: repeat-x;\r
+    border-color: #51a351 #51a351 #387038;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-success:hover,\r
@@ -2830,29 +2831,29 @@ button.close {
 .btn-success.active,\r
 .btn-success.disabled,\r
 .btn-success[disabled] {\r
-  background-color: #51a351;\r
-  *background-color: #499249;\r
+    background-color: #51a351;\r
+    *background-color: #499249;\r
 }\r
 \r
 .btn-success:active,\r
 .btn-success.active {\r
-  background-color: #408140 \9;\r
+    background-color: #408140 \9;\r
 }\r
 \r
 .btn-info {\r
-  background-color: #49afcd;\r
-  *background-color: #2f96b4;\r
-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));\r
-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);\r
-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);\r
-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);\r
-  background-image: linear-gradient(top, #5bc0de, #2f96b4);\r
-  background-repeat: repeat-x;\r
-  border-color: #2f96b4 #2f96b4 #1f6377;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #49afcd;\r
+    *background-color: #2f96b4;\r
+    background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));\r
+    background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);\r
+    background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);\r
+    background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);\r
+    background-image: linear-gradient(top, #5bc0de, #2f96b4);\r
+    background-repeat: repeat-x;\r
+    border-color: #2f96b4 #2f96b4 #1f6377;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-info:hover,\r
@@ -2860,29 +2861,29 @@ button.close {
 .btn-info.active,\r
 .btn-info.disabled,\r
 .btn-info[disabled] {\r
-  background-color: #2f96b4;\r
-  *background-color: #2a85a0;\r
+    background-color: #2f96b4;\r
+    *background-color: #2a85a0;\r
 }\r
 \r
 .btn-info:active,\r
 .btn-info.active {\r
-  background-color: #24748c \9;\r
+    background-color: #24748c \9;\r
 }\r
 \r
 .btn-inverse {\r
-  background-color: #414141;\r
-  *background-color: #222222;\r
-  background-image: -ms-linear-gradient(top, #555555, #222222);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));\r
-  background-image: -webkit-linear-gradient(top, #555555, #222222);\r
-  background-image: -o-linear-gradient(top, #555555, #222222);\r
-  background-image: -moz-linear-gradient(top, #555555, #222222);\r
-  background-image: linear-gradient(top, #555555, #222222);\r
-  background-repeat: repeat-x;\r
-  border-color: #222222 #222222 #000000;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    background-color: #414141;\r
+    *background-color: #222222;\r
+    background-image: -ms-linear-gradient(top, #555555, #222222);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));\r
+    background-image: -webkit-linear-gradient(top, #555555, #222222);\r
+    background-image: -o-linear-gradient(top, #555555, #222222);\r
+    background-image: -moz-linear-gradient(top, #555555, #222222);\r
+    background-image: linear-gradient(top, #555555, #222222);\r
+    background-repeat: repeat-x;\r
+    border-color: #222222 #222222 #000000;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
 }\r
 \r
 .btn-inverse:hover,\r
@@ -2890,232 +2891,232 @@ button.close {
 .btn-inverse.active,\r
 .btn-inverse.disabled,\r
 .btn-inverse[disabled] {\r
-  background-color: #222222;\r
-  *background-color: #151515;\r
+    background-color: #222222;\r
+    *background-color: #151515;\r
 }\r
 \r
 .btn-inverse:active,\r
 .btn-inverse.active {\r
-  background-color: #080808 \9;\r
+    background-color: #080808 \9;\r
 }\r
 \r
 button.btn,\r
 input[type="submit"].btn {\r
-  *padding-top: 2px;\r
-  *padding-bottom: 2px;\r
+    *padding-top: 2px;\r
+    *padding-bottom: 2px;\r
 }\r
 \r
 button.btn::-moz-focus-inner,\r
 input[type="submit"].btn::-moz-focus-inner {\r
-  padding: 0;\r
-  border: 0;\r
+    padding: 0;\r
+    border: 0;\r
 }\r
 \r
 button.btn.btn-large,\r
 input[type="submit"].btn.btn-large {\r
-  *padding-top: 7px;\r
-  *padding-bottom: 7px;\r
+    *padding-top: 7px;\r
+    *padding-bottom: 7px;\r
 }\r
 \r
 button.btn.btn-small,\r
 input[type="submit"].btn.btn-small {\r
-  *padding-top: 3px;\r
-  *padding-bottom: 3px;\r
+    *padding-top: 3px;\r
+    *padding-bottom: 3px;\r
 }\r
 \r
 button.btn.btn-mini,\r
 input[type="submit"].btn.btn-mini {\r
-  *padding-top: 1px;\r
-  *padding-bottom: 1px;\r
+    *padding-top: 1px;\r
+    *padding-bottom: 1px;\r
 }\r
 \r
 .btn-group {\r
-  position: relative;\r
-  *margin-left: .3em;\r
-  *zoom: 1;\r
+    position: relative;\r
+    *margin-left: .3em;\r
+    *zoom: 1;\r
 }\r
 \r
 .btn-group:before,\r
 .btn-group:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .btn-group:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .btn-group:first-child {\r
-  *margin-left: 0;\r
+    *margin-left: 0;\r
 }\r
 \r
 .btn-group + .btn-group {\r
-  margin-left: 5px;\r
+    margin-left: 5px;\r
 }\r
 \r
 .btn-toolbar {\r
-  margin-top: 9px;\r
-  margin-bottom: 9px;\r
+    margin-top: 9px;\r
+    margin-bottom: 9px;\r
 }\r
 \r
 .btn-toolbar .btn-group {\r
-  display: inline-block;\r
-  *display: inline;\r
-  /* IE7 inline-block hack */\r
+    display: inline-block;\r
+    *display: inline;\r
+    /* IE7 inline-block hack */\r
 \r
-  *zoom: 1;\r
+    *zoom: 1;\r
 }\r
 \r
 .btn-group > .btn {\r
-  position: relative;\r
-  float: left;\r
-  margin-left: -1px;\r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    position: relative;\r
+    float: left;\r
+    margin-left: -1px;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 .btn-group > .btn:first-child {\r
-  margin-left: 0;\r
-  -webkit-border-bottom-left-radius: 4px;\r
-          border-bottom-left-radius: 4px;\r
-  -webkit-border-top-left-radius: 4px;\r
-          border-top-left-radius: 4px;\r
-  -moz-border-radius-bottomleft: 4px;\r
-  -moz-border-radius-topleft: 4px;\r
+    margin-left: 0;\r
+    -webkit-border-bottom-left-radius: 4px;\r
+    border-bottom-left-radius: 4px;\r
+    -webkit-border-top-left-radius: 4px;\r
+    border-top-left-radius: 4px;\r
+    -moz-border-radius-bottomleft: 4px;\r
+    -moz-border-radius-topleft: 4px;\r
 }\r
 \r
 .btn-group > .btn:last-child,\r
 .btn-group > .dropdown-toggle {\r
-  -webkit-border-top-right-radius: 4px;\r
-          border-top-right-radius: 4px;\r
-  -webkit-border-bottom-right-radius: 4px;\r
-          border-bottom-right-radius: 4px;\r
-  -moz-border-radius-topright: 4px;\r
-  -moz-border-radius-bottomright: 4px;\r
+    -webkit-border-top-right-radius: 4px;\r
+    border-top-right-radius: 4px;\r
+    -webkit-border-bottom-right-radius: 4px;\r
+    border-bottom-right-radius: 4px;\r
+    -moz-border-radius-topright: 4px;\r
+    -moz-border-radius-bottomright: 4px;\r
 }\r
 \r
 .btn-group > .btn.large:first-child {\r
-  margin-left: 0;\r
-  -webkit-border-bottom-left-radius: 6px;\r
-          border-bottom-left-radius: 6px;\r
-  -webkit-border-top-left-radius: 6px;\r
-          border-top-left-radius: 6px;\r
-  -moz-border-radius-bottomleft: 6px;\r
-  -moz-border-radius-topleft: 6px;\r
+    margin-left: 0;\r
+    -webkit-border-bottom-left-radius: 6px;\r
+    border-bottom-left-radius: 6px;\r
+    -webkit-border-top-left-radius: 6px;\r
+    border-top-left-radius: 6px;\r
+    -moz-border-radius-bottomleft: 6px;\r
+    -moz-border-radius-topleft: 6px;\r
 }\r
 \r
 .btn-group > .btn.large:last-child,\r
 .btn-group > .large.dropdown-toggle {\r
-  -webkit-border-top-right-radius: 6px;\r
-          border-top-right-radius: 6px;\r
-  -webkit-border-bottom-right-radius: 6px;\r
-          border-bottom-right-radius: 6px;\r
-  -moz-border-radius-topright: 6px;\r
-  -moz-border-radius-bottomright: 6px;\r
+    -webkit-border-top-right-radius: 6px;\r
+    border-top-right-radius: 6px;\r
+    -webkit-border-bottom-right-radius: 6px;\r
+    border-bottom-right-radius: 6px;\r
+    -moz-border-radius-topright: 6px;\r
+    -moz-border-radius-bottomright: 6px;\r
 }\r
 \r
 .btn-group > .btn:hover,\r
 .btn-group > .btn:focus,\r
 .btn-group > .btn:active,\r
 .btn-group > .btn.active {\r
-  z-index: 2;\r
+    z-index: 2;\r
 }\r
 \r
 .btn-group .dropdown-toggle:active,\r
 .btn-group.open .dropdown-toggle {\r
-  outline: 0;\r
+    outline: 0;\r
 }\r
 \r
 .btn-group > .dropdown-toggle {\r
-  *padding-top: 4px;\r
-  padding-right: 8px;\r
-  *padding-bottom: 4px;\r
-  padding-left: 8px;\r
-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    *padding-top: 4px;\r
+    padding-right: 8px;\r
+    *padding-bottom: 4px;\r
+    padding-left: 8px;\r
+    -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .btn-group > .btn-mini.dropdown-toggle {\r
-  padding-right: 5px;\r
-  padding-left: 5px;\r
+    padding-right: 5px;\r
+    padding-left: 5px;\r
 }\r
 \r
 .btn-group > .btn-small.dropdown-toggle {\r
-  *padding-top: 4px;\r
-  *padding-bottom: 4px;\r
+    *padding-top: 4px;\r
+    *padding-bottom: 4px;\r
 }\r
 \r
 .btn-group > .btn-large.dropdown-toggle {\r
-  padding-right: 12px;\r
-  padding-left: 12px;\r
+    padding-right: 12px;\r
+    padding-left: 12px;\r
 }\r
 \r
 .btn-group.open .dropdown-toggle {\r
-  background-image: none;\r
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    background-image: none;\r
+    -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .btn-group.open .btn.dropdown-toggle {\r
-  background-color: #e6e6e6;\r
+    background-color: #e6e6e6;\r
 }\r
 \r
 .btn-group.open .btn-primary.dropdown-toggle {\r
-  background-color: #0055cc;\r
+    background-color: #0055cc;\r
 }\r
 \r
 .btn-group.open .btn-warning.dropdown-toggle {\r
-  background-color: #f89406;\r
+    background-color: #f89406;\r
 }\r
 \r
 .btn-group.open .btn-danger.dropdown-toggle {\r
-  background-color: #bd362f;\r
+    background-color: #bd362f;\r
 }\r
 \r
 .btn-group.open .btn-success.dropdown-toggle {\r
-  background-color: #51a351;\r
+    background-color: #51a351;\r
 }\r
 \r
 .btn-group.open .btn-info.dropdown-toggle {\r
-  background-color: #2f96b4;\r
+    background-color: #2f96b4;\r
 }\r
 \r
 .btn-group.open .btn-inverse.dropdown-toggle {\r
-  background-color: #222222;\r
+    background-color: #222222;\r
 }\r
 \r
 .btn .caret {\r
-  margin-top: 7px;\r
-  margin-left: 0;\r
+    margin-top: 7px;\r
+    margin-left: 0;\r
 }\r
 \r
 .btn:hover .caret,\r
 .open.btn-group .caret {\r
-  opacity: 1;\r
-  filter: alpha(opacity=100);\r
+    opacity: 1;\r
+    filter: alpha(opacity=100);\r
 }\r
 \r
 .btn-mini .caret {\r
-  margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .btn-small .caret {\r
-  margin-top: 6px;\r
+    margin-top: 6px;\r
 }\r
 \r
 .btn-large .caret {\r
-  margin-top: 6px;\r
-  border-top-width: 5px;\r
-  border-right-width: 5px;\r
-  border-left-width: 5px;\r
+    margin-top: 6px;\r
+    border-top-width: 5px;\r
+    border-right-width: 5px;\r
+    border-left-width: 5px;\r
 }\r
 \r
 .dropup .btn-large .caret {\r
-  border-top: 0;\r
-  border-bottom: 5px solid #000000;\r
+    border-top: 0;\r
+    border-bottom: 5px solid #000000;\r
 }\r
 \r
 .btn-primary .caret,\r
@@ -3124,723 +3125,723 @@ input[type="submit"].btn.btn-mini {
 .btn-info .caret,\r
 .btn-success .caret,\r
 .btn-inverse .caret {\r
-  border-top-color: #ffffff;\r
-  border-bottom-color: #ffffff;\r
-  opacity: 0.75;\r
-  filter: alpha(opacity=75);\r
+    border-top-color: #ffffff;\r
+    border-bottom-color: #ffffff;\r
+    opacity: 0.75;\r
+    filter: alpha(opacity=75);\r
 }\r
 \r
 .alert {\r
-  padding: 8px 35px 8px 14px;\r
-  margin-bottom: 18px;\r
-  color: #c09853;\r
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
-  background-color: #fcf8e3;\r
-  border: 1px solid #fbeed5;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    padding: 8px 35px 8px 14px;\r
+    margin-bottom: 18px;\r
+    color: #c09853;\r
+    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
+    background-color: #fcf8e3;\r
+    border: 1px solid #fbeed5;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .alert-heading {\r
-  color: inherit;\r
+    color: inherit;\r
 }\r
 \r
 .alert .close {\r
-  position: relative;\r
-  top: -2px;\r
-  right: -21px;\r
-  line-height: 18px;\r
+    position: relative;\r
+    top: -2px;\r
+    right: -21px;\r
+    line-height: 18px;\r
 }\r
 \r
 .alert-success {\r
-  color: #468847;\r
-  background-color: #dff0d8;\r
-  border-color: #d6e9c6;\r
+    color: #468847;\r
+    background-color: #dff0d8;\r
+    border-color: #d6e9c6;\r
 }\r
 \r
 .alert-danger,\r
 .alert-error {\r
-  color: #b94a48;\r
-  background-color: #f2dede;\r
-  border-color: #eed3d7;\r
+    color: #b94a48;\r
+    background-color: #f2dede;\r
+    border-color: #eed3d7;\r
 }\r
 \r
 .alert-info {\r
-  color: #3a87ad;\r
-  background-color: #d9edf7;\r
-  border-color: #bce8f1;\r
+    color: #3a87ad;\r
+    background-color: #d9edf7;\r
+    border-color: #bce8f1;\r
 }\r
 \r
 .alert-block {\r
-  padding-top: 14px;\r
-  padding-bottom: 14px;\r
+    padding-top: 14px;\r
+    padding-bottom: 14px;\r
 }\r
 \r
 .alert-block > p,\r
 .alert-block > ul {\r
-  margin-bottom: 0;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .alert-block p + p {\r
-  margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .nav {\r
-  margin-bottom: 18px;\r
-  margin-left: 0;\r
-  list-style: none;\r
+    margin-bottom: 18px;\r
+    margin-left: 0;\r
+    list-style: none;\r
 }\r
 \r
 .nav > li > a {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 .nav > li > a:hover {\r
-  text-decoration: none;\r
-  background-color: #eeeeee;\r
+    text-decoration: none;\r
+    background-color: #eeeeee;\r
 }\r
 \r
 .nav > .pull-right {\r
-  float: right;\r
+    float: right;\r
 }\r
 \r
 .nav .nav-header {\r
-  display: block;\r
-  padding: 3px 15px;\r
-  font-size: 11px;\r
-  font-weight: bold;\r
-  line-height: 18px;\r
-  color: #999999;\r
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
-  text-transform: uppercase;\r
+    display: block;\r
+    padding: 3px 15px;\r
+    font-size: 11px;\r
+    font-weight: bold;\r
+    line-height: 18px;\r
+    color: #999999;\r
+    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
+    text-transform: uppercase;\r
 }\r
 \r
 .nav li + .nav-header {\r
-  margin-top: 9px;\r
+    margin-top: 9px;\r
 }\r
 \r
 .nav-list {\r
-  padding-right: 15px;\r
-  padding-left: 15px;\r
-  margin-bottom: 0;\r
+    padding-right: 15px;\r
+    padding-left: 15px;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .nav-list > li > a,\r
 .nav-list .nav-header {\r
-  margin-right: -15px;\r
-  margin-left: -15px;\r
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
+    margin-right: -15px;\r
+    margin-left: -15px;\r
+    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r
 }\r
 \r
 .nav-list > li > a {\r
-  padding: 3px 15px;\r
+    padding: 3px 15px;\r
 }\r
 \r
 .nav-list > .active > a,\r
 .nav-list > .active > a:hover {\r
-  color: #ffffff;\r
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\r
-  background-color: #0088cc;\r
+    color: #ffffff;\r
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\r
+    background-color: #0088cc;\r
 }\r
 \r
 .nav-list [class^="icon-"] {\r
-  margin-right: 2px;\r
+    margin-right: 2px;\r
 }\r
 \r
 .nav-list .divider {\r
-  *width: 100%;\r
-  height: 1px;\r
-  margin: 8px 1px;\r
-  *margin: -5px 0 5px;\r
-  overflow: hidden;\r
-  background-color: #e5e5e5;\r
-  border-bottom: 1px solid #ffffff;\r
+    *width: 100%;\r
+    height: 1px;\r
+    margin: 8px 1px;\r
+    *margin: -5px 0 5px;\r
+    overflow: hidden;\r
+    background-color: #e5e5e5;\r
+    border-bottom: 1px solid #ffffff;\r
 }\r
 \r
 .nav-tabs,\r
 .nav-pills {\r
-  *zoom: 1;\r
+    *zoom: 1;\r
 }\r
 \r
 .nav-tabs:before,\r
 .nav-pills:before,\r
 .nav-tabs:after,\r
 .nav-pills:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .nav-tabs:after,\r
 .nav-pills:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .nav-tabs > li,\r
 .nav-pills > li {\r
-  float: left;\r
+    float: left;\r
 }\r
 \r
 .nav-tabs > li > a,\r
 .nav-pills > li > a {\r
-  padding-right: 12px;\r
-  padding-left: 12px;\r
-  margin-right: 2px;\r
-  line-height: 14px;\r
+    padding-right: 12px;\r
+    padding-left: 12px;\r
+    margin-right: 2px;\r
+    line-height: 14px;\r
 }\r
 \r
 .nav-tabs {\r
-  border-bottom: 1px solid #ddd;\r
+    border-bottom: 1px solid #ddd;\r
 }\r
 \r
 .nav-tabs > li {\r
-  margin-bottom: -1px;\r
+    margin-bottom: -1px;\r
 }\r
 \r
 .nav-tabs > li > a {\r
-  padding-top: 8px;\r
-  padding-bottom: 8px;\r
-  line-height: 18px;\r
-  border: 1px solid transparent;\r
-  -webkit-border-radius: 4px 4px 0 0;\r
-     -moz-border-radius: 4px 4px 0 0;\r
-          border-radius: 4px 4px 0 0;\r
+    padding-top: 8px;\r
+    padding-bottom: 8px;\r
+    line-height: 18px;\r
+    border: 1px solid transparent;\r
+    -webkit-border-radius: 4px 4px 0 0;\r
+    -moz-border-radius: 4px 4px 0 0;\r
+    border-radius: 4px 4px 0 0;\r
 }\r
 \r
 .nav-tabs > li > a:hover {\r
-  border-color: #eeeeee #eeeeee #dddddd;\r
+    border-color: #eeeeee #eeeeee #dddddd;\r
 }\r
 \r
 .nav-tabs > .active > a,\r
 .nav-tabs > .active > a:hover {\r
-  color: #555555;\r
-  cursor: default;\r
-  background-color: #ffffff;\r
-  border: 1px solid #ddd;\r
-  border-bottom-color: transparent;\r
+    color: #555555;\r
+    cursor: default;\r
+    background-color: #ffffff;\r
+    border: 1px solid #ddd;\r
+    border-bottom-color: transparent;\r
 }\r
 \r
 .nav-pills > li > a {\r
-  padding-top: 8px;\r
-  padding-bottom: 8px;\r
-  margin-top: 2px;\r
-  margin-bottom: 2px;\r
-  -webkit-border-radius: 5px;\r
-     -moz-border-radius: 5px;\r
-          border-radius: 5px;\r
+    padding-top: 8px;\r
+    padding-bottom: 8px;\r
+    margin-top: 2px;\r
+    margin-bottom: 2px;\r
+    -webkit-border-radius: 5px;\r
+    -moz-border-radius: 5px;\r
+    border-radius: 5px;\r
 }\r
 \r
 .nav-pills > .active > a,\r
 .nav-pills > .active > a:hover {\r
-  color: #ffffff;\r
-  background-color: #0088cc;\r
+    color: #ffffff;\r
+    background-color: #0088cc;\r
 }\r
 \r
 .nav-stacked > li {\r
-  float: none;\r
+    float: none;\r
 }\r
 \r
 .nav-stacked > li > a {\r
-  margin-right: 0;\r
+    margin-right: 0;\r
 }\r
 \r
 .nav-tabs.nav-stacked {\r
-  border-bottom: 0;\r
+    border-bottom: 0;\r
 }\r
 \r
 .nav-tabs.nav-stacked > li > a {\r
-  border: 1px solid #ddd;\r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    border: 1px solid #ddd;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 .nav-tabs.nav-stacked > li:first-child > a {\r
-  -webkit-border-radius: 4px 4px 0 0;\r
-     -moz-border-radius: 4px 4px 0 0;\r
-          border-radius: 4px 4px 0 0;\r
+    -webkit-border-radius: 4px 4px 0 0;\r
+    -moz-border-radius: 4px 4px 0 0;\r
+    border-radius: 4px 4px 0 0;\r
 }\r
 \r
 .nav-tabs.nav-stacked > li:last-child > a {\r
-  -webkit-border-radius: 0 0 4px 4px;\r
-     -moz-border-radius: 0 0 4px 4px;\r
-          border-radius: 0 0 4px 4px;\r
+    -webkit-border-radius: 0 0 4px 4px;\r
+    -moz-border-radius: 0 0 4px 4px;\r
+    border-radius: 0 0 4px 4px;\r
 }\r
 \r
 .nav-tabs.nav-stacked > li > a:hover {\r
-  z-index: 2;\r
-  border-color: #ddd;\r
+    z-index: 2;\r
+    border-color: #ddd;\r
 }\r
 \r
 .nav-pills.nav-stacked > li > a {\r
-  margin-bottom: 3px;\r
+    margin-bottom: 3px;\r
 }\r
 \r
 .nav-pills.nav-stacked > li:last-child > a {\r
-  margin-bottom: 1px;\r
+    margin-bottom: 1px;\r
 }\r
 \r
 .nav-tabs .dropdown-menu {\r
-  -webkit-border-radius: 0 0 5px 5px;\r
-     -moz-border-radius: 0 0 5px 5px;\r
-          border-radius: 0 0 5px 5px;\r
+    -webkit-border-radius: 0 0 5px 5px;\r
+    -moz-border-radius: 0 0 5px 5px;\r
+    border-radius: 0 0 5px 5px;\r
 }\r
 \r
 .nav-pills .dropdown-menu {\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .nav-tabs .dropdown-toggle .caret,\r
 .nav-pills .dropdown-toggle .caret {\r
-  margin-top: 6px;\r
-  border-top-color: #0088cc;\r
-  border-bottom-color: #0088cc;\r
+    margin-top: 6px;\r
+    border-top-color: #0088cc;\r
+    border-bottom-color: #0088cc;\r
 }\r
 \r
 .nav-tabs .dropdown-toggle:hover .caret,\r
 .nav-pills .dropdown-toggle:hover .caret {\r
-  border-top-color: #005580;\r
-  border-bottom-color: #005580;\r
+    border-top-color: #005580;\r
+    border-bottom-color: #005580;\r
 }\r
 \r
 .nav-tabs .active .dropdown-toggle .caret,\r
 .nav-pills .active .dropdown-toggle .caret {\r
-  border-top-color: #333333;\r
-  border-bottom-color: #333333;\r
+    border-top-color: #333333;\r
+    border-bottom-color: #333333;\r
 }\r
 \r
 .nav > .dropdown.active > a:hover {\r
-  color: #000000;\r
-  cursor: pointer;\r
+    color: #000000;\r
+    cursor: pointer;\r
 }\r
 \r
 .nav-tabs .open .dropdown-toggle,\r
 .nav-pills .open .dropdown-toggle,\r
 .nav > li.dropdown.open.active > a:hover {\r
-  color: #ffffff;\r
-  background-color: #999999;\r
-  border-color: #999999;\r
+    color: #ffffff;\r
+    background-color: #999999;\r
+    border-color: #999999;\r
 }\r
 \r
 .nav li.dropdown.open .caret,\r
 .nav li.dropdown.open.active .caret,\r
 .nav li.dropdown.open a:hover .caret {\r
-  border-top-color: #ffffff;\r
-  border-bottom-color: #ffffff;\r
-  opacity: 1;\r
-  filter: alpha(opacity=100);\r
+    border-top-color: #ffffff;\r
+    border-bottom-color: #ffffff;\r
+    opacity: 1;\r
+    filter: alpha(opacity=100);\r
 }\r
 \r
 .tabs-stacked .open > a:hover {\r
-  border-color: #999999;\r
+    border-color: #999999;\r
 }\r
 \r
 .tabbable {\r
-  *zoom: 1;\r
+    *zoom: 1;\r
 }\r
 \r
 .tabbable:before,\r
 .tabbable:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .tabbable:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .tab-content {\r
-  overflow: auto;\r
+    overflow: auto;\r
 }\r
 \r
 .tabs-below > .nav-tabs,\r
 .tabs-right > .nav-tabs,\r
 .tabs-left > .nav-tabs {\r
-  border-bottom: 0;\r
+    border-bottom: 0;\r
 }\r
 \r
 .tab-content > .tab-pane,\r
 .pill-content > .pill-pane {\r
-  display: none;\r
+    display: none;\r
 }\r
 \r
 .tab-content > .active,\r
 .pill-content > .active {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 .tabs-below > .nav-tabs {\r
-  border-top: 1px solid #ddd;\r
+    border-top: 1px solid #ddd;\r
 }\r
 \r
 .tabs-below > .nav-tabs > li {\r
-  margin-top: -1px;\r
-  margin-bottom: 0;\r
+    margin-top: -1px;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .tabs-below > .nav-tabs > li > a {\r
-  -webkit-border-radius: 0 0 4px 4px;\r
-     -moz-border-radius: 0 0 4px 4px;\r
-          border-radius: 0 0 4px 4px;\r
+    -webkit-border-radius: 0 0 4px 4px;\r
+    -moz-border-radius: 0 0 4px 4px;\r
+    border-radius: 0 0 4px 4px;\r
 }\r
 \r
 .tabs-below > .nav-tabs > li > a:hover {\r
-  border-top-color: #ddd;\r
-  border-bottom-color: transparent;\r
+    border-top-color: #ddd;\r
+    border-bottom-color: transparent;\r
 }\r
 \r
 .tabs-below > .nav-tabs > .active > a,\r
 .tabs-below > .nav-tabs > .active > a:hover {\r
-  border-color: transparent #ddd #ddd #ddd;\r
+    border-color: transparent #ddd #ddd #ddd;\r
 }\r
 \r
 .tabs-left > .nav-tabs > li,\r
 .tabs-right > .nav-tabs > li {\r
-  float: none;\r
+    float: none;\r
 }\r
 \r
 .tabs-left > .nav-tabs > li > a,\r
 .tabs-right > .nav-tabs > li > a {\r
-  min-width: 74px;\r
-  margin-right: 0;\r
-  margin-bottom: 3px;\r
+    min-width: 74px;\r
+    margin-right: 0;\r
+    margin-bottom: 3px;\r
 }\r
 \r
 .tabs-left > .nav-tabs {\r
-  float: left;\r
-  margin-right: 19px;\r
-  border-right: 1px solid #ddd;\r
+    float: left;\r
+    margin-right: 19px;\r
+    border-right: 1px solid #ddd;\r
 }\r
 \r
 .tabs-left > .nav-tabs > li > a {\r
-  margin-right: -1px;\r
-  -webkit-border-radius: 4px 0 0 4px;\r
-     -moz-border-radius: 4px 0 0 4px;\r
-          border-radius: 4px 0 0 4px;\r
+    margin-right: -1px;\r
+    -webkit-border-radius: 4px 0 0 4px;\r
+    -moz-border-radius: 4px 0 0 4px;\r
+    border-radius: 4px 0 0 4px;\r
 }\r
 \r
 .tabs-left > .nav-tabs > li > a:hover {\r
-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;\r
+    border-color: #eeeeee #dddddd #eeeeee #eeeeee;\r
 }\r
 \r
 .tabs-left > .nav-tabs .active > a,\r
 .tabs-left > .nav-tabs .active > a:hover {\r
-  border-color: #ddd transparent #ddd #ddd;\r
-  *border-right-color: #ffffff;\r
+    border-color: #ddd transparent #ddd #ddd;\r
+    *border-right-color: #ffffff;\r
 }\r
 \r
 .tabs-right > .nav-tabs {\r
-  float: right;\r
-  margin-left: 19px;\r
-  border-left: 1px solid #ddd;\r
+    float: right;\r
+    margin-left: 19px;\r
+    border-left: 1px solid #ddd;\r
 }\r
 \r
 .tabs-right > .nav-tabs > li > a {\r
-  margin-left: -1px;\r
-  -webkit-border-radius: 0 4px 4px 0;\r
-     -moz-border-radius: 0 4px 4px 0;\r
-          border-radius: 0 4px 4px 0;\r
+    margin-left: -1px;\r
+    -webkit-border-radius: 0 4px 4px 0;\r
+    -moz-border-radius: 0 4px 4px 0;\r
+    border-radius: 0 4px 4px 0;\r
 }\r
 \r
 .tabs-right > .nav-tabs > li > a:hover {\r
-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;\r
+    border-color: #eeeeee #eeeeee #eeeeee #dddddd;\r
 }\r
 \r
 .tabs-right > .nav-tabs .active > a,\r
 .tabs-right > .nav-tabs .active > a:hover {\r
-  border-color: #ddd #ddd #ddd transparent;\r
-  *border-left-color: #ffffff;\r
+    border-color: #ddd #ddd #ddd transparent;\r
+    *border-left-color: #ffffff;\r
 }\r
 \r
 .navbar {\r
-  *position: relative;\r
-  *z-index: 2;\r
-  margin-bottom: 18px;\r
-  overflow: visible;\r
+    *position: relative;\r
+    *z-index: 2;\r
+    margin-bottom: 18px;\r
+    overflow: visible;\r
 }\r
 \r
 .navbar-inner {\r
-  min-height: 40px;\r
-  padding-right: 20px;\r
-  padding-left: 20px;\r
-  background-color: #2c2c2c;\r
-  background-image: -moz-linear-gradient(top, #333333, #222222);\r
-  background-image: -ms-linear-gradient(top, #333333, #222222);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\r
-  background-image: -webkit-linear-gradient(top, #333333, #222222);\r
-  background-image: -o-linear-gradient(top, #333333, #222222);\r
-  background-image: linear-gradient(top, #333333, #222222);\r
-  background-repeat: repeat-x;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\r
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
-     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
-          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
+    min-height: 40px;\r
+    padding-right: 20px;\r
+    padding-left: 20px;\r
+    background-color: #2c2c2c;\r
+    background-image: -moz-linear-gradient(top, #333333, #222222);\r
+    background-image: -ms-linear-gradient(top, #333333, #222222);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\r
+    background-image: -webkit-linear-gradient(top, #333333, #222222);\r
+    background-image: -o-linear-gradient(top, #333333, #222222);\r
+    background-image: linear-gradient(top, #333333, #222222);\r
+    background-repeat: repeat-x;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\r
+    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
+    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
+    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\r
 }\r
 \r
 .navbar .container {\r
-  width: auto;\r
+    width: auto;\r
 }\r
 \r
 .nav-collapse.collapse {\r
-  height: auto;\r
+    height: auto;\r
 }\r
 \r
 .navbar {\r
-  color: #999999;\r
+    color: #999999;\r
 }\r
 \r
 .navbar .brand:hover {\r
-  text-decoration: none;\r
+    text-decoration: none;\r
 }\r
 \r
 .navbar .brand {\r
-  display: block;\r
-  float: left;\r
-  padding: 8px 20px 12px;\r
-  margin-left: -20px;\r
-  font-size: 20px;\r
-  font-weight: 200;\r
-  line-height: 1;\r
-  color: #999999;\r
+    display: block;\r
+    float: left;\r
+    padding: 8px 20px 12px;\r
+    margin-left: -20px;\r
+    font-size: 20px;\r
+    font-weight: 200;\r
+    line-height: 1;\r
+    color: #999999;\r
 }\r
 \r
 .navbar .navbar-text {\r
-  margin-bottom: 0;\r
-  line-height: 40px;\r
+    margin-bottom: 0;\r
+    line-height: 40px;\r
 }\r
 \r
 .navbar .navbar-link {\r
-  color: #999999;\r
+    color: #999999;\r
 }\r
 \r
 .navbar .navbar-link:hover {\r
-  color: #ffffff;\r
+    color: #ffffff;\r
 }\r
 \r
 .navbar .btn,\r
 .navbar .btn-group {\r
-  margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .navbar .btn-group .btn {\r
-  margin: 0;\r
+    margin: 0;\r
 }\r
 \r
 .navbar-form {\r
-  margin-bottom: 0;\r
-  *zoom: 1;\r
+    margin-bottom: 0;\r
+    *zoom: 1;\r
 }\r
 \r
 .navbar-form:before,\r
 .navbar-form:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .navbar-form:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .navbar-form input,\r
 .navbar-form select,\r
 .navbar-form .radio,\r
 .navbar-form .checkbox {\r
-  margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .navbar-form input,\r
 .navbar-form select {\r
-  display: inline-block;\r
-  margin-bottom: 0;\r
+    display: inline-block;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .navbar-form input[type="image"],\r
 .navbar-form input[type="checkbox"],\r
 .navbar-form input[type="radio"] {\r
-  margin-top: 3px;\r
+    margin-top: 3px;\r
 }\r
 \r
 .navbar-form .input-append,\r
 .navbar-form .input-prepend {\r
-  margin-top: 6px;\r
-  white-space: nowrap;\r
+    margin-top: 6px;\r
+    white-space: nowrap;\r
 }\r
 \r
 .navbar-form .input-append input,\r
 .navbar-form .input-prepend input {\r
-  margin-top: 0;\r
+    margin-top: 0;\r
 }\r
 \r
 .navbar-search {\r
-  position: relative;\r
-  float: left;\r
-  margin-top: 6px;\r
-  margin-bottom: 0;\r
+    position: relative;\r
+    float: left;\r
+    margin-top: 6px;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .navbar-search .search-query {\r
-  padding: 4px 9px;\r
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
-  font-size: 13px;\r
-  font-weight: normal;\r
-  line-height: 1;\r
-  color: #ffffff;\r
-  background-color: #626262;\r
-  border: 1px solid #151515;\r
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
-  -webkit-transition: none;\r
-     -moz-transition: none;\r
-      -ms-transition: none;\r
-       -o-transition: none;\r
-          transition: none;\r
+    padding: 4px 9px;\r
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\r
+    font-size: 13px;\r
+    font-weight: normal;\r
+    line-height: 1;\r
+    color: #ffffff;\r
+    background-color: #626262;\r
+    border: 1px solid #151515;\r
+    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
+    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\r
+    -webkit-transition: none;\r
+    -moz-transition: none;\r
+    -ms-transition: none;\r
+    -o-transition: none;\r
+    transition: none;\r
 }\r
 \r
 .navbar-search .search-query:-moz-placeholder {\r
-  color: #cccccc;\r
+    color: #cccccc;\r
 }\r
 \r
 .navbar-search .search-query::-webkit-input-placeholder {\r
-  color: #cccccc;\r
+    color: #cccccc;\r
 }\r
 \r
 .navbar-search .search-query:focus,\r
 .navbar-search .search-query.focused {\r
-  padding: 5px 10px;\r
-  color: #333333;\r
-  text-shadow: 0 1px 0 #ffffff;\r
-  background-color: #ffffff;\r
-  border: 0;\r
-  outline: 0;\r
-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
-     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
-          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
+    padding: 5px 10px;\r
+    color: #333333;\r
+    text-shadow: 0 1px 0 #ffffff;\r
+    background-color: #ffffff;\r
+    border: 0;\r
+    outline: 0;\r
+    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
+    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
+    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\r
 }\r
 \r
 .navbar-fixed-top,\r
 .navbar-fixed-bottom {\r
-  position: fixed;\r
-  right: 0;\r
-  left: 0;\r
-  z-index: 1030;\r
-  margin-bottom: 0;\r
+    position: fixed;\r
+    right: 0;\r
+    left: 0;\r
+    z-index: 1030;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .navbar-fixed-top .navbar-inner,\r
 .navbar-fixed-bottom .navbar-inner {\r
-  padding-right: 0;\r
-  padding-left: 0;\r
-  -webkit-border-radius: 0;\r
-     -moz-border-radius: 0;\r
-          border-radius: 0;\r
+    padding-right: 0;\r
+    padding-left: 0;\r
+    -webkit-border-radius: 0;\r
+    -moz-border-radius: 0;\r
+    border-radius: 0;\r
 }\r
 \r
 .navbar-fixed-top .container,\r
 .navbar-fixed-bottom .container {\r
-  width: 940px;\r
+    width: 940px;\r
 }\r
 \r
 .navbar-fixed-top {\r
-  top: 0;\r
+    top: 0;\r
 }\r
 \r
 .navbar-fixed-bottom {\r
-  bottom: 0;\r
+    bottom: 0;\r
 }\r
 \r
 .navbar .nav {\r
-  position: relative;\r
-  left: 0;\r
-  display: block;\r
-  float: left;\r
-  margin: 0 10px 0 0;\r
+    position: relative;\r
+    left: 0;\r
+    display: block;\r
+    float: left;\r
+    margin: 0 10px 0 0;\r
 }\r
 \r
 .navbar .nav.pull-right {\r
-  float: right;\r
+    float: right;\r
 }\r
 \r
 .navbar .nav > li {\r
-  display: block;\r
-  float: left;\r
+    display: block;\r
+    float: left;\r
 }\r
 \r
 .navbar .nav > li > a {\r
-  float: none;\r
-  padding: 9px 10px 11px;\r
-  line-height: 19px;\r
-  color: #999999;\r
-  text-decoration: none;\r
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
+    float: none;\r
+    padding: 9px 10px 11px;\r
+    line-height: 19px;\r
+    color: #999999;\r
+    text-decoration: none;\r
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
 }\r
 \r
 .navbar .btn {\r
-  display: inline-block;\r
-  padding: 4px 10px 4px;\r
-  margin: 5px 5px 6px;\r
-  line-height: 18px;\r
+    display: inline-block;\r
+    padding: 4px 10px 4px;\r
+    margin: 5px 5px 6px;\r
+    line-height: 18px;\r
 }\r
 \r
 .navbar .btn-group {\r
-  padding: 5px 5px 6px;\r
-  margin: 0;\r
+    padding: 5px 5px 6px;\r
+    margin: 0;\r
 }\r
 \r
 .navbar .nav > li > a:hover {\r
-  color: #ffffff;\r
-  text-decoration: none;\r
-  background-color: transparent;\r
+    color: #ffffff;\r
+    text-decoration: none;\r
+    background-color: transparent;\r
 }\r
 \r
 .navbar .nav .active > a,\r
 .navbar .nav .active > a:hover {\r
-  color: #ffffff;\r
-  text-decoration: none;\r
-  background-color: #222222;\r
+    color: #ffffff;\r
+    text-decoration: none;\r
+    background-color: #222222;\r
 }\r
 \r
 .navbar .divider-vertical {\r
-  width: 1px;\r
-  height: 40px;\r
-  margin: 0 9px;\r
-  overflow: hidden;\r
-  background-color: #222222;\r
-  border-right: 1px solid #333333;\r
+    width: 1px;\r
+    height: 40px;\r
+    margin: 0 9px;\r
+    overflow: hidden;\r
+    background-color: #222222;\r
+    border-right: 1px solid #333333;\r
 }\r
 \r
 .navbar .nav.pull-right {\r
-  margin-right: 0;\r
-  margin-left: 10px;\r
+    margin-right: 0;\r
+    margin-left: 10px;\r
 }\r
 \r
 .navbar .btn-navbar {\r
-  display: none;\r
-  float: right;\r
-  padding: 7px 10px;\r
-  margin-right: 5px;\r
-  margin-left: 5px;\r
-  background-color: #2c2c2c;\r
-  *background-color: #222222;\r
-  background-image: -ms-linear-gradient(top, #333333, #222222);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\r
-  background-image: -webkit-linear-gradient(top, #333333, #222222);\r
-  background-image: -o-linear-gradient(top, #333333, #222222);\r
-  background-image: linear-gradient(top, #333333, #222222);\r
-  background-image: -moz-linear-gradient(top, #333333, #222222);\r
-  background-repeat: repeat-x;\r
-  border-color: #222222 #222222 #000000;\r
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\r
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
+    display: none;\r
+    float: right;\r
+    padding: 7px 10px;\r
+    margin-right: 5px;\r
+    margin-left: 5px;\r
+    background-color: #2c2c2c;\r
+    *background-color: #222222;\r
+    background-image: -ms-linear-gradient(top, #333333, #222222);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\r
+    background-image: -webkit-linear-gradient(top, #333333, #222222);\r
+    background-image: -o-linear-gradient(top, #333333, #222222);\r
+    background-image: linear-gradient(top, #333333, #222222);\r
+    background-image: -moz-linear-gradient(top, #333333, #222222);\r
+    background-repeat: repeat-x;\r
+    border-color: #222222 #222222 #000000;\r
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\r
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);\r
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
+    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
+    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\r
 }\r
 \r
 .navbar .btn-navbar:hover,\r
@@ -3848,1118 +3849,1118 @@ input[type="submit"].btn.btn-mini {
 .navbar .btn-navbar.active,\r
 .navbar .btn-navbar.disabled,\r
 .navbar .btn-navbar[disabled] {\r
-  background-color: #222222;\r
-  *background-color: #151515;\r
+    background-color: #222222;\r
+    *background-color: #151515;\r
 }\r
 \r
 .navbar .btn-navbar:active,\r
 .navbar .btn-navbar.active {\r
-  background-color: #080808 \9;\r
+    background-color: #080808 \9;\r
 }\r
 \r
 .navbar .btn-navbar .icon-bar {\r
-  display: block;\r
-  width: 18px;\r
-  height: 2px;\r
-  background-color: #f5f5f5;\r
-  -webkit-border-radius: 1px;\r
-     -moz-border-radius: 1px;\r
-          border-radius: 1px;\r
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
-     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
-          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
+    display: block;\r
+    width: 18px;\r
+    height: 2px;\r
+    background-color: #f5f5f5;\r
+    -webkit-border-radius: 1px;\r
+    -moz-border-radius: 1px;\r
+    border-radius: 1px;\r
+    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
+    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
+    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\r
 }\r
 \r
 .btn-navbar .icon-bar + .icon-bar {\r
-  margin-top: 3px;\r
+    margin-top: 3px;\r
 }\r
 \r
 .navbar .dropdown-menu:before {\r
-  position: absolute;\r
-  top: -7px;\r
-  left: 9px;\r
-  display: inline-block;\r
-  border-right: 7px solid transparent;\r
-  border-bottom: 7px solid #ccc;\r
-  border-left: 7px solid transparent;\r
-  border-bottom-color: rgba(0, 0, 0, 0.2);\r
-  content: '';\r
+    position: absolute;\r
+    top: -7px;\r
+    left: 9px;\r
+    display: inline-block;\r
+    border-right: 7px solid transparent;\r
+    border-bottom: 7px solid #ccc;\r
+    border-left: 7px solid transparent;\r
+    border-bottom-color: rgba(0, 0, 0, 0.2);\r
+    content: '';\r
 }\r
 \r
 .navbar .dropdown-menu:after {\r
-  position: absolute;\r
-  top: -6px;\r
-  left: 10px;\r
-  display: inline-block;\r
-  border-right: 6px solid transparent;\r
-  border-bottom: 6px solid #ffffff;\r
-  border-left: 6px solid transparent;\r
-  content: '';\r
+    position: absolute;\r
+    top: -6px;\r
+    left: 10px;\r
+    display: inline-block;\r
+    border-right: 6px solid transparent;\r
+    border-bottom: 6px solid #ffffff;\r
+    border-left: 6px solid transparent;\r
+    content: '';\r
 }\r
 \r
 .navbar-fixed-bottom .dropdown-menu:before {\r
-  top: auto;\r
-  bottom: -7px;\r
-  border-top: 7px solid #ccc;\r
-  border-bottom: 0;\r
-  border-top-color: rgba(0, 0, 0, 0.2);\r
+    top: auto;\r
+    bottom: -7px;\r
+    border-top: 7px solid #ccc;\r
+    border-bottom: 0;\r
+    border-top-color: rgba(0, 0, 0, 0.2);\r
 }\r
 \r
 .navbar-fixed-bottom .dropdown-menu:after {\r
-  top: auto;\r
-  bottom: -6px;\r
-  border-top: 6px solid #ffffff;\r
-  border-bottom: 0;\r
+    top: auto;\r
+    bottom: -6px;\r
+    border-top: 6px solid #ffffff;\r
+    border-bottom: 0;\r
 }\r
 \r
 .navbar .nav li.dropdown .dropdown-toggle .caret,\r
 .navbar .nav li.dropdown.open .caret {\r
-  border-top-color: #ffffff;\r
-  border-bottom-color: #ffffff;\r
+    border-top-color: #ffffff;\r
+    border-bottom-color: #ffffff;\r
 }\r
 \r
 .navbar .nav li.dropdown.active .caret {\r
-  opacity: 1;\r
-  filter: alpha(opacity=100);\r
+    opacity: 1;\r
+    filter: alpha(opacity=100);\r
 }\r
 \r
 .navbar .nav li.dropdown.open > .dropdown-toggle,\r
 .navbar .nav li.dropdown.active > .dropdown-toggle,\r
 .navbar .nav li.dropdown.open.active > .dropdown-toggle {\r
-  background-color: transparent;\r
+    background-color: transparent;\r
 }\r
 \r
 .navbar .nav li.dropdown.active > .dropdown-toggle:hover {\r
-  color: #ffffff;\r
+    color: #ffffff;\r
 }\r
 \r
 .navbar .pull-right .dropdown-menu,\r
 .navbar .dropdown-menu.pull-right {\r
-  right: 0;\r
-  left: auto;\r
+    right: 0;\r
+    left: auto;\r
 }\r
 \r
 .navbar .pull-right .dropdown-menu:before,\r
 .navbar .dropdown-menu.pull-right:before {\r
-  right: 12px;\r
-  left: auto;\r
+    right: 12px;\r
+    left: auto;\r
 }\r
 \r
 .navbar .pull-right .dropdown-menu:after,\r
 .navbar .dropdown-menu.pull-right:after {\r
-  right: 13px;\r
-  left: auto;\r
+    right: 13px;\r
+    left: auto;\r
 }\r
 \r
 .breadcrumb {\r
-  padding: 7px 14px;\r
-  margin: 0 0 18px;\r
-  list-style: none;\r
-  background-color: #fbfbfb;\r
-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);\r
-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));\r
-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);\r
-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);\r
-  background-image: linear-gradient(top, #ffffff, #f5f5f5);\r
-  background-repeat: repeat-x;\r
-  border: 1px solid #ddd;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);\r
-  -webkit-box-shadow: inset 0 1px 0 #ffffff;\r
-     -moz-box-shadow: inset 0 1px 0 #ffffff;\r
-          box-shadow: inset 0 1px 0 #ffffff;\r
+    padding: 7px 14px;\r
+    margin: 0 0 18px;\r
+    list-style: none;\r
+    background-color: #fbfbfb;\r
+    background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);\r
+    background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));\r
+    background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);\r
+    background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);\r
+    background-image: linear-gradient(top, #ffffff, #f5f5f5);\r
+    background-repeat: repeat-x;\r
+    border: 1px solid #ddd;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);\r
+    -webkit-box-shadow: inset 0 1px 0 #ffffff;\r
+    -moz-box-shadow: inset 0 1px 0 #ffffff;\r
+    box-shadow: inset 0 1px 0 #ffffff;\r
 }\r
 \r
 .breadcrumb li {\r
-  display: inline-block;\r
-  *display: inline;\r
-  text-shadow: 0 1px 0 #ffffff;\r
-  *zoom: 1;\r
+    display: inline-block;\r
+    *display: inline;\r
+    text-shadow: 0 1px 0 #ffffff;\r
+    *zoom: 1;\r
 }\r
 \r
 .breadcrumb .divider {\r
-  padding: 0 5px;\r
-  color: #999999;\r
+    padding: 0 5px;\r
+    color: #999999;\r
 }\r
 \r
 .breadcrumb .active a {\r
-  color: #333333;\r
+    color: #333333;\r
 }\r
 \r
 .pagination {\r
-  height: 36px;\r
-  margin: 18px 0;\r
+    height: 36px;\r
+    margin: 18px 0;\r
 }\r
 \r
 .pagination ul {\r
-  display: inline-block;\r
-  *display: inline;\r
-  margin-bottom: 0;\r
-  margin-left: 0;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
-  *zoom: 1;\r
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
-     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
-          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    display: inline-block;\r
+    *display: inline;\r
+    margin-bottom: 0;\r
+    margin-left: 0;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
+    *zoom: 1;\r
+    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
+    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\r
 }\r
 \r
 .pagination li {\r
-  display: inline;\r
+    display: inline;\r
 }\r
 \r
 .pagination a {\r
-  float: left;\r
-  padding: 0 14px;\r
-  line-height: 34px;\r
-  text-decoration: none;\r
-  border: 1px solid #ddd;\r
-  border-left-width: 0;\r
+    float: left;\r
+    padding: 0 14px;\r
+    line-height: 34px;\r
+    text-decoration: none;\r
+    border: 1px solid #ddd;\r
+    border-left-width: 0;\r
 }\r
 \r
 .pagination a:hover,\r
 .pagination .active a {\r
-  background-color: #f5f5f5;\r
+    background-color: #f5f5f5;\r
 }\r
 \r
 .pagination .active a {\r
-  color: #999999;\r
-  cursor: default;\r
+    color: #999999;\r
+    cursor: default;\r
 }\r
 \r
 .pagination .disabled span,\r
 .pagination .disabled a,\r
 .pagination .disabled a:hover {\r
-  color: #999999;\r
-  cursor: default;\r
-  background-color: transparent;\r
+    color: #999999;\r
+    cursor: default;\r
+    background-color: transparent;\r
 }\r
 \r
 .pagination li:first-child a {\r
-  border-left-width: 1px;\r
-  -webkit-border-radius: 3px 0 0 3px;\r
-     -moz-border-radius: 3px 0 0 3px;\r
-          border-radius: 3px 0 0 3px;\r
+    border-left-width: 1px;\r
+    -webkit-border-radius: 3px 0 0 3px;\r
+    -moz-border-radius: 3px 0 0 3px;\r
+    border-radius: 3px 0 0 3px;\r
 }\r
 \r
 .pagination li:last-child a {\r
-  -webkit-border-radius: 0 3px 3px 0;\r
-     -moz-border-radius: 0 3px 3px 0;\r
-          border-radius: 0 3px 3px 0;\r
+    -webkit-border-radius: 0 3px 3px 0;\r
+    -moz-border-radius: 0 3px 3px 0;\r
+    border-radius: 0 3px 3px 0;\r
 }\r
 \r
 .pagination-centered {\r
-  text-align: center;\r
+    text-align: center;\r
 }\r
 \r
 .pagination-right {\r
-  text-align: right;\r
+    text-align: right;\r
 }\r
 \r
 .pager {\r
-  margin-bottom: 18px;\r
-  margin-left: 0;\r
-  text-align: center;\r
-  list-style: none;\r
-  *zoom: 1;\r
+    margin-bottom: 18px;\r
+    margin-left: 0;\r
+    text-align: center;\r
+    list-style: none;\r
+    *zoom: 1;\r
 }\r
 \r
 .pager:before,\r
 .pager:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .pager:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .pager li {\r
-  display: inline;\r
+    display: inline;\r
 }\r
 \r
 .pager a {\r
-  display: inline-block;\r
-  padding: 5px 14px;\r
-  background-color: #fff;\r
-  border: 1px solid #ddd;\r
-  -webkit-border-radius: 15px;\r
-     -moz-border-radius: 15px;\r
-          border-radius: 15px;\r
+    display: inline-block;\r
+    padding: 5px 14px;\r
+    background-color: #fff;\r
+    border: 1px solid #ddd;\r
+    -webkit-border-radius: 15px;\r
+    -moz-border-radius: 15px;\r
+    border-radius: 15px;\r
 }\r
 \r
 .pager a:hover {\r
-  text-decoration: none;\r
-  background-color: #f5f5f5;\r
+    text-decoration: none;\r
+    background-color: #f5f5f5;\r
 }\r
 \r
 .pager .next a {\r
-  float: right;\r
+    float: right;\r
 }\r
 \r
 .pager .previous a {\r
-  float: left;\r
+    float: left;\r
 }\r
 \r
 .pager .disabled a,\r
 .pager .disabled a:hover {\r
-  color: #999999;\r
-  cursor: default;\r
-  background-color: #fff;\r
+    color: #999999;\r
+    cursor: default;\r
+    background-color: #fff;\r
 }\r
 \r
 .modal-open .dropdown-menu {\r
-  z-index: 2050;\r
+    z-index: 2050;\r
 }\r
 \r
 .modal-open .dropdown.open {\r
-  *z-index: 2050;\r
+    *z-index: 2050;\r
 }\r
 \r
 .modal-open .popover {\r
-  z-index: 2060;\r
+    z-index: 2060;\r
 }\r
 \r
 .modal-open .tooltip {\r
-  z-index: 2070;\r
+    z-index: 2070;\r
 }\r
 \r
 .modal-backdrop {\r
-  position: fixed;\r
-  top: 0;\r
-  right: 0;\r
-  bottom: 0;\r
-  left: 0;\r
-  z-index: 1040;\r
-  background-color: #000000;\r
+    position: fixed;\r
+    top: 0;\r
+    right: 0;\r
+    bottom: 0;\r
+    left: 0;\r
+    z-index: 1040;\r
+    background-color: #000000;\r
 }\r
 \r
 .modal-backdrop.fade {\r
-  opacity: 0;\r
+    opacity: 0;\r
 }\r
 \r
 .modal-backdrop,\r
 .modal-backdrop.fade.in {\r
-  opacity: 0.8;\r
-  filter: alpha(opacity=80);\r
+    opacity: 0.8;\r
+    filter: alpha(opacity=80);\r
 }\r
 \r
 .modal {\r
-  position: fixed;\r
-  top: 50%;\r
-  left: 50%;\r
-  z-index: 1050;\r
-  width: 560px;\r
-  margin: -250px 0 0 -280px;\r
-  overflow: auto;\r
-  background-color: #ffffff;\r
-  border: 1px solid #999;\r
-  border: 1px solid rgba(0, 0, 0, 0.3);\r
-  *border: 1px solid #999;\r
-  -webkit-border-radius: 6px;\r
-     -moz-border-radius: 6px;\r
-          border-radius: 6px;\r
-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
-     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
-          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
-  -webkit-background-clip: padding-box;\r
-     -moz-background-clip: padding-box;\r
-          background-clip: padding-box;\r
+    position: fixed;\r
+    top: 50%;\r
+    left: 50%;\r
+    z-index: 1050;\r
+    width: 560px;\r
+    margin: -250px 0 0 -280px;\r
+    overflow: auto;\r
+    background-color: #ffffff;\r
+    border: 1px solid #999;\r
+    border: 1px solid rgba(0, 0, 0, 0.3);\r
+    *border: 1px solid #999;\r
+    -webkit-border-radius: 6px;\r
+    -moz-border-radius: 6px;\r
+    border-radius: 6px;\r
+    -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    -webkit-background-clip: padding-box;\r
+    -moz-background-clip: padding-box;\r
+    background-clip: padding-box;\r
 }\r
 \r
 .modal.fade {\r
-  top: -25%;\r
-  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;\r
-     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;\r
-      -ms-transition: opacity 0.3s linear, top 0.3s ease-out;\r
-       -o-transition: opacity 0.3s linear, top 0.3s ease-out;\r
-          transition: opacity 0.3s linear, top 0.3s ease-out;\r
+    top: -25%;\r
+    -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;\r
+    -moz-transition: opacity 0.3s linear, top 0.3s ease-out;\r
+    -ms-transition: opacity 0.3s linear, top 0.3s ease-out;\r
+    -o-transition: opacity 0.3s linear, top 0.3s ease-out;\r
+    transition: opacity 0.3s linear, top 0.3s ease-out;\r
 }\r
 \r
 .modal.fade.in {\r
-  top: 50%;\r
+    top: 50%;\r
 }\r
 \r
 .modal-header {\r
-  padding: 9px 15px;\r
-  border-bottom: 1px solid #eee;\r
+    padding: 9px 15px;\r
+    border-bottom: 1px solid #eee;\r
 }\r
 \r
 .modal-header .close {\r
-  margin-top: 2px;\r
+    margin-top: 2px;\r
 }\r
 \r
 .modal-body {\r
-  max-height: 400px;\r
-  padding: 15px;\r
-  overflow-y: auto;\r
+    max-height: 400px;\r
+    padding: 15px;\r
+    overflow-y: auto;\r
 }\r
 \r
 .modal-form {\r
-  margin-bottom: 0;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .modal-footer {\r
-  padding: 14px 15px 15px;\r
-  margin-bottom: 0;\r
-  text-align: right;\r
-  background-color: #f5f5f5;\r
-  border-top: 1px solid #ddd;\r
-  -webkit-border-radius: 0 0 6px 6px;\r
-     -moz-border-radius: 0 0 6px 6px;\r
-          border-radius: 0 0 6px 6px;\r
-  *zoom: 1;\r
-  -webkit-box-shadow: inset 0 1px 0 #ffffff;\r
-     -moz-box-shadow: inset 0 1px 0 #ffffff;\r
-          box-shadow: inset 0 1px 0 #ffffff;\r
+    padding: 14px 15px 15px;\r
+    margin-bottom: 0;\r
+    text-align: right;\r
+    background-color: #f5f5f5;\r
+    border-top: 1px solid #ddd;\r
+    -webkit-border-radius: 0 0 6px 6px;\r
+    -moz-border-radius: 0 0 6px 6px;\r
+    border-radius: 0 0 6px 6px;\r
+    *zoom: 1;\r
+    -webkit-box-shadow: inset 0 1px 0 #ffffff;\r
+    -moz-box-shadow: inset 0 1px 0 #ffffff;\r
+    box-shadow: inset 0 1px 0 #ffffff;\r
 }\r
 \r
 .modal-footer:before,\r
 .modal-footer:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .modal-footer:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .modal-footer .btn + .btn {\r
-  margin-bottom: 0;\r
-  margin-left: 5px;\r
+    margin-bottom: 0;\r
+    margin-left: 5px;\r
 }\r
 \r
 .modal-footer .btn-group .btn + .btn {\r
-  margin-left: -1px;\r
+    margin-left: -1px;\r
 }\r
 \r
 .tooltip {\r
-  position: absolute;\r
-  z-index: 1020;\r
-  display: block;\r
-  padding: 5px;\r
-  font-size: 11px;\r
-  opacity: 0;\r
-  filter: alpha(opacity=0);\r
-  visibility: visible;\r
+    position: absolute;\r
+    z-index: 1020;\r
+    display: block;\r
+    padding: 5px;\r
+    font-size: 11px;\r
+    opacity: 0;\r
+    filter: alpha(opacity=0);\r
+    visibility: visible;\r
 }\r
 \r
 .tooltip.in {\r
-  opacity: 0.8;\r
-  filter: alpha(opacity=80);\r
+    opacity: 0.8;\r
+    filter: alpha(opacity=80);\r
 }\r
 \r
 .tooltip.top {\r
-  margin-top: -2px;\r
+    margin-top: -2px;\r
 }\r
 \r
 .tooltip.right {\r
-  margin-left: 2px;\r
+    margin-left: 2px;\r
 }\r
 \r
 .tooltip.bottom {\r
-  margin-top: 2px;\r
+    margin-top: 2px;\r
 }\r
 \r
 .tooltip.left {\r
-  margin-left: -2px;\r
+    margin-left: -2px;\r
 }\r
 \r
 .tooltip.top .tooltip-arrow {\r
-  bottom: 0;\r
-  left: 50%;\r
-  margin-left: -5px;\r
-  border-top: 5px solid #000000;\r
-  border-right: 5px solid transparent;\r
-  border-left: 5px solid transparent;\r
+    bottom: 0;\r
+    left: 50%;\r
+    margin-left: -5px;\r
+    border-top: 5px solid #000000;\r
+    border-right: 5px solid transparent;\r
+    border-left: 5px solid transparent;\r
 }\r
 \r
 .tooltip.left .tooltip-arrow {\r
-  top: 50%;\r
-  right: 0;\r
-  margin-top: -5px;\r
-  border-top: 5px solid transparent;\r
-  border-bottom: 5px solid transparent;\r
-  border-left: 5px solid #000000;\r
+    top: 50%;\r
+    right: 0;\r
+    margin-top: -5px;\r
+    border-top: 5px solid transparent;\r
+    border-bottom: 5px solid transparent;\r
+    border-left: 5px solid #000000;\r
 }\r
 \r
 .tooltip.bottom .tooltip-arrow {\r
-  top: 0;\r
-  left: 50%;\r
-  margin-left: -5px;\r
-  border-right: 5px solid transparent;\r
-  border-bottom: 5px solid #000000;\r
-  border-left: 5px solid transparent;\r
+    top: 0;\r
+    left: 50%;\r
+    margin-left: -5px;\r
+    border-right: 5px solid transparent;\r
+    border-bottom: 5px solid #000000;\r
+    border-left: 5px solid transparent;\r
 }\r
 \r
 .tooltip.right .tooltip-arrow {\r
-  top: 50%;\r
-  left: 0;\r
-  margin-top: -5px;\r
-  border-top: 5px solid transparent;\r
-  border-right: 5px solid #000000;\r
-  border-bottom: 5px solid transparent;\r
+    top: 50%;\r
+    left: 0;\r
+    margin-top: -5px;\r
+    border-top: 5px solid transparent;\r
+    border-right: 5px solid #000000;\r
+    border-bottom: 5px solid transparent;\r
 }\r
 \r
 .tooltip-inner {\r
-  max-width: 200px;\r
-  padding: 3px 8px;\r
-  color: #ffffff;\r
-  text-align: center;\r
-  text-decoration: none;\r
-  background-color: #000000;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    max-width: 200px;\r
+    padding: 3px 8px;\r
+    color: #ffffff;\r
+    text-align: center;\r
+    text-decoration: none;\r
+    background-color: #000000;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .tooltip-arrow {\r
-  position: absolute;\r
-  width: 0;\r
-  height: 0;\r
+    position: absolute;\r
+    width: 0;\r
+    height: 0;\r
 }\r
 \r
 .popover {\r
-  position: absolute;\r
-  top: 0;\r
-  left: 0;\r
-  z-index: 1010;\r
-  display: none;\r
-  padding: 5px;\r
+    position: absolute;\r
+    top: 0;\r
+    left: 0;\r
+    z-index: 1010;\r
+    display: none;\r
+    padding: 5px;\r
 }\r
 \r
 .popover.top {\r
-  margin-top: -5px;\r
+    margin-top: -5px;\r
 }\r
 \r
 .popover.right {\r
-  margin-left: 5px;\r
+    margin-left: 5px;\r
 }\r
 \r
 .popover.bottom {\r
-  margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .popover.left {\r
-  margin-left: -5px;\r
+    margin-left: -5px;\r
 }\r
 \r
 .popover.top .arrow {\r
-  bottom: 0;\r
-  left: 50%;\r
-  margin-left: -5px;\r
-  border-top: 5px solid #000000;\r
-  border-right: 5px solid transparent;\r
-  border-left: 5px solid transparent;\r
+    bottom: 0;\r
+    left: 50%;\r
+    margin-left: -5px;\r
+    border-top: 5px solid #000000;\r
+    border-right: 5px solid transparent;\r
+    border-left: 5px solid transparent;\r
 }\r
 \r
 .popover.right .arrow {\r
-  top: 50%;\r
-  left: 0;\r
-  margin-top: -5px;\r
-  border-top: 5px solid transparent;\r
-  border-right: 5px solid #000000;\r
-  border-bottom: 5px solid transparent;\r
+    top: 50%;\r
+    left: 0;\r
+    margin-top: -5px;\r
+    border-top: 5px solid transparent;\r
+    border-right: 5px solid #000000;\r
+    border-bottom: 5px solid transparent;\r
 }\r
 \r
 .popover.bottom .arrow {\r
-  top: 0;\r
-  left: 50%;\r
-  margin-left: -5px;\r
-  border-right: 5px solid transparent;\r
-  border-bottom: 5px solid #000000;\r
-  border-left: 5px solid transparent;\r
+    top: 0;\r
+    left: 50%;\r
+    margin-left: -5px;\r
+    border-right: 5px solid transparent;\r
+    border-bottom: 5px solid #000000;\r
+    border-left: 5px solid transparent;\r
 }\r
 \r
 .popover.left .arrow {\r
-  top: 50%;\r
-  right: 0;\r
-  margin-top: -5px;\r
-  border-top: 5px solid transparent;\r
-  border-bottom: 5px solid transparent;\r
-  border-left: 5px solid #000000;\r
+    top: 50%;\r
+    right: 0;\r
+    margin-top: -5px;\r
+    border-top: 5px solid transparent;\r
+    border-bottom: 5px solid transparent;\r
+    border-left: 5px solid #000000;\r
 }\r
 \r
 .popover .arrow {\r
-  position: absolute;\r
-  width: 0;\r
-  height: 0;\r
+    position: absolute;\r
+    width: 0;\r
+    height: 0;\r
 }\r
 \r
 .popover-inner {\r
-  width: 280px;\r
-  padding: 3px;\r
-  overflow: hidden;\r
-  background: #000000;\r
-  background: rgba(0, 0, 0, 0.8);\r
-  -webkit-border-radius: 6px;\r
-     -moz-border-radius: 6px;\r
-          border-radius: 6px;\r
-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
-     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
-          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    width: 280px;\r
+    padding: 3px;\r
+    overflow: hidden;\r
+    background: #000000;\r
+    background: rgba(0, 0, 0, 0.8);\r
+    -webkit-border-radius: 6px;\r
+    -moz-border-radius: 6px;\r
+    border-radius: 6px;\r
+    -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
+    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\r
 }\r
 \r
 .popover-title {\r
-  padding: 9px 15px;\r
-  line-height: 1;\r
-  background-color: #f5f5f5;\r
-  border-bottom: 1px solid #eee;\r
-  -webkit-border-radius: 3px 3px 0 0;\r
-     -moz-border-radius: 3px 3px 0 0;\r
-          border-radius: 3px 3px 0 0;\r
+    padding: 9px 15px;\r
+    line-height: 1;\r
+    background-color: #f5f5f5;\r
+    border-bottom: 1px solid #eee;\r
+    -webkit-border-radius: 3px 3px 0 0;\r
+    -moz-border-radius: 3px 3px 0 0;\r
+    border-radius: 3px 3px 0 0;\r
 }\r
 \r
 .popover-content {\r
-  padding: 14px;\r
-  background-color: #ffffff;\r
-  -webkit-border-radius: 0 0 3px 3px;\r
-     -moz-border-radius: 0 0 3px 3px;\r
-          border-radius: 0 0 3px 3px;\r
-  -webkit-background-clip: padding-box;\r
-     -moz-background-clip: padding-box;\r
-          background-clip: padding-box;\r
+    padding: 14px;\r
+    background-color: #ffffff;\r
+    -webkit-border-radius: 0 0 3px 3px;\r
+    -moz-border-radius: 0 0 3px 3px;\r
+    border-radius: 0 0 3px 3px;\r
+    -webkit-background-clip: padding-box;\r
+    -moz-background-clip: padding-box;\r
+    background-clip: padding-box;\r
 }\r
 \r
 .popover-content p,\r
 .popover-content ul,\r
 .popover-content ol {\r
-  margin-bottom: 0;\r
+    margin-bottom: 0;\r
 }\r
 \r
 .thumbnails {\r
-  margin-left: -20px;\r
-  list-style: none;\r
-  *zoom: 1;\r
+    margin-left: -20px;\r
+    list-style: none;\r
+    *zoom: 1;\r
 }\r
 \r
 .thumbnails:before,\r
 .thumbnails:after {\r
-  display: table;\r
-  content: "";\r
+    display: table;\r
+    content: "";\r
 }\r
 \r
 .thumbnails:after {\r
-  clear: both;\r
+    clear: both;\r
 }\r
 \r
 .row-fluid .thumbnails {\r
-  margin-left: 0;\r
+    margin-left: 0;\r
 }\r
 \r
 .thumbnails > li {\r
-  float: left;\r
-  margin-bottom: 18px;\r
-  margin-left: 20px;\r
+    float: left;\r
+    margin-bottom: 18px;\r
+    margin-left: 20px;\r
 }\r
 \r
 .thumbnail {\r
-  display: block;\r
-  padding: 4px;\r
-  line-height: 1;\r
-  border: 1px solid #ddd;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
-     -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
-          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    display: block;\r
+    padding: 4px;\r
+    line-height: 1;\r
+    border: 1px solid #ddd;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
+    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
+    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\r
 }\r
 \r
 a.thumbnail:hover {\r
-  border-color: #0088cc;\r
-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
-     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
-          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
+    border-color: #0088cc;\r
+    -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
+    -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
+    box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\r
 }\r
 \r
 .thumbnail > img {\r
-  display: block;\r
-  max-width: 100%;\r
-  margin-right: auto;\r
-  margin-left: auto;\r
+    display: block;\r
+    max-width: 100%;\r
+    margin-right: auto;\r
+    margin-left: auto;\r
 }\r
 \r
 .thumbnail .caption {\r
-  padding: 9px;\r
+    padding: 9px;\r
 }\r
 \r
 .label,\r
 .badge {\r
-  font-size: 10.998px;\r
-  font-weight: bold;\r
-  line-height: 14px;\r
-  color: #ffffff;\r
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
-  white-space: nowrap;\r
-  vertical-align: baseline;\r
-  background-color: #999999;\r
+    font-size: 10.998px;\r
+    font-weight: bold;\r
+    line-height: 14px;\r
+    color: #ffffff;\r
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
+    white-space: nowrap;\r
+    vertical-align: baseline;\r
+    background-color: #999999;\r
 }\r
 \r
 .label {\r
-  padding: 1px 4px 2px;\r
-  -webkit-border-radius: 3px;\r
-     -moz-border-radius: 3px;\r
-          border-radius: 3px;\r
+    padding: 1px 4px 2px;\r
+    -webkit-border-radius: 3px;\r
+    -moz-border-radius: 3px;\r
+    border-radius: 3px;\r
 }\r
 \r
 .badge {\r
-  padding: 1px 9px 2px;\r
-  -webkit-border-radius: 9px;\r
-     -moz-border-radius: 9px;\r
-          border-radius: 9px;\r
+    padding: 1px 9px 2px;\r
+    -webkit-border-radius: 9px;\r
+    -moz-border-radius: 9px;\r
+    border-radius: 9px;\r
 }\r
 \r
 a.label:hover,\r
 a.badge:hover {\r
-  color: #ffffff;\r
-  text-decoration: none;\r
-  cursor: pointer;\r
+    color: #ffffff;\r
+    text-decoration: none;\r
+    cursor: pointer;\r
 }\r
 \r
 .label-important,\r
 .badge-important {\r
-  background-color: #b94a48;\r
+    background-color: #b94a48;\r
 }\r
 \r
 .label-important[href],\r
 .badge-important[href] {\r
-  background-color: #953b39;\r
+    background-color: #953b39;\r
 }\r
 \r
 .label-warning,\r
 .badge-warning {\r
-  background-color: #f89406;\r
+    background-color: #f89406;\r
 }\r
 \r
 .label-warning[href],\r
 .badge-warning[href] {\r
-  background-color: #c67605;\r
+    background-color: #c67605;\r
 }\r
 \r
 .label-success,\r
 .badge-success {\r
-  background-color: #468847;\r
+    background-color: #468847;\r
 }\r
 \r
 .label-success[href],\r
 .badge-success[href] {\r
-  background-color: #356635;\r
+    background-color: #356635;\r
 }\r
 \r
 .label-info,\r
 .badge-info {\r
-  background-color: #3a87ad;\r
+    background-color: #3a87ad;\r
 }\r
 \r
 .label-info[href],\r
 .badge-info[href] {\r
-  background-color: #2d6987;\r
+    background-color: #2d6987;\r
 }\r
 \r
 .label-inverse,\r
 .badge-inverse {\r
-  background-color: #333333;\r
+    background-color: #333333;\r
 }\r
 \r
 .label-inverse[href],\r
 .badge-inverse[href] {\r
-  background-color: #1a1a1a;\r
+    background-color: #1a1a1a;\r
 }\r
 \r
 @-webkit-keyframes progress-bar-stripes {\r
-  from {\r
-    background-position: 40px 0;\r
-  }\r
-  to {\r
-    background-position: 0 0;\r
-  }\r
+    from {\r
+        background-position: 40px 0;\r
+    }\r
+    to {\r
+        background-position: 0 0;\r
+    }\r
 }\r
 \r
 @-moz-keyframes progress-bar-stripes {\r
-  from {\r
-    background-position: 40px 0;\r
-  }\r
-  to {\r
-    background-position: 0 0;\r
-  }\r
+    from {\r
+        background-position: 40px 0;\r
+    }\r
+    to {\r
+        background-position: 0 0;\r
+    }\r
 }\r
 \r
 @-ms-keyframes progress-bar-stripes {\r
-  from {\r
-    background-position: 40px 0;\r
-  }\r
-  to {\r
-    background-position: 0 0;\r
-  }\r
+    from {\r
+        background-position: 40px 0;\r
+    }\r
+    to {\r
+        background-position: 0 0;\r
+    }\r
 }\r
 \r
 @-o-keyframes progress-bar-stripes {\r
-  from {\r
-    background-position: 0 0;\r
-  }\r
-  to {\r
-    background-position: 40px 0;\r
-  }\r
+    from {\r
+        background-position: 0 0;\r
+    }\r
+    to {\r
+        background-position: 40px 0;\r
+    }\r
 }\r
 \r
 @keyframes progress-bar-stripes {\r
-  from {\r
-    background-position: 40px 0;\r
-  }\r
-  to {\r
-    background-position: 0 0;\r
-  }\r
+    from {\r
+        background-position: 40px 0;\r
+    }\r
+    to {\r
+        background-position: 0 0;\r
+    }\r
 }\r
 \r
 .progress {\r
-  height: 18px;\r
-  margin-bottom: 18px;\r
-  overflow: hidden;\r
-  background-color: #f7f7f7;\r
-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\r
-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\r
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\r
-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\r
-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);\r
-  background-repeat: repeat-x;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);\r
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
+    height: 18px;\r
+    margin-bottom: 18px;\r
+    overflow: hidden;\r
+    background-color: #f7f7f7;\r
+    background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\r
+    background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\r
+    background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\r
+    background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\r
+    background-image: linear-gradient(top, #f5f5f5, #f9f9f9);\r
+    background-repeat: repeat-x;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);\r
+    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
+    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r
 }\r
 \r
 .progress .bar {\r
-  width: 0;\r
-  height: 18px;\r
-  font-size: 12px;\r
-  color: #ffffff;\r
-  text-align: center;\r
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
-  background-color: #0e90d2;\r
-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\r
-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\r
-  background-image: -o-linear-gradient(top, #149bdf, #0480be);\r
-  background-image: linear-gradient(top, #149bdf, #0480be);\r
-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);\r
-  background-repeat: repeat-x;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);\r
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
-     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
-  -webkit-box-sizing: border-box;\r
-     -moz-box-sizing: border-box;\r
-      -ms-box-sizing: border-box;\r
-          box-sizing: border-box;\r
-  -webkit-transition: width 0.6s ease;\r
-     -moz-transition: width 0.6s ease;\r
-      -ms-transition: width 0.6s ease;\r
-       -o-transition: width 0.6s ease;\r
-          transition: width 0.6s ease;\r
+    width: 0;\r
+    height: 18px;\r
+    font-size: 12px;\r
+    color: #ffffff;\r
+    text-align: center;\r
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r
+    background-color: #0e90d2;\r
+    background-image: -moz-linear-gradient(top, #149bdf, #0480be);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\r
+    background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\r
+    background-image: -o-linear-gradient(top, #149bdf, #0480be);\r
+    background-image: linear-gradient(top, #149bdf, #0480be);\r
+    background-image: -ms-linear-gradient(top, #149bdf, #0480be);\r
+    background-repeat: repeat-x;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);\r
+    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
+    -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
+    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\r
+    -webkit-box-sizing: border-box;\r
+    -moz-box-sizing: border-box;\r
+    -ms-box-sizing: border-box;\r
+    box-sizing: border-box;\r
+    -webkit-transition: width 0.6s ease;\r
+    -moz-transition: width 0.6s ease;\r
+    -ms-transition: width 0.6s ease;\r
+    -o-transition: width 0.6s ease;\r
+    transition: width 0.6s ease;\r
 }\r
 \r
 .progress-striped .bar {\r
-  background-color: #149bdf;\r
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  -webkit-background-size: 40px 40px;\r
-     -moz-background-size: 40px 40px;\r
-       -o-background-size: 40px 40px;\r
-          background-size: 40px 40px;\r
+    background-color: #149bdf;\r
+    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
+    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    -webkit-background-size: 40px 40px;\r
+    -moz-background-size: 40px 40px;\r
+    -o-background-size: 40px 40px;\r
+    background-size: 40px 40px;\r
 }\r
 \r
 .progress.active .bar {\r
-  -webkit-animation: progress-bar-stripes 2s linear infinite;\r
-     -moz-animation: progress-bar-stripes 2s linear infinite;\r
-      -ms-animation: progress-bar-stripes 2s linear infinite;\r
-       -o-animation: progress-bar-stripes 2s linear infinite;\r
-          animation: progress-bar-stripes 2s linear infinite;\r
+    -webkit-animation: progress-bar-stripes 2s linear infinite;\r
+    -moz-animation: progress-bar-stripes 2s linear infinite;\r
+    -ms-animation: progress-bar-stripes 2s linear infinite;\r
+    -o-animation: progress-bar-stripes 2s linear infinite;\r
+    animation: progress-bar-stripes 2s linear infinite;\r
 }\r
 \r
 .progress-danger .bar {\r
-  background-color: #dd514c;\r
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\r
-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\r
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\r
-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\r
-  background-image: linear-gradient(top, #ee5f5b, #c43c35);\r
-  background-repeat: repeat-x;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);\r
+    background-color: #dd514c;\r
+    background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\r
+    background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\r
+    background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\r
+    background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\r
+    background-image: linear-gradient(top, #ee5f5b, #c43c35);\r
+    background-repeat: repeat-x;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);\r
 }\r
 \r
 .progress-danger.progress-striped .bar {\r
-  background-color: #ee5f5b;\r
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-color: #ee5f5b;\r
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
+    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
 }\r
 \r
 .progress-success .bar {\r
-  background-color: #5eb95e;\r
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);\r
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\r
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);\r
-  background-image: -o-linear-gradient(top, #62c462, #57a957);\r
-  background-image: linear-gradient(top, #62c462, #57a957);\r
-  background-repeat: repeat-x;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);\r
+    background-color: #5eb95e;\r
+    background-image: -moz-linear-gradient(top, #62c462, #57a957);\r
+    background-image: -ms-linear-gradient(top, #62c462, #57a957);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\r
+    background-image: -webkit-linear-gradient(top, #62c462, #57a957);\r
+    background-image: -o-linear-gradient(top, #62c462, #57a957);\r
+    background-image: linear-gradient(top, #62c462, #57a957);\r
+    background-repeat: repeat-x;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);\r
 }\r
 \r
 .progress-success.progress-striped .bar {\r
-  background-color: #62c462;\r
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-color: #62c462;\r
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
+    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
 }\r
 \r
 .progress-info .bar {\r
-  background-color: #4bb1cf;\r
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\r
-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\r
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\r
-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\r
-  background-image: linear-gradient(top, #5bc0de, #339bb9);\r
-  background-repeat: repeat-x;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);\r
+    background-color: #4bb1cf;\r
+    background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\r
+    background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\r
+    background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\r
+    background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\r
+    background-image: linear-gradient(top, #5bc0de, #339bb9);\r
+    background-repeat: repeat-x;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);\r
 }\r
 \r
 .progress-info.progress-striped .bar {\r
-  background-color: #5bc0de;\r
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-color: #5bc0de;\r
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
+    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
 }\r
 \r
 .progress-warning .bar {\r
-  background-color: #faa732;\r
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\r
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);\r
-  background-image: linear-gradient(top, #fbb450, #f89406);\r
-  background-repeat: repeat-x;\r
-  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\r
+    background-color: #faa732;\r
+    background-image: -moz-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -ms-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\r
+    background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: -o-linear-gradient(top, #fbb450, #f89406);\r
+    background-image: linear-gradient(top, #fbb450, #f89406);\r
+    background-repeat: repeat-x;\r
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\r
 }\r
 \r
 .progress-warning.progress-striped .bar {\r
-  background-color: #fbb450;\r
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-color: #fbb450;\r
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\r
+    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
+    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\r
 }\r
 \r
 .accordion {\r
-  margin-bottom: 18px;\r
+    margin-bottom: 18px;\r
 }\r
 \r
 .accordion-group {\r
-  margin-bottom: 2px;\r
-  border: 1px solid #e5e5e5;\r
-  -webkit-border-radius: 4px;\r
-     -moz-border-radius: 4px;\r
-          border-radius: 4px;\r
+    margin-bottom: 2px;\r
+    border: 1px solid #e5e5e5;\r
+    -webkit-border-radius: 4px;\r
+    -moz-border-radius: 4px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .accordion-heading {\r
-  border-bottom: 0;\r
+    border-bottom: 0;\r
 }\r
 \r
 .accordion-heading .accordion-toggle {\r
-  display: block;\r
-  padding: 8px 15px;\r
+    display: block;\r
+    padding: 8px 15px;\r
 }\r
 \r
 .accordion-toggle {\r
-  cursor: pointer;\r
+    cursor: pointer;\r
 }\r
 \r
 .accordion-inner {\r
-  padding: 9px 15px;\r
-  border-top: 1px solid #e5e5e5;\r
+    padding: 9px 15px;\r
+    border-top: 1px solid #e5e5e5;\r
 }\r
 \r
 .carousel {\r
-  position: relative;\r
-  margin-bottom: 18px;\r
-  line-height: 1;\r
+    position: relative;\r
+    margin-bottom: 18px;\r
+    line-height: 1;\r
 }\r
 \r
 .carousel-inner {\r
-  position: relative;\r
-  width: 100%;\r
-  overflow: hidden;\r
+    position: relative;\r
+    width: 100%;\r
+    overflow: hidden;\r
 }\r
 \r
 .carousel .item {\r
-  position: relative;\r
-  display: none;\r
-  -webkit-transition: 0.6s ease-in-out left;\r
-     -moz-transition: 0.6s ease-in-out left;\r
-      -ms-transition: 0.6s ease-in-out left;\r
-       -o-transition: 0.6s ease-in-out left;\r
-          transition: 0.6s ease-in-out left;\r
+    position: relative;\r
+    display: none;\r
+    -webkit-transition: 0.6s ease-in-out left;\r
+    -moz-transition: 0.6s ease-in-out left;\r
+    -ms-transition: 0.6s ease-in-out left;\r
+    -o-transition: 0.6s ease-in-out left;\r
+    transition: 0.6s ease-in-out left;\r
 }\r
 \r
 .carousel .item > img {\r
-  display: block;\r
-  line-height: 1;\r
+    display: block;\r
+    line-height: 1;\r
 }\r
 \r
 .carousel .active,\r
 .carousel .next,\r
 .carousel .prev {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 .carousel .active {\r
-  left: 0;\r
+    left: 0;\r
 }\r
 \r
 .carousel .next,\r
 .carousel .prev {\r
-  position: absolute;\r
-  top: 0;\r
-  width: 100%;\r
+    position: absolute;\r
+    top: 0;\r
+    width: 100%;\r
 }\r
 \r
 .carousel .next {\r
-  left: 100%;\r
+    left: 100%;\r
 }\r
 \r
 .carousel .prev {\r
-  left: -100%;\r
+    left: -100%;\r
 }\r
 \r
 .carousel .next.left,\r
 .carousel .prev.right {\r
-  left: 0;\r
+    left: 0;\r
 }\r
 \r
 .carousel .active.left {\r
-  left: -100%;\r
+    left: -100%;\r
 }\r
 \r
 .carousel .active.right {\r
-  left: 100%;\r
+    left: 100%;\r
 }\r
 \r
 .carousel-control {\r
-  position: absolute;\r
-  top: 40%;\r
-  left: 15px;\r
-  width: 40px;\r
-  height: 40px;\r
-  margin-top: -20px;\r
-  font-size: 60px;\r
-  font-weight: 100;\r
-  line-height: 30px;\r
-  color: #ffffff;\r
-  text-align: center;\r
-  background: #222222;\r
-  border: 3px solid #ffffff;\r
-  -webkit-border-radius: 23px;\r
-     -moz-border-radius: 23px;\r
-          border-radius: 23px;\r
-  opacity: 0.5;\r
-  filter: alpha(opacity=50);\r
+    position: absolute;\r
+    top: 40%;\r
+    left: 15px;\r
+    width: 40px;\r
+    height: 40px;\r
+    margin-top: -20px;\r
+    font-size: 60px;\r
+    font-weight: 100;\r
+    line-height: 30px;\r
+    color: #ffffff;\r
+    text-align: center;\r
+    background: #222222;\r
+    border: 3px solid #ffffff;\r
+    -webkit-border-radius: 23px;\r
+    -moz-border-radius: 23px;\r
+    border-radius: 23px;\r
+    opacity: 0.5;\r
+    filter: alpha(opacity=50);\r
 }\r
 \r
 .carousel-control.right {\r
-  right: 15px;\r
-  left: auto;\r
+    right: 15px;\r
+    left: auto;\r
 }\r
 \r
 .carousel-control:hover {\r
-  color: #ffffff;\r
-  text-decoration: none;\r
-  opacity: 0.9;\r
-  filter: alpha(opacity=90);\r
+    color: #ffffff;\r
+    text-decoration: none;\r
+    opacity: 0.9;\r
+    filter: alpha(opacity=90);\r
 }\r
 \r
 .carousel-caption {\r
-  position: absolute;\r
-  right: 0;\r
-  bottom: 0;\r
-  left: 0;\r
-  padding: 10px 15px 5px;\r
-  background: #333333;\r
-  background: rgba(0, 0, 0, 0.75);\r
+    position: absolute;\r
+    right: 0;\r
+    bottom: 0;\r
+    left: 0;\r
+    padding: 10px 15px 5px;\r
+    background: #333333;\r
+    background: rgba(0, 0, 0, 0.75);\r
 }\r
 \r
 .carousel-caption h4,\r
 .carousel-caption p {\r
-  color: #ffffff;\r
+    color: #ffffff;\r
 }\r
 \r
 .hero-unit {\r
-  padding: 60px;\r
-  margin-bottom: 30px;\r
-  background-color: #eeeeee;\r
-  -webkit-border-radius: 6px;\r
-     -moz-border-radius: 6px;\r
-          border-radius: 6px;\r
+    padding: 60px;\r
+    margin-bottom: 30px;\r
+    background-color: #eeeeee;\r
+    -webkit-border-radius: 6px;\r
+    -moz-border-radius: 6px;\r
+    border-radius: 6px;\r
 }\r
 \r
 .hero-unit h1 {\r
-  margin-bottom: 0;\r
-  font-size: 60px;\r
-  line-height: 1;\r
-  letter-spacing: -1px;\r
-  color: inherit;\r
+    margin-bottom: 0;\r
+    font-size: 60px;\r
+    line-height: 1;\r
+    letter-spacing: -1px;\r
+    color: inherit;\r
 }\r
 \r
 .hero-unit p {\r
-  font-size: 18px;\r
-  font-weight: 200;\r
-  line-height: 27px;\r
-  color: inherit;\r
+    font-size: 18px;\r
+    font-weight: 200;\r
+    line-height: 27px;\r
+    color: inherit;\r
 }\r
 \r
 .pull-right {\r
-  float: right;\r
+    float: right;\r
 }\r
 \r
 .pull-left {\r
-  float: left;\r
+    float: left;\r
 }\r
 \r
 .hide {\r
-  display: none;\r
+    display: none;\r
 }\r
 \r
 .show {\r
-  display: block;\r
+    display: block;\r
 }\r
 \r
 .invisible {\r
-  visibility: hidden;\r
+    visibility: hidden;\r
 }\r
index f188265..d24a268 100644 (file)
  * limitations under the License.\r
  */\r
 body {\r
-  font-family: 'Open Sans', sans-serif;  \r
-  /*background-color: #f1f3fa;*/\r
-  width: '100%';\r
-  height: '100%';\r
-  margin-top: 10px;\r
+    font-family: 'Open Sans', sans-serif;\r
+    /*background-color: #f1f3fa;*/\r
+    width: '100%';\r
+    height: '100%';\r
+    margin-top: 10px;\r
 }\r
-div.skills-sunburst{\r
-       font-size: 12px;\r
-       font-weight: 400;\r
-       text-align:center;\r
+\r
+div.skills-sunburst {\r
+    font-size: 12px;\r
+    font-weight: 400;\r
+    text-align: center;\r
 }\r
 \r
 #skillmap .skills-wrapper {\r
-  margin-top: 10px;\r
-  overflow: auto;\r
+    margin-top: 10px;\r
+    overflow: auto;\r
 }\r
+\r
 #skillmap .skills-sunburst {\r
-  float: left;\r
-  width: 500px;\r
-  margin-left: -80px;\r
+    float: left;\r
+    width: 500px;\r
+    margin-left: -80px;\r
 }\r
+\r
 #skillmap .skills-sunburst svg {\r
-  font: 11px 'Source Sans Pro', sans-serif;\r
-  font-weight: 900;\r
-  \r
-  cursor: pointer;\r
+    font: 11px 'Source Sans Pro', sans-serif;\r
+    font-weight: 900;\r
+\r
+    cursor: pointer;\r
 }\r
+\r
 #skillmap .skills-chart {\r
-  float: right;\r
-  font-family: 'Source Sans Pro', sans-serif;\r
-  font-size: 15px;\r
-  margin: 80px 20px 0 0;\r
+    float: right;\r
+    font-family: 'Source Sans Pro', sans-serif;\r
+    font-size: 15px;\r
+    margin: 80px 20px 0 0;\r
 }\r
+\r
 #skillmap .skills-chart .breadcumb-text {\r
-  font-size: 13px;\r
-  font-weight: 700;\r
+    font-size: 13px;\r
+    font-weight: 700;\r
 }\r
+\r
 #skillmap .skills-chart #skills-chart-line {\r
-  fill: none;\r
-  stroke-width: 3.5px;\r
+    fill: none;\r
+    stroke-width: 3.5px;\r
 }\r
+\r
 #skillmap .skills-chart .axis path,\r
 #skillmap .skills-chart .axis line {\r
-  fill: none;\r
+    fill: none;\r
 }\r
+\r
 #skillmap .skills-chart .x-axis path,\r
 #skillmap .skills-chart .y-axis path {\r
-  stroke: #444;\r
-  stroke-width: 1px;\r
-  shape-rendering: geometricPrecision;\r
+    stroke: #444;\r
+    stroke-width: 1px;\r
+    shape-rendering: geometricPrecision;\r
 }\r
 \r
 #explanation {\r
-  position: absolute;\r
-  top: 165px;\r
-  left: 170px;\r
-  width: 140px;\r
-  text-align: center;\r
-  color: #666;\r
-  margin-top:30px;\r
+    position: absolute;\r
+    top: 165px;\r
+    left: 170px;\r
+    width: 140px;\r
+    text-align: center;\r
+    color: #666;\r
+    margin-top: 30px;\r
 }\r
 \r
 #percentage {\r
-  font-size: 2em;\r
+    font-size: 2em;\r
 }\r
 \r
-#endlabel{\r
-       font-sizte:1.5em;\r
+#endlabel {\r
+    font-sizte: 1.5em;\r
 }\r
 \r
-div.skills-sunburst text{\r
-        text-anchor: middle;\r
+div.skills-sunburst text {\r
+    text-anchor: middle;\r
 }
\ No newline at end of file
index ab7b875..680919b 100644 (file)
  * limitations under the License.\r
  */\r
 body {\r
-       font-family: microsoft yahei !important;\r
+    font-family: microsoft yahei !important;\r
 }\r
 \r
 /* blue pill (inspired by iTunes)\r
 *******************************************************************************/\r
 \r
 .grey {\r
-  background-color: #e5e5e5;\r
-  color: #333;\r
+    background-color: #e5e5e5;\r
+    color: #333;\r
 }\r
 \r
 .blue {\r
 \r
-       background-color: #5b9bd1;\r
-       border-radius: 20px;\r
-       color: #fff;\r
-       font-weight: bold;\r
-       padding: 8px 0;\r
-       text-align: center;\r
-       width: 100px;\r
+    background-color: #5b9bd1;\r
+    border-radius: 20px;\r
+    color: #fff;\r
+    font-weight: bold;\r
+    padding: 8px 0;\r
+    text-align: center;\r
+    width: 100px;\r
 }\r
 \r
 .blue:hover {\r
-       background-color: #e8f3fd;\r
-       color: #5b9bd1;\r
+    background-color: #e8f3fd;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .blue.selected {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
-       color: #fff;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
+    color: #fff;\r
 }\r
 \r
 .blue.selected:hover {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
-       color: #fff;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
+    color: #fff;\r
 }\r
 \r
 a {\r
-       font-weight: bold;\r
-       text-decoration: none;\r
+    font-weight: bold;\r
+    text-decoration: none;\r
 }\r
 \r
 p {\r
-       color: #444;\r
-       font-size: 14px;\r
-       font-weight: normal;\r
-       line-height: 21px;\r
-       margin: 0 0 12px 0;\r
+    color: #444;\r
+    font-size: 14px;\r
+    font-weight: normal;\r
+    line-height: 21px;\r
+    margin: 0 0 12px 0;\r
 }\r
 \r
 p.credit {\r
-       border-top: 1px solid #ccc;\r
-       font-size: 14px;\r
-       line-height: 140%;\r
-       margin: 36px 0 12px 0;\r
-       padding: 8px 0 0 0;\r
-       text-align: center;\r
+    border-top: 1px solid #ccc;\r
+    font-size: 14px;\r
+    line-height: 140%;\r
+    margin: 36px 0 12px 0;\r
+    padding: 8px 0 0 0;\r
+    text-align: center;\r
 }\r
 \r
 ul.column {\r
-       float: left;\r
-       list-style: none;\r
-       width: 675px;\r
+    float: left;\r
+    list-style: none;\r
+    width: 675px;\r
 }\r
 \r
 ul.column li {\r
-       background: #eee;\r
-       -webkit-border-radius: 5px;\r
-       border-radius: 5px;\r
-       -webkit-box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
-       box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
-       float: left;\r
-       margin: 10px 0 0 10px;\r
-       display: block;\r
-       height: 150px;\r
-       text-align: center;\r
-       width: 215px;\r
+    background: #eee;\r
+    -webkit-border-radius: 5px;\r
+    border-radius: 5px;\r
+    -webkit-box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
+    box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
+    float: left;\r
+    margin: 10px 0 0 10px;\r
+    display: block;\r
+    height: 150px;\r
+    text-align: center;\r
+    width: 215px;\r
 }\r
 \r
 /* Clear Floated Elements\r
 ------------------------------------------------------------------------------*/\r
-.column:after,.button-collection:after,.clearfix:after,div.project-info:after\r
-       {\r
-       clear: both;\r
-       content: ' ';\r
-       display: block;\r
-       font-size: 0;\r
-       line-height: 0;\r
-       visibility: hidden;\r
-       width: 0;\r
-       height: 0;\r
+.column:after, .button-collection:after, .clearfix:after, div.project-info:after {\r
+    clear: both;\r
+    content: ' ';\r
+    display: block;\r
+    font-size: 0;\r
+    line-height: 0;\r
+    visibility: hidden;\r
+    width: 0;\r
+    height: 0;\r
 }\r
 \r
 .container-fluid {\r
-       background-color: white !important;\r
-       min-height: 500px;\r
+    background-color: white !important;\r
+    min-height: 500px;\r
 }\r
 \r
 .nav-tabs {\r
-       border: 0;\r
+    border: 0;\r
 }\r
 \r
-.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus\r
-       {\r
-       border: 0;\r
-       border-top: 3px solid #F3565D;\r
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\r
+    border: 0;\r
+    border-top: 3px solid #F3565D;\r
 }\r
 \r
-.nav-tabs>li>a {\r
-       border-radius: 0;\r
+.nav-tabs > li > a {\r
+    border-radius: 0;\r
 }\r
 \r
-.nav-tabs>li>a:hover {\r
-       background-color: #f1f3fa;\r
-       border: 1Px solid #f1f3fa;\r
+.nav-tabs > li > a:hover {\r
+    background-color: #f1f3fa;\r
+    border: 1Px solid #f1f3fa;\r
 }\r
 \r
 .c3 {\r
-       margin-top: 120px;\r
+    margin-top: 120px;\r
 }\r
 \r
 .skills-chart-breadcrumb {\r
-       \r
+\r
 }\r
 \r
 .blue:selected {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
 }\r
 \r
 .btn {\r
-       /* border-width: 0; */\r
-       /* padding: 7px 14px; */\r
-       /* font-size: 14px; */\r
-       /* outline: none !important; */\r
-       /* background-image: none !important; */\r
-       /* filter: none; */\r
-       /* -webkit-box-shadow: none; */\r
-       -moz-box-shadow: none;\r
-       /* box-shadow: none; */\r
-       /* text-shadow: none; */\r
+    /* border-width: 0; */\r
+    /* padding: 7px 14px; */\r
+    /* font-size: 14px; */\r
+    /* outline: none !important; */\r
+    /* background-image: none !important; */\r
+    /* filter: none; */\r
+    /* -webkit-box-shadow: none; */\r
+    -moz-box-shadow: none;\r
+    /* box-shadow: none; */\r
+    /* text-shadow: none; */\r
 }\r
 \r
 select {\r
-       border-width: 1px;\r
-       padding: 4px 1px;\r
-       border-radius: 4px;\r
+    border-width: 1px;\r
+    padding: 4px 1px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .input-sm {\r
-       padding: 4px 10px;\r
+    padding: 4px 10px;\r
 }\r
 \r
 .btn-block {\r
-       display: block;\r
-       width: 100%;\r
-       padding-left: 0;\r
-       padding-right: 0;\r
+    display: block;\r
+    width: 100%;\r
+    padding-left: 0;\r
+    padding-right: 0;\r
 }\r
 \r
 /* Bootstrap buttons */\r
 \r
-\r
-.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active\r
-       {\r
-       color: #333;\r
-       background-color: #ededed;\r
-       border-color: #b3b3b3;\r
+.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active {\r
+    color: #333;\r
+    background-color: #ededed;\r
+    border-color: #b3b3b3;\r
 }\r
 \r
 .open .btn-default.dropdown-toggle {\r
-       color: #333;\r
-       background-color: #ededed;\r
-       border-color: #b3b3b3;\r
+    color: #333;\r
+    background-color: #ededed;\r
+    border-color: #b3b3b3;\r
 }\r
 \r
-.btn-default:active,.btn-default.active {\r
-       background-image: none;\r
-       background-color: #e0e0e0;\r
-       font-weight: bold;\r
+.btn-default:active, .btn-default.active {\r
+    background-image: none;\r
+    background-color: #e0e0e0;\r
+    font-weight: bold;\r
 }\r
 \r
-.btn-default:active:hover,.btn-default.active:hover {\r
-       background-color: #e6e6e6;\r
+.btn-default:active:hover, .btn-default.active:hover {\r
+    background-color: #e6e6e6;\r
 }\r
 \r
 .open .btn-default.dropdown-toggle {\r
-       background-image: none;\r
+    background-image: none;\r
 }\r
 \r
-.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active\r
-       {\r
-       background-color: #fff;\r
-       border-color: #ccc;\r
+.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {\r
+    background-color: #fff;\r
+    border-color: #ccc;\r
 }\r
 \r
 .btn-default .badge {\r
-       color: #fff;\r
-       background-color: #333;\r
+    color: #fff;\r
+    background-color: #333;\r
 }\r
 \r
-\r
-.btn-default>i[class^="icon-"],.btn-default>i[class*="icon-"] {\r
-       color: #8c8c8c;\r
+.btn-default > i[class^="icon-"], .btn-default > i[class*="icon-"] {\r
+    color: #8c8c8c;\r
 }\r
 \r
 div[data-name="tab_zone"] div {\r
-       background-color: #f1f3fa;\r
-       padding: 0px;\r
+    background-color: #f1f3fa;\r
+    padding: 0px;\r
 }\r
 \r
 div[data-name="cond_zone"] div {\r
-       background-color: #fff;\r
-       margin-top: 15px;\r
-       margin-bottom: 15px;\r
-}\r
-\r
-\r
-\r
-\r
-.input{\r
-       width:250px;\r
-  height: 34px;\r
-  padding: 6px 12px;\r
-  font-size: 14px;\r
-  line-height: 1.42857143;\r
-  color: #555;\r
-  background-color: #fff;\r
-  background-image: none;\r
-  border: 1px solid #ccc;\r
-  border-radius: 4px;\r
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r
-  -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\r
-  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\r
+    background-color: #fff;\r
+    margin-top: 15px;\r
+    margin-bottom: 15px;\r
+}\r
+\r
+.input {\r
+    width: 250px;\r
+    height: 34px;\r
+    padding: 6px 12px;\r
+    font-size: 14px;\r
+    line-height: 1.42857143;\r
+    color: #555;\r
+    background-color: #fff;\r
+    background-image: none;\r
+    border: 1px solid #ccc;\r
+    border-radius: 4px;\r
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\r
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\r
+    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\r
+    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\r
 }\r
 \r
 div.separator {\r
-       margin: 20px;\r
+    margin: 20px;\r
 }\r
 \r
 div.separator div {\r
-       text-align: center;\r
-       line-height: 0;\r
+    text-align: center;\r
+    line-height: 0;\r
 }\r
 \r
 div.separator-line {\r
-       height: 1px !important;\r
-       width: 100%;\r
-       background: #ddd;\r
-       overflow: hidden;\r
+    height: 1px !important;\r
+    width: 100%;\r
+    background: #ddd;\r
+    overflow: hidden;\r
 }\r
 \r
 .dropdown-toggle {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .calendar-date {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .range_inputs {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
-.btn.dropdown-toggle,.btn-group .btn.dropdown-toggle,.btn:hover,.btn:disabled,.btn[disabled],.btn:focus,.btn:active,.btn.active\r
-       {\r
-       outline: none !important;\r
-       background-image: none !important;\r
-       filter: none;\r
-       -webkit-box-shadow: none;\r
-       -moz-box-shadow: none;\r
-       box-shadow: none;\r
-       text-shadow: none;\r
+.btn.dropdown-toggle, .btn-group .btn.dropdown-toggle, .btn:hover, .btn:disabled, .btn[disabled], .btn:focus, .btn:active, .btn.active {\r
+    outline: none !important;\r
+    background-image: none !important;\r
+    filter: none;\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
+    text-shadow: none;\r
 }\r
 \r
 #skills-chart-breadcrumb {\r
-       margin-bottom: 10px\r
+    margin-bottom: 10px\r
 }\r
 \r
 /*增加daterangepicker的css*/\r
 input[name="daterange"] {\r
-       width: 220px;\r
-       line-height: 0;\r
-       height: 31px;\r
-       vertical-align: top;\r
-       margin-top: 2px;\r
+    width: 220px;\r
+    line-height: 0;\r
+    height: 31px;\r
+    vertical-align: top;\r
+    margin-top: 2px;\r
 }\r
 \r
 .daterangepicker .ranges {\r
-       width: 205px;\r
+    width: 205px;\r
 }\r
 \r
 .daterangepicker .ranges input {\r
-       width: 95px !important;\r
+    width: 95px !important;\r
 }\r
 \r
 td.details-control {\r
-       background: url('../images/details_open.png') no-repeat center center;\r
-       cursor: pointer;\r
+    background: url('../images/details_open.png') no-repeat center center;\r
+    cursor: pointer;\r
 }\r
 \r
 tr.shown td.details-control {\r
-       background: url('../images/details_close.png') no-repeat center center;\r
+    background: url('../images/details_close.png') no-repeat center center;\r
 }\r
 \r
 .details table td {\r
-       word-wrap: break-word;\r
-       word-break: normal;\r
-       border-top: 1px solid #dddddd;\r
+    word-wrap: break-word;\r
+    word-break: normal;\r
+    border-top: 1px solid #dddddd;\r
 }\r
 \r
-.details table  tr:first-child td {\r
-       border-top: none;\r
+.details table tr:first-child td {\r
+    border-top: none;\r
 }\r
 \r
 .details table {\r
-       table-layout: fixed;\r
-       width: 100%;\r
+    table-layout: fixed;\r
+    width: 100%;\r
 }\r
 \r
 td.title {\r
-       width: 10%;\r
+    width: 10%;\r
 }\r
 \r
-table.dataTable tbody th,table.dataTable tbody td {\r
-       padding: 8px 10px;\r
+table.dataTable tbody th, table.dataTable tbody td {\r
+    padding: 8px 10px;\r
 }\r
 \r
-div.dataTables_length,div.dataTables_info {\r
-       display: inline;\r
+div.dataTables_length, div.dataTables_info {\r
+    display: inline;\r
 }\r
 \r
 div.dataTables_paginate {\r
-       display: inline;\r
-       float: right;\r
+    display: inline;\r
+    float: right;\r
 }\r
 \r
 div.pagination-panel {\r
-       margin-right: 10px;\r
+    margin-right: 10px;\r
 }\r
 \r
 input.pagination-panel-input {\r
-       width: 50px;\r
+    width: 50px;\r
 }\r
 \r
 #ict_res_table_div {\r
-       margin-top: 15px;\r
+    margin-top: 15px;\r
 }\r
 \r
 #ict_res_table_div label {\r
-       font-weight: 100;\r
+    font-weight: 100;\r
 }\r
 \r
-.daterangepicker .daterangepicker_start_input label,.daterangepicker .daterangepicker_end_input label\r
-       {\r
-       color: #5b9bd1;\r
+.daterangepicker .daterangepicker_start_input label, .daterangepicker .daterangepicker_end_input label {\r
+    color: #5b9bd1;\r
 }\r
 \r
 .daterangepicker .ranges .input-mini {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .cancelBtn {\r
-       padding: 5px 10px 5px 10px;\r
+    padding: 5px 10px 5px 10px;\r
 }\r
 \r
-.btn:focus,.btn:active:focus,.btn.active:focus {\r
-       outline: 0;\r
+.btn:focus, .btn:active:focus, .btn.active:focus {\r
+    outline: 0;\r
 }\r
 \r
-#ict_res_table_div  table {\r
-       width: 100% !important;\r
+#ict_res_table_div table {\r
+    width: 100% !important;\r
 }\r
 \r
 .control-label .required {\r
-  color: #e02222;\r
-  font-size: 12px;\r
-  padding-left: 2px;\r
+    color: #e02222;\r
+    font-size: 12px;\r
+    padding-left: 2px;\r
 }\r
 \r
-#ict_vim_table tbody tr{\r
-       cursor:pointer;\r
+#ict_vim_table tbody tr {\r
+    cursor: pointer;\r
 }\r
 \r
-\r
 /*卡片面板样式*/\r
 .animated-panel {\r
-  -webkit-animation-duration: .5s;\r
-  animation-duration: .5s;\r
-  -webkit-animation-fill-mode: both;\r
-  animation-fill-mode: both;\r
+    -webkit-animation-duration: .5s;\r
+    animation-duration: .5s;\r
+    -webkit-animation-fill-mode: both;\r
+    animation-fill-mode: both;\r
 }\r
 \r
 .hpanel {\r
-  background-color: none;\r
-  border: none;\r
-  box-shadow: none;\r
-  margin-bottom: 25px;\r
-    \r
+    background-color: none;\r
+    border: none;\r
+    box-shadow: none;\r
+    margin-bottom: 25px;\r
+\r
 }\r
 \r
 .hpanel .panel-body {\r
-  border: 1px solid #e4e5e7;\r
-  border-radius: 2px;\r
-  padding: 20px;\r
-  position: relative;\r
+    border: 1px solid #e4e5e7;\r
+    border-radius: 2px;\r
+    padding: 20px;\r
+    position: relative;\r
 }\r
+\r
 .h-200 {\r
-  min-height: 220px;\r
+    min-height: 220px;\r
 }\r
+\r
 .m-t-xl {\r
-  margin-top: 40px;\r
+    margin-top: 40px;\r
 }\r
+\r
 .text-success {\r
-  color: #0d638f;\r
+    color: #0d638f;\r
 }\r
+\r
 .hpanel > .panel-footer {\r
-  color: inherit;\r
-  border: 1px solid #e4e5e7;\r
-  border-top: none;\r
-  font-size: 90%;\r
-  background: #f7f9fa;\r
-  height:40px;\r
-  padding: 5px 15px;\r
+    color: inherit;\r
+    border: 1px solid #e4e5e7;\r
+    border-top: none;\r
+    font-size: 90%;\r
+    background: #f7f9fa;\r
+    height: 40px;\r
+    padding: 5px 15px;\r
 }\r
-.color_cloud{\r
-       color:#ccc;\r
+\r
+.color_cloud {\r
+    color: #ccc;\r
 }\r
-.stats-title{\r
+\r
+.stats-title {\r
 \r
 }\r
 \r
-h3{\r
-  margin-top: 10px;\r
-  margin-bottom: 40px;\r
-  font-weight: 200;\r
+h3 {\r
+    margin-top: 10px;\r
+    margin-bottom: 40px;\r
+    font-weight: 200;\r
 }\r
 \r
-.blue-font{\r
-       color:#428bca;\r
+.blue-font {\r
+    color: #428bca;\r
 }\r
 \r
-.hpanel > .panel-footer .pull-right a{\r
-       margin-left: 5px;\r
+.hpanel > .panel-footer .pull-right a {\r
+    margin-left: 5px;\r
 }\r
 \r
-.hpanel > .panel-footer .pull-right .btn{\r
+.hpanel > .panel-footer .pull-right .btn {\r
     min-width: 30px !important;\r
 }\r
 \r
-.refresh-status-text{\r
-       float: right;\r
+.refresh-status-text {\r
+    float: right;\r
 }\r
 \r
 .font {\r
-  margin-bottom: 15px;\r
+    margin-bottom: 15px;\r
 }\r
 \r
-.hpanel_show{\r
-       cursor: pointer;\r
-       background-color: #f7f9fa;\r
+.hpanel_show {\r
+    cursor: pointer;\r
+    background-color: #f7f9fa;\r
 }\r
 \r
index 0af68c5..bb79d8e 100644 (file)
  * limitations under the License.\r
  */\r
 body {\r
-  color: #333;\r
-  font-family: "Microsoft yahei", Verdana, Arial, Helvetica, sans-serif !important;\r
-  padding: 0px !important;\r
-  margin: 0px !important;\r
-  direction: ltr;\r
-  background-color: #f1f3fa !important; \r
+    color: #333;\r
+    font-family: "Microsoft yahei", Verdana, Arial, Helvetica, sans-serif !important;\r
+    padding: 0px !important;\r
+    margin: 0px !important;\r
+    direction: ltr;\r
+    background-color: #f1f3fa !important;\r
 }\r
 \r
-.row{\r
-     margin-left: 0px; \r
-  margin-right: 0px; \r
+.row {\r
+    margin-left: 0px;\r
+    margin-right: 0px;\r
 }\r
 \r
 select {\r
-  border-width: 1px;\r
-  padding: 4px 1px;\r
-  border-radius: 4px;\r
+    border-width: 1px;\r
+    padding: 4px 1px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .container-fluid {\r
-  background-color: #fff;\r
+    background-color: #fff;\r
 }\r
 \r
-\r
 .titlefont {\r
-  font-size: 16px;\r
-   margin-left: 10px;\r
+    font-size: 16px;\r
+    margin-left: 10px;\r
 }\r
 \r
 .separator-line {\r
index 5549e5b..e37a048 100644 (file)
  * See the License for the specific language governing permissions and\r
  * limitations under the License.\r
  */\r
-function loadPropertiesSideMenu(lang, propertiesFileNamePrefix, propertiesFilePath){\r
+function loadPropertiesSideMenu(lang, propertiesFileNamePrefix, propertiesFilePath) {\r
     jQuery.i18n.properties({\r
-        language:lang,\r
-        name:propertiesFileNamePrefix,\r
-        path:propertiesFilePath, // 资源文件路径\r
-        mode:'map', // 用 Map 的方式使用资源文件中的值\r
-        callback: function() {// 加载成功后设置显示内容\r
+        language: lang,\r
+        name: propertiesFileNamePrefix,\r
+        path: propertiesFilePath, // 资源文件路径\r
+        mode: 'map', // 用 Map 的方式使用资源文件中的值\r
+        callback: function () {// 加载成功后设置显示内容\r
             var i18nItems = $('[name_i18n=com_zte_conductor_ui_i18n]');\r
-            for(var i=0;i<i18nItems.length;i++){\r
+            for (var i = 0; i < i18nItems.length; i++) {\r
                 var $item = $(i18nItems.eq(i));\r
                 var itemId = $item.attr('id_i18n');\r
                 var itemTitle = $item.attr('title');\r
                 /** id存在时元素内容需要国际化,title存在时元素title需要国际化 */\r
-                if(typeof($item.attr("title")) == "string"){\r
+                if (typeof($item.attr("title")) == "string") {\r
                     $item.attr("title", ($.i18n.prop(itemTitle)));\r
                 }\r
-                if(undefined != itemId && typeof($item.attr("placeholder"))=="undefined"){\r
+                if (undefined != itemId && typeof($item.attr("placeholder")) == "undefined") {\r
                     $item.text($.i18n.prop(itemId));\r
-                }else if(undefined != itemId && typeof($item.attr("placeholder"))!="undefined"){\r
+                } else if (undefined != itemId && typeof($item.attr("placeholder")) != "undefined") {\r
                     $item.attr("placeholder", $.i18n.prop(itemId));\r
                 }\r
             }\r
index 5f9a5dc..d737366 100644 (file)
 /**\r
  * Created by 10184303 on 15-11-17.\r
  */\r
-       \r
-$(function(){\r
-    var registerCometdMessage = function(url, callback) {\r
-        var cometd = new $.Cometd(); \r
+\r
+$(function () {\r
+    var registerCometdMessage = function (url, callback) {\r
+        var cometd = new $.Cometd();\r
         var cometdURL = location.protocol + "//" + location.host + "/api/nsocnotification/v1";\r
         cometd.configure({\r
-            url : cometdURL,\r
-            logLevel : "debug"\r
+            url: cometdURL,\r
+            logLevel: "debug"\r
         });\r
 \r
-        cometd.addListener("/meta/handshake", function(handshake){\r
-            if(handshake.successful === true) {\r
-                cometd.batch(function(){\r
-                    cometd.subscribe(url, function(message){\r
+        cometd.addListener("/meta/handshake", function (handshake) {\r
+            if (handshake.successful === true) {\r
+                cometd.batch(function () {\r
+                    cometd.subscribe(url, function (message) {\r
                         callback.call(this, message.data);\r
                     });\r
                 });\r
             }\r
         });\r
         cometd.handshake();\r
-}\r
-    registerCometdMessage("/VIMstatus", function(data){\r
-                    var alarmArray= JSON.parse(data.greeting);\r
-                    console.log(data.greeting);\r
-                    for(var i=0;i<alarmArray.length;i++){\r
-                                               vm.vimStatusTime = alarmArray[i].checkTime;\r
-                        for(var n=0;n<vm.vimInfo.length;n++){\r
-                            if(alarmArray[i].id==vm.vimInfo[n].oid && alarmArray[i].hostStorageInfo == ""){\r
-                                vm.vimInfo[n].status=alarmArray[i].status;\r
-                                vm.vimInfo[n].errorInfo=alarmArray[i].alarmContent;\r
-                                break;\r
-                            } \r
-                                                       if(alarmArray[i].id==vm.vimInfo[n].oid && alarmArray[i].hostStorageInfo.length != ""){\r
-                                                               vm.vimInfo[n].status= "inactive";\r
-                                vm.vimInfo[n].errorInfo = alarmArray[i].hostStorageInfo;\r
-                                break;\r
-                                                       }\r
+    }\r
+    registerCometdMessage("/VIMstatus", function (data) {\r
+        var alarmArray = JSON.parse(data.greeting);\r
+        console.log(data.greeting);\r
+        for (var i = 0; i < alarmArray.length; i++) {\r
+            vm.vimStatusTime = alarmArray[i].checkTime;\r
+            for (var n = 0; n < vm.vimInfo.length; n++) {\r
+                if (alarmArray[i].id == vm.vimInfo[n].oid && alarmArray[i].hostStorageInfo == "") {\r
+                    vm.vimInfo[n].status = alarmArray[i].status;\r
+                    vm.vimInfo[n].errorInfo = alarmArray[i].alarmContent;\r
+                    break;\r
+                }\r
+                if (alarmArray[i].id == vm.vimInfo[n].oid && alarmArray[i].hostStorageInfo.length != "") {\r
+                    vm.vimInfo[n].status = "inactive";\r
+                    vm.vimInfo[n].errorInfo = alarmArray[i].hostStorageInfo;\r
+                    break;\r
+                }\r
 \r
-                        }\r
-                    }\r
+            }\r
+        }\r
 \r
-                    setTimeout('resUtil.tooltipVimStatus()',5000);\r
-     });\r
+        setTimeout('resUtil.tooltipVimStatus()', 5000);\r
+    });\r
 });\r
 \r
index d57e07d..7efebf8 100644 (file)
  * http://ReactiveRaven.github.com/jqBootstrapValidation/\r
  */\r
 \r
-(function( $ ){\r
+(function ($) {\r
 \r
-       var createdElements = [];\r
+    var createdElements = [];\r
 \r
-       var defaults = {\r
-               options: {\r
-                       prependExistingHelpBlock: false,\r
-                       sniffHtml: true, // sniff for 'required', 'maxlength', etc\r
-                       preventSubmit: true, // stop the form submit event from firing if validation fails\r
-                       submitError: false, // function called if there is an error when trying to submit\r
-                       submitSuccess: false, // function called just before a successful submit event is sent to the server\r
+    var defaults = {\r
+        options: {\r
+            prependExistingHelpBlock: false,\r
+            sniffHtml: true, // sniff for 'required', 'maxlength', etc\r
+            preventSubmit: true, // stop the form submit event from firing if validation fails\r
+            submitError: false, // function called if there is an error when trying to submit\r
+            submitSuccess: false, // function called just before a successful submit event is sent to the server\r
             semanticallyStrict: false, // set to true to tidy up generated HTML output\r
-                       autoAdd: {\r
-                               helpBlocks: true\r
-                       },\r
+            autoAdd: {\r
+                helpBlocks: true\r
+            },\r
             filter: function () {\r
                 // return $(this).is(":visible"); // only validate elements you can see\r
                 return true; // validate everything\r
             }\r
-               },\r
-    methods: {\r
-      init : function( options ) {\r
-\r
-        var settings = $.extend(true, {}, defaults);\r
-\r
-        settings.options = $.extend(true, settings.options, options);\r
-\r
-        var $siblingElements = this;\r
-\r
-        var uniqueForms = $.unique(\r
-          $siblingElements.map( function () {\r
-            return $(this).parents("form")[0];\r
-          }).toArray()\r
-        );\r
-\r
-        $(uniqueForms).bind("submit", function (e) {\r
-          var $form = $(this);\r
-          var warningsFound = 0;\r
-          var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);\r
-          $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");\r
-\r
-          $inputs.each(function (i, el) {\r
-            var $this = $(el),\r
-              $controlGroup = $this.parents(".control-group").first();\r
-            if (\r
-              $controlGroup.hasClass("warning")\r
-            ) {\r
-              $controlGroup.removeClass("warning").addClass("error");\r
-              warningsFound++;\r
-            }\r
-          });\r
+        },\r
+        methods: {\r
+            init: function (options) {\r
 \r
-          $inputs.trigger("validationLostFocus.validation");\r
+                var settings = $.extend(true, {}, defaults);\r
 \r
-          if (warningsFound) {\r
-            if (settings.options.preventSubmit) {\r
-              e.preventDefault();\r
-            }\r
-            $form.addClass("error");\r
-            if ($.isFunction(settings.options.submitError)) {\r
-              settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));\r
-            }\r
-          } else {\r
-            $form.removeClass("error");\r
-            if ($.isFunction(settings.options.submitSuccess)) {\r
-              settings.options.submitSuccess($form, e);\r
-            }\r
-          }\r
-        });\r
-\r
-        return this.each(function(){\r
-\r
-          // Get references to everything we're interested in\r
-          var $this = $(this),\r
-            $controlGroup = $this.parents(".control-group").first(),\r
-            $helpBlock = $controlGroup.find(".help-block").first(),\r
-            $form = $this.parents("form").first(),\r
-            validatorNames = [];\r
-\r
-          // create message container if not exists\r
-          if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {\r
-              $helpBlock = $('<div class="help-block" />');\r
-              $controlGroup.find('.controls').append($helpBlock);\r
-                                                       createdElements.push($helpBlock[0]);\r
-          }\r
-\r
-          // =============================================================\r
-          //                                     SNIFF HTML FOR VALIDATORS\r
-          // =============================================================\r
-\r
-          // *snort sniff snuffle*\r
-\r
-          if (settings.options.sniffHtml) {\r
-            var message = "";\r
-            // ---------------------------------------------------------\r
-            //                                                   PATTERN\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("pattern") !== undefined) {\r
-              message = "Not in the expected format<!-- data-validation-pattern-message to override -->";\r
-              if ($this.data("validationPatternMessage")) {\r
-                message = $this.data("validationPatternMessage");\r
-              }\r
-              $this.data("validationPatternMessage", message);\r
-              $this.data("validationPatternRegex", $this.attr("pattern"));\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                       MAX\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {\r
-              var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));\r
-              message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";\r
-              if ($this.data("validationMaxMessage")) {\r
-                message = $this.data("validationMaxMessage");\r
-              }\r
-              $this.data("validationMaxMessage", message);\r
-              $this.data("validationMaxMax", max);\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                       MIN\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {\r
-              var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));\r
-              message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";\r
-              if ($this.data("validationMinMessage")) {\r
-                message = $this.data("validationMinMessage");\r
-              }\r
-              $this.data("validationMinMessage", message);\r
-              $this.data("validationMinMin", min);\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                 MAXLENGTH\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("maxlength") !== undefined) {\r
-              message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";\r
-              if ($this.data("validationMaxlengthMessage")) {\r
-                message = $this.data("validationMaxlengthMessage");\r
-              }\r
-              $this.data("validationMaxlengthMessage", message);\r
-              $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                 MINLENGTH\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("minlength") !== undefined) {\r
-              message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";\r
-              if ($this.data("validationMinlengthMessage")) {\r
-                message = $this.data("validationMinlengthMessage");\r
-              }\r
-              $this.data("validationMinlengthMessage", message);\r
-              $this.data("validationMinlengthMinlength", $this.attr("minlength"));\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                  REQUIRED\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {\r
-              message = settings.builtInValidators.required.message;\r
-              if ($this.data("validationRequiredMessage")) {\r
-                message = $this.data("validationRequiredMessage");\r
-              }\r
-              $this.data("validationRequiredMessage", message);\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                    NUMBER\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {\r
-              message = settings.builtInValidators.number.message;\r
-              if ($this.data("validationNumberMessage")) {\r
-                message = $this.data("validationNumberMessage");\r
-              }\r
-              $this.data("validationNumberMessage", message);\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                     EMAIL\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {\r
-              message = "Not a valid email address<!-- data-validator-validemail-message to override -->";\r
-              if ($this.data("validationValidemailMessage")) {\r
-                message = $this.data("validationValidemailMessage");\r
-              } else if ($this.data("validationEmailMessage")) {\r
-                message = $this.data("validationEmailMessage");\r
-              }\r
-              $this.data("validationValidemailMessage", message);\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                MINCHECKED\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("minchecked") !== undefined) {\r
-              message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";\r
-              if ($this.data("validationMincheckedMessage")) {\r
-                message = $this.data("validationMincheckedMessage");\r
-              }\r
-              $this.data("validationMincheckedMessage", message);\r
-              $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));\r
-            }\r
-            // ---------------------------------------------------------\r
-            //                                                MAXCHECKED\r
-            // ---------------------------------------------------------\r
-            if ($this.attr("maxchecked") !== undefined) {\r
-              message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";\r
-              if ($this.data("validationMaxcheckedMessage")) {\r
-                message = $this.data("validationMaxcheckedMessage");\r
-              }\r
-              $this.data("validationMaxcheckedMessage", message);\r
-              $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));\r
-            }\r
-          }\r
-\r
-          // =============================================================\r
-          //                                       COLLECT VALIDATOR NAMES\r
-          // =============================================================\r
-\r
-          // Get named validators\r
-          if ($this.data("validation") !== undefined) {\r
-            validatorNames = $this.data("validation").split(",");\r
-          }\r
-\r
-          // Get extra ones defined on the element's data attributes\r
-          $.each($this.data(), function (i, el) {\r
-            var parts = i.replace(/([A-Z])/g, ",$1").split(",");\r
-            if (parts[0] === "validation" && parts[1]) {\r
-              validatorNames.push(parts[1]);\r
-            }\r
-          });\r
-\r
-          // =============================================================\r
-          //                                     NORMALISE VALIDATOR NAMES\r
-          // =============================================================\r
-\r
-          var validatorNamesToInspect = validatorNames;\r
-          var newValidatorNamesToInspect = [];\r
-\r
-          do // repeatedly expand 'shortcut' validators into their real validators\r
-          {\r
-            // Uppercase only the first letter of each name\r
-            $.each(validatorNames, function (i, el) {\r
-              validatorNames[i] = formatValidatorName(el);\r
-            });\r
-\r
-            // Remove duplicate validator names\r
-            validatorNames = $.unique(validatorNames);\r
-\r
-            // Pull out the new validator names from each shortcut\r
-            newValidatorNamesToInspect = [];\r
-            $.each(validatorNamesToInspect, function(i, el) {\r
-              if ($this.data("validation" + el + "Shortcut") !== undefined) {\r
-                // Are these custom validators?\r
-                // Pull them out!\r
-                $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {\r
-                  newValidatorNamesToInspect.push(el2);\r
+                settings.options = $.extend(true, settings.options, options);\r
+\r
+                var $siblingElements = this;\r
+\r
+                var uniqueForms = $.unique(\r
+                    $siblingElements.map(function () {\r
+                        return $(this).parents("form")[0];\r
+                    }).toArray()\r
+                );\r
+\r
+                $(uniqueForms).bind("submit", function (e) {\r
+                    var $form = $(this);\r
+                    var warningsFound = 0;\r
+                    var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);\r
+                    $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");\r
+\r
+                    $inputs.each(function (i, el) {\r
+                        var $this = $(el),\r
+                            $controlGroup = $this.parents(".control-group").first();\r
+                        if (\r
+                            $controlGroup.hasClass("warning")\r
+                        ) {\r
+                            $controlGroup.removeClass("warning").addClass("error");\r
+                            warningsFound++;\r
+                        }\r
+                    });\r
+\r
+                    $inputs.trigger("validationLostFocus.validation");\r
+\r
+                    if (warningsFound) {\r
+                        if (settings.options.preventSubmit) {\r
+                            e.preventDefault();\r
+                        }\r
+                        $form.addClass("error");\r
+                        if ($.isFunction(settings.options.submitError)) {\r
+                            settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));\r
+                        }\r
+                    } else {\r
+                        $form.removeClass("error");\r
+                        if ($.isFunction(settings.options.submitSuccess)) {\r
+                            settings.options.submitSuccess($form, e);\r
+                        }\r
+                    }\r
                 });\r
-              } else if (settings.builtInValidators[el.toLowerCase()]) {\r
-                // Is this a recognised built-in?\r
-                // Pull it out!\r
-                var validator = settings.builtInValidators[el.toLowerCase()];\r
-                if (validator.type.toLowerCase() === "shortcut") {\r
-                  $.each(validator.shortcut.split(","), function (i, el) {\r
-                    el = formatValidatorName(el);\r
-                    newValidatorNamesToInspect.push(el);\r
-                    validatorNames.push(el);\r
-                  });\r
-                }\r
-              }\r
-            });\r
-\r
-            validatorNamesToInspect = newValidatorNamesToInspect;\r
-\r
-          } while (validatorNamesToInspect.length > 0)\r
-\r
-          // =============================================================\r
-          //                                       SET UP VALIDATOR ARRAYS\r
-          // =============================================================\r
-\r
-          var validators = {};\r
-\r
-          $.each(validatorNames, function (i, el) {\r
-            // Set up the 'override' message\r
-            var message = $this.data("validation" + el + "Message");\r
-            var hasOverrideMessage = (message !== undefined);\r
-            var foundValidator = false;\r
-            message =\r
-              (\r
-                message\r
-                  ? message\r
-                  : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"\r
-              )\r
-            ;\r
 \r
-            $.each(\r
-              settings.validatorTypes,\r
-              function (validatorType, validatorTemplate) {\r
-                if (validators[validatorType] === undefined) {\r
-                  validators[validatorType] = [];\r
-                }\r
-                if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {\r
-                  validators[validatorType].push(\r
-                    $.extend(\r
-                      true,\r
-                      {\r
-                        name: formatValidatorName(validatorTemplate.name),\r
-                        message: message\r
-                      },\r
-                      validatorTemplate.init($this, el)\r
-                    )\r
-                  );\r
-                  foundValidator = true;\r
-                }\r
-              }\r
-            );\r
-\r
-            if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {\r
-\r
-              var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);\r
-              if (hasOverrideMessage) {\r
-                validator.message = message;\r
-              }\r
-              var validatorType = validator.type.toLowerCase();\r
-\r
-              if (validatorType === "shortcut") {\r
-                foundValidator = true;\r
-              } else {\r
-                $.each(\r
-                  settings.validatorTypes,\r
-                  function (validatorTemplateType, validatorTemplate) {\r
-                    if (validators[validatorTemplateType] === undefined) {\r
-                      validators[validatorTemplateType] = [];\r
+                return this.each(function () {\r
+\r
+                    // Get references to everything we're interested in\r
+                    var $this = $(this),\r
+                        $controlGroup = $this.parents(".control-group").first(),\r
+                        $helpBlock = $controlGroup.find(".help-block").first(),\r
+                        $form = $this.parents("form").first(),\r
+                        validatorNames = [];\r
+\r
+                    // create message container if not exists\r
+                    if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {\r
+                        $helpBlock = $('<div class="help-block" />');\r
+                        $controlGroup.find('.controls').append($helpBlock);\r
+                        createdElements.push($helpBlock[0]);\r
+                    }\r
+\r
+                    // =============================================================\r
+                    //                                     SNIFF HTML FOR VALIDATORS\r
+                    // =============================================================\r
+\r
+                    // *snort sniff snuffle*\r
+\r
+                    if (settings.options.sniffHtml) {\r
+                        var message = "";\r
+                        // ---------------------------------------------------------\r
+                        //                                                   PATTERN\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("pattern") !== undefined) {\r
+                            message = "Not in the expected format<!-- data-validation-pattern-message to override -->";\r
+                            if ($this.data("validationPatternMessage")) {\r
+                                message = $this.data("validationPatternMessage");\r
+                            }\r
+                            $this.data("validationPatternMessage", message);\r
+                            $this.data("validationPatternRegex", $this.attr("pattern"));\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                       MAX\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {\r
+                            var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));\r
+                            message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";\r
+                            if ($this.data("validationMaxMessage")) {\r
+                                message = $this.data("validationMaxMessage");\r
+                            }\r
+                            $this.data("validationMaxMessage", message);\r
+                            $this.data("validationMaxMax", max);\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                       MIN\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {\r
+                            var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));\r
+                            message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";\r
+                            if ($this.data("validationMinMessage")) {\r
+                                message = $this.data("validationMinMessage");\r
+                            }\r
+                            $this.data("validationMinMessage", message);\r
+                            $this.data("validationMinMin", min);\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                 MAXLENGTH\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("maxlength") !== undefined) {\r
+                            message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";\r
+                            if ($this.data("validationMaxlengthMessage")) {\r
+                                message = $this.data("validationMaxlengthMessage");\r
+                            }\r
+                            $this.data("validationMaxlengthMessage", message);\r
+                            $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                 MINLENGTH\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("minlength") !== undefined) {\r
+                            message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";\r
+                            if ($this.data("validationMinlengthMessage")) {\r
+                                message = $this.data("validationMinlengthMessage");\r
+                            }\r
+                            $this.data("validationMinlengthMessage", message);\r
+                            $this.data("validationMinlengthMinlength", $this.attr("minlength"));\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                  REQUIRED\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {\r
+                            message = settings.builtInValidators.required.message;\r
+                            if ($this.data("validationRequiredMessage")) {\r
+                                message = $this.data("validationRequiredMessage");\r
+                            }\r
+                            $this.data("validationRequiredMessage", message);\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                    NUMBER\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {\r
+                            message = settings.builtInValidators.number.message;\r
+                            if ($this.data("validationNumberMessage")) {\r
+                                message = $this.data("validationNumberMessage");\r
+                            }\r
+                            $this.data("validationNumberMessage", message);\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                     EMAIL\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {\r
+                            message = "Not a valid email address<!-- data-validator-validemail-message to override -->";\r
+                            if ($this.data("validationValidemailMessage")) {\r
+                                message = $this.data("validationValidemailMessage");\r
+                            } else if ($this.data("validationEmailMessage")) {\r
+                                message = $this.data("validationEmailMessage");\r
+                            }\r
+                            $this.data("validationValidemailMessage", message);\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                MINCHECKED\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("minchecked") !== undefined) {\r
+                            message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";\r
+                            if ($this.data("validationMincheckedMessage")) {\r
+                                message = $this.data("validationMincheckedMessage");\r
+                            }\r
+                            $this.data("validationMincheckedMessage", message);\r
+                            $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));\r
+                        }\r
+                        // ---------------------------------------------------------\r
+                        //                                                MAXCHECKED\r
+                        // ---------------------------------------------------------\r
+                        if ($this.attr("maxchecked") !== undefined) {\r
+                            message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";\r
+                            if ($this.data("validationMaxcheckedMessage")) {\r
+                                message = $this.data("validationMaxcheckedMessage");\r
+                            }\r
+                            $this.data("validationMaxcheckedMessage", message);\r
+                            $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));\r
+                        }\r
+                    }\r
+\r
+                    // =============================================================\r
+                    //                                       COLLECT VALIDATOR NAMES\r
+                    // =============================================================\r
+\r
+                    // Get named validators\r
+                    if ($this.data("validation") !== undefined) {\r
+                        validatorNames = $this.data("validation").split(",");\r
                     }\r
-                    if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {\r
-                      $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);\r
-                      validators[validatorType].push(\r
-                        $.extend(\r
-                          validator,\r
-                          validatorTemplate.init($this, el)\r
+\r
+                    // Get extra ones defined on the element's data attributes\r
+                    $.each($this.data(), function (i, el) {\r
+                        var parts = i.replace(/([A-Z])/g, ",$1").split(",");\r
+                        if (parts[0] === "validation" && parts[1]) {\r
+                            validatorNames.push(parts[1]);\r
+                        }\r
+                    });\r
+\r
+                    // =============================================================\r
+                    //                                     NORMALISE VALIDATOR NAMES\r
+                    // =============================================================\r
+\r
+                    var validatorNamesToInspect = validatorNames;\r
+                    var newValidatorNamesToInspect = [];\r
+\r
+                    do // repeatedly expand 'shortcut' validators into their real validators\r
+                    {\r
+                        // Uppercase only the first letter of each name\r
+                        $.each(validatorNames, function (i, el) {\r
+                            validatorNames[i] = formatValidatorName(el);\r
+                        });\r
+\r
+                        // Remove duplicate validator names\r
+                        validatorNames = $.unique(validatorNames);\r
+\r
+                        // Pull out the new validator names from each shortcut\r
+                        newValidatorNamesToInspect = [];\r
+                        $.each(validatorNamesToInspect, function (i, el) {\r
+                            if ($this.data("validation" + el + "Shortcut") !== undefined) {\r
+                                // Are these custom validators?\r
+                                // Pull them out!\r
+                                $.each($this.data("validation" + el + "Shortcut").split(","), function (i2, el2) {\r
+                                    newValidatorNamesToInspect.push(el2);\r
+                                });\r
+                            } else if (settings.builtInValidators[el.toLowerCase()]) {\r
+                                // Is this a recognised built-in?\r
+                                // Pull it out!\r
+                                var validator = settings.builtInValidators[el.toLowerCase()];\r
+                                if (validator.type.toLowerCase() === "shortcut") {\r
+                                    $.each(validator.shortcut.split(","), function (i, el) {\r
+                                        el = formatValidatorName(el);\r
+                                        newValidatorNamesToInspect.push(el);\r
+                                        validatorNames.push(el);\r
+                                    });\r
+                                }\r
+                            }\r
+                        });\r
+\r
+                        validatorNamesToInspect = newValidatorNamesToInspect;\r
+\r
+                    } while (validatorNamesToInspect.length > 0)\r
+\r
+                    // =============================================================\r
+                    //                                       SET UP VALIDATOR ARRAYS\r
+                    // =============================================================\r
+\r
+                    var validators = {};\r
+\r
+                    $.each(validatorNames, function (i, el) {\r
+                        // Set up the 'override' message\r
+                        var message = $this.data("validation" + el + "Message");\r
+                        var hasOverrideMessage = (message !== undefined);\r
+                        var foundValidator = false;\r
+                        message =\r
+                            (\r
+                                message\r
+                                    ? message\r
+                                    : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"\r
+                            )\r
+                        ;\r
+\r
+                        $.each(\r
+                            settings.validatorTypes,\r
+                            function (validatorType, validatorTemplate) {\r
+                                if (validators[validatorType] === undefined) {\r
+                                    validators[validatorType] = [];\r
+                                }\r
+                                if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {\r
+                                    validators[validatorType].push(\r
+                                        $.extend(\r
+                                            true,\r
+                                            {\r
+                                                name: formatValidatorName(validatorTemplate.name),\r
+                                                message: message\r
+                                            },\r
+                                            validatorTemplate.init($this, el)\r
+                                        )\r
+                                    );\r
+                                    foundValidator = true;\r
+                                }\r
+                            }\r
+                        );\r
+\r
+                        if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {\r
+\r
+                            var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);\r
+                            if (hasOverrideMessage) {\r
+                                validator.message = message;\r
+                            }\r
+                            var validatorType = validator.type.toLowerCase();\r
+\r
+                            if (validatorType === "shortcut") {\r
+                                foundValidator = true;\r
+                            } else {\r
+                                $.each(\r
+                                    settings.validatorTypes,\r
+                                    function (validatorTemplateType, validatorTemplate) {\r
+                                        if (validators[validatorTemplateType] === undefined) {\r
+                                            validators[validatorTemplateType] = [];\r
+                                        }\r
+                                        if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {\r
+                                            $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);\r
+                                            validators[validatorType].push(\r
+                                                $.extend(\r
+                                                    validator,\r
+                                                    validatorTemplate.init($this, el)\r
+                                                )\r
+                                            );\r
+                                            foundValidator = true;\r
+                                        }\r
+                                    }\r
+                                );\r
+                            }\r
+                        }\r
+\r
+                        if (!foundValidator) {\r
+                            $.error("Cannot find validation info for '" + el + "'");\r
+                        }\r
+                    });\r
+\r
+                    // =============================================================\r
+                    //                                         STORE FALLBACK VALUES\r
+                    // =============================================================\r
+\r
+                    $helpBlock.data(\r
+                        "original-contents",\r
+                        (\r
+                            $helpBlock.data("original-contents")\r
+                                ? $helpBlock.data("original-contents")\r
+                                : $helpBlock.html()\r
+                        )\r
+                    );\r
+\r
+                    $helpBlock.data(\r
+                        "original-role",\r
+                        (\r
+                            $helpBlock.data("original-role")\r
+                                ? $helpBlock.data("original-role")\r
+                                : $helpBlock.attr("role")\r
+                        )\r
+                    );\r
+\r
+                    $controlGroup.data(\r
+                        "original-classes",\r
+                        (\r
+                            $controlGroup.data("original-clases")\r
+                                ? $controlGroup.data("original-classes")\r
+                                : $controlGroup.attr("class")\r
                         )\r
-                      );\r
-                      foundValidator = true;\r
+                    );\r
+\r
+                    $this.data(\r
+                        "original-aria-invalid",\r
+                        (\r
+                            $this.data("original-aria-invalid")\r
+                                ? $this.data("original-aria-invalid")\r
+                                : $this.attr("aria-invalid")\r
+                        )\r
+                    );\r
+\r
+                    // =============================================================\r
+                    //                                                    VALIDATION\r
+                    // =============================================================\r
+\r
+                    $this.bind(\r
+                        "validation.validation",\r
+                        function (event, params) {\r
+\r
+                            var value = getValue($this);\r
+\r
+                            // Get a list of the errors to apply\r
+                            var errorsFound = [];\r
+\r
+                            $.each(validators, function (validatorType, validatorTypeArray) {\r
+                                if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {\r
+                                    $.each(validatorTypeArray, function (i, validator) {\r
+                                        if (settings.validatorTypes[validatorType].validate($this, value, validator)) {\r
+                                            errorsFound.push(validator.message);\r
+                                        }\r
+                                    });\r
+                                }\r
+                            });\r
+\r
+                            return errorsFound;\r
+                        }\r
+                    );\r
+\r
+                    $this.bind(\r
+                        "getValidators.validation",\r
+                        function () {\r
+                            return validators;\r
+                        }\r
+                    );\r
+\r
+                    // =============================================================\r
+                    //                                             WATCH FOR CHANGES\r
+                    // =============================================================\r
+                    $this.bind(\r
+                        "submit.validation",\r
+                        function () {\r
+                            return $this.triggerHandler("change.validation", {submitting: true});\r
+                        }\r
+                    );\r
+                    $this.bind(\r
+                        [\r
+                            "keyup",\r
+                            "focus",\r
+                            "blur",\r
+                            "click",\r
+                            "keydown",\r
+                            "keypress",\r
+                            "change"\r
+                        ].join(".validation ") + ".validation",\r
+                        function (e, params) {\r
+\r
+                            var value = getValue($this);\r
+\r
+                            var errorsFound = [];\r
+\r
+                            $controlGroup.find("input,textarea,select").each(function (i, el) {\r
+                                var oldCount = errorsFound.length;\r
+                                $.each($(el).triggerHandler("validation.validation", params), function (j, message) {\r
+                                    errorsFound.push(message);\r
+                                });\r
+                                if (errorsFound.length > oldCount) {\r
+                                    $(el).attr("aria-invalid", "true");\r
+                                } else {\r
+                                    var original = $this.data("original-aria-invalid");\r
+                                    $(el).attr("aria-invalid", (original !== undefined ? original : false));\r
+                                }\r
+                            });\r
+\r
+                            $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");\r
+\r
+                            errorsFound = $.unique(errorsFound.sort());\r
+\r
+                            // Were there any errors?\r
+                            if (errorsFound.length) {\r
+                                // Better flag it up as a warning.\r
+                                $controlGroup.removeClass("success error").addClass("warning");\r
+\r
+                                // How many errors did we find?\r
+                                if (settings.options.semanticallyStrict && errorsFound.length === 1) {\r
+                                    // Only one? Being strict? Just output it.\r
+                                    $helpBlock.html(errorsFound[0] +\r
+                                        ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));\r
+                                } else {\r
+                                    // Multiple? Being sloppy? Glue them together into an UL.\r
+                                    $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +\r
+                                        ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));\r
+                                }\r
+                            } else {\r
+                                $controlGroup.removeClass("warning error success");\r
+                                if (value.length > 0) {\r
+                                    $controlGroup.addClass("success");\r
+                                }\r
+                                $helpBlock.html($helpBlock.data("original-contents"));\r
+                            }\r
+\r
+                            if (e.type === "blur") {\r
+                                $controlGroup.removeClass("success");\r
+                            }\r
+                        }\r
+                    );\r
+                    $this.bind("validationLostFocus.validation", function () {\r
+                        $controlGroup.removeClass("success");\r
+                    });\r
+                });\r
+            },\r
+            destroy: function () {\r
+\r
+                return this.each(\r
+                    function () {\r
+\r
+                        var\r
+                            $this = $(this),\r
+                            $controlGroup = $this.parents(".control-group").first(),\r
+                            $helpBlock = $controlGroup.find(".help-block").first();\r
+\r
+                        // remove our events\r
+                        $this.unbind('.validation'); // events are namespaced.\r
+                        // reset help text\r
+                        $helpBlock.html($helpBlock.data("original-contents"));\r
+                        // reset classes\r
+                        $controlGroup.attr("class", $controlGroup.data("original-classes"));\r
+                        // reset aria\r
+                        $this.attr("aria-invalid", $this.data("original-aria-invalid"));\r
+                        // reset role\r
+                        $helpBlock.attr("role", $this.data("original-role"));\r
+                        // remove all elements we created\r
+                        if (createdElements.indexOf($helpBlock[0]) > -1) {\r
+                            $helpBlock.remove();\r
+                        }\r
+\r
                     }\r
-                  }\r
                 );\r
-              }\r
-            }\r
 \r
-            if (! foundValidator) {\r
-              $.error("Cannot find validation info for '" + el + "'");\r
-            }\r
-          });\r
-\r
-          // =============================================================\r
-          //                                         STORE FALLBACK VALUES\r
-          // =============================================================\r
-\r
-          $helpBlock.data(\r
-            "original-contents",\r
-            (\r
-              $helpBlock.data("original-contents")\r
-                ? $helpBlock.data("original-contents")\r
-                : $helpBlock.html()\r
-            )\r
-          );\r
-\r
-          $helpBlock.data(\r
-            "original-role",\r
-            (\r
-              $helpBlock.data("original-role")\r
-                ? $helpBlock.data("original-role")\r
-                : $helpBlock.attr("role")\r
-            )\r
-          );\r
-\r
-          $controlGroup.data(\r
-            "original-classes",\r
-            (\r
-              $controlGroup.data("original-clases")\r
-                ? $controlGroup.data("original-classes")\r
-                : $controlGroup.attr("class")\r
-            )\r
-          );\r
-\r
-          $this.data(\r
-            "original-aria-invalid",\r
-            (\r
-              $this.data("original-aria-invalid")\r
-                ? $this.data("original-aria-invalid")\r
-                : $this.attr("aria-invalid")\r
-            )\r
-          );\r
+            },\r
+            collectErrors: function (includeEmpty) {\r
+\r
+                var errorMessages = {};\r
+                this.each(function (i, el) {\r
+                    var $el = $(el);\r
+                    var name = $el.attr("name");\r
+                    var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});\r
+                    errorMessages[name] = $.extend(true, errors, errorMessages[name]);\r
+                });\r
+\r
+                $.each(errorMessages, function (i, el) {\r
+                    if (el.length === 0) {\r
+                        delete errorMessages[i];\r
+                    }\r
+                });\r
+\r
+                return errorMessages;\r
 \r
-          // =============================================================\r
-          //                                                    VALIDATION\r
-          // =============================================================\r
+            },\r
+            hasErrors: function () {\r
 \r
-          $this.bind(\r
-            "validation.validation",\r
-            function (event, params) {\r
+                var errorMessages = [];\r
 \r
-              var value = getValue($this);\r
+                this.each(function (i, el) {\r
+                    errorMessages = errorMessages.concat(\r
+                        $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []\r
+                    );\r
+                });\r
 \r
-              // Get a list of the errors to apply\r
-              var errorsFound = [];\r
+                return (errorMessages.length > 0);\r
+            },\r
+            override: function (newDefaults) {\r
+                defaults = $.extend(true, defaults, newDefaults);\r
+            }\r
+        },\r
+        validatorTypes: {\r
+            callback: {\r
+                name: "callback",\r
+                init: function ($this, name) {\r
+                    return {\r
+                        validatorName: name,\r
+                        callback: $this.data("validation" + name + "Callback"),\r
+                        lastValue: $this.val(),\r
+                        lastValid: true,\r
+                        lastFinished: true\r
+                    };\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    if (validator.lastValue === value && validator.lastFinished) {\r
+                        return !validator.lastValid;\r
+                    }\r
 \r
-              $.each(validators, function (validatorType, validatorTypeArray) {\r
-                if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {\r
-                  $.each(validatorTypeArray, function (i, validator) {\r
-                    if (settings.validatorTypes[validatorType].validate($this, value, validator)) {\r
-                      errorsFound.push(validator.message);\r
+                    if (validator.lastFinished === true) {\r
+                        validator.lastValue = value;\r
+                        validator.lastValid = true;\r
+                        validator.lastFinished = false;\r
+\r
+                        var rrjqbvValidator = validator;\r
+                        var rrjqbvThis = $this;\r
+                        executeFunctionByName(\r
+                            validator.callback,\r
+                            window,\r
+                            $this,\r
+                            value,\r
+                            function (data) {\r
+                                if (rrjqbvValidator.lastValue === data.value) {\r
+                                    rrjqbvValidator.lastValid = data.valid;\r
+                                    if (data.message) {\r
+                                        rrjqbvValidator.message = data.message;\r
+                                    }\r
+                                    rrjqbvValidator.lastFinished = true;\r
+                                    rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);\r
+                                    // Timeout is set to avoid problems with the events being considered 'already fired'\r
+                                    setTimeout(function () {\r
+                                        rrjqbvThis.trigger("change.validation");\r
+                                    }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
+                                }\r
+                            }\r
+                        );\r
                     }\r
-                  });\r
+\r
+                    return false;\r
+\r
                 }\r
-              });\r
+            },\r
+            ajax: {\r
+                name: "ajax",\r
+                init: function ($this, name) {\r
+                    return {\r
+                        validatorName: name,\r
+                        url: $this.data("validation" + name + "Ajax"),\r
+                        lastValue: $this.val(),\r
+                        lastValid: true,\r
+                        lastFinished: true\r
+                    };\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    if ("" + validator.lastValue === "" + value && validator.lastFinished === true) {\r
+                        return validator.lastValid === false;\r
+                    }\r
 \r
-              return errorsFound;\r
-            }\r
-          );\r
+                    if (validator.lastFinished === true) {\r
+                        validator.lastValue = value;\r
+                        validator.lastValid = true;\r
+                        validator.lastFinished = false;\r
+                        $.ajax({\r
+                            url: validator.url,\r
+                            data: "value=" + value + "&field=" + $this.attr("name"),\r
+                            dataType: "json",\r
+                            success: function (data) {\r
+                                if ("" + validator.lastValue === "" + data.value) {\r
+                                    validator.lastValid = !!(data.valid);\r
+                                    if (data.message) {\r
+                                        validator.message = data.message;\r
+                                    }\r
+                                    validator.lastFinished = true;\r
+                                    $this.data("validation" + validator.validatorName + "Message", validator.message);\r
+                                    // Timeout is set to avoid problems with the events being considered 'already fired'\r
+                                    setTimeout(function () {\r
+                                        $this.trigger("change.validation");\r
+                                    }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
+                                }\r
+                            },\r
+                            failure: function () {\r
+                                validator.lastValid = true;\r
+                                validator.message = "ajax call failed";\r
+                                validator.lastFinished = true;\r
+                                $this.data("validation" + validator.validatorName + "Message", validator.message);\r
+                                // Timeout is set to avoid problems with the events being considered 'already fired'\r
+                                setTimeout(function () {\r
+                                    $this.trigger("change.validation");\r
+                                }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
+                            }\r
+                        });\r
+                    }\r
+\r
+                    return false;\r
 \r
-          $this.bind(\r
-            "getValidators.validation",\r
-            function () {\r
-              return validators;\r
-            }\r
-          );\r
-\r
-          // =============================================================\r
-          //                                             WATCH FOR CHANGES\r
-          // =============================================================\r
-          $this.bind(\r
-            "submit.validation",\r
-            function () {\r
-              return $this.triggerHandler("change.validation", {submitting: true});\r
-            }\r
-          );\r
-          $this.bind(\r
-            [\r
-              "keyup",\r
-              "focus",\r
-              "blur",\r
-              "click",\r
-              "keydown",\r
-              "keypress",\r
-              "change"\r
-            ].join(".validation ") + ".validation",\r
-            function (e, params) {\r
-\r
-              var value = getValue($this);\r
-\r
-              var errorsFound = [];\r
-\r
-              $controlGroup.find("input,textarea,select").each(function (i, el) {\r
-                var oldCount = errorsFound.length;\r
-                $.each($(el).triggerHandler("validation.validation", params), function (j, message) {\r
-                  errorsFound.push(message);\r
-                });\r
-                if (errorsFound.length > oldCount) {\r
-                  $(el).attr("aria-invalid", "true");\r
-                } else {\r
-                  var original = $this.data("original-aria-invalid");\r
-                  $(el).attr("aria-invalid", (original !== undefined ? original : false));\r
                 }\r
-              });\r
-\r
-              $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");\r
-\r
-              errorsFound = $.unique(errorsFound.sort());\r
-\r
-              // Were there any errors?\r
-              if (errorsFound.length) {\r
-                // Better flag it up as a warning.\r
-                $controlGroup.removeClass("success error").addClass("warning");\r
-\r
-                // How many errors did we find?\r
-                if (settings.options.semanticallyStrict && errorsFound.length === 1) {\r
-                  // Only one? Being strict? Just output it.\r
-                  $helpBlock.html(errorsFound[0] + \r
-                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));\r
-                } else {\r
-                  // Multiple? Being sloppy? Glue them together into an UL.\r
-                  $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +\r
-                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));\r
+            },\r
+            regex: {\r
+                name: "regex",\r
+                init: function ($this, name) {\r
+                    return {regex: regexFromString($this.data("validation" + name + "Regex"))};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (!validator.regex.test(value) && !validator.negative)\r
+                        || (validator.regex.test(value) && validator.negative);\r
                 }\r
-              } else {\r
-                $controlGroup.removeClass("warning error success");\r
-                if (value.length > 0) {\r
-                  $controlGroup.addClass("success");\r
+            },\r
+            required: {\r
+                name: "required",\r
+                init: function ($this, name) {\r
+                    return {};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return !!(value.length === 0 && !validator.negative)\r
+                        || !!(value.length > 0 && validator.negative);\r
+                },\r
+                blockSubmit: true\r
+            },\r
+            match: {\r
+                name: "match",\r
+                init: function ($this, name) {\r
+                    var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();\r
+                    element.bind("validation.validation", function () {\r
+                        $this.trigger("change.validation", {submitting: true});\r
+                    });\r
+                    return {"element": element};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (value !== validator.element.val() && !validator.negative)\r
+                        || (value === validator.element.val() && validator.negative);\r
+                },\r
+                blockSubmit: true\r
+            },\r
+            max: {\r
+                name: "max",\r
+                init: function ($this, name) {\r
+                    return {max: $this.data("validation" + name + "Max")};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (parseFloat(value, 10) > parseFloat(validator.max, 10) && !validator.negative)\r
+                        || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);\r
                 }\r
-                $helpBlock.html($helpBlock.data("original-contents"));\r
-              }\r
-\r
-              if (e.type === "blur") {\r
-                $controlGroup.removeClass("success");\r
-              }\r
+            },\r
+            min: {\r
+                name: "min",\r
+                init: function ($this, name) {\r
+                    return {min: $this.data("validation" + name + "Min")};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (parseFloat(value) < parseFloat(validator.min) && !validator.negative)\r
+                        || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);\r
+                }\r
+            },\r
+            maxlength: {\r
+                name: "maxlength",\r
+                init: function ($this, name) {\r
+                    return {maxlength: $this.data("validation" + name + "Maxlength")};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return ((value.length > validator.maxlength) && !validator.negative)\r
+                        || ((value.length <= validator.maxlength) && validator.negative);\r
+                }\r
+            },\r
+            minlength: {\r
+                name: "minlength",\r
+                init: function ($this, name) {\r
+                    return {minlength: $this.data("validation" + name + "Minlength")};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return ((value.length < validator.minlength) && !validator.negative)\r
+                        || ((value.length >= validator.minlength) && validator.negative);\r
+                }\r
+            },\r
+            maxchecked: {\r
+                name: "maxchecked",\r
+                init: function ($this, name) {\r
+                    var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");\r
+                    elements.bind("click.validation", function () {\r
+                        $this.trigger("change.validation", {includeEmpty: true});\r
+                    });\r
+                    return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (validator.elements.filter(":checked").length > validator.maxchecked && !validator.negative)\r
+                        || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);\r
+                },\r
+                blockSubmit: true\r
+            },\r
+            minchecked: {\r
+                name: "minchecked",\r
+                init: function ($this, name) {\r
+                    var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");\r
+                    elements.bind("click.validation", function () {\r
+                        $this.trigger("change.validation", {includeEmpty: true});\r
+                    });\r
+                    return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};\r
+                },\r
+                validate: function ($this, value, validator) {\r
+                    return (validator.elements.filter(":checked").length < validator.minchecked && !validator.negative)\r
+                        || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);\r
+                },\r
+                blockSubmit: true\r
             }\r
-          );\r
-          $this.bind("validationLostFocus.validation", function () {\r
-            $controlGroup.removeClass("success");\r
-          });\r
-        });\r
-      },\r
-      destroy : function( ) {\r
-\r
-        return this.each(\r
-          function() {\r
-\r
-            var\r
-              $this = $(this),\r
-              $controlGroup = $this.parents(".control-group").first(),\r
-              $helpBlock = $controlGroup.find(".help-block").first();\r
-\r
-            // remove our events\r
-            $this.unbind('.validation'); // events are namespaced.\r
-            // reset help text\r
-            $helpBlock.html($helpBlock.data("original-contents"));\r
-            // reset classes\r
-            $controlGroup.attr("class", $controlGroup.data("original-classes"));\r
-            // reset aria\r
-            $this.attr("aria-invalid", $this.data("original-aria-invalid"));\r
-            // reset role\r
-            $helpBlock.attr("role", $this.data("original-role"));\r
-                                               // remove all elements we created\r
-                                               if (createdElements.indexOf($helpBlock[0]) > -1) {\r
-                                                       $helpBlock.remove();\r
-                                               }\r
-\r
-          }\r
-        );\r
-\r
-      },\r
-      collectErrors : function(includeEmpty) {\r
-\r
-        var errorMessages = {};\r
-        this.each(function (i, el) {\r
-          var $el = $(el);\r
-          var name = $el.attr("name");\r
-          var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});\r
-          errorMessages[name] = $.extend(true, errors, errorMessages[name]);\r
-        });\r
-\r
-        $.each(errorMessages, function (i, el) {\r
-          if (el.length === 0) {\r
-            delete errorMessages[i];\r
-          }\r
-        });\r
-\r
-        return errorMessages;\r
-\r
-      },\r
-      hasErrors: function() {\r
-\r
-        var errorMessages = [];\r
-\r
-        this.each(function (i, el) {\r
-          errorMessages = errorMessages.concat(\r
-            $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []\r
-          );\r
-        });\r
-\r
-        return (errorMessages.length > 0);\r
-      },\r
-      override : function (newDefaults) {\r
-        defaults = $.extend(true, defaults, newDefaults);\r
-      }\r
-    },\r
-               validatorTypes: {\r
-      callback: {\r
-        name: "callback",\r
-        init: function ($this, name) {\r
-          return {\r
-            validatorName: name,\r
-            callback: $this.data("validation" + name + "Callback"),\r
-            lastValue: $this.val(),\r
-            lastValid: true,\r
-            lastFinished: true\r
-          };\r
         },\r
-        validate: function ($this, value, validator) {\r
-          if (validator.lastValue === value && validator.lastFinished) {\r
-            return !validator.lastValid;\r
-          }\r
-\r
-          if (validator.lastFinished === true)\r
-          {\r
-            validator.lastValue = value;\r
-            validator.lastValid = true;\r
-            validator.lastFinished = false;\r
-\r
-            var rrjqbvValidator = validator;\r
-            var rrjqbvThis = $this;\r
-            executeFunctionByName(\r
-              validator.callback,\r
-              window,\r
-              $this,\r
-              value,\r
-              function (data) {\r
-                if (rrjqbvValidator.lastValue === data.value) {\r
-                  rrjqbvValidator.lastValid = data.valid;\r
-                  if (data.message) {\r
-                    rrjqbvValidator.message = data.message;\r
-                  }\r
-                  rrjqbvValidator.lastFinished = true;\r
-                  rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);\r
-                  // Timeout is set to avoid problems with the events being considered 'already fired'\r
-                  setTimeout(function () {\r
-                    rrjqbvThis.trigger("change.validation");\r
-                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
-                }\r
-              }\r
-            );\r
-          }\r
-\r
-          return false;\r
-\r
+        builtInValidators: {\r
+            email: {\r
+                name: "Email",\r
+                type: "shortcut",\r
+                shortcut: "validemail"\r
+            },\r
+            validemail: {\r
+                name: "Validemail",\r
+                type: "regex",\r
+                regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",\r
+                message: "Not a valid email address<!-- data-validator-validemail-message to override -->"\r
+            },\r
+            passwordagain: {\r
+                name: "Passwordagain",\r
+                type: "match",\r
+                match: "password",\r
+                message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"\r
+            },\r
+            positive: {\r
+                name: "Positive",\r
+                type: "shortcut",\r
+                shortcut: "number,positivenumber"\r
+            },\r
+            negative: {\r
+                name: "Negative",\r
+                type: "shortcut",\r
+                shortcut: "number,negativenumber"\r
+            },\r
+            number: {\r
+                name: "Number",\r
+                type: "regex",\r
+                regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",\r
+                message: "Must be a number<!-- data-validator-number-message to override -->"\r
+            },\r
+            integer: {\r
+                name: "Integer",\r
+                type: "regex",\r
+                regex: "[+-]?\\\d+",\r
+                message: "No decimal places allowed<!-- data-validator-integer-message to override -->"\r
+            },\r
+            positivenumber: {\r
+                name: "Positivenumber",\r
+                type: "min",\r
+                min: 0,\r
+                message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"\r
+            },\r
+            negativenumber: {\r
+                name: "Negativenumber",\r
+                type: "max",\r
+                max: 0,\r
+                message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"\r
+            },\r
+            required: {\r
+                name: "Required",\r
+                type: "required",\r
+                message: "This is required<!-- data-validator-required-message to override -->"\r
+            },\r
+            checkone: {\r
+                name: "Checkone",\r
+                type: "minchecked",\r
+                minchecked: 1,\r
+                message: "Check at least one option<!-- data-validation-checkone-message to override -->"\r
+            }\r
         }\r
-      },\r
-      ajax: {\r
-        name: "ajax",\r
-        init: function ($this, name) {\r
-          return {\r
-            validatorName: name,\r
-            url: $this.data("validation" + name + "Ajax"),\r
-            lastValue: $this.val(),\r
-            lastValid: true,\r
-            lastFinished: true\r
-          };\r
-        },\r
-        validate: function ($this, value, validator) {\r
-          if (""+validator.lastValue === ""+value && validator.lastFinished === true) {\r
-            return validator.lastValid === false;\r
-          }\r
-\r
-          if (validator.lastFinished === true)\r
-          {\r
-            validator.lastValue = value;\r
-            validator.lastValid = true;\r
-            validator.lastFinished = false;\r
-            $.ajax({\r
-              url: validator.url,\r
-              data: "value=" + value + "&field=" + $this.attr("name"),\r
-              dataType: "json",\r
-              success: function (data) {\r
-                if (""+validator.lastValue === ""+data.value) {\r
-                  validator.lastValid = !!(data.valid);\r
-                  if (data.message) {\r
-                    validator.message = data.message;\r
-                  }\r
-                  validator.lastFinished = true;\r
-                  $this.data("validation" + validator.validatorName + "Message", validator.message);\r
-                  // Timeout is set to avoid problems with the events being considered 'already fired'\r
-                  setTimeout(function () {\r
-                    $this.trigger("change.validation");\r
-                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
+    };\r
+\r
+    var formatValidatorName = function (name) {\r
+        return name\r
+            .toLowerCase()\r
+            .replace(\r
+                /(^|\s)([a-z])/g,\r
+                function (m, p1, p2) {\r
+                    return p1 + p2.toUpperCase();\r
                 }\r
-              },\r
-              failure: function () {\r
-                validator.lastValid = true;\r
-                validator.message = "ajax call failed";\r
-                validator.lastFinished = true;\r
-                $this.data("validation" + validator.validatorName + "Message", validator.message);\r
-                // Timeout is set to avoid problems with the events being considered 'already fired'\r
-                setTimeout(function () {\r
-                  $this.trigger("change.validation");\r
-                }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst\r
-              }\r
-            });\r
-          }\r
-\r
-          return false;\r
+            )\r
+            ;\r
+    };\r
+\r
+    var getValue = function ($this) {\r
+        // Extract the value we're talking about\r
+        var value = $this.val();\r
+        var type = $this.attr("type");\r
+        if (type === "checkbox") {\r
+            value = ($this.is(":checked") ? value : "");\r
+        }\r
+        if (type === "radio") {\r
+            value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");\r
+        }\r
+        return value;\r
+    };\r
+\r
+    function regexFromString(inputstring) {\r
+        return new RegExp("^" + inputstring + "$");\r
+    }\r
 \r
+    /**\r
+     * Thanks to Jason Bunting via StackOverflow.com\r
+     *\r
+     * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910\r
+     * Short link: http://tinyurl.com/executeFunctionByName\r
+     **/\r
+    function executeFunctionByName(functionName, context /*, args*/) {\r
+        var args = Array.prototype.slice.call(arguments).splice(2);\r
+        var namespaces = functionName.split(".");\r
+        var func = namespaces.pop();\r
+        for (var i = 0; i < namespaces.length; i++) {\r
+            context = context[namespaces[i]];\r
         }\r
-      },\r
-                       regex: {\r
-                               name: "regex",\r
-                               init: function ($this, name) {\r
-                                       return {regex: regexFromString($this.data("validation" + name + "Regex"))};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (!validator.regex.test(value) && ! validator.negative)\r
-                                               || (validator.regex.test(value) && validator.negative);\r
-                               }\r
-                       },\r
-                       required: {\r
-                               name: "required",\r
-                               init: function ($this, name) {\r
-                                       return {};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return !!(value.length === 0  && ! validator.negative)\r
-                                               || !!(value.length > 0 && validator.negative);\r
-                               },\r
-        blockSubmit: true\r
-                       },\r
-                       match: {\r
-                               name: "match",\r
-                               init: function ($this, name) {\r
-                                       var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();\r
-                                       element.bind("validation.validation", function () {\r
-                                               $this.trigger("change.validation", {submitting: true});\r
-                                       });\r
-                                       return {"element": element};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (value !== validator.element.val() && ! validator.negative)\r
-                                               || (value === validator.element.val() && validator.negative);\r
-                               },\r
-        blockSubmit: true\r
-                       },\r
-                       max: {\r
-                               name: "max",\r
-                               init: function ($this, name) {\r
-                                       return {max: $this.data("validation" + name + "Max")};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)\r
-                                               || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);\r
-                               }\r
-                       },\r
-                       min: {\r
-                               name: "min",\r
-                               init: function ($this, name) {\r
-                                       return {min: $this.data("validation" + name + "Min")};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)\r
-                                               || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);\r
-                               }\r
-                       },\r
-                       maxlength: {\r
-                               name: "maxlength",\r
-                               init: function ($this, name) {\r
-                                       return {maxlength: $this.data("validation" + name + "Maxlength")};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return ((value.length > validator.maxlength) && ! validator.negative)\r
-                                               || ((value.length <= validator.maxlength) && validator.negative);\r
-                               }\r
-                       },\r
-                       minlength: {\r
-                               name: "minlength",\r
-                               init: function ($this, name) {\r
-                                       return {minlength: $this.data("validation" + name + "Minlength")};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return ((value.length < validator.minlength) && ! validator.negative)\r
-                                               || ((value.length >= validator.minlength) && validator.negative);\r
-                               }\r
-                       },\r
-                       maxchecked: {\r
-                               name: "maxchecked",\r
-                               init: function ($this, name) {\r
-                                       var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");\r
-                                       elements.bind("click.validation", function () {\r
-                                               $this.trigger("change.validation", {includeEmpty: true});\r
-                                       });\r
-                                       return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)\r
-                                               || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);\r
-                               },\r
-        blockSubmit: true\r
-                       },\r
-                       minchecked: {\r
-                               name: "minchecked",\r
-                               init: function ($this, name) {\r
-                                       var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");\r
-                                       elements.bind("click.validation", function () {\r
-                                               $this.trigger("change.validation", {includeEmpty: true});\r
-                                       });\r
-                                       return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};\r
-                               },\r
-                               validate: function ($this, value, validator) {\r
-                                       return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)\r
-                                               || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);\r
-                               },\r
-        blockSubmit: true\r
-                       }\r
-               },\r
-               builtInValidators: {\r
-                       email: {\r
-                               name: "Email",\r
-                               type: "shortcut",\r
-                               shortcut: "validemail"\r
-                       },\r
-                       validemail: {\r
-                               name: "Validemail",\r
-                               type: "regex",\r
-                               regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",\r
-                               message: "Not a valid email address<!-- data-validator-validemail-message to override -->"\r
-                       },\r
-                       passwordagain: {\r
-                               name: "Passwordagain",\r
-                               type: "match",\r
-                               match: "password",\r
-                               message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"\r
-                       },\r
-                       positive: {\r
-                               name: "Positive",\r
-                               type: "shortcut",\r
-                               shortcut: "number,positivenumber"\r
-                       },\r
-                       negative: {\r
-                               name: "Negative",\r
-                               type: "shortcut",\r
-                               shortcut: "number,negativenumber"\r
-                       },\r
-                       number: {\r
-                               name: "Number",\r
-                               type: "regex",\r
-                               regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",\r
-                               message: "Must be a number<!-- data-validator-number-message to override -->"\r
-                       },\r
-                       integer: {\r
-                               name: "Integer",\r
-                               type: "regex",\r
-                               regex: "[+-]?\\\d+",\r
-                               message: "No decimal places allowed<!-- data-validator-integer-message to override -->"\r
-                       },\r
-                       positivenumber: {\r
-                               name: "Positivenumber",\r
-                               type: "min",\r
-                               min: 0,\r
-                               message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"\r
-                       },\r
-                       negativenumber: {\r
-                               name: "Negativenumber",\r
-                               type: "max",\r
-                               max: 0,\r
-                               message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"\r
-                       },\r
-                       required: {\r
-                               name: "Required",\r
-                               type: "required",\r
-                               message: "This is required<!-- data-validator-required-message to override -->"\r
-                       },\r
-                       checkone: {\r
-                               name: "Checkone",\r
-                               type: "minchecked",\r
-                               minchecked: 1,\r
-                               message: "Check at least one option<!-- data-validation-checkone-message to override -->"\r
-                       }\r
-               }\r
-       };\r
-\r
-       var formatValidatorName = function (name) {\r
-               return name\r
-                       .toLowerCase()\r
-                       .replace(\r
-                               /(^|\s)([a-z])/g ,\r
-                               function(m,p1,p2) {\r
-                                       return p1+p2.toUpperCase();\r
-                               }\r
-                       )\r
-               ;\r
-       };\r
-\r
-       var getValue = function ($this) {\r
-               // Extract the value we're talking about\r
-               var value = $this.val();\r
-               var type = $this.attr("type");\r
-               if (type === "checkbox") {\r
-                       value = ($this.is(":checked") ? value : "");\r
-               }\r
-               if (type === "radio") {\r
-                       value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");\r
-               }\r
-               return value;\r
-       };\r
-\r
-  function regexFromString(inputstring) {\r
-               return new RegExp("^" + inputstring + "$");\r
-       }\r
-\r
-  /**\r
-   * Thanks to Jason Bunting via StackOverflow.com\r
-   *\r
-   * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910\r
-   * Short link: http://tinyurl.com/executeFunctionByName\r
-  **/\r
-  function executeFunctionByName(functionName, context /*, args*/) {\r
-    var args = Array.prototype.slice.call(arguments).splice(2);\r
-    var namespaces = functionName.split(".");\r
-    var func = namespaces.pop();\r
-    for(var i = 0; i < namespaces.length; i++) {\r
-      context = context[namespaces[i]];\r
+        return context[func].apply(this, args);\r
     }\r
-    return context[func].apply(this, args);\r
-  }\r
 \r
-       $.fn.jqBootstrapValidation = function( method ) {\r
+    $.fn.jqBootstrapValidation = function (method) {\r
 \r
-               if ( defaults.methods[method] ) {\r
-                       return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));\r
-               } else if ( typeof method === 'object' || ! method ) {\r
-                       return defaults.methods.init.apply( this, arguments );\r
-               } else {\r
-               $.error( 'Method ' +  method + ' does not exist on jQuery.jqBootstrapValidation' );\r
-                       return null;\r
-               }\r
+        if (defaults.methods[method]) {\r
+            return defaults.methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\r
+        } else if (typeof method === 'object' || !method) {\r
+            return defaults.methods.init.apply(this, arguments);\r
+        } else {\r
+            $.error('Method ' + method + ' does not exist on jQuery.jqBootstrapValidation');\r
+            return null;\r
+        }\r
 \r
-       };\r
+    };\r
 \r
-  $.jqBootstrapValidation = function (options) {\r
-    $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);\r
-  };\r
+    $.jqBootstrapValidation = function (options) {\r
+        $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this, arguments);\r
+    };\r
 \r
-})( jQuery );\r
+})(jQuery);\r
index 0ffa6d3..e62cc10 100644 (file)
@@ -27,33 +27,33 @@ form.validate({
     rules: {\r
         url: {\r
             required: true,\r
-            url:true,\r
-            maxlength:50\r
+            url: true,\r
+            maxlength: 50\r
             //,repeatedName: true\r
         },\r
-        vimName:{\r
+        vimName: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         },\r
-        version:{\r
+        version: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         },\r
-        vendor:{\r
+        vendor: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         },\r
-        userName:{\r
+        userName: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         },\r
-        password:{\r
+        password: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         },\r
-        tenant:{\r
+        tenant: {\r
             required: true,\r
-            maxlength:20\r
+            maxlength: 20\r
         }\r
     },\r
     messages: {\r
@@ -62,22 +62,22 @@ form.validate({
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_auth_url_require_message'),\r
             url: $.i18n.prop('com_zte_ums_eco_roc_vim_auth_url_alarm_message')\r
         },\r
-        vimName:{\r
+        vimName: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_name_alarm_message')\r
         },\r
-        userName:{\r
+        userName: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_username_alarm_message')\r
         },\r
-        password:{\r
+        password: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_password_alarm_message')\r
         },\r
-         version:{\r
+        version: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_version_alarm_message')\r
         },\r
-         vendor:{\r
+        vendor: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_vendor_alarm_message')\r
         },\r
-        tenant:{\r
+        tenant: {\r
             required: $.i18n.prop('com_zte_ums_eco_roc_vim_tenant_alarm_message')\r
         }\r
     },\r
index 284c143..0a2b097 100644 (file)
 var vimChart = {};\r
 \r
 \r
-\r
- var labelTop = {\r
-    normal : {\r
-        label : {\r
-            show : true,\r
-            position : 'outer',\r
-            formatter :function (params){\r
-                var total=params.series.data[1].value+params.series.data[0].value;\r
-                var util=params.series.data[0].util;\r
+var labelTop = {\r
+    normal: {\r
+        label: {\r
+            show: true,\r
+            position: 'outer',\r
+            formatter: function (params) {\r
+                var total = params.series.data[1].value + params.series.data[0].value;\r
+                var util = params.series.data[0].util;\r
                 // return total+util+"中的"+"\n"+params.value+util+"已使用" ;\r
-                return $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_used')+params.value+util+"\n"+\r
-                $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_total')+ total+util;\r
-            }, \r
+                return $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_used') + params.value + util + "\n" +\r
+                    $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_total') + total + util;\r
+            },\r
             textStyle: {\r
-                baseline : 'bottom',\r
-                fontWeight:'normal'\r
+                baseline: 'bottom',\r
+                fontWeight: 'normal'\r
 \r
             }\r
         },\r
-        labelLine : {\r
-            show : true\r
+        labelLine: {\r
+            show: true\r
         }\r
     }\r
 };\r
 \r
 \r
 var labelFromatter = {\r
-    normal : {\r
-        label : {\r
-            formatter :function (params){\r
-                return params.series.data[0].name+"\n"+(100-params.percent).toFixed(0) + '%'\r
-            },  \r
+    normal: {\r
+        label: {\r
+            formatter: function (params) {\r
+                return params.series.data[0].name + "\n" + (100 - params.percent).toFixed(0) + '%'\r
+            },\r
             textStyle: {\r
-                baseline : 'center',\r
-                  color:"#000",\r
-                  fontWeight:'bold'\r
+                baseline: 'center',\r
+                color: "#000",\r
+                fontWeight: 'bold'\r
+\r
 \r
-               \r
             }\r
         }\r
     }\r
 }\r
 var labelBottom = {\r
-    normal : {\r
+    normal: {\r
         color: '#ccc',\r
-        label : {\r
-            show : true,\r
-            position : 'center'\r
+        label: {\r
+            show: true,\r
+            position: 'center'\r
         },\r
-        labelLine : {\r
-            show : false\r
+        labelLine: {\r
+            show: false\r
         }\r
     },\r
     emphasis: {\r
@@ -76,92 +75,107 @@ var labelBottom = {
 \r
 var radius = [40, 55];\r
 \r
- var vimPieChart;\r
+var vimPieChart;\r
 \r
-vimChart.vimPieChartInit = function(){\r
-   vimPieChart = echarts.init(document.getElementById('vimPieChartDiv')); \r
-   vimPieChart.showLoading({\r
-    text : "Loading",\r
-    effect :"whirling",\r
-    textStyle : {\r
-        fontSize : 20\r
-    }\r
-});\r
+vimChart.vimPieChartInit = function () {\r
+    vimPieChart = echarts.init(document.getElementById('vimPieChartDiv'));\r
+    vimPieChart.showLoading({\r
+        text: "Loading",\r
+        effect: "whirling",\r
+        textStyle: {\r
+            fontSize: 20\r
+        }\r
+    });\r
 \r
 }\r
 \r
-vimChart.vimPieChart = function(data){\r
\r
-var option = {\r
-    animation:true,\r
-    legend: {\r
-        x : 'left',\r
-        y:"top",\r
-        data:[\r
-            $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_cpu'),\r
-            $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_memory'),\r
-            $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_disk')\r
-        ],\r
-        orient: 'vertical'\r
-    },\r
-     color:["#578ebe","#44b6ae","#DABA36"],\r
-    title : {\r
-        text: '',\r
-        subtext: '',\r
-        x: 'center'\r
-    },   \r
-    toolbox: {\r
-        show : true,\r
-\r
-        feature : {       \r
-            saveAsImage : {\r
-            show : true,\r
-            title : $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_save_picture'),\r
-            type : 'png',\r
-            lang : [$.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_click_save')]\r
-            }\r
-        }\r
-    },\r
-    series : [\r
-        {\r
-            type : 'pie',\r
-            center : ['15%', '55%'],\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_cpu'), value:data.usage.cpu,itemStyle : labelTop,util:''},\r
-                {name:'other', value:data.resource.cpu -data.usage.cpu, itemStyle : labelBottom}\r
-                \r
-            ]\r
+vimChart.vimPieChart = function (data) {\r
+\r
+    var option = {\r
+        animation: true,\r
+        legend: {\r
+            x: 'left',\r
+            y: "top",\r
+            data: [\r
+                $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_cpu'),\r
+                $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_memory'),\r
+                $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_disk')\r
+            ],\r
+            orient: 'vertical'\r
         },\r
-        {\r
-            type : 'pie',\r
-            center : ['40%', '55%'],\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_memory'), value:data.usage.memoryMb,itemStyle : labelTop,util:'MB' },\r
-                {name:'other', value:data.resource.memoryMb - data.usage.memoryMb,itemStyle : labelBottom}\r
-                \r
-            ]\r
+        color: ["#578ebe", "#44b6ae", "#DABA36"],\r
+        title: {\r
+            text: '',\r
+            subtext: '',\r
+            x: 'center'\r
         },\r
-        {\r
-            type : 'pie',\r
-            center : ['65%', '55%'],\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_disk'), value:data.usage.diskGb,itemStyle : labelTop,util:'GB'},\r
-                {name:'other', value:data.resource.diskGb -data.usage.diskGb,  itemStyle : labelBottom}\r
-               \r
-            ]\r
-        }\r
-         \r
-    ]\r
-};\r
-                    \r
+        toolbox: {\r
+            show: true,\r
+\r
+            feature: {\r
+                saveAsImage: {\r
+                    show: true,\r
+                    title: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_save_picture'),\r
+                    type: 'png',\r
+                    lang: [$.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_click_save')]\r
+                }\r
+            }\r
+        },\r
+        series: [\r
+            {\r
+                type: 'pie',\r
+                center: ['15%', '55%'],\r
+                radius: radius,\r
+                itemStyle: labelFromatter,\r
+                data: [\r
+                    {\r
+                        name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_cpu'),\r
+                        value: data.usage.cpu,\r
+                        itemStyle: labelTop,\r
+                        util: ''\r
+                    },\r
+                    {name: 'other', value: data.resource.cpu - data.usage.cpu, itemStyle: labelBottom}\r
 \r
-        // 为echarts对象加载数据 \r
+                ]\r
+            },\r
+            {\r
+                type: 'pie',\r
+                center: ['40%', '55%'],\r
+                radius: radius,\r
+                itemStyle: labelFromatter,\r
+                data: [\r
+                    {\r
+                        name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_memory'),\r
+                        value: data.usage.memoryMb,\r
+                        itemStyle: labelTop,\r
+                        util: 'MB'\r
+                    },\r
+                    {name: 'other', value: data.resource.memoryMb - data.usage.memoryMb, itemStyle: labelBottom}\r
+\r
+                ]\r
+            },\r
+            {\r
+                type: 'pie',\r
+                center: ['65%', '55%'],\r
+                radius: radius,\r
+                itemStyle: labelFromatter,\r
+                data: [\r
+                    {\r
+                        name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_vim_disk'),\r
+                        value: data.usage.diskGb,\r
+                        itemStyle: labelTop,\r
+                        util: 'GB'\r
+                    },\r
+                    {name: 'other', value: data.resource.diskGb - data.usage.diskGb, itemStyle: labelBottom}\r
+\r
+                ]\r
+            }\r
+\r
+        ]\r
+    };\r
+\r
+\r
+    // 为echarts对象加载数据 \r
     vimPieChart.hideLoading();\r
     vimPieChart.setOption(option);\r
     window.onresize = vimPieChart.resize;\r
@@ -169,215 +183,249 @@ var option = {
 \r
 }\r
 \r
-vimChart.getPieCenter=function(n){\r
+vimChart.getPieCenter = function (n) {\r
     var center;\r
-    switch(n)\r
-    {\r
-    case 1:\r
-      center=['15%', '30%'];\r
-      break;\r
-    case 2:\r
-      center=['40%', '30%'];\r
-      break;\r
-    case 3:\r
-      center=['65%', '30%'];\r
-      break;\r
-    case 4:\r
-      center=['15%', '80%'];\r
-      break;\r
-    case 5:\r
-      center=['40%', '80%'];\r
-      break;\r
-    case 6:\r
-      center=['65%', '80%'];\r
-      break;  \r
-    case 7:\r
-      center=['90%', '80%'];\r
-      break;         \r
+    switch (n) {\r
+        case 1:\r
+            center = ['15%', '30%'];\r
+            break;\r
+        case 2:\r
+            center = ['40%', '30%'];\r
+            break;\r
+        case 3:\r
+            center = ['65%', '30%'];\r
+            break;\r
+        case 4:\r
+            center = ['15%', '80%'];\r
+            break;\r
+        case 5:\r
+            center = ['40%', '80%'];\r
+            break;\r
+        case 6:\r
+            center = ['65%', '80%'];\r
+            break;\r
+        case 7:\r
+            center = ['90%', '80%'];\r
+            break;\r
 \r
     }\r
     return center;\r
 }\r
 \r
 \r
- var tenantPieChart;\r
-vimChart.tenantPieChartInit = function(){\r
-    tenantPieChart= echarts.init(document.getElementById('tenantPieChartDiv')); \r
+var tenantPieChart;\r
+vimChart.tenantPieChartInit = function () {\r
+    tenantPieChart = echarts.init(document.getElementById('tenantPieChartDiv'));\r
 \r
-   tenantPieChart.showLoading({\r
-    text : "Loading",\r
-    effect :"whirling",\r
-    textStyle : {\r
-        fontSize : 20\r
-    }\r
-});\r
+    tenantPieChart.showLoading({\r
+        text: "Loading",\r
+        effect: "whirling",\r
+        textStyle: {\r
+            fontSize: 20\r
+        }\r
+    });\r
 }\r
-vimChart.tenantPieChart = function(data){\r
-\r
-var  legend_data=new Array();\r
-var series=new Array();\r
-var n=0;\r
-\r
-if(data.quota.instances!=-1){\r
-    n++;\r
-\r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_instances'));\r
-var instances_series={\r
-            type : 'pie',\r
-            center : vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_instances'), value:data.usage.instances,itemStyle : labelTop,util:''},\r
-                {name:'other', value:data.quota.instances -data.usage.instances, itemStyle : labelBottom}\r
-                \r
+vimChart.tenantPieChart = function (data) {\r
+\r
+    var legend_data = new Array();\r
+    var series = new Array();\r
+    var n = 0;\r
+\r
+    if (data.quota.instances != -1) {\r
+        n++;\r
+\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_instances'));\r
+        var instances_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_instances'),\r
+                    value: data.usage.instances,\r
+                    itemStyle: labelTop,\r
+                    util: ''\r
+                },\r
+                {name: 'other', value: data.quota.instances - data.usage.instances, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(instances_series);     \r
-\r
-}   \r
-if(data.quota.cpu!=-1){\r
-n++;\r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_cpu'));\r
-var cpu_series={\r
-            type : 'pie',\r
-            center : vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_cpu'), value:data.usage.cpu,itemStyle : labelTop,util:'' },\r
-                {name:'other', value:data.quota.cpu -data.usage.cpu,itemStyle : labelBottom}\r
-                \r
+        series.push(instances_series);\r
+\r
+    }\r
+    if (data.quota.cpu != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_cpu'));\r
+        var cpu_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_cpu'),\r
+                    value: data.usage.cpu,\r
+                    itemStyle: labelTop,\r
+                    util: ''\r
+                },\r
+                {name: 'other', value: data.quota.cpu - data.usage.cpu, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(cpu_series);\r
-} \r
-if(data.quota.memoryMb!=-1){\r
-  n++;    \r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_memoryMb'));\r
-var memoryMb_series={\r
-            type : 'pie',\r
-            center : vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_memoryMb'), value:data.usage.memoryMb,itemStyle : labelTop,util:'MB'},\r
-                {name:'other', value:data.quota.memoryMb -data.usage.memoryMb,  itemStyle : labelBottom}\r
-               \r
+        series.push(cpu_series);\r
+    }\r
+    if (data.quota.memoryMb != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_memoryMb'));\r
+        var memoryMb_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_memoryMb'),\r
+                    value: data.usage.memoryMb,\r
+                    itemStyle: labelTop,\r
+                    util: 'MB'\r
+                },\r
+                {name: 'other', value: data.quota.memoryMb - data.usage.memoryMb, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(memoryMb_series);\r
-} \r
-if(data.quota.floatingIps!=-1){\r
-  n++;    \r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_floatingIps'));\r
-var floatingIps_series={\r
-            type : 'pie',\r
-            center :vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_floatingIps'), value:data.usage.floatingIps,itemStyle : labelTop,util:''},\r
-                {name:'other', value:data.quota.floatingIps -data.usage.floatingIps,  itemStyle : labelBottom}\r
-               \r
+        series.push(memoryMb_series);\r
+    }\r
+    if (data.quota.floatingIps != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_floatingIps'));\r
+        var floatingIps_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_floatingIps'),\r
+                    value: data.usage.floatingIps,\r
+                    itemStyle: labelTop,\r
+                    util: ''\r
+                },\r
+                {name: 'other', value: data.quota.floatingIps - data.usage.floatingIps, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(floatingIps_series);\r
-} \r
-if(data.quota.securityGroups!=-1){\r
-  n++;    \r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_securityGroups'));\r
-var securityGroups_series={\r
-            type : 'pie',\r
-            center :vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_securityGroups'), value:data.usage.securityGroups,itemStyle : labelTop,util:''},\r
-                 {name:'other', value:data.quota.securityGroups -data.usage.securityGroups,  itemStyle : labelBottom}\r
-               \r
+        series.push(floatingIps_series);\r
+    }\r
+    if (data.quota.securityGroups != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_securityGroups'));\r
+        var securityGroups_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_securityGroups'),\r
+                    value: data.usage.securityGroups,\r
+                    itemStyle: labelTop,\r
+                    util: ''\r
+                },\r
+                {name: 'other', value: data.quota.securityGroups - data.usage.securityGroups, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(securityGroups_series);\r
-} \r
-if(data.quota.volumes!=-1){\r
-  n++;    \r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumes'));\r
-var volumes_series={\r
-            type : 'pie',\r
-            center :vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumes'), value:data.usage.volumes,itemStyle : labelTop,util:''},\r
-                 {name:'other', value:data.quota.volumes -data.usage.volumes,  itemStyle : labelBottom}\r
-               \r
+        series.push(securityGroups_series);\r
+    }\r
+    if (data.quota.volumes != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumes'));\r
+        var volumes_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumes'),\r
+                    value: data.usage.volumes,\r
+                    itemStyle: labelTop,\r
+                    util: ''\r
+                },\r
+                {name: 'other', value: data.quota.volumes - data.usage.volumes, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(volumes_series);\r
-} \r
-if(data.quota.volumeStorage!=-1){\r
-  n++;    \r
-legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumeStorage'));\r
-var volumeStorage_series={\r
-            type : 'pie',\r
-            center :vimChart.getPieCenter(n),\r
-            radius : radius,\r
-            itemStyle : labelFromatter,\r
-            data : [\r
-                 {name:$.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumeStorage'), value:data.usage.volumeStorage,itemStyle : labelTop,util:'GB'},\r
-                 {name:'other', value:data.quota.volumeStorage -data.usage.volumeStorage,  itemStyle : labelBottom}\r
-               \r
+        series.push(volumes_series);\r
+    }\r
+    if (data.quota.volumeStorage != -1) {\r
+        n++;\r
+        legend_data.push($.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumeStorage'));\r
+        var volumeStorage_series = {\r
+            type: 'pie',\r
+            center: vimChart.getPieCenter(n),\r
+            radius: radius,\r
+            itemStyle: labelFromatter,\r
+            data: [\r
+                {\r
+                    name: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_tenant_volumeStorage'),\r
+                    value: data.usage.volumeStorage,\r
+                    itemStyle: labelTop,\r
+                    util: 'GB'\r
+                },\r
+                {name: 'other', value: data.quota.volumeStorage - data.usage.volumeStorage, itemStyle: labelBottom}\r
+\r
             ]\r
         };\r
- series.push(volumeStorage_series);\r
-} \r
       series.push(volumeStorage_series);\r
+    }\r
 \r
 \r
-var option = {\r
-    animation:true,\r
-    legend: {\r
-        x : 'left',\r
-        y:"top",\r
-        data:legend_data,\r
-        orient: 'vertical'\r
-    },\r
-     color:["#578ebe","#44b6ae","#DABA36","#F79695","#9699e0","#57b5e3","#48c79c"],\r
-    title : {\r
-        text: '',\r
-        subtext: '',\r
-        x: 'center'\r
-    },   \r
-    toolbox: {\r
-        show : true,       \r
-        feature : {       \r
-            saveAsImage : {\r
-            show : true,\r
-            title : $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_save_picture'),\r
-            type : 'png',\r
-            lang : [$.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_click_save')]\r
+    var option = {\r
+        animation: true,\r
+        legend: {\r
+            x: 'left',\r
+            y: "top",\r
+            data: legend_data,\r
+            orient: 'vertical'\r
+        },\r
+        color: ["#578ebe", "#44b6ae", "#DABA36", "#F79695", "#9699e0", "#57b5e3", "#48c79c"],\r
+        title: {\r
+            text: '',\r
+            subtext: '',\r
+            x: 'center'\r
+        },\r
+        toolbox: {\r
+            show: true,\r
+            feature: {\r
+                saveAsImage: {\r
+                    show: true,\r
+                    title: $.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_save_picture'),\r
+                    type: 'png',\r
+                    lang: [$.i18n.prop('com_zte_ums_eco_roc_vim_resource_chart_click_save')]\r
+                }\r
             }\r
-        }\r
-    },\r
-    series : series\r
-};\r
-                    \r
-      \r
-        // 为echarts对象加载数据 \r
-         tenantPieChart.hideLoading();\r
-         tenantPieChart.setOption(option);\r
-         window.onresize = tenantPieChart.resize;\r
+        },\r
+        series: series\r
+    };\r
+\r
+\r
+    // 为echarts对象加载数据 \r
+    tenantPieChart.hideLoading();\r
+    tenantPieChart.setOption(option);\r
+    window.onresize = tenantPieChart.resize;\r
 \r
 \r
 }\r
 \r
-vimChart.growl=function(message,type){\r
-      $.growl({\r
+vimChart.growl = function (message, type) {\r
+    $.growl({\r
         icon: "fa fa-envelope-o fa-lg",\r
         title: "&nbsp;&nbsp;" + $.i18n.prop('com_zte_ums_eco_roc_vim_title_notice'),\r
-        message: message+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\r
-            },{\r
-                type: type,\r
-                               delay:0\r
-            });\r
+        message: message + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\r
+    }, {\r
+        type: type,\r
+        delay: 0\r
+    });\r
 }
\ No newline at end of file
index 417815d..17f8e05 100644 (file)
  * limitations under the License.\r
  */\r
 var vm = avalon\r
-               .define({\r
-                       $id : "vimChartController",\r
-                       $vimChartUrl : '../../api/vim/v1/{vim_id}/resource',\r
-                       $tenantChartUrl : '../../api/vim/v1/{vim_id}/resource/{tenant_name}',\r
-                       $tenantListUrl : '../../api/vim/v1/{vim_id}/tenants',\r
-                       $tenantRoleUrl : '../../api/vim/v1/{vim_id}/roles',\r
-                       vimInfo:{\r
-                               name:name,\r
-                               id:id,\r
-                               tenant:tenant,\r
-                               isAdmin:true\r
-                       },      \r
-                       tenantSelectList:  {\r
-                                       condName : $.i18n.prop("com_zte_ums_eco_roc_vim_type"),\r
-                                       component_type : 'select',\r
-                                       selectItems : []\r
-                       },\r
-                       initChart : function() {\r
+    .define({\r
+        $id: "vimChartController",\r
+        $vimChartUrl: '../../api/vim/v1/{vim_id}/resource',\r
+        $tenantChartUrl: '../../api/vim/v1/{vim_id}/resource/{tenant_name}',\r
+        $tenantListUrl: '../../api/vim/v1/{vim_id}/tenants',\r
+        $tenantRoleUrl: '../../api/vim/v1/{vim_id}/roles',\r
+        vimInfo: {\r
+            name: name,\r
+            id: id,\r
+            tenant: tenant,\r
+            isAdmin: true\r
+        },\r
+        tenantSelectList: {\r
+            condName: $.i18n.prop("com_zte_ums_eco_roc_vim_type"),\r
+            component_type: 'select',\r
+            selectItems: []\r
+        },\r
+        initChart: function () {\r
 \r
-                               //判断租户是否有admin权限\r
-                               var tenantRoleUrl=vm.$tenantRoleUrl.replace("{vim_id}",vm.vimInfo.id); \r
-                                $.ajax({\r
-                       "type": 'get',\r
-                       "url": tenantRoleUrl,\r
-                       "dataType": "json",\r
-                       success: function (resp) {  \r
-                            vm.vimInfo.isAdmin= (resp==null)?false:resp.isAdminRole; \r
-                                               \r
-                       },\r
-                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                                  vimChart.growl("get [tenant Role] is error :"+textStatus+":"+errorThrown,"danger"); \r
-                        },\r
-                         complete: function() { \r
-                               if(vm.vimInfo.isAdmin==true){\r
+            //判断租户是否有admin权限\r
+            var tenantRoleUrl = vm.$tenantRoleUrl.replace("{vim_id}", vm.vimInfo.id);\r
+            $.ajax({\r
+                "type": 'get',\r
+                "url": tenantRoleUrl,\r
+                "dataType": "json",\r
+                success: function (resp) {\r
+                    vm.vimInfo.isAdmin = (resp == null) ? false : resp.isAdminRole;\r
 \r
-                                       //获取全部资源使用情况 \r
-                                       vm.vimChartLoad();\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    vimChart.growl("get [tenant Role] is error :" + textStatus + ":" + errorThrown, "danger");\r
+                },\r
+                complete: function () {\r
+                    if (vm.vimInfo.isAdmin == true) {\r
 \r
-                                        //获取租户列表\r
-                                       vm.vimListLoad();\r
-                               }\r
+                        //获取全部资源使用情况 \r
+                        vm.vimChartLoad();\r
 \r
-                        }\r
-                   });\r
-                               //获取租户资源使用情况 \r
-                               vm.tenantChartLoad();\r
-                       },\r
-                       gotoVimPage:function(){\r
-                                       window.parent.ZteFrameWork.goToURLByIDAndNewAction('eco_roc_vimmgr');\r
-                       },\r
-                       vimListLoad:function(){\r
-                                var tenantListUrl=vm.$tenantListUrl.replace("{vim_id}",vm.vimInfo.id); \r
-                                $.ajax({\r
-                       "type": 'get',\r
-                       "url": tenantListUrl,\r
-                       "dataType": "json",\r
-                       success: function (resp) {  \r
-                             vm.tenantSelectList.selectItems= (resp==null)?[]:resp;                    \r
-                       },\r
-                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                                   vimChart.growl("get [tenant List] is error :"+textStatus+":"+errorThrown,"danger"); \r
-                        }\r
-                   });\r
-                       },\r
-                       vimChartLoad:function(){\r
-                               var viminitData={\r
-                                           "resource": {\r
-                                               "cpu": 0,\r
-                                               "memoryMb": 503,\r
-                                               "diskGb": 9.8\r
-                                           },\r
-                                           "usage": {\r
-                                               "cpu": 0,\r
-                                               "memoryMb": 0,\r
-                                               "diskGb": 0\r
-                                           }\r
-                                       }\r
+                        //获取租户列表\r
+                        vm.vimListLoad();\r
+                    }\r
 \r
-                                 vimChart.vimPieChartInit();\r
+                }\r
+            });\r
+            //获取租户资源使用情况 \r
+            vm.tenantChartLoad();\r
+        },\r
+        gotoVimPage: function () {\r
+            window.parent.ZteFrameWork.goToURLByIDAndNewAction('eco_roc_vimmgr');\r
+        },\r
+        vimListLoad: function () {\r
+            var tenantListUrl = vm.$tenantListUrl.replace("{vim_id}", vm.vimInfo.id);\r
+            $.ajax({\r
+                "type": 'get',\r
+                "url": tenantListUrl,\r
+                "dataType": "json",\r
+                success: function (resp) {\r
+                    vm.tenantSelectList.selectItems = (resp == null) ? [] : resp;\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    vimChart.growl("get [tenant List] is error :" + textStatus + ":" + errorThrown, "danger");\r
+                }\r
+            });\r
+        },\r
+        vimChartLoad: function () {\r
+            var viminitData = {\r
+                "resource": {\r
+                    "cpu": 0,\r
+                    "memoryMb": 503,\r
+                    "diskGb": 9.8\r
+                },\r
+                "usage": {\r
+                    "cpu": 0,\r
+                    "memoryMb": 0,\r
+                    "diskGb": 0\r
+                }\r
+            }\r
 \r
-                                 var vimChartUrl=vm.$vimChartUrl.replace("{vim_id}",vm.vimInfo.id); \r
-                                 \r
+            vimChart.vimPieChartInit();\r
 \r
-                                \r
-                                $.ajax({\r
-                       "type": 'get',\r
-                       "url": vimChartUrl,\r
-                       "dataType": "json",\r
-                       success: function (resp) {  \r
-                            var vimData= (resp==null)?viminitData:resp;  \r
-                            vimChart.vimPieChart(vimData);                     \r
-                       },\r
-                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                                  vimChart.growl("get [virtual machine manager resource using status] is error :"+textStatus+":"+errorThrown,"danger"); \r
-                        }\r
-                   });\r
-       \r
-                       },\r
-                       tenantChartLoad:function(){\r
-                                var tenantChartUrl=vm.$tenantChartUrl.replace("{vim_id}",vm.vimInfo.id).replace("{tenant_name}",vm.vimInfo.tenant);\r
+            var vimChartUrl = vm.$vimChartUrl.replace("{vim_id}", vm.vimInfo.id);\r
 \r
-                               var tenantinitData={\r
-                                                   "tenant_name": "",\r
-                                                       "errormsg":"",\r
-                                                   "quota": {\r
-                                                       "cpu": 0,\r
-                                                       "memoryMb": 0,\r
-                                                       "instances": 0,\r
-                                                       "floatingIps": 0,\r
-                                                       "securityGroups": 0,\r
-                                                       "volumeStorage": 0,\r
-                                                       "volumes": 0\r
-                                                   },\r
-                                                   "usage": {\r
-                                                       "cpu": 0,\r
-                                                       "memoryMb": 0,\r
-                                                       "instances": 0,\r
-                                                       "floatingIps": 0,\r
-                                                       "securityGroups": 0,\r
-                                                       "volumeStorage": 0,\r
-                                                               "volumes": 0\r
-                                                   }\r
-                                               };\r
-                               vimChart.tenantPieChartInit();\r
-                                $.ajax({\r
-                       "type": 'get',\r
-                       "url": tenantChartUrl,\r
-                       "dataType": "json",\r
-                       success: function (resp) {  \r
-                            var tenantData= (resp==null)?tenantinitData:resp;  \r
-                                                if(tenantData.errormsg!=null)\r
-                                                {\r
-                                                  vimChart.growl(tenantData.errormsg,"danger");\r
-                                                }\r
-                             vimChart.tenantPieChart(tenantData);                      \r
-                       },\r
-                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                                  vimChart.growl("get [tenant quota using status] occur error :"+textStatus+":"+errorThrown,"danger"); \r
-                        }\r
-                   });\r
 \r
-                       }\r
+            $.ajax({\r
+                "type": 'get',\r
+                "url": vimChartUrl,\r
+                "dataType": "json",\r
+                success: function (resp) {\r
+                    var vimData = (resp == null) ? viminitData : resp;\r
+                    vimChart.vimPieChart(vimData);\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    vimChart.growl("get [virtual machine manager resource using status] is error :" + textStatus + ":" + errorThrown, "danger");\r
+                }\r
+            });\r
 \r
-});\r
+        },\r
+        tenantChartLoad: function () {\r
+            var tenantChartUrl = vm.$tenantChartUrl.replace("{vim_id}", vm.vimInfo.id).replace("{tenant_name}", vm.vimInfo.tenant);\r
+\r
+            var tenantinitData = {\r
+                "tenant_name": "",\r
+                "errormsg": "",\r
+                "quota": {\r
+                    "cpu": 0,\r
+                    "memoryMb": 0,\r
+                    "instances": 0,\r
+                    "floatingIps": 0,\r
+                    "securityGroups": 0,\r
+                    "volumeStorage": 0,\r
+                    "volumes": 0\r
+                },\r
+                "usage": {\r
+                    "cpu": 0,\r
+                    "memoryMb": 0,\r
+                    "instances": 0,\r
+                    "floatingIps": 0,\r
+                    "securityGroups": 0,\r
+                    "volumeStorage": 0,\r
+                    "volumes": 0\r
+                }\r
+            };\r
+            vimChart.tenantPieChartInit();\r
+            $.ajax({\r
+                "type": 'get',\r
+                "url": tenantChartUrl,\r
+                "dataType": "json",\r
+                success: function (resp) {\r
+                    var tenantData = (resp == null) ? tenantinitData : resp;\r
+                    if (tenantData.errormsg != null) {\r
+                        vimChart.growl(tenantData.errormsg, "danger");\r
+                    }\r
+                    vimChart.tenantPieChart(tenantData);\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    vimChart.growl("get [tenant quota using status] occur error :" + textStatus + ":" + errorThrown, "danger");\r
+                }\r
+            });\r
+\r
+        }\r
+\r
+    });\r
 avalon.scan();\r
 vm.initChart();
\ No newline at end of file
index e854a61..967eb1c 100644 (file)
  * limitations under the License.\r
  */\r
 var vm = avalon\r
-               .define({\r
-                       $id : "vimController",\r
-                       vimInfo :  [],\r
-                       //vimStatusTime:$.i18n.prop('com_zte_ums_eco_roc_vim_getting_info'),\r
-                       // ifSearch : 0,\r
-                       // server_rtn:{\r
-                       //      info_block:false,\r
-                       //      warning_block:false,\r
-                       //      rtn_info:"",\r
-                       //      $RTN_SUCCESS:"RTN_SUCCESS",\r
-                       //      $RTN_FAILED:"RTN_FAILED",\r
-   //              wait : $.i18n.prop('com_zte_ums_eco_roc_vim_checking_status')\r
-                       // },\r
-             executeWait : {clazz : 'alert-info', visible : true, text : $.i18n.prop('com_zte_ums_eco_roc_vim_checking_status')},\r
-             executeError : {clazz : 'alert-danger', visible : true, text : 'error'},\r
-                       $Status :{\r
-                success:"active",\r
-                failed:"inactive",\r
-                               displayActive: $.i18n.prop('com_zte_ums_eco_roc_vim_normal'),\r
-                               displayInactive: $.i18n.prop('com_zte_ums_eco_roc_vim_abnormal')\r
-                       },\r
-            isSave : true,\r
-            action : {ADD : 'add', UPDATE : 'update'},\r
-                       $queryVimInfoUrl : '../../openoapi/extsys/v1/vims',\r
-            $addVimInfoUrl : '../../openoapi/extsys/v1/vims/',\r
-                       $updateVimInfoUrl : '../../openoapi/extsys/v1/vims/',\r
-                       $delVimInfoUrl : '../../openoapi/extsys/v1/vims/{vim_id}',\r
-                       $initTable : function() {\r
-                $.ajax({\r
-                    "type": 'get',\r
-                    "url": vm.$queryVimInfoUrl,\r
-                    //"dataType": "json",\r
-                    "success": function (resp,statusText,jqXHR) {\r
-                       if(jqXHR.status=="200")\r
-                       {\r
-                         vm.vimInfo = resp;\r
-                       }\r
-                       else{\r
-                        vm.vimInfo=[];\r
+    .define({\r
+        $id: "vimController",\r
+        vimInfo: [],\r
+        //vimStatusTime:$.i18n.prop('com_zte_ums_eco_roc_vim_getting_info'),\r
+        // ifSearch : 0,\r
+        // server_rtn:{\r
+        //     info_block:false,\r
+        //     warning_block:false,\r
+        //     rtn_info:"",\r
+        //     $RTN_SUCCESS:"RTN_SUCCESS",\r
+        //     $RTN_FAILED:"RTN_FAILED",\r
+        //              wait : $.i18n.prop('com_zte_ums_eco_roc_vim_checking_status')\r
+        // },\r
+        executeWait: {clazz: 'alert-info', visible: true, text: $.i18n.prop('com_zte_ums_eco_roc_vim_checking_status')},\r
+        executeError: {clazz: 'alert-danger', visible: true, text: 'error'},\r
+        $Status: {\r
+            success: "active",\r
+            failed: "inactive",\r
+            displayActive: $.i18n.prop('com_zte_ums_eco_roc_vim_normal'),\r
+            displayInactive: $.i18n.prop('com_zte_ums_eco_roc_vim_abnormal')\r
+        },\r
+        isSave: true,\r
+        action: {ADD: 'add', UPDATE: 'update'},\r
+        $queryVimInfoUrl: '../../openoapi/extsys/v1/vims',\r
+        $addVimInfoUrl: '../../openoapi/extsys/v1/vims/',\r
+        $updateVimInfoUrl: '../../openoapi/extsys/v1/vims/',\r
+        $delVimInfoUrl: '../../openoapi/extsys/v1/vims/{vim_id}',\r
+        $initTable: function () {\r
+            $.ajax({\r
+                "type": 'get',\r
+                "url": vm.$queryVimInfoUrl,\r
+                //"dataType": "json",\r
+                "success": function (resp, statusText, jqXHR) {\r
+                    if (jqXHR.status == "200") {\r
+                        vm.vimInfo = resp;\r
+                    }\r
+                    else {\r
+                        vm.vimInfo = [];\r
                         bootbox.alert($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_query_failed"));\r
                         return;\r
-                       }\r
-                    },\r
-                     error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                           bootbox.alert($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_query_failed") + textStatus+":"+errorThrown);\r
-                           return;\r
-                     },\r
-                     complete: function() {\r
-                       resUtil.tooltipVimStatus();\r
-                     }\r
-                });\r
-                               \r
-                       },               \r
-                       $vimType:  {\r
-                                       condName : $.i18n.prop("com_zte_ums_eco_roc_vim_type"),\r
-                                       component_type : 'select',\r
-                                       selectItems : [\r
-                                                       {\r
-                                                               cond_value : 'vmware',\r
-                                                               name : "vmware",\r
-                                                               value : true\r
-                                                       },\r
-                                                       {\r
-                                                               cond_value : 'openstack',\r
-                                                               name :"openstack",\r
-                                                               value : true\r
-                                                       }\r
-                                                       ]\r
-                               },\r
-                       addVim : {\r
-                               titleName: $.i18n.prop("com_zte_ums_eco_roc_vim_register_info"),\r
-                vimId : "",\r
-                vimName : "",\r
-                domain : '',\r
-                               userName : "",\r
-                tenant : "",\r
-                               password : "",               \r
-                               url : "",\r
-                               saveType :"add",\r
-                               description : "",               \r
-                vimType :"openstack",\r
-                vendor :""\r
-                       },\r
-        $showVimTable : function(el, action) {\r
+                    }\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    bootbox.alert($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_query_failed") + textStatus + ":" + errorThrown);\r
+                    return;\r
+                },\r
+                complete: function () {\r
+                    resUtil.tooltipVimStatus();\r
+                }\r
+            });\r
+\r
+        },\r
+        $vimType: {\r
+            condName: $.i18n.prop("com_zte_ums_eco_roc_vim_type"),\r
+            component_type: 'select',\r
+            selectItems: [\r
+                {\r
+                    cond_value: 'vmware',\r
+                    name: "vmware",\r
+                    value: true\r
+                },\r
+                {\r
+                    cond_value: 'openstack',\r
+                    name: "openstack",\r
+                    value: true\r
+                }\r
+            ]\r
+        },\r
+        addVim: {\r
+            titleName: $.i18n.prop("com_zte_ums_eco_roc_vim_register_info"),\r
+            vimId: "",\r
+            vimName: "",\r
+            domain: '',\r
+            userName: "",\r
+            tenant: "",\r
+            password: "",\r
+            url: "",\r
+            saveType: "add",\r
+            description: "",\r
+            vimType: "openstack",\r
+            vendor: ""\r
+        },\r
+        $showVimTable: function (el, action) {\r
             vm.isSave = false;\r
-            if(vm.action.ADD == action){\r
+            if (vm.action.ADD == action) {\r
                 vm.addVim.vimId = "";\r
                 vm.addVim.vimName = "";\r
                 vm.addVim.userName = "";\r
@@ -127,17 +126,17 @@ var vm = avalon
                 vm.addVim.vimType = el.type;\r
                 vm.addVim.vendor = el.vendor;\r
             }\r
-            vm.executeError.visible=false;\r
-            vm.executeWait.visible=false;\r
+            vm.executeError.visible = false;\r
+            vm.executeWait.visible = false;\r
             $(".form-group").each(function () {\r
                 $(this).removeClass('has-success');\r
                 $(this).removeClass('has-error');\r
                 $(this).find(".help-block[id]").remove();\r
             });\r
             $("#addVimDlg").modal("show");\r
-               },\r
+        },\r
 \r
-        $saveVimTable : function() {\r
+        $saveVimTable: function () {\r
             vm.isSave = true;\r
             success.hide();\r
             error.hide();\r
@@ -147,153 +146,151 @@ var vm = avalon
             }\r
             vm.executeWait.visible = true;\r
             vm.executeError.visible = false;\r
-            if(vm.addVim.saveType=="add") {\r
+            if (vm.addVim.saveType == "add") {\r
                 //不能重复添加\r
-                               /*\r
-                for( var i = 0; i < vm.vimInfo.length; i ++ ){\r
-                    if(vm.addVim.url == vm.vimInfo[i].url){\r
-                        resUtil.growl($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_title") +  'already exists',"info");\r
-                        $('#addVimDlg').modal('hide');\r
-                        return;\r
-                    }\r
-                }\r
-                               */\r
+                /*\r
+                 for( var i = 0; i < vm.vimInfo.length; i ++ ){\r
+                 if(vm.addVim.url == vm.vimInfo[i].url){\r
+                 resUtil.growl($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_title") +  'already exists',"info");\r
+                 $('#addVimDlg').modal('hide');\r
+                 return;\r
+                 }\r
+                 }\r
+                 */\r
                 vm.persistVim();\r
-            } else if( vm.addVim.saveType == "update" ){\r
+            } else if (vm.addVim.saveType == "update") {\r
                 vm.updateVim();\r
             }\r
         },\r
         //新增vim\r
-        persistVim : function(){\r
+        persistVim: function () {\r
             $.ajax({\r
-                type : "Post",\r
-                url : vm.$addVimInfoUrl,\r
-                data : JSON.stringify({\r
-                    name       : vm.addVim.vimName, \r
-                    url        : vm.addVim.url,                 \r
-                    userName   : vm.addVim.userName,\r
-                    password   : vm.addVim.password,\r
-                    tenant     : vm.addVim.tenant,\r
-                    domain     : vm.addVim.domain,\r
-                    vendor     : vm.addVim.vendor,\r
-                    version    : vm.addVim.version, \r
-                    description: vm.addVim.description,  \r
-                    type       : vm.addVim.vimType,                    \r
+                type: "Post",\r
+                url: vm.$addVimInfoUrl,\r
+                data: JSON.stringify({\r
+                    name: vm.addVim.vimName,\r
+                    url: vm.addVim.url,\r
+                    userName: vm.addVim.userName,\r
+                    password: vm.addVim.password,\r
+                    tenant: vm.addVim.tenant,\r
+                    domain: vm.addVim.domain,\r
+                    vendor: vm.addVim.vendor,\r
+                    version: vm.addVim.version,\r
+                    description: vm.addVim.description,\r
+                    type: vm.addVim.vimType,\r
                 }),\r
-                async : false,\r
-                dataType : "json",\r
-                contentType : 'application/json',\r
-                success : function(data,statusText,jqXHR) {\r
-                    vm.executeWait.visible=false;\r
-                    vm.executeError.visible=false;\r
-                    if ( jqXHR.status=="201" ) {\r
-                        vm.addVim.vimId = data.vimId;                       \r
+                async: false,\r
+                dataType: "json",\r
+                contentType: 'application/json',\r
+                success: function (data, statusText, jqXHR) {\r
+                    vm.executeWait.visible = false;\r
+                    vm.executeError.visible = false;\r
+                    if (jqXHR.status == "201") {\r
+                        vm.addVim.vimId = data.vimId;\r
                         vm.addVim.name = data.name;\r
                         vm.addVim.tenant = data.tenant;\r
                         vm.addVim.type = data.type;\r
-                        var newVim=jQuery.extend({}, vm.addVim);\r
+                        var newVim = jQuery.extend({}, vm.addVim);\r
                         vm.vimInfo.push(newVim);\r
 \r
                         $('#addVimDlg').modal('hide');\r
-                        resUtil.growl($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_title") + $.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_save_success"),"success");\r
-                                       } else{\r
-                                               vm.executeError.visible=true;\r
-                                               vm.executeError.text = $.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_save_failed");\r
+                        resUtil.growl($.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_title") + $.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_save_success"), "success");\r
+                    } else {\r
+                        vm.executeError.visible = true;\r
+                        vm.executeError.text = $.i18n.prop("com_zte_ums_eco_roc_vim_growl_msg_save_failed");\r
                     }\r
                 },\r
-                error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                  vm.executeError.visible = true;\r
-                  vm.executeError.text = textStatus+":"+errorThrown;\r
-                  vm.executeWait.visible = false;\r
-                                 vm.isSave = false;\r
-               }\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    vm.executeError.visible = true;\r
+                    vm.executeError.text = textStatus + ":" + errorThrown;\r
+                    vm.executeWait.visible = false;\r
+                    vm.isSave = false;\r
+                }\r
             });\r
         },\r
         //更新vim\r
-        updateVim : function(){\r
+        updateVim: function () {\r
             $.ajax({\r
-                type : "Put",\r
-                url : vm.$updateVimInfoUrl+vm.addVim.vimId,\r
-                               contentType : 'application/json',\r
-                data : JSON.stringify({\r
-                    name : vm.addVim.vimName,\r
-                    userName : vm.addVim.userName,\r
-                    password : vm.addVim.password,\r
-                    domain   : vm.addVim.domain,\r
-                    version   : vm.addVim.version,\r
-                    description   : vm.addVim.description,\r
-                    url : vm.addVim.url,\r
-                    tenant:vm.addVim.tenant,\r
-                    type : vm.addVim.vimType,\r
-                    vendor : vm.addVim.vendor,\r
+                type: "Put",\r
+                url: vm.$updateVimInfoUrl + vm.addVim.vimId,\r
+                contentType: 'application/json',\r
+                data: JSON.stringify({\r
+                    name: vm.addVim.vimName,\r
+                    userName: vm.addVim.userName,\r
+                    password: vm.addVim.password,\r
+                    domain: vm.addVim.domain,\r
+                    version: vm.addVim.version,\r
+                    description: vm.addVim.description,\r
+                    url: vm.addVim.url,\r
+                    tenant: vm.addVim.tenant,\r
+                    type: vm.addVim.vimType,\r
+                    vendor: vm.addVim.vendor,\r
                 }),\r
-                dataType : "json",\r
-                async : false,\r
-                success : function(data,statusText,jqXHR) {\r
-                    vm.executeWait.visible=false;\r
-                    vm.executeError.visible=false;\r
-                    if (jqXHR.status=="200") {\r
-                        for(var i=0;i<vm.vimInfo.length;i++){\r
-                            if(vm.vimInfo[i].vimId == vm.addVim.vimId)\r
-                            {\r
+                dataType: "json",\r
+                async: false,\r
+                success: function (data, statusText, jqXHR) {\r
+                    vm.executeWait.visible = false;\r
+                    vm.executeError.visible = false;\r
+                    if (jqXHR.status == "200") {\r
+                        for (var i = 0; i < vm.vimInfo.length; i++) {\r
+                            if (vm.vimInfo[i].vimId == vm.addVim.vimId) {\r
                                 vm.vimInfo[i].name = vm.addVim.vimName;\r
                                 vm.vimInfo[i].userName = vm.addVim.userName;\r
                                 vm.vimInfo[i].password = vm.addVim.password;\r
                                 vm.vimInfo[i].url = vm.addVim.url;\r
                                 vm.vimInfo[i].tenant = vm.addVim.tenant;\r
                                 vm.vimInfo[i].domain = vm.addVim.domain;\r
-                                vm.vimInfo[i].description = vm.addVim.description;                               \r
-                                vm.vimInfo[i].type=vm.addVim.vimType;\r
+                                vm.vimInfo[i].description = vm.addVim.description;\r
+                                vm.vimInfo[i].type = vm.addVim.vimType;\r
                             }\r
-                         }\r
+                        }\r
                         $('#addVimDlg').modal('hide');\r
-                     resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_save_success'),"success");\r
+                        resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_save_success'), "success");\r
                     }\r
-                    else{\r
+                    else {\r
                         vm.executeError.visible = true;\r
                         vm.executeError.text = $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_save_failed');\r
                     }\r
                 },\r
-                error: function(XMLHttpRequest, textStatus, errorThrown) {\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
                     vm.isSave = false;\r
-                    vm.executeError.visible=true;\r
-                    vm.executeError.text = textStatus+":"+errorThrown;\r
+                    vm.executeError.visible = true;\r
+                    vm.executeError.text = textStatus + ":" + errorThrown;\r
                     vm.executeWait.visible = false;\r
-               }\r
+                }\r
             });\r
         },\r
-        delVim : function(el){\r
-            bootbox.confirm($.i18n.prop('com_zte_ums_eco_roc_vim_confirm_delete_vim_record'),function(result){\r
-                if(result){\r
+        delVim: function (el) {\r
+            bootbox.confirm($.i18n.prop('com_zte_ums_eco_roc_vim_confirm_delete_vim_record'), function (result) {\r
+                if (result) {\r
                     $.ajax({\r
-                        type : "DELETE",\r
-                        url : vm.$delVimInfoUrl.replace('{vim_id}', el.vimId),\r
-                        success : function(data,statusText,jqXHR) {\r
-                            if( jqXHR.status=="204")\r
-                            {\r
-                                for(var i=0;i<vm.vimInfo.length;i++){\r
-                                    if(el.vimId == vm.vimInfo[i].vimId){\r
+                        type: "DELETE",\r
+                        url: vm.$delVimInfoUrl.replace('{vim_id}', el.vimId),\r
+                        success: function (data, statusText, jqXHR) {\r
+                            if (jqXHR.status == "204") {\r
+                                for (var i = 0; i < vm.vimInfo.length; i++) {\r
+                                    if (el.vimId == vm.vimInfo[i].vimId) {\r
                                         vm.vimInfo.splice(i, 1);\r
                                         break;\r
                                     }\r
                                 }\r
-                                resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_remove_success'),"success");\r
+                                resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_remove_success'), "success");\r
                             }\r
-                            else{\r
-                                resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_remove_failed'),"warning");\r
+                            else {\r
+                                resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + $.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_remove_failed'), "warning");\r
                             }\r
                         },\r
-                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                            resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') +  errorThrown, "danger");\r
+                        error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                            resUtil.growl($.i18n.prop('com_zte_ums_eco_roc_vim_growl_msg_title') + errorThrown, "danger");\r
                         }\r
                     });\r
                 }\r
             });\r
         },\r
-        gotoChartPage:function(oid,name,tenant){\r
-            window.location.href = "vimChart.html?"+oid+"&"+name+"&"+tenant;\r
+        gotoChartPage: function (oid, name, tenant) {\r
+            window.location.href = "vimChart.html?" + oid + "&" + name + "&" + tenant;\r
         }\r
-});\r
+    });\r
 avalon.scan();\r
 vm.$initTable();\r
 \r
index 103482f..5def310 100644 (file)
  */\r
 var resUtil = {};\r
 \r
-resUtil.tooltipVimStatus=function(){\r
- $("[data-toggle='tooltip']").tooltip();\r
+resUtil.tooltipVimStatus = function () {\r
   $("[data-toggle='tooltip']").tooltip();\r
 \r
 }\r
 \r
-resUtil.growl=function(message,type){\r
+resUtil.growl = function (message, type) {\r
     $.growl({\r
         icon: "fa fa-envelope-o fa-lg",\r
         title: "&nbsp;&nbsp;Notice: ",\r
-        message: message+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\r
-    },{\r
+        message: message + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\r
+    }, {\r
         type: type\r
     });\r
     /*\r
-    $.bootstrapGrowl(message, {\r
-        ele: 'body', // which element to append to\r
-        type: type, // (null, 'info', 'danger', 'success')\r
-        offset: {from: 'bottom', amount: 20}, // 'top', or 'bottom'\r
-        align: 'right', // ('left', 'right', or 'center')\r
-        width: 'auto', // (integer, or 'auto')\r
-        delay: 3000, // Time while the message will be displayed. It's not equivalent to the *demo* timeOut!\r
-        allow_dismiss: false, // If true then will display a cross to close the popup.\r
-        stackup_spacing: 10 // spacing between consecutively stacked growls.\r
-    });\r
-    */\r
+     $.bootstrapGrowl(message, {\r
+     ele: 'body', // which element to append to\r
+     type: type, // (null, 'info', 'danger', 'success')\r
+     offset: {from: 'bottom', amount: 20}, // 'top', or 'bottom'\r
+     align: 'right', // ('left', 'right', or 'center')\r
+     width: 'auto', // (integer, or 'auto')\r
+     delay: 3000, // Time while the message will be displayed. It's not equivalent to the *demo* timeOut!\r
+     allow_dismiss: false, // If true then will display a cross to close the popup.\r
+     stackup_spacing: 10 // spacing between consecutively stacked growls.\r
+     });\r
+     */\r
 }\r
 \r
 \r
index e94066f..c39cc40 100644 (file)
 -->\r
 <html>\r
 <head lang="en">\r
-<meta charset="UTF-8">\r
-<title></title>\r
-<link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>\r
-<link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>\r
-<link href="../../common/css/ngict-component.css" rel="stylesheet" type="text/css">\r
-<link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css">\r
-<link href="../../common/thirdparty/animate/animate.min.css" rel="stylesheet" type="text/css" />\r
-<link href="css/vimChart.css" rel="stylesheet" type="text/css"/>\r
-<style>\r
-.ms-controller {\r
-       visibility: hidden\r
-}\r
-</style>\r
-<script>\r
-var id,name,tenant;\r
-  if (window.location.search && window.location.search.length > 1) {\r
-    var arr=window.location.search.split("&");\r
-        id = arr[0].replace("?","");\r
-        name = arr[1];\r
-        tenant = arr[2];\r
-    }\r
-</script>\r
+    <meta charset="UTF-8">\r
+    <title></title>\r
+    <link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>\r
+    <link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>\r
+    <link href="../../common/css/ngict-component.css" rel="stylesheet" type="text/css">\r
+    <link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css">\r
+    <link href="../../common/thirdparty/animate/animate.min.css" rel="stylesheet" type="text/css"/>\r
+    <link href="css/vimChart.css" rel="stylesheet" type="text/css"/>\r
+    <style>\r
+        .ms-controller {\r
+            visibility: hidden\r
+        }\r
+    </style>\r
+    <script>\r
+        var id, name, tenant;\r
+        if (window.location.search && window.location.search.length > 1) {\r
+            var arr = window.location.search.split("&");\r
+            id = arr[0].replace("?", "");\r
+            name = arr[1];\r
+            tenant = arr[2];\r
+        }\r
+    </script>\r
 </head>\r
 <body>\r
 <div class="ms-controller" ms-controller="vimChartController">\r
- <div class="container-fluid">\r
-\r
-  <div class="row" style=" margin-top: 15px;">\r
-         <div class="col-xs-6 col-md-6 col-sm-6 col-lg-6 titlefont">\r
-          {{vimInfo.name}}<span  id_i18n="com_zte_ums_eco_roc_vim_resource_use" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-         </div>  \r
-         <div class="pull-right">  \r
-          <a href="#" ms-click="gotoVimPage()" id_i18n="com_zte_ums_eco_roc_vim_resource_chart_return" name_i18n="com_zte_conductor_ui_i18n"></a>\r
-\r
-         </div>      \r
-   </div>\r
-   <div class="separator-line"></div>\r
-\r
-    <div class="row row-fluid">\r
-\r
- <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 " ms-if="vimInfo.isAdmin==true" >\r
-\r
- <div class="form-body">\r
-      <div class="form-title">\r
-        <span id_i18n="com_zte_ums_eco_roc_vim_resource_vim_use" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-      </div>\r
-      <div  id="vimPieChartDiv" style="width:100%;height:200px" class="main"></div>\r
-                  \r
-      </div>  \r
-  </div>\r
-\r
-        \r
-\r
-   <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 " >\r
-   <div class="form-body">\r
-      <div class="form-title">\r
-        {{vimInfo.tenant}}<span id_i18n="com_zte_ums_eco_roc_vim_resource_tenant_use" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-        <div class="pull-right">\r
-         <select class="form-control m-b" ms-if="vimInfo.isAdmin==true"  ms-each="tenantSelectList.selectItems"   ms-duplex="vimInfo.tenant" ms-change="tenantChartLoad()">             \r
-                            <option ms-attr-value='el.name'>{{el.name}}</option>\r
-                        </select>\r
-\r
-        \r
-         </div>\r
-      </div>\r
-    \r
-      <div  id="tenantPieChartDiv" style="width:100%;height:400px" class="main"></div>\r
-                  \r
-      </div> \r
-     \r
-   </div>\r
+    <div class="container-fluid">\r
 \r
-    </div>\r
+        <div class="row" style=" margin-top: 15px;">\r
+            <div class="col-xs-6 col-md-6 col-sm-6 col-lg-6 titlefont">\r
+                {{vimInfo.name}}<span id_i18n="com_zte_ums_eco_roc_vim_resource_use"\r
+                                      name_i18n="com_zte_conductor_ui_i18n"></span>\r
+            </div>\r
+            <div class="pull-right">\r
+                <a href="#" ms-click="gotoVimPage()" id_i18n="com_zte_ums_eco_roc_vim_resource_chart_return"\r
+                   name_i18n="com_zte_conductor_ui_i18n"></a>\r
+\r
+            </div>\r
+        </div>\r
+        <div class="separator-line"></div>\r
+\r
+        <div class="row row-fluid">\r
+\r
+            <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 " ms-if="vimInfo.isAdmin==true">\r
+\r
+                <div class="form-body">\r
+                    <div class="form-title">\r
+                        <span id_i18n="com_zte_ums_eco_roc_vim_resource_vim_use"\r
+                              name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                    </div>\r
+                    <div id="vimPieChartDiv" style="width:100%;height:200px" class="main"></div>\r
+\r
+                </div>\r
+            </div>\r
+\r
+\r
+            <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">\r
+                <div class="form-body">\r
+                    <div class="form-title">\r
+                        {{vimInfo.tenant}}<span id_i18n="com_zte_ums_eco_roc_vim_resource_tenant_use"\r
+                                                name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                        <div class="pull-right">\r
+                            <select class="form-control m-b" ms-if="vimInfo.isAdmin==true"\r
+                                    ms-each="tenantSelectList.selectItems" ms-duplex="vimInfo.tenant"\r
+                                    ms-change="tenantChartLoad()">\r
+                                <option ms-attr-value='el.name'>{{el.name}}</option>\r
+                            </select>\r
 \r
- </div>\r
+\r
+                        </div>\r
+                    </div>\r
+\r
+                    <div id="tenantPieChartDiv" style="width:100%;height:400px" class="main"></div>\r
+\r
+                </div>\r
+\r
+            </div>\r
+\r
+        </div>\r
+\r
+    </div>\r
 \r
 \r
 </div>\r
@@ -102,12 +107,12 @@ var id,name,tenant;
 <script type="text/javascript" src="../../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
 <script type="text/javascript" src="../../common/thirdparty/bootstrap/js/bootstrap.min.js"></script>\r
 <script src="../../common/thirdparty/bootstrap-growl/bootstrap-growl.min.js"></script>\r
-<script type="text/javascript" src="./i18n/loadi18nApp.js"></script> \r
+<script type="text/javascript" src="./i18n/loadi18nApp.js"></script>\r
 <script src="../../common/thirdparty/echarts/echarts-all.js"></script>\r
 <script type="text/javascript" src="../../common/thirdparty/bootbox/bootbox.min.js"></script>\r
 <script src="../../common/thirdparty/avalon/avalon.js"></script>\r
 <script type="text/javascript" src="js/vimChart.js"></script>\r
 <script type="text/javascript" src="js/vimChartController.js"></script>\r
-<script type="text/javascript" src="../../common/js/core/hk.min.js" ></script>\r
+<script type="text/javascript" src="../../common/js/core/hk.min.js"></script>\r
 </body>\r
 </html>
\ No newline at end of file
index 858d6d5..5198724 100644 (file)
 -->\r
 <html>\r
 <head lang="en">\r
-<meta charset="UTF-8">\r
-<title></title>\r
-<link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>\r
-<link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>\r
-<link href="../../common/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>\r
-<link href="../../common/css/ngict-component.css" rel="stylesheet" type="text/css">\r
-<link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css">\r
-<link href="css/vim.css" rel="stylesheet" type="text/css"/>\r
-<link href="css/skill.css" rel="stylesheet" type="text/css"/>\r
-<link href="../../common/thirdparty/animate/animate.min.css" rel="stylesheet" type="text/css"/>\r
-\r
-\r
-<style>\r
-.ms-controller {\r
-       visibility: hidden\r
-}\r
-</style>\r
+    <meta charset="UTF-8">\r
+    <title></title>\r
+    <link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>\r
+    <link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>\r
+    <link href="../../common/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>\r
+    <link href="../../common/css/ngict-component.css" rel="stylesheet" type="text/css">\r
+    <link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css">\r
+    <link href="css/vim.css" rel="stylesheet" type="text/css"/>\r
+    <link href="css/skill.css" rel="stylesheet" type="text/css"/>\r
+    <link href="../../common/thirdparty/animate/animate.min.css" rel="stylesheet" type="text/css"/>\r
+\r
+\r
+    <style>\r
+        .ms-controller {\r
+            visibility: hidden\r
+        }\r
+    </style>\r
 \r
 </head>\r
 <body>\r
 <div class="ms-controller container-fluid" ms-controller="vimController">\r
 \r
-<div id="addVimDlg" class="modal  fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >\r
-               <div class="modal-dialog">\r
-                       <div class="modal-content Changepasswd">\r
-                               <div class="content">\r
-                                       <div class="modal-header">\r
-                                               <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\r
-                                               <h4 id="myModalLabel" ms-text="addVim.titleName"></h4>\r
-                                       </div>\r
+    <div id="addVimDlg" class="modal  fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"\r
+         aria-hidden="true">\r
+        <div class="modal-dialog">\r
+            <div class="modal-content Changepasswd">\r
+                <div class="content">\r
+                    <div class="modal-header">\r
+                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\r
+                        <h4 id="myModalLabel" ms-text="addVim.titleName"></h4>\r
+                    </div>\r
                     <!-- modal body begin-->\r
-                                       <div class="modal-body">\r
-                                       <div class="alert alert-info" ms-visible="executeWait.visible">{{executeWait.text}}</div>\r
-                                       <div class="alert alert-danger " ms-visible="executeError.visible">{{executeError.text}}</div>\r
-\r
-                                       <form class="form-horizontal" id="vim_form" role="form">\r
-                                               <input type="hidden" ms-duplex="addVim.vimId"  name="vimId" class="form-control"/>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                <span id_i18n="com_zte_ums_eco_roc_vim_name" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.vimName"  name="vimName" class="form-control"/>\r
-                                                               <span class="help-block"></span>\r
-                                                       </div>\r
-                                               </div>\r
-                                                <div class="form-group">\r
-                            <label class="control-label col-sm-3">\r
-                                <span id_i18n="com_zte_ums_eco_roc_vim_auth_url" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                <span class="required" aria-required="true">*</span>\r
-                            </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.url" placeholder="http://xx.xx.xx.xx:5000/v2.0" name="url" class="form-control"/> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                                       \r
-                                               </div>\r
-                                                <div class="form-group">\r
-                                                               <label class="control-label col-sm-3">\r
-                                                                       <span id_i18n="com_zte_ums_eco_roc_vim_username" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                                                       <span class="required" aria-required="true">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.userName" name="userName" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-\r
-                                                <div class="form-group">\r
-                                                               <label class="control-label col-sm-3">\r
-                                                                       <span id_i18n="com_zte_ums_eco_roc_vim_password" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                                                       <span class="required" aria-required="true">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="password" ms-duplex="addVim.password"  name="password"  class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                               <label class="control-label col-sm-3">\r
-                                                                       <span id_i18n="com_zte_ums_eco_roc_vim_tenant" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                                                       <span class="required" aria-required="true">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.tenant"  name="tenant"  class="form-control" />\r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id_i18n="com_zte_ums_eco_roc_vim_version" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.version"  name="version"  class="form-control" />\r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>                  \r
-                                               <div class="form-group">\r
-                            <label class="control-label col-sm-3">\r
-                                <span id_i18n="com_zte_ums_eco_roc_vim_vendor" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                <span class="required" aria-required="true">*</span>\r
-                            </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.vendor"  name="vendor"  class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id_i18n="com_zte_ums_eco_roc_vim_domain" name_i18n="com_zte_conductor_ui_i18n"></span>                                                            \r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVim.domain"  name="domain"  class="form-control" />\r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>  \r
-                                                <div class="form-group">\r
-                            <label class="control-label col-sm-3">\r
-                                <span id_i18n="com_zte_ums_eco_roc_vim_type" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                <span class="required" aria-required="true">*</span>\r
-                            </label>\r
-                                                       <div class="col-sm-7">\r
-                                <select id="vimTypeSelect"  ms-each="$vimType.selectItems" ms-duplex="addVim.vimType" >\r
-                                    <option ms-attr-value='el.cond_value'>{{el.name}}</option>\r
-                                </select>\r
-                                <span class="help-block"></span>\r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id_i18n="com_zte_ums_eco_roc_vim_description" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                                               <span class="" aria-required="" style="visibility: hidden;">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <textarea class="form-control" rows="3"  ms-duplex="addVim.description"  name="description"></textarea>\r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                       </form>\r
-                                       </div>\r
+                    <div class="modal-body">\r
+                        <div class="alert alert-info" ms-visible="executeWait.visible">{{executeWait.text}}</div>\r
+                        <div class="alert alert-danger " ms-visible="executeError.visible">{{executeError.text}}</div>\r
+\r
+                        <form class="form-horizontal" id="vim_form" role="form">\r
+                            <input type="hidden" ms-duplex="addVim.vimId" name="vimId" class="form-control"/>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_name"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.vimName" name="vimName" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_auth_url"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.url" placeholder="http://xx.xx.xx.xx:5000/v2.0"\r
+                                           name="url" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_username"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.userName" name="userName"\r
+                                           class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_password"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="password" ms-duplex="addVim.password" name="password"\r
+                                           class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_tenant"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.tenant" name="tenant" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_version"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.version" name="version" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_vendor"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.vendor" name="vendor" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_domain"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVim.domain" name="domain" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_type"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <select id="vimTypeSelect" ms-each="$vimType.selectItems"\r
+                                            ms-duplex="addVim.vimType">\r
+                                        <option ms-attr-value='el.cond_value'>{{el.name}}</option>\r
+                                    </select>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id_i18n="com_zte_ums_eco_roc_vim_description"\r
+                                          name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                                    <span class="" aria-required="" style="visibility: hidden;">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <textarea class="form-control" rows="3" ms-duplex="addVim.description"\r
+                                              name="description"></textarea>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                        </form>\r
+                    </div>\r
                     <!-- modal body end-->\r
-                                       <div class="modal-footer">\r
-                                               <button class="btn" data-dismiss="modal" aria-hidden="true"><span id_i18n="com_zte_ums_eco_roc_vim_cancel" name_i18n="com_zte_conductor_ui_i18n"></span></button>\r
-                                               <button class="btn btn-primary" type="submit" ms-disabled="isSave" ms-click="$saveVimTable()"><span id_i18n="com_zte_ums_eco_roc_vim_save" name_i18n="com_zte_conductor_ui_i18n"></span></button>\r
-                                       </div>\r
-                               </div>\r
-\r
-                       </div>\r
-               </div>\r
-       </div>\r
-\r
-               <div class="row-fluid col-sm-12" data-name="cond_zone">\r
-            <div class="col-sm-4">\r
-                <button class= "btn white radius_l" id="app-new-btn"  ms-click="$showVimTable('', 'add')">\r
-                    <i class="ict-new"></i> <span id_i18n="com_zte_ums_eco_roc_vim_register" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                </button>\r
+                    <div class="modal-footer">\r
+                        <button class="btn" data-dismiss="modal" aria-hidden="true"><span\r
+                                id_i18n="com_zte_ums_eco_roc_vim_cancel" name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                        </button>\r
+                        <button class="btn btn-primary" type="submit" ms-disabled="isSave" ms-click="$saveVimTable()">\r
+                            <span id_i18n="com_zte_ums_eco_roc_vim_save" name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                        </button>\r
+                    </div>\r
+                </div>\r
+\r
             </div>\r
-           <!-- <div class="fa fa-refresh text-muted refresh-status-text"><small><span id_i18n="com_zte_ums_eco_roc_vim_status_update_time" name_i18n="com_zte_conductor_ui_i18n"></span></small><small ms-text="vimStatusTime"></small></div>-->\r
         </div>\r
+    </div>\r
+\r
+    <div class="row-fluid col-sm-12" data-name="cond_zone">\r
+        <div class="col-sm-4">\r
+            <button class="btn white radius_l" id="app-new-btn" ms-click="$showVimTable('', 'add')">\r
+                <i class="ict-new"></i> <span id_i18n="com_zte_ums_eco_roc_vim_register"\r
+                                              name_i18n="com_zte_conductor_ui_i18n"></span>\r
+            </button>\r
+        </div>\r
+        <!-- <div class="fa fa-refresh text-muted refresh-status-text"><small><span id_i18n="com_zte_ums_eco_roc_vim_status_update_time" name_i18n="com_zte_conductor_ui_i18n"></span></small><small ms-text="vimStatusTime"></small></div>-->\r
+    </div>\r
 \r
     <div class="row-fluid col-sm-12 " ms-each-el="vimInfo">\r
-               <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;">\r
-                <div class="hpanel stats" >\r
-                               \r
-                    <div class="panel-body h-200" ms-hover="hpanel_show">\r
-                        <div class="pull-left">\r
-                            <span class="label label-success"  ms-text="$Status.displayActive"></span>\r
-                        </div>\r
-                        <div class="stats-icon pull-right">\r
-                            <i class="fa fa-cloud  fa-5x color_cloud"></i>\r
-                        </div>\r
-                        <div class="m-t-xl">\r
-                            <h3 ms-text="el.name"></h3>   \r
-                            <div class="font">  \r
-                                <span id_i18n="com_zte_ums_eco_roc_vim_display_type" name_i18n="com_zte_conductor_ui_i18n"></span>\r
-                                <span ms-text="el.type"></span>\r
-                                        </div>             \r
-                            <div  ms-text="el.url"></div>\r
-                         </div>\r
-                    </div>                                     \r
-                    <div class="panel-footer">\r
-                        <div  class="pull-right">\r
-                         <a class="btn btn-default btn-sm" ms-click="$showVimTable(el, 'update')"><i class="fa fa-pencil-square-o fa-lg"></i></a>\r
-                         <a class="btn btn-default btn-sm" ms-click="delVim(el)"><i class="fa fa-trash-o fa-lg"> </i></a>\r
-                         <!--<a class="btn btn-default btn-sm" ms-click="gotoChartPage(el.oid,el.name,el.user)"><i class="fa fa-pie-chart fa-lg"> </i></a>-->\r
+        <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;">\r
+            <div class="hpanel stats">\r
+\r
+                <div class="panel-body h-200" ms-hover="hpanel_show">\r
+                    <div class="pull-left">\r
+                        <span class="label label-success" ms-text="$Status.displayActive"></span>\r
+                    </div>\r
+                    <div class="stats-icon pull-right">\r
+                        <i class="fa fa-cloud  fa-5x color_cloud"></i>\r
+                    </div>\r
+                    <div class="m-t-xl">\r
+                        <h3 ms-text="el.name"></h3>\r
+                        <div class="font">\r
+                            <span id_i18n="com_zte_ums_eco_roc_vim_display_type"\r
+                                  name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                            <span ms-text="el.type"></span>\r
                         </div>\r
+                        <div ms-text="el.url"></div>\r
+                    </div>\r
+                </div>\r
+                <div class="panel-footer">\r
+                    <div class="pull-right">\r
+                        <a class="btn btn-default btn-sm" ms-click="$showVimTable(el, 'update')"><i\r
+                                class="fa fa-pencil-square-o fa-lg"></i></a>\r
+                        <a class="btn btn-default btn-sm" ms-click="delVim(el)"><i class="fa fa-trash-o fa-lg"> </i></a>\r
+                        <!--<a class="btn btn-default btn-sm" ms-click="gotoChartPage(el.oid,el.name,el.user)"><i class="fa fa-pie-chart fa-lg"> </i></a>-->\r
                     </div>\r
                 </div>\r
             </div>\r
-          \r
+        </div>\r
+\r
     </div>\r
     <div class="row-fluid">\r
-                       <div class="col-md-12">\r
-                <div class="pull-left text-muted"><small><span id_i18n="com_zte_ums_eco_roc_vim_total" name_i18n="com_zte_conductor_ui_i18n"></span> \r
-                        <span class="blue-font" ms-text="vimInfo.size()"></span> \r
-                        <span id_i18n="com_zte_ums_eco_roc_vim_metric" name_i18n="com_zte_conductor_ui_i18n"></span></small></div>  \r
-                       </div>\r
-       </div>\r
-               \r
-       </div>\r
+        <div class="col-md-12">\r
+            <div class="pull-left text-muted">\r
+                <small><span id_i18n="com_zte_ums_eco_roc_vim_total" name_i18n="com_zte_conductor_ui_i18n"></span>\r
+                    <span class="blue-font" ms-text="vimInfo.size()"></span>\r
+                    <span id_i18n="com_zte_ums_eco_roc_vim_metric" name_i18n="com_zte_conductor_ui_i18n"></span></small>\r
+            </div>\r
+        </div>\r
+    </div>\r
+\r
+</div>\r
 <script type="text/javascript" src="../../common/thirdparty/jquery/jquery-1.10.2.min.js"></script>\r
 <script type="text/javascript" src="../../common/js/tools.js"></script>\r
 <script type="text/javascript" src="../../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
 <script type="text/javascript" src="../../common/thirdparty/bootbox/bootbox.min.js"></script>\r
 <!--<script type="text/javascript" src="../component/thirdparty/cometd/cometd.js"></script>-->\r
 <!--<script type="text/javascript" src="../component/thirdparty/cometd/jquery/jquery.cometd.js"></script>-->\r
-<script type="text/javascript" src="js/loadi18nApp.js"></script> \r
+<script type="text/javascript" src="js/loadi18nApp.js"></script>\r
 <script type="text/javascript" src="js/vim-validate.js"></script>\r
 <!--<script type="text/javascript" src="./js/client-cometd.js"></script>-->\r
 <script src="../vendor/avalon/avalon.js"></script>\r
 <script type="text/javascript" src="js/vimUtil.js"></script>\r
 <script type="text/javascript" src="js/vimController.js"></script>\r
 <script src="../../common/thirdparty/bootstrap-growl/bootstrap-growl.min.js"></script>\r
-<script type="text/javascript" src="../../common/js/core/hk.min.js" ></script>\r
+<script type="text/javascript" src="../../common/js/core/hk.min.js"></script>\r
 </body>\r
 </html>
\ No newline at end of file
index 14254aa..cd23bc7 100644 (file)
  * limitations under the License.\r
  */\r
 body {\r
-       font-family: microsoft yahei !important;\r
+    font-family: microsoft yahei !important;\r
 }\r
 \r
 /* blue pill (inspired by iTunes)\r
 *******************************************************************************/\r
 \r
 .grey {\r
-  background-color: #e5e5e5;\r
-  color: #333;\r
+    background-color: #e5e5e5;\r
+    color: #333;\r
 }\r
 \r
 .blue {\r
 \r
-       background-color: #5b9bd1;\r
-       border-radius: 20px;\r
-       color: #fff;\r
-       font-weight: bold;\r
-       padding: 8px 0;\r
-       text-align: center;\r
-       width: 100px;\r
+    background-color: #5b9bd1;\r
+    border-radius: 20px;\r
+    color: #fff;\r
+    font-weight: bold;\r
+    padding: 8px 0;\r
+    text-align: center;\r
+    width: 100px;\r
 }\r
 \r
 .blue:hover {\r
-       background-color: #e8f3fd;\r
-       color: #5b9bd1;\r
+    background-color: #e8f3fd;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .blue.selected {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
-       color: #fff;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
+    color: #fff;\r
 }\r
 \r
 .blue.selected:hover {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
-       color: #fff;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
+    color: #fff;\r
 }\r
 \r
 p {\r
-       color: #444;\r
-       font-size: 14px;\r
-       font-weight: normal;\r
-       line-height: 21px;\r
-       margin: 0 0 12px 0;\r
+    color: #444;\r
+    font-size: 14px;\r
+    font-weight: normal;\r
+    line-height: 21px;\r
+    margin: 0 0 12px 0;\r
 }\r
 \r
 p.credit {\r
-       border-top: 1px solid #ccc;\r
-       font-size: 14px;\r
-       line-height: 140%;\r
-       margin: 36px 0 12px 0;\r
-       padding: 8px 0 0 0;\r
-       text-align: center;\r
+    border-top: 1px solid #ccc;\r
+    font-size: 14px;\r
+    line-height: 140%;\r
+    margin: 36px 0 12px 0;\r
+    padding: 8px 0 0 0;\r
+    text-align: center;\r
 }\r
 \r
 ul.column {\r
-       float: left;\r
-       list-style: none;\r
-       width: 675px;\r
+    float: left;\r
+    list-style: none;\r
+    width: 675px;\r
 }\r
 \r
 ul.column li {\r
-       background: #eee;\r
-       -webkit-border-radius: 5px;\r
-       border-radius: 5px;\r
-       -webkit-box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
-       box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
-       float: left;\r
-       margin: 10px 0 0 10px;\r
-       display: block;\r
-       height: 150px;\r
-       text-align: center;\r
-       width: 215px;\r
+    background: #eee;\r
+    -webkit-border-radius: 5px;\r
+    border-radius: 5px;\r
+    -webkit-box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
+    box-shadow: inset 0 1px 1px 0 #c7c7c7;\r
+    float: left;\r
+    margin: 10px 0 0 10px;\r
+    display: block;\r
+    height: 150px;\r
+    text-align: center;\r
+    width: 215px;\r
 }\r
 \r
 /* Clear Floated Elements\r
 ------------------------------------------------------------------------------*/\r
-.column:after,.button-collection:after,.clearfix:after,div.project-info:after\r
-       {\r
-       clear: both;\r
-       content: ' ';\r
-       display: block;\r
-       font-size: 0;\r
-       line-height: 0;\r
-       visibility: hidden;\r
-       width: 0;\r
-       height: 0;\r
+.column:after, .button-collection:after, .clearfix:after, div.project-info:after {\r
+    clear: both;\r
+    content: ' ';\r
+    display: block;\r
+    font-size: 0;\r
+    line-height: 0;\r
+    visibility: hidden;\r
+    width: 0;\r
+    height: 0;\r
 }\r
 \r
 .container-fluid {\r
-       background-color:white !important;\r
-       min-height:500px;\r
+    background-color: white !important;\r
+    min-height: 500px;\r
 }\r
 \r
 .nav-tabs {\r
-       border: 0;\r
+    border: 0;\r
 }\r
 \r
-.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus\r
-       {\r
-       border: 0;\r
-       border-top: 3px solid #F3565D;\r
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\r
+    border: 0;\r
+    border-top: 3px solid #F3565D;\r
 }\r
 \r
-.nav-tabs>li>a {\r
-       border-radius: 0;\r
+.nav-tabs > li > a {\r
+    border-radius: 0;\r
 }\r
 \r
-.nav-tabs>li>a:hover {\r
-       background-color: #f1f3fa;\r
-       border: 1Px solid #f1f3fa;\r
+.nav-tabs > li > a:hover {\r
+    background-color: #f1f3fa;\r
+    border: 1Px solid #f1f3fa;\r
 }\r
 \r
 .c3 {\r
-       margin-top: 120px;\r
+    margin-top: 120px;\r
 }\r
 \r
 .skills-chart-breadcrumb {\r
-       \r
+\r
 }\r
 \r
 .blue:selected {\r
-       border: 0;\r
-       background-color: #5b9bd1;\r
+    border: 0;\r
+    background-color: #5b9bd1;\r
 }\r
 \r
 .btn {\r
-       /* border-width: 0; */\r
-       /* padding: 7px 14px; */\r
-       /* font-size: 14px; */\r
-       /* outline: none !important; */\r
-       /* background-image: none !important; */\r
-       /* filter: none; */\r
-       /* -webkit-box-shadow: none; */\r
-       -moz-box-shadow: none;\r
-       /* box-shadow: none; */\r
-       /* text-shadow: none; */\r
+    /* border-width: 0; */\r
+    /* padding: 7px 14px; */\r
+    /* font-size: 14px; */\r
+    /* outline: none !important; */\r
+    /* background-image: none !important; */\r
+    /* filter: none; */\r
+    /* -webkit-box-shadow: none; */\r
+    -moz-box-shadow: none;\r
+    /* box-shadow: none; */\r
+    /* text-shadow: none; */\r
 }\r
 \r
 select {\r
-       border-width: 1px;\r
-       padding: 4px 1px;\r
-       border-radius: 4px;\r
+    border-width: 1px;\r
+    padding: 4px 1px;\r
+    border-radius: 4px;\r
 }\r
 \r
 .input-sm {\r
-       padding: 4px 10px;\r
+    padding: 4px 10px;\r
 }\r
 \r
 .btn-block {\r
-       display: block;\r
-       width: 100%;\r
-       padding-left: 0;\r
-       padding-right: 0;\r
+    display: block;\r
+    width: 100%;\r
+    padding-left: 0;\r
+    padding-right: 0;\r
 }\r
 \r
 /* Bootstrap buttons */\r
 \r
-\r
-.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active\r
-       {\r
-       color: #333;\r
-       background-color: #ededed;\r
-       border-color: #b3b3b3;\r
+.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active {\r
+    color: #333;\r
+    background-color: #ededed;\r
+    border-color: #b3b3b3;\r
 }\r
 \r
 .open .btn-default.dropdown-toggle {\r
-       color: #333;\r
-       background-color: #ededed;\r
-       border-color: #b3b3b3;\r
+    color: #333;\r
+    background-color: #ededed;\r
+    border-color: #b3b3b3;\r
 }\r
 \r
-.btn-default:active,.btn-default.active {\r
-       background-image: none;\r
-       background-color: #e0e0e0;\r
-       font-weight: bold;\r
+.btn-default:active, .btn-default.active {\r
+    background-image: none;\r
+    background-color: #e0e0e0;\r
+    font-weight: bold;\r
 }\r
 \r
-.btn-default:active:hover,.btn-default.active:hover {\r
-       background-color: #e6e6e6;\r
+.btn-default:active:hover, .btn-default.active:hover {\r
+    background-color: #e6e6e6;\r
 }\r
 \r
 .open .btn-default.dropdown-toggle {\r
-       background-image: none;\r
+    background-image: none;\r
 }\r
 \r
-.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active\r
-       {\r
-       background-color: #fff;\r
-       border-color: #ccc;\r
+.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {\r
+    background-color: #fff;\r
+    border-color: #ccc;\r
 }\r
 \r
 .btn-default .badge {\r
-       color: #fff;\r
-       background-color: #333;\r
+    color: #fff;\r
+    background-color: #333;\r
 }\r
 \r
-\r
-.btn-default>i[class^="icon-"],.btn-default>i[class*="icon-"] {\r
-       color: #8c8c8c;\r
+.btn-default > i[class^="icon-"], .btn-default > i[class*="icon-"] {\r
+    color: #8c8c8c;\r
 }\r
 \r
 div[data-name="tab_zone"] div {\r
-       background-color: #f1f3fa;\r
-       padding: 0px;\r
+    background-color: #f1f3fa;\r
+    padding: 0px;\r
 }\r
 \r
 div[data-name="cond_zone"] div {\r
-       background-color: #fff;\r
-       margin-top: 15px;\r
-       margin-bottom: 15px;\r
+    background-color: #fff;\r
+    margin-top: 15px;\r
+    margin-bottom: 15px;\r
 }\r
 \r
 div[data-name="res-conds-zone"] {\r
-       display: inline;\r
-}\r
-\r
-div[data-name="res-conds-zone"] select,div[data-name="res-conds-zone"] span\r
-       {\r
-       /**height:33px;*/\r
-       margin-left: 15px;\r
-       color: #5b9bd1;\r
-       border-color: #ccc;\r
-       font-weight: bold;\r
-}\r
-\r
-.input{\r
-       width:250px;\r
-  height: 34px;\r
-  padding: 6px 12px;\r
-  font-size: 14px;\r
-  line-height: 1.42857143;\r
-  color: #555;\r
-  background-color: #fff;\r
-  background-image: none;\r
-  border: 1px solid #ccc;\r
-  border-radius: 4px;\r
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r
-  -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\r
-  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\r
+    display: inline;\r
+}\r
+\r
+div[data-name="res-conds-zone"] select, div[data-name="res-conds-zone"] span {\r
+    /**height:33px;*/\r
+    margin-left: 15px;\r
+    color: #5b9bd1;\r
+    border-color: #ccc;\r
+    font-weight: bold;\r
+}\r
+\r
+.input {\r
+    width: 250px;\r
+    height: 34px;\r
+    padding: 6px 12px;\r
+    font-size: 14px;\r
+    line-height: 1.42857143;\r
+    color: #555;\r
+    background-color: #fff;\r
+    background-image: none;\r
+    border: 1px solid #ccc;\r
+    border-radius: 4px;\r
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\r
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\r
+    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\r
+    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\r
 }\r
 \r
 div.separator {\r
-       margin: 20px;\r
+    margin: 20px;\r
 }\r
 \r
 div.separator div {\r
-       text-align: center;\r
-       line-height: 0;\r
+    text-align: center;\r
+    line-height: 0;\r
 }\r
 \r
 div.separator-line {\r
-       height: 1px !important;\r
-       width: 100%;\r
-       background: #ddd;\r
-       overflow: hidden;\r
+    height: 1px !important;\r
+    width: 100%;\r
+    background: #ddd;\r
+    overflow: hidden;\r
 }\r
 \r
 .dropdown-toggle {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .calendar-date {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .range_inputs {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
-.btn.dropdown-toggle,.btn-group .btn.dropdown-toggle,.btn:hover,.btn:disabled,.btn[disabled],.btn:focus,.btn:active,.btn.active\r
-       {\r
-       outline: none !important;\r
-       background-image: none !important;\r
-       filter: none;\r
-       -webkit-box-shadow: none;\r
-       -moz-box-shadow: none;\r
-       box-shadow: none;\r
-       text-shadow: none;\r
+.btn.dropdown-toggle, .btn-group .btn.dropdown-toggle, .btn:hover, .btn:disabled, .btn[disabled], .btn:focus, .btn:active, .btn.active {\r
+    outline: none !important;\r
+    background-image: none !important;\r
+    filter: none;\r
+    -webkit-box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    box-shadow: none;\r
+    text-shadow: none;\r
 }\r
 \r
 #skills-chart-breadcrumb {\r
-       margin-bottom: 10px\r
+    margin-bottom: 10px\r
 }\r
 \r
 /*增加daterangepicker的css*/\r
 input[name="daterange"] {\r
-       width: 220px;\r
-       line-height: 0;\r
-       height: 31px;\r
-       vertical-align: top;\r
-       margin-top: 2px;\r
+    width: 220px;\r
+    line-height: 0;\r
+    height: 31px;\r
+    vertical-align: top;\r
+    margin-top: 2px;\r
 }\r
 \r
 .daterangepicker .ranges {\r
-       width: 205px;\r
+    width: 205px;\r
 }\r
 \r
 .daterangepicker .ranges input {\r
-       width: 95px !important;\r
+    width: 95px !important;\r
 }\r
 \r
 td.details-control {\r
-       background: url('../images/details_open.png') no-repeat center center;\r
-       cursor: pointer;\r
+    background: url('../images/details_open.png') no-repeat center center;\r
+    cursor: pointer;\r
 }\r
 \r
 tr.shown td.details-control {\r
-       background: url('../images/details_close.png') no-repeat center center;\r
+    background: url('../images/details_close.png') no-repeat center center;\r
 }\r
 \r
 .details table td {\r
-       word-wrap: break-word;\r
-       word-break: normal;\r
-       border-top: 1px solid #dddddd;\r
+    word-wrap: break-word;\r
+    word-break: normal;\r
+    border-top: 1px solid #dddddd;\r
 }\r
 \r
-.details table  tr:first-child td {\r
-       border-top: none;\r
+.details table tr:first-child td {\r
+    border-top: none;\r
 }\r
 \r
 .details table {\r
-       table-layout: fixed;\r
-       width: 100%;\r
+    table-layout: fixed;\r
+    width: 100%;\r
 }\r
 \r
 td.title {\r
-       width: 10%;\r
+    width: 10%;\r
 }\r
 \r
-table.dataTable tbody th,table.dataTable tbody td {\r
-       padding: 8px 10px;\r
+table.dataTable tbody th, table.dataTable tbody td {\r
+    padding: 8px 10px;\r
 }\r
 \r
-div.dataTables_length,div.dataTables_info {\r
-       display: inline;\r
+div.dataTables_length, div.dataTables_info {\r
+    display: inline;\r
 }\r
 \r
 div.dataTables_paginate {\r
-       display: inline;\r
-       float: right;\r
+    display: inline;\r
+    float: right;\r
 }\r
 \r
 div.pagination-panel {\r
-       margin-right: 10px;\r
+    margin-right: 10px;\r
 }\r
 \r
 input.pagination-panel-input {\r
-       width: 50px;\r
+    width: 50px;\r
 }\r
 \r
 #ict_res_table_div {\r
-       margin-top: 15px;\r
+    margin-top: 15px;\r
 }\r
 \r
 #ict_res_table_div label {\r
-       font-weight: 100;\r
+    font-weight: 100;\r
 }\r
 \r
-.daterangepicker .daterangepicker_start_input label,.daterangepicker .daterangepicker_end_input label\r
-       {\r
-       color: #5b9bd1;\r
+.daterangepicker .daterangepicker_start_input label, .daterangepicker .daterangepicker_end_input label {\r
+    color: #5b9bd1;\r
 }\r
 \r
 .daterangepicker .ranges .input-mini {\r
-       color: #5b9bd1;\r
+    color: #5b9bd1;\r
 }\r
 \r
 .cancelBtn {\r
-       padding: 5px 10px 5px 10px;\r
+    padding: 5px 10px 5px 10px;\r
 }\r
 \r
-.btn:focus,.btn:active:focus,.btn.active:focus {\r
-       outline: 0;\r
+.btn:focus, .btn:active:focus, .btn.active:focus {\r
+    outline: 0;\r
 }\r
 \r
-#ict_res_table_div  table {\r
-       width: 100% !important;\r
+#ict_res_table_div table {\r
+    width: 100% !important;\r
 }\r
 \r
 .control-label .required {\r
-  color: #e02222;\r
-  font-size: 12px;\r
-  padding-left: 2px;\r
+    color: #e02222;\r
+    font-size: 12px;\r
+    padding-left: 2px;\r
 }\r
 \r
-#ict_vim_table tbody tr{\r
-       cursor:pointer;\r
+#ict_vim_table tbody tr {\r
+    cursor: pointer;\r
 }\r
 \r
-\r
 /*卡片面板样式*/\r
 .animated-panel {\r
-  -webkit-animation-duration: .5s;\r
-  animation-duration: .5s;\r
-  -webkit-animation-fill-mode: both;\r
-  animation-fill-mode: both;\r
+    -webkit-animation-duration: .5s;\r
+    animation-duration: .5s;\r
+    -webkit-animation-fill-mode: both;\r
+    animation-fill-mode: both;\r
 }\r
 \r
 .hpanel {\r
-  background-color: none;\r
-  border: none;\r
-  box-shadow: none;\r
-  margin-bottom: 25px;\r
-    \r
+    background-color: none;\r
+    border: none;\r
+    box-shadow: none;\r
+    margin-bottom: 25px;\r
+\r
 }\r
 \r
 .hpanel .panel-body {\r
-  border: 1px solid #e4e5e7;\r
-  border-radius: 2px;\r
-  padding: 20px;\r
-  position: relative;\r
+    border: 1px solid #e4e5e7;\r
+    border-radius: 2px;\r
+    padding: 20px;\r
+    position: relative;\r
 }\r
+\r
 .h-200 {\r
-  min-height: 220px;\r
+    min-height: 220px;\r
 }\r
 \r
 .m-t-xl {\r
-  margin-top: 40px;\r
+    margin-top: 40px;\r
 }\r
 \r
 .m-t-xl div {\r
-  margin-bottom: 15px;\r
+    margin-bottom: 15px;\r
 }\r
 \r
 .text-success {\r
-  color: #0d638f;\r
+    color: #0d638f;\r
 }\r
+\r
 .hpanel > .panel-footer {\r
-  color: inherit;\r
-  border: 1px solid #e4e5e7;\r
-  border-top: none;\r
-  font-size: 90%;\r
-  background: #f7f9fa;\r
-  height:40px;\r
-  padding: 5px 15px;\r
+    color: inherit;\r
+    border: 1px solid #e4e5e7;\r
+    border-top: none;\r
+    font-size: 90%;\r
+    background: #f7f9fa;\r
+    height: 40px;\r
+    padding: 5px 15px;\r
 }\r
-.color_cloud{\r
-       color:#ccc;\r
+\r
+.color_cloud {\r
+    color: #ccc;\r
 }\r
-.stats-title{\r
+\r
+.stats-title {\r
 \r
 }\r
 \r
-h3{\r
-  margin-top: 10px;\r
-  margin-bottom: 40px;\r
-  font-weight: 200;\r
+h3 {\r
+    margin-top: 10px;\r
+    margin-bottom: 40px;\r
+    font-weight: 200;\r
 }\r
 \r
-.blue-font{\r
-       color:#428bca;\r
+.blue-font {\r
+    color: #428bca;\r
 }\r
 \r
-.hpanel > .panel-footer .pull-right a{\r
-       margin-left: 5px;\r
+.hpanel > .panel-footer .pull-right a {\r
+    margin-left: 5px;\r
 }\r
 \r
-.hpanel > .panel-footer .pull-right .btn{\r
-       min-width: 30px !important;\r
+.hpanel > .panel-footer .pull-right .btn {\r
+    min-width: 30px !important;\r
 }\r
 \r
 .font-bold {\r
-  font-weight: 600;\r
-  margin-bottom: 15px;\r
+    font-weight: 600;\r
+    margin-bottom: 15px;\r
 }\r
 \r
-.hpanel_show{\r
-       background-color: #f7f9fa;\r
+.hpanel_show {\r
+    background-color: #f7f9fa;\r
 }\r
 \r
 .vnfm-padding {\r
-       padding-left: 0;\r
+    padding-left: 0;\r
 }
\ No newline at end of file
index 2e3dffd..b8be1b7 100644 (file)
  * limitations under the License.\r
  */\r
 var commonUtil = {};\r
-commonUtil.arrayRemove = function( aryInstance , index ){\r
-    if(aryInstance == undefined || aryInstance == null){\r
+commonUtil.arrayRemove = function (aryInstance, index) {\r
+    if (aryInstance == undefined || aryInstance == null) {\r
         return;\r
     }\r
-    for(var i=0,n=0;i<aryInstance.length;i++) {\r
-        if(aryInstance[i]!=aryInstance[dx]) {\r
-            aryInstance[n++]=aryInstance[i];\r
+    for (var i = 0, n = 0; i < aryInstance.length; i++) {\r
+        if (aryInstance[i] != aryInstance[dx]) {\r
+            aryInstance[n++] = aryInstance[i];\r
         }\r
     }\r
-    aryInstance.length-=1;\r
+    aryInstance.length -= 1;\r
 };\r
 \r
 //For the expansion of the Date, convert the Date to specify the format String\r
 // examples:\r
 // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423\r
 // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18\r
-commonUtil.parseDate = function( dateObj , format){\r
+commonUtil.parseDate = function (dateObj, format) {\r
     var o = {\r
-        "M+" : dateObj.getMonth()+1, //month\r
-        "d+" : dateObj.getDate(),    //day\r
-        "h+" : dateObj.getHours(),   //hour\r
-        "m+" : dateObj.getMinutes(), //minute\r
-        "s+" : dateObj.getSeconds(), //second\r
-        "q+" : Math.floor((dateObj.getMonth()+3)/3),  //quarter\r
-        "S" : dateObj.getMilliseconds() //millisecond\r
+        "M+": dateObj.getMonth() + 1, //month\r
+        "d+": dateObj.getDate(),    //day\r
+        "h+": dateObj.getHours(),   //hour\r
+        "m+": dateObj.getMinutes(), //minute\r
+        "s+": dateObj.getSeconds(), //second\r
+        "q+": Math.floor((dateObj.getMonth() + 3) / 3),  //quarter\r
+        "S": dateObj.getMilliseconds() //millisecond\r
     }\r
-    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,\r
-        (dateObj.getFullYear()+"").substr(4 - RegExp.$1.length));\r
-    for(var k in o)\r
-        if(new RegExp("("+ k +")").test(format))\r
-            format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] :\r
-                    ("00"+ o[k]).substr((""+ o[k]).length));\r
+    if (/(y+)/.test(format)) format = format.replace(RegExp.$1,\r
+        (dateObj.getFullYear() + "").substr(4 - RegExp.$1.length));\r
+    for (var k in o)\r
+        if (new RegExp("(" + k + ")").test(format))\r
+            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] :\r
+                ("00" + o[k]).substr(("" + o[k]).length));\r
     return format;\r
 };\r
 \r
 //tooltip\r
-commonUtil.showMessage = function(message, type) {\r
+commonUtil.showMessage = function (message, type) {\r
     $.growl({\r
         icon: "fa fa-envelope-o fa-lg",\r
         title: "&nbsp;&nbsp;" + $.i18n.prop("nfv-nso-iui-common-tip"),\r
         message: message\r
-    },{\r
+    }, {\r
         type: type\r
     });\r
 };\r
 \r
-commonUtil.registerCometdMessage = function(url, channel, callback) {\r
+commonUtil.registerCometdMessage = function (url, channel, callback) {\r
     var cometd = new $.Cometd();\r
     var cometdURL = location.protocol + "//" + location.host + url;\r
     cometd.configure({\r
-        url : cometdURL,\r
-        logLevel : "info"\r
+        url: cometdURL,\r
+        logLevel: "info"\r
     });\r
     // unregister websocket transport, use long-polling transport\r
     cometd.unregisterTransport('websocket');\r
     // store channel object parameters(this object include channel and callback function), start from arguments[1]\r
-    var _args = arguments;  \r
+    var _args = arguments;\r
 \r
-    cometd.addListener("/meta/handshake", function(handshake){\r
-        if(handshake.successful === true) {\r
-            cometd.batch(function() {\r
+    cometd.addListener("/meta/handshake", function (handshake) {\r
+        if (handshake.successful === true) {\r
+            cometd.batch(function () {\r
                 //subscribe channel\r
-                cometd.subscribe(channel, function(message){\r
+                cometd.subscribe(channel, function (message) {\r
                     callback.call(this, message.data);\r
                 });\r
             });\r
@@ -85,44 +85,44 @@ commonUtil.registerCometdMessage = function(url, channel, callback) {
     cometd.handshake();\r
 }\r
 \r
-commonUtil.format = function() {\r
-    if(arguments.length == 0) {\r
+commonUtil.format = function () {\r
+    if (arguments.length == 0) {\r
         return null;\r
     }\r
     var str = arguments[0];\r
-    for(var i=0; i<arguments.length; i++) {\r
-        var reg = new RegExp("\\{" + (i - 1) + "\\}" , "gm");\r
+    for (var i = 0; i < arguments.length; i++) {\r
+        var reg = new RegExp("\\{" + (i - 1) + "\\}", "gm");\r
         str = str.replace(reg, arguments[i]);\r
     }\r
     return str;\r
 }\r
 \r
-commonUtil.get = function(url, params, callback) {\r
+commonUtil.get = function (url, params, callback) {\r
     $.ajax({\r
-        type : "GET",\r
-        url : url,\r
+        type: "GET",\r
+        url: url,\r
         //contentType : contentType || "application/x-www-form-urlencoded; charset=UTF-8",\r
-        dataType : "json",\r
-        data : params || {},\r
-        success : callback\r
+        dataType: "json",\r
+        data: params || {},\r
+        success: callback\r
     });\r
 }\r
 \r
-commonUtil.post = function(url, params, callback, contentType) {\r
+commonUtil.post = function (url, params, callback, contentType) {\r
     $.ajax({\r
-        type : "POST",\r
-        url : url,\r
-        contentType : contentType || "application/x-www-form-urlencoded; charset=UTF-8",\r
-        data : params || {},\r
-        success : callback\r
+        type: "POST",\r
+        url: url,\r
+        contentType: contentType || "application/x-www-form-urlencoded; charset=UTF-8",\r
+        data: params || {},\r
+        success: callback\r
     });\r
 }\r
 \r
-commonUtil.delete = function(url, callback, contentType) {\r
+commonUtil.delete = function (url, callback, contentType) {\r
     $.ajax({\r
-        type : "DELETE",\r
-        url : url,\r
-        contentType : contentType || "application/x-www-form-urlencoded; charset=UTF-8",\r
-        success : callback\r
+        type: "DELETE",\r
+        url: url,\r
+        contentType: contentType || "application/x-www-form-urlencoded; charset=UTF-8",\r
+        success: callback\r
     });\r
 }
\ No newline at end of file
index 198960c..aed34c3 100644 (file)
  * See the License for the specific language governing permissions and\r
  * limitations under the License.\r
  */\r
-function loadPropertiesSideMenu(lang, fileNamePrefix, filePath){\r
-       jQuery.i18n.properties({\r
-           language:lang,\r
-           name:fileNamePrefix,\r
-           path:filePath,\r
-           mode:'map',\r
-           callback: function() {\r
-               var i18nItems = $("[name_i18n=com_zte_nfv_nsoc_i18n]");\r
-               for(var i=0;i<i18nItems.length;i++) {\r
-                       var $item = $(i18nItems.eq(i));\r
-                       var itemId = $item.attr("id");\r
-                       var itemTitle = $item.attr("title");\r
-                       if(typeof(itemTitle) != "undefined") {\r
-                               $item.attr("title", $.i18n.prop(itemId));\r
-                       } else {\r
-                               $item.text($.i18n.prop(itemId));\r
-                       }\r
-               }\r
-           }\r
-       });\r
+function loadPropertiesSideMenu(lang, fileNamePrefix, filePath) {\r
+    jQuery.i18n.properties({\r
+        language: lang,\r
+        name: fileNamePrefix,\r
+        path: filePath,\r
+        mode: 'map',\r
+        callback: function () {\r
+            var i18nItems = $("[name_i18n=com_zte_nfv_nsoc_i18n]");\r
+            for (var i = 0; i < i18nItems.length; i++) {\r
+                var $item = $(i18nItems.eq(i));\r
+                var itemId = $item.attr("id");\r
+                var itemTitle = $item.attr("title");\r
+                if (typeof(itemTitle) != "undefined") {\r
+                    $item.attr("title", $.i18n.prop(itemId));\r
+                } else {\r
+                    $item.text($.i18n.prop(itemId));\r
+                }\r
+            }\r
+        }\r
+    });\r
 }\r
 var lang = getLanguage();\r
 loadPropertiesSideMenu(lang, 'nfv-nso-iui-i18n', 'i18n/');
\ No newline at end of file
index 0412101..b656d4d 100644 (file)
  * See the License for the specific language governing permissions and\r
  * limitations under the License.\r
  */\r
-$(function(){\r
-       var form = $('#vnfm_form');\r
-       var error = $('.alert-danger', form);\r
-       var success = $('.alert-success', form);\r
+$(function () {\r
+    var form = $('#vnfm_form');\r
+    var error = $('.alert-danger', form);\r
+    var success = $('.alert-success', form);\r
 \r
-       form.validate({\r
-               doNotHideMessage: true, //this option enables to show the error/success messages on tab switch.\r
-               errorElement: 'span', //default input error message container\r
-               errorClass: 'help-block', // default input error message class\r
-               focusInvalid: false, // do not focus the last invalid input\r
-               rules: {                        \r
-                       name:{\r
-                               required: true,\r
-                               maxlength:20\r
-                       },\r
-                       type:{\r
-                               required: true,\r
-                               maxlength:20\r
-                       },\r
-                       version:{\r
-                               required: true,\r
-                               maxlength:20\r
-                       },\r
-                       vendor:{\r
-                               required: true,\r
-                               maxlength:20\r
-                       },\r
-                       url:{\r
-                               required: true,\r
-                               url: true\r
-                       }\r
-               },\r
-               messages: {             \r
-                       name:{\r
-                               required: $.i18n.prop("nfv-vnfm-iui-validate-name")\r
-                       },\r
-                       type:{\r
-                               required: $.i18n.prop("nfv-vnfm-iui-validate-type")\r
-                       },\r
-                       version:{\r
-                               required: $.i18n.prop("nfv-vnfm-iui-validate-version")\r
-                       },\r
-                       vendor:{\r
-                               required: $.i18n.prop("nfv-vnfm-iui-validate-vendor")\r
-                       },\r
-                       url:{\r
-                               required: $.i18n.prop("nfv-vnfm-iui-validate-url-required"),\r
-                               url: $.i18n.prop("nfv-vnfm-iui-validate-url")\r
-                       }\r
-               },\r
-               errorPlacement: function (error, element) { // render error placement for each input type\r
-                       error.insertAfter(element); // for other inputs, just perform default behavior\r
-               },\r
-               invalidHandler: function (event, validator) { //display error alert on form submit   \r
-                       success.hide();\r
-                       error.show();\r
-               },\r
-               highlight: function (element) { // hightlight error inputs\r
-                       $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); // set error class to the control group\r
-               },\r
-               unhighlight: function (element) { // revert the change done by hightlight\r
-                       $(element).closest('.form-group').removeClass('has-error'); // set error class to the control group\r
-               },\r
-               success: function (label) {\r
-                       label.addClass('valid') // mark the current input as valid and display OK icon\r
-                               .closest('.form-group').removeClass('has-error'); // set success class to the control group\r
-               },\r
-               submitHandler: function (form) {\r
-                       success.show();\r
-                       error.hide();\r
-                       //add here some ajax code to submit your form or just call form.submit() if you want to submit the form without ajax\r
-               }\r
-       });\r
+    form.validate({\r
+        doNotHideMessage: true, //this option enables to show the error/success messages on tab switch.\r
+        errorElement: 'span', //default input error message container\r
+        errorClass: 'help-block', // default input error message class\r
+        focusInvalid: false, // do not focus the last invalid input\r
+        rules: {\r
+            name: {\r
+                required: true,\r
+                maxlength: 20\r
+            },\r
+            type: {\r
+                required: true,\r
+                maxlength: 20\r
+            },\r
+            version: {\r
+                required: true,\r
+                maxlength: 20\r
+            },\r
+            vendor: {\r
+                required: true,\r
+                maxlength: 20\r
+            },\r
+            url: {\r
+                required: true,\r
+                url: true\r
+            }\r
+        },\r
+        messages: {\r
+            name: {\r
+                required: $.i18n.prop("nfv-vnfm-iui-validate-name")\r
+            },\r
+            type: {\r
+                required: $.i18n.prop("nfv-vnfm-iui-validate-type")\r
+            },\r
+            version: {\r
+                required: $.i18n.prop("nfv-vnfm-iui-validate-version")\r
+            },\r
+            vendor: {\r
+                required: $.i18n.prop("nfv-vnfm-iui-validate-vendor")\r
+            },\r
+            url: {\r
+                required: $.i18n.prop("nfv-vnfm-iui-validate-url-required"),\r
+                url: $.i18n.prop("nfv-vnfm-iui-validate-url")\r
+            }\r
+        },\r
+        errorPlacement: function (error, element) { // render error placement for each input type\r
+            error.insertAfter(element); // for other inputs, just perform default behavior\r
+        },\r
+        invalidHandler: function (event, validator) { //display error alert on form submit   \r
+            success.hide();\r
+            error.show();\r
+        },\r
+        highlight: function (element) { // hightlight error inputs\r
+            $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); // set error class to the control group\r
+        },\r
+        unhighlight: function (element) { // revert the change done by hightlight\r
+            $(element).closest('.form-group').removeClass('has-error'); // set error class to the control group\r
+        },\r
+        success: function (label) {\r
+            label.addClass('valid') // mark the current input as valid and display OK icon\r
+                .closest('.form-group').removeClass('has-error'); // set success class to the control group\r
+        },\r
+        submitHandler: function (form) {\r
+            success.show();\r
+            error.hide();\r
+            //add here some ajax code to submit your form or just call form.submit() if you want to submit the form without ajax\r
+        }\r
+    });\r
 });
\ No newline at end of file
index fcc95a6..df3166c 100644 (file)
  */\r
 \r
 var vm = avalon\r
-               .define({\r
-                       $id : "vnfmController",\r
-                       vnfmInfo :  [], \r
-                       //mocSelectItems : [],\r
-                       vimSelectItems : [],    \r
-                       server_rtn:{\r
-                               info_block:false,\r
-                               warning_block:false,\r
-                               rtn_info:"",\r
-                               $RTN_SUCCESS:"RTN_SUCCESS",\r
-                               $RTN_FAILED:"RTN_FAILED"\r
-                       },      \r
-                       $Status :{\r
-                success:"active",\r
-                failed:"inactive"\r
-                       },      \r
-                       $restUrl : {\r
-                               queryVnfmInfoUrl : '/openoapi/extsys/v1/vnfms',\r
-                               addVnfmInfoUrl : '/openoapi/extsys/v1/vnfms',\r
-                               updateVnfmInfoUrl : '/openoapi/extsys/v1/vnfms/',\r
-                               delVnfmInfoUrl : '/openoapi/extsys/v1/vnfms/',\r
-                               queryMocUrl : '',\r
-                               queryVimUrl : '/openoapi/extsys/v1/vims'\r
-                       },\r
-                       $htmlText:{\r
-                               saveSuccess:$.i18n.prop("nfv-vnfm-iui-message-save-success"),\r
-                               saveFail:$.i18n.prop("nfv-vnfm-iui-message-save-fail"),\r
-                               updateSuccess:$.i18n.prop("nfv-vnfm-iui-message-update-success"),\r
-                               updateFail:$.i18n.prop("nfv-vnfm-iui-message-update-fail")\r
-                       },\r
-                       $initTable : function() {                               \r
-                               $.ajax({\r
-                       "type": 'GET',\r
-                       "url": vm.$restUrl.queryVnfmInfoUrl,\r
-                       //"dataType": "json",\r
-                       "success": function (resp) {\r
-                               for(var i=0;i<resp.length;i++){ \r
-                                        resp[i].status = vm.$Status.success;                                           \r
-                                          }\r
-                               vm.vnfmInfo = resp;                             \r
-                       },\r
-                       error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                               bootbox.alert($.i18n.prop("nfv-vnfm-iui-message-query-fail") + ":"+textStatus+":"+errorThrown);                       \r
-                           return;\r
-                       },\r
-                       complete: function() {    \r
-                               vnfmUtil.tooltipVnfmStatus();\r
-                       }\r
-                   }); \r
-                       },\r
-                       // $initMoc : function() {\r
-                       //      /*var url = vm.$restUrl.queryMocUrl;\r
-                       //     commonUtil.get(url, null, function(resp) {\r
-                       //         if (resp) {\r
-                       //             vm.addVnfm.moc = resp.data;\r
-                       //         }\r
-                       //     });*/\r
-                       //     var resp = [\r
-                       //      { id : "nfv.vnfm.eco", name : "VNFM(ECO)"},\r
-                       //      { id : "nfv.vnfm.tacker", name : "VNFM(Tacker)"},\r
-                       //      { id : "nfv.vnfm.cmcc", name : "VNFM(CMCC)"},\r
-                       //      { id : "nfv.vnfm.etsi", name : "VNFM(ETSI)"}\r
-                       //     ]\r
-                       //     vm.mocSelectItems = resp;\r
-                       // },\r
-                       $initVim : function() {\r
-                               $.ajax({\r
-                                       type : 'get',\r
-                                       url : vm.$restUrl.queryVimUrl,\r
-                                       dataType : 'json',\r
-                                       success : function(resp) {\r
-                                               if(resp) {\r
-                                                       vm.vimSelectItems = resp;\r
-                                               }\r
-                                               vm.vimSelectItems.push({"vimId":"","name":""});                                         \r
-                                       }\r
-                               });\r
-                       },\r
-                       addVnfm : {\r
-                               title : $.i18n.prop("nfv-vnfm-iui-text-register"),\r
-                               vnfmId : "",\r
-                               name : "",\r
-                               type :"",\r
-                               //moc : "",\r
-                               //mocDisabled : false,\r
-                               vimId : "",\r
-                               //vimVisiable : false,\r
-                               vendor : "",\r
-                               version :"",\r
-                               description:"",\r
-                               certificateUrl:"",\r
-                               url : "",\r
-                               urlTip : $.i18n.prop("nfv-vnfm-iui-text-url-tip"),\r
-                               userName : "",\r
-                               password : "",\r
-                               saveType :"add",\r
-                               status: ""\r
-                       },\r
-                       $showVnfmTable : function() { \r
-                               vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-text-register"),                           \r
-                               vm.addVnfm.vnfmId = "";\r
-                               vm.addVnfm.name = "";\r
-                               vm.addVnfm.type = "";\r
-                               //vm.addVnfm.moc = "";\r
-                               //vm.addVnfm.mocDisabled = false;\r
-                               vm.addVnfm.vimId = "";\r
-                               //vm.addVnfm.vimVisiable = false;\r
-                               vm.addVnfm.vendor = "";\r
-                               vm.addVnfm.version = "";\r
-                               vm.addVnfm.description = "";\r
-                               vm.addVnfm.certificateUrl = "";\r
-                               vm.addVnfm.url = "";\r
-                               vm.addVnfm.userName = "";\r
-                               vm.addVnfm.password = "";\r
-                               vm.addVnfm.saveType = "add";\r
-                               vm.server_rtn.warning_block=false;\r
-                               vm.server_rtn.info_block=false;\r
-                               //vm.$initMoc();\r
-                               vm.$initVim();\r
-                               //vm.$mocChange();\r
-                               \r
-                               $(".form-group").each(function () {\r
-                                       $(this).removeClass('has-success');\r
-                                       $(this).removeClass('has-error');\r
-                                       $(this).find(".help-block[id]").remove();\r
-                               });\r
-                               $("#addVnfmDlg").modal("show");\r
-                       },                      \r
-                       // $getMocName : function(mocId) {\r
-         //            var items = vm.mocSelectItems;\r
-         //           for(var i=0;i<items.length;i++) {\r
-                //             if(items[i].id == mocId) {\r
-                //                     return items[i].name;\r
-                //             }\r
-                //     }\r
-                //     return "";\r
-                       // },\r
-                       $saveVnfm : function() {\r
-                               var form = $('#vnfm_form');\r
-                               if (form.valid() == false) {\r
-                                       return false;\r
-                               }                               \r
-                           vm.server_rtn.info_block=true;\r
-                vm.server_rtn.warning_block=false;                  \r
-                               vm.addVnfm.status=vm.$Status.success;\r
+    .define({\r
+        $id: "vnfmController",\r
+        vnfmInfo: [],\r
+        //mocSelectItems : [],\r
+        vimSelectItems: [],\r
+        server_rtn: {\r
+            info_block: false,\r
+            warning_block: false,\r
+            rtn_info: "",\r
+            $RTN_SUCCESS: "RTN_SUCCESS",\r
+            $RTN_FAILED: "RTN_FAILED"\r
+        },\r
+        $Status: {\r
+            success: "active",\r
+            failed: "inactive"\r
+        },\r
+        $restUrl: {\r
+            queryVnfmInfoUrl: '/openoapi/extsys/v1/vnfms',\r
+            addVnfmInfoUrl: '/openoapi/extsys/v1/vnfms',\r
+            updateVnfmInfoUrl: '/openoapi/extsys/v1/vnfms/',\r
+            delVnfmInfoUrl: '/openoapi/extsys/v1/vnfms/',\r
+            queryMocUrl: '',\r
+            queryVimUrl: '/openoapi/extsys/v1/vims'\r
+        },\r
+        $htmlText: {\r
+            saveSuccess: $.i18n.prop("nfv-vnfm-iui-message-save-success"),\r
+            saveFail: $.i18n.prop("nfv-vnfm-iui-message-save-fail"),\r
+            updateSuccess: $.i18n.prop("nfv-vnfm-iui-message-update-success"),\r
+            updateFail: $.i18n.prop("nfv-vnfm-iui-message-update-fail")\r
+        },\r
+        $initTable: function () {\r
+            $.ajax({\r
+                "type": 'GET',\r
+                "url": vm.$restUrl.queryVnfmInfoUrl,\r
+                //"dataType": "json",\r
+                "success": function (resp) {\r
+                    for (var i = 0; i < resp.length; i++) {\r
+                        resp[i].status = vm.$Status.success;\r
+                    }\r
+                    vm.vnfmInfo = resp;\r
+                },\r
+                error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                    bootbox.alert($.i18n.prop("nfv-vnfm-iui-message-query-fail") + ":" + textStatus + ":" + errorThrown);\r
+                    return;\r
+                },\r
+                complete: function () {\r
+                    vnfmUtil.tooltipVnfmStatus();\r
+                }\r
+            });\r
+        },\r
+        // $initMoc : function() {\r
+        //     /*var url = vm.$restUrl.queryMocUrl;\r
+        //     commonUtil.get(url, null, function(resp) {\r
+        //         if (resp) {\r
+        //             vm.addVnfm.moc = resp.data;\r
+        //         }\r
+        //     });*/\r
+        //     var resp = [\r
+        //             { id : "nfv.vnfm.eco", name : "VNFM(ECO)"},\r
+        //             { id : "nfv.vnfm.tacker", name : "VNFM(Tacker)"},\r
+        //             { id : "nfv.vnfm.cmcc", name : "VNFM(CMCC)"},\r
+        //             { id : "nfv.vnfm.etsi", name : "VNFM(ETSI)"}\r
+        //     ]\r
+        //     vm.mocSelectItems = resp;\r
+        // },\r
+        $initVim: function () {\r
+            $.ajax({\r
+                type: 'get',\r
+                url: vm.$restUrl.queryVimUrl,\r
+                dataType: 'json',\r
+                success: function (resp) {\r
+                    if (resp) {\r
+                        vm.vimSelectItems = resp;\r
+                    }\r
+                    vm.vimSelectItems.push({"vimId": "", "name": ""});\r
+                }\r
+            });\r
+        },\r
+        addVnfm: {\r
+            title: $.i18n.prop("nfv-vnfm-iui-text-register"),\r
+            vnfmId: "",\r
+            name: "",\r
+            type: "",\r
+            //moc : "",\r
+            //mocDisabled : false,\r
+            vimId: "",\r
+            //vimVisiable : false,\r
+            vendor: "",\r
+            version: "",\r
+            description: "",\r
+            certificateUrl: "",\r
+            url: "",\r
+            urlTip: $.i18n.prop("nfv-vnfm-iui-text-url-tip"),\r
+            userName: "",\r
+            password: "",\r
+            saveType: "add",\r
+            status: ""\r
+        },\r
+        $showVnfmTable: function () {\r
+            vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-text-register"),\r
+                vm.addVnfm.vnfmId = "";\r
+            vm.addVnfm.name = "";\r
+            vm.addVnfm.type = "";\r
+            //vm.addVnfm.moc = "";\r
+            //vm.addVnfm.mocDisabled = false;\r
+            vm.addVnfm.vimId = "";\r
+            //vm.addVnfm.vimVisiable = false;\r
+            vm.addVnfm.vendor = "";\r
+            vm.addVnfm.version = "";\r
+            vm.addVnfm.description = "";\r
+            vm.addVnfm.certificateUrl = "";\r
+            vm.addVnfm.url = "";\r
+            vm.addVnfm.userName = "";\r
+            vm.addVnfm.password = "";\r
+            vm.addVnfm.saveType = "add";\r
+            vm.server_rtn.warning_block = false;\r
+            vm.server_rtn.info_block = false;\r
+            //vm.$initMoc();\r
+            vm.$initVim();\r
+            //vm.$mocChange();\r
 \r
-                               var param = {\r
-                                       name : vm.addVnfm.name,                                                                         \r
-                                       //status : vm.addVnfm.status,\r
-                                       //moc : $("#moc").val(),\r
-                                       //vimId : vm.$getVimId($("#moc").val()),\r
-                                       vimId : $("#vimId").val(),\r
-                                       vendor : vm.addVnfm.vendor,\r
-                                       version : vm.addVnfm.version,\r
-                                       type : vm.addVnfm.type,\r
-                                       description : vm.addVnfm.description,\r
-                                       certificateUrl : vm.addVnfm.certificateUrl,\r
-                                       url : vm.addVnfm.url,\r
-                                       userName : vm.addVnfm.userName,\r
-                                       password : vm.addVnfm.password \r
-                               }\r
-                               //save VIM info\r
-                               if(vm.addVnfm.saveType == "add") {\r
-                                       $.ajax({\r
-                                               type : "POST",\r
-                                               url : vm.$restUrl.addVnfmInfoUrl,\r
-                                               data : JSON.stringify(param),\r
-                                               dataType : "json",\r
-                                               contentType : "application/json",\r
-                                               success : function(data) {\r
-                                                       vm.server_rtn.info_block=false;\r
-                                                       vm.server_rtn.warning_block=false;\r
-                                                       if (data) {\r
-                                                               vm.vnfmInfo = [];\r
-                                                               vm.$initTable();\r
+            $(".form-group").each(function () {\r
+                $(this).removeClass('has-success');\r
+                $(this).removeClass('has-error');\r
+                $(this).find(".help-block[id]").remove();\r
+            });\r
+            $("#addVnfmDlg").modal("show");\r
+        },\r
+        // $getMocName : function(mocId) {\r
+        //             var items = vm.mocSelectItems;\r
+        //           for(var i=0;i<items.length;i++) {\r
+        //             if(items[i].id == mocId) {\r
+        //                     return items[i].name;\r
+        //             }\r
+        //     }\r
+        //     return "";\r
+        // },\r
+        $saveVnfm: function () {\r
+            var form = $('#vnfm_form');\r
+            if (form.valid() == false) {\r
+                return false;\r
+            }\r
+            vm.server_rtn.info_block = true;\r
+            vm.server_rtn.warning_block = false;\r
+            vm.addVnfm.status = vm.$Status.success;\r
 \r
-                                                               $('#addVnfmDlg').modal('hide');                                                 \r
-                                                               commonUtil.showMessage(vm.$htmlText.saveSuccess, "success");\r
-                                                       } else {\r
-                                                               vm.server_rtn.warning_block=true;\r
-                                                               vm.server_rtn.rtn_info=vm.$htmlText.saveFail;\r
-                                                               commonUtil.showMessage(vm.$htmlText.saveFail, "failed");\r
-                                                       }\r
-                                               },\r
-                                           error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                               vm.server_rtn.warning_block=true;\r
-                                               vm.server_rtn.rtn_info=textStatus+":"+errorThrown;\r
-                               vm.server_rtn.info_block=false;\r
+            var param = {\r
+                name: vm.addVnfm.name,\r
+                //status : vm.addVnfm.status,\r
+                //moc : $("#moc").val(),\r
+                //vimId : vm.$getVimId($("#moc").val()),\r
+                vimId: $("#vimId").val(),\r
+                vendor: vm.addVnfm.vendor,\r
+                version: vm.addVnfm.version,\r
+                type: vm.addVnfm.type,\r
+                description: vm.addVnfm.description,\r
+                certificateUrl: vm.addVnfm.certificateUrl,\r
+                url: vm.addVnfm.url,\r
+                userName: vm.addVnfm.userName,\r
+                password: vm.addVnfm.password\r
+            }\r
+            //save VIM info\r
+            if (vm.addVnfm.saveType == "add") {\r
+                $.ajax({\r
+                    type: "POST",\r
+                    url: vm.$restUrl.addVnfmInfoUrl,\r
+                    data: JSON.stringify(param),\r
+                    dataType: "json",\r
+                    contentType: "application/json",\r
+                    success: function (data) {\r
+                        vm.server_rtn.info_block = false;\r
+                        vm.server_rtn.warning_block = false;\r
+                        if (data) {\r
+                            vm.vnfmInfo = [];\r
+                            vm.$initTable();\r
+\r
+                            $('#addVnfmDlg').modal('hide');\r
+                            commonUtil.showMessage(vm.$htmlText.saveSuccess, "success");\r
+                        } else {\r
+                            vm.server_rtn.warning_block = true;\r
+                            vm.server_rtn.rtn_info = vm.$htmlText.saveFail;\r
+                            commonUtil.showMessage(vm.$htmlText.saveFail, "failed");\r
+                        }\r
+                    },\r
+                    error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                        vm.server_rtn.warning_block = true;\r
+                        vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;\r
+                        vm.server_rtn.info_block = false;\r
+                    }\r
+                });\r
+            } else {\r
+                $.ajax({\r
+                    type: "PUT",\r
+                    url: vm.$restUrl.updateVnfmInfoUrl + vm.addVnfm.vnfmId,\r
+                    data: JSON.stringify(param),\r
+                    dataType: "json",\r
+                    contentType: "application/json",\r
+                    success: function (data) {\r
+                        vm.server_rtn.info_block = false;\r
+                        vm.server_rtn.warning_block = false;\r
+                        if (data) {\r
+                            for (var i = 0; i < vm.vnfmInfo.length; i++) {\r
+                                if (vm.vnfmInfo[i].vnfmId == vm.addVnfm.vnfmId) {\r
+                                    vm.vnfmInfo[i].name = vm.addVnfm.name;\r
+                                    vm.vnfmInfo[i].vimId = $("#vimId").val();\r
+                                    vm.vnfmInfo[i].vendor = vm.addVnfm.vendor;\r
+                                    vm.vnfmInfo[i].version = vm.addVnfm.version;\r
+                                    vm.vnfmInfo[i].certificateUrl = vm.addVnfm.certificateUrl;\r
+                                    vm.vnfmInfo[i].description = vm.addVnfm.description;\r
+                                    vm.vnfmInfo[i].url = vm.addVnfm.url;\r
+                                    vm.vnfmInfo[i].userName = vm.addVnfm.userName;\r
+                                    vm.vnfmInfo[i].password = vm.addVnfm.password;\r
+                                }\r
+                            }\r
+                            $('#addVnfmDlg').modal('hide');\r
+                            commonUtil.showMessage(vm.$htmlText.updateSuccess, "success");\r
+                        } else {\r
+                            vm.server_rtn.warning_block = true;\r
+                            vm.server_rtn.rtn_info = vm.$htmlText.updateFail;\r
+                            commonUtil.showMessage(vm.$htmlText.updateFail, "failed");\r
                         }\r
-                                       });\r
-                               } else {\r
-                                       $.ajax({\r
-                                               type : "PUT",\r
-                                               url : vm.$restUrl.updateVnfmInfoUrl+vm.addVnfm.vnfmId,\r
-                                               data : JSON.stringify(param),\r
-                                               dataType : "json",\r
-                                               contentType : "application/json",\r
-                                               success : function(data) {\r
-                                                       vm.server_rtn.info_block=false;\r
-                                                       vm.server_rtn.warning_block=false;\r
-                                                       if (data) {\r
-                                                               for(var i=0;i<vm.vnfmInfo.length;i++){\r
-                                               if(vm.vnfmInfo[i].vnfmId == vm.addVnfm.vnfmId) {\r
-                                                   vm.vnfmInfo[i].name = vm.addVnfm.name;                                                  \r
-                                                   vm.vnfmInfo[i].vimId = $("#vimId").val();\r
-                                                   vm.vnfmInfo[i].vendor = vm.addVnfm.vendor;\r
-                                                   vm.vnfmInfo[i].version = vm.addVnfm.version;\r
-                                                   vm.vnfmInfo[i].certificateUrl = vm.addVnfm.certificateUrl;\r
-                                                   vm.vnfmInfo[i].description = vm.addVnfm.description;\r
-                                                   vm.vnfmInfo[i].url = vm.addVnfm.url;\r
-                                                   vm.vnfmInfo[i].userName = vm.addVnfm.userName;\r
-                                                   vm.vnfmInfo[i].password = vm.addVnfm.password;                                                  \r
-                                               }\r
-                                               }\r
-                                                               $('#addVnfmDlg').modal('hide');                                                                         \r
-                                                               commonUtil.showMessage(vm.$htmlText.updateSuccess,"success");                                                                                   \r
-                                                       } else {\r
-                                                               vm.server_rtn.warning_block=true;\r
-                                                               vm.server_rtn.rtn_info=vm.$htmlText.updateFail;\r
-                                                               commonUtil.showMessage(vm.$htmlText.updateFail, "failed");\r
-                                                       } \r
-                                               },\r
-                                           error: function(XMLHttpRequest, textStatus, errorThrown) {\r
-                                               vm.server_rtn.warning_block=true;       \r
-                                               vm.server_rtn.rtn_info=textStatus+":"+errorThrown;                       \r
-                               vm.server_rtn.info_block=false;                                              \r
-                               }\r
-                                       });\r
-                               }                                       \r
-                       },\r
-         //            mocRendered : function(action) {\r
-                       //      if(vm.addVnfm.saveType === "update" && vm.addVnfm.moc) {\r
-                       //              var items = vm.mocSelectItems;\r
-                       //              for(var i=0;i<items.length;i++) {\r
-                       //              if(items[i].id == vm.addVnfm.moc) {\r
-                       //                      $("#moc")[0].selectedIndex = i;\r
-                       //                      vm.$mocChange();\r
-                       //                      break;\r
-                       //              }\r
-                       //      }\r
-                       //      } else {\r
-                       //              $("#moc")[0].selectedIndex = 0;\r
-                       //      }\r
-                       // },\r
-                       vimRendered : function(action) {\r
-                var items = vm.vimSelectItems;\r
-                               if(vm.addVnfm.saveType === "update") {  \r
-                                       for(var i=0;i<items.length;i++) {\r
-                                       if(items[i].vimId == vm.addVnfm.vimId) {\r
-                                               $("#vimId")[0].selectedIndex = i;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               } else {\r
-                                       $("#vimId")[0].selectedIndex = items.length-1;\r
-                               }\r
-                       },\r
-                       // $mocChange : function() {\r
-                       //      var mocId = $('#moc').val();\r
-                       //      if(mocId == "nfv.vnfm.tacker") {\r
-                       //              vm.addVnfm.vimVisiable = true;\r
-                       //      } else {\r
-                       //              vm.addVnfm.vimVisiable = false;\r
-                       //      }\r
-                       // },\r
-                       // $getVimId : function(mocId) {\r
-                       //      if(vm.addVnfm.vimVisiable) {\r
-                       //              return $("#vimId").val();\r
-                       //      } else {\r
-                       //              return "";\r
-                       //      }\r
-                       // }\r
-       });\r
+                    },\r
+                    error: function (XMLHttpRequest, textStatus, errorThrown) {\r
+                        vm.server_rtn.warning_block = true;\r
+                        vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;\r
+                        vm.server_rtn.info_block = false;\r
+                    }\r
+                });\r
+            }\r
+        },\r
+        //             mocRendered : function(action) {\r
+        //     if(vm.addVnfm.saveType === "update" && vm.addVnfm.moc) {\r
+        //             var items = vm.mocSelectItems;\r
+        //             for(var i=0;i<items.length;i++) {\r
+        //                     if(items[i].id == vm.addVnfm.moc) {\r
+        //                             $("#moc")[0].selectedIndex = i;\r
+        //                             vm.$mocChange();\r
+        //                             break;\r
+        //                     }\r
+        //             }\r
+        //     } else {\r
+        //             $("#moc")[0].selectedIndex = 0;\r
+        //     }\r
+        // },\r
+        vimRendered: function (action) {\r
+            var items = vm.vimSelectItems;\r
+            if (vm.addVnfm.saveType === "update") {\r
+                for (var i = 0; i < items.length; i++) {\r
+                    if (items[i].vimId == vm.addVnfm.vimId) {\r
+                        $("#vimId")[0].selectedIndex = i;\r
+                        break;\r
+                    }\r
+                }\r
+            } else {\r
+                $("#vimId")[0].selectedIndex = items.length - 1;\r
+            }\r
+        },\r
+        // $mocChange : function() {\r
+        //     var mocId = $('#moc').val();\r
+        //     if(mocId == "nfv.vnfm.tacker") {\r
+        //             vm.addVnfm.vimVisiable = true;\r
+        //     } else {\r
+        //             vm.addVnfm.vimVisiable = false;\r
+        //     }\r
+        // },\r
+        // $getVimId : function(mocId) {\r
+        //     if(vm.addVnfm.vimVisiable) {\r
+        //             return $("#vimId").val();\r
+        //     } else {\r
+        //             return "";\r
+        //     }\r
+        // }\r
+    });\r
 avalon.scan();\r
 vm.$initTable();\r
 //vm.$initMoc();
\ No newline at end of file
index 7438cf1..d4420b3 100644 (file)
  */\r
 var vnfmUtil = {};\r
 \r
-vnfmUtil.delVnfm = function(vnfmId) {\r
-       bootbox.confirm($.i18n.prop("nfv-vnfm-iui-message-delete-confirm"), function(result){\r
-               if(result){\r
-                       $.ajax({\r
-                               type : "DELETE",\r
-                               url : vm.$restUrl.delVnfmInfoUrl + vnfmId,\r
-                               dataType : "json",\r
-                               success : function(data,statusText,jqXHR) {\r
-                                       if(jqXHR.status=="204") {\r
-                                               for(var i=0;i<vm.vnfmInfo.length;i++){\r
-                               if(vnfmId == vm.vnfmInfo[i].vnfmId){\r
-                                       //delete the vnfm object from vnfm array\r
-                                   vm.vnfmInfo.splice(i, 1);\r
-                                   break;\r
-                               }\r
-                           }\r
-                           commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-success"), "success");\r
-                                       } else {\r
-                                               commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");\r
-                                       }\r
-                               }, \r
-                               error : function() {\r
-                                       commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");\r
-                               }\r
-                       });\r
-           }\r
-       });\r
+vnfmUtil.delVnfm = function (vnfmId) {\r
+    bootbox.confirm($.i18n.prop("nfv-vnfm-iui-message-delete-confirm"), function (result) {\r
+        if (result) {\r
+            $.ajax({\r
+                type: "DELETE",\r
+                url: vm.$restUrl.delVnfmInfoUrl + vnfmId,\r
+                dataType: "json",\r
+                success: function (data, statusText, jqXHR) {\r
+                    if (jqXHR.status == "204") {\r
+                        for (var i = 0; i < vm.vnfmInfo.length; i++) {\r
+                            if (vnfmId == vm.vnfmInfo[i].vnfmId) {\r
+                                //delete the vnfm object from vnfm array\r
+                                vm.vnfmInfo.splice(i, 1);\r
+                                break;\r
+                            }\r
+                        }\r
+                        commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-success"), "success");\r
+                    } else {\r
+                        commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");\r
+                    }\r
+                },\r
+                error: function () {\r
+                    commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");\r
+                }\r
+            });\r
+        }\r
+    });\r
 }\r
 \r
-vnfmUtil.updateVnfm = function(data) {\r
-       vm.addVnfm.vnfmId = data.vnfmId;\r
-       vm.addVnfm.name = data.name;\r
-       //vm.addVnfm.moc = data.moc;\r
-       //vm.addVnfm.mocDisabled = true;\r
-       vm.addVnfm.vendor = data.vendor;\r
-       vm.addVnfm.version = data.version;\r
-       vm.addVnfm.description = data.description;\r
-       vm.addVnfm.type = data.type;\r
-       vm.addVnfm.vimId = data.vimId;\r
-       vm.addVnfm.url = data.url;\r
-       vm.addVnfm.userName = data.userName;\r
-       vm.addVnfm.password = data.password;\r
-       vm.addVnfm.saveType = "update";\r
-       vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-test-update");\r
-       vm.server_rtn.info_block=false;\r
-       vm.server_rtn.warning_block=false;\r
-       //vm.$initMoc();\r
-       vm.$initVim();\r
+vnfmUtil.updateVnfm = function (data) {\r
+    vm.addVnfm.vnfmId = data.vnfmId;\r
+    vm.addVnfm.name = data.name;\r
+    //vm.addVnfm.moc = data.moc;\r
+    //vm.addVnfm.mocDisabled = true;\r
+    vm.addVnfm.vendor = data.vendor;\r
+    vm.addVnfm.version = data.version;\r
+    vm.addVnfm.description = data.description;\r
+    vm.addVnfm.type = data.type;\r
+    vm.addVnfm.vimId = data.vimId;\r
+    vm.addVnfm.url = data.url;\r
+    vm.addVnfm.userName = data.userName;\r
+    vm.addVnfm.password = data.password;\r
+    vm.addVnfm.saveType = "update";\r
+    vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-test-update");\r
+    vm.server_rtn.info_block = false;\r
+    vm.server_rtn.warning_block = false;\r
+    //vm.$initMoc();\r
+    vm.$initVim();\r
 \r
-       $(".form-group").each(function () {\r
-               $(this).removeClass('has-success');\r
-               $(this).removeClass('has-error');\r
-               $(this).find(".help-block[id]").remove();\r
-       });\r
-       $("#addVnfmDlg").modal("show");\r
+    $(".form-group").each(function () {\r
+        $(this).removeClass('has-success');\r
+        $(this).removeClass('has-error');\r
+        $(this).find(".help-block[id]").remove();\r
+    });\r
+    $("#addVnfmDlg").modal("show");\r
 }\r
 \r
-vnfmUtil.tooltipVnfmStatus = function() {\r
-       $("[data-toggle='tooltip']").tooltip();\r
+vnfmUtil.tooltipVnfmStatus = function () {\r
+    $("[data-toggle='tooltip']").tooltip();\r
 }
\ No newline at end of file
index 6256a8d..1a8053e 100644 (file)
 <!DOCTYPE html>\r
 <html>\r
 <head lang="en">\r
-<meta charset="UTF-8">\r
-<title></title>\r
-<link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" />\r
-<link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet" />\r
-<link href="../../common/thirdparty/uniform/css/uniform.default.min.css" rel="stylesheet" />\r
-<link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet"/>\r
-<link href="../../common/css/ngict-component.css" rel="stylesheet"/>\r
-<link href="css/animate.min.css" rel="stylesheet"/>\r
-<link href="css/vnfm.css" rel="stylesheet" />\r
-<style>\r
-.ms-controller {\r
-       visibility: hidden\r
-}\r
-</style>\r
+    <meta charset="UTF-8">\r
+    <title></title>\r
+    <link href="../../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>\r
+    <link href="../../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>\r
+    <link href="../../common/thirdparty/uniform/css/uniform.default.min.css" rel="stylesheet"/>\r
+    <link href="../../common/css/ZteIctIcons/style.css" rel="stylesheet"/>\r
+    <link href="../../common/css/ngict-component.css" rel="stylesheet"/>\r
+    <link href="css/animate.min.css" rel="stylesheet"/>\r
+    <link href="css/vnfm.css" rel="stylesheet"/>\r
+    <style>\r
+        .ms-controller {\r
+            visibility: hidden\r
+        }\r
+    </style>\r
 \r
 </head>\r
 <body>\r
-       <div ms-controller="vnfmController" class="container-fluid ms-controller">\r
-       <div id="addVnfmDlg" class="modal  fade" tabindex="-1" role="dialog"\r
-               aria-labelledby="myModalLabel" aria-hidden="true" >\r
-               <div class="modal-dialog">\r
-                       <div class="modal-content Changepasswd">\r
-                               <div class="content">\r
-                                       <div class="modal-header">\r
-                                               <button type="button" class="close" data-dismiss="modal"\r
-                                                       aria-hidden="true">×</button>\r
-                                               <h4 id="myModalLabel">{{addVnfm.title}}</h4>\r
-                                       </div>\r
-                                       <div class="modal-body">                                \r
-                                       <form class="form-horizontal" id="vnfm_form" role="form">\r
-                                               <input type="hidden" ms-duplex="addVnfm.vnfmId"  name="vnfmId" class="form-control" />\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-name" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.name"  name="name" class="form-control"/>\r
-                                                               <span class="help-block"></span>\r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.type"  name="type" class="form-control"/>\r
-                                                               <span class="help-block"></span>\r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-vendor" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.vendor" name="vendor" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-version" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.version" name="version" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span>URL</span>\r
-                                                               <span class="required" aria-required="true">*</span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.url" name="url" class="form-control" \r
-                                                                       ms-attr-placeholder="addVnfm.urlTip"/> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group" >\r
-                                                       <label class="col-sm-3 control-label">VIM\r
-                                                               <span></span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <select class="form-control" id="vimId" name="vimId">\r
-                                                                       <option ms-repeat-vim="vimSelectItems" ms-attr-value="vim.vimId" data-repeat-rendered="vimRendered">{{vim.name}}</option>\r
-                                                               </select>\r
-                                                       </div>\r
-                                               </div>                                          \r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-certificateUrl" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.certificateUrl" name="certificateUrl" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>                                          \r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-userName" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="text" ms-duplex="addVnfm.userName" name="userName" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text-password" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                       </label>\r
-                                                       <div class="col-sm-7">\r
-                                                               <input type="password" ms-duplex="addVnfm.password" name="password" class="form-control" /> \r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>\r
-                                               </div>\r
-                                               <div class="form-group">\r
-                                                       <label class="control-label col-sm-3">\r
-                                                               <span id="nfv-vnfm-iui-text_description" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                                                               <span class="" aria-required="" style="visibility: hidden;">*</span>\r
-                                                               </label>\r
-                                                        <div class="col-sm-7">\r
-                                                               <textarea class="form-control" rows="3"  ms-duplex="addVnfm.description"  name="description"></textarea>\r
-                                                               <span class="help-block"></span>                        \r
-                                                       </div>                                                  \r
-                                               </div>\r
-                                       </form>\r
+<div ms-controller="vnfmController" class="container-fluid ms-controller">\r
+    <div id="addVnfmDlg" class="modal  fade" tabindex="-1" role="dialog"\r
+         aria-labelledby="myModalLabel" aria-hidden="true">\r
+        <div class="modal-dialog">\r
+            <div class="modal-content Changepasswd">\r
+                <div class="content">\r
+                    <div class="modal-header">\r
+                        <button type="button" class="close" data-dismiss="modal"\r
+                                aria-hidden="true">×\r
+                        </button>\r
+                        <h4 id="myModalLabel">{{addVnfm.title}}</h4>\r
+                    </div>\r
+                    <div class="modal-body">\r
+                        <form class="form-horizontal" id="vnfm_form" role="form">\r
+                            <input type="hidden" ms-duplex="addVnfm.vnfmId" name="vnfmId" class="form-control"/>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-name" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.name" name="name" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.type" name="type" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-vendor" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.vendor" name="vendor" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-version" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.version" name="version" class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span>URL</span>\r
+                                    <span class="required" aria-required="true">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.url" name="url" class="form-control"\r
+                                           ms-attr-placeholder="addVnfm.urlTip"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="col-sm-3 control-label">VIM\r
+                                    <span></span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <select class="form-control" id="vimId" name="vimId">\r
+                                        <option ms-repeat-vim="vimSelectItems" ms-attr-value="vim.vimId"\r
+                                                data-repeat-rendered="vimRendered">{{vim.name}}\r
+                                        </option>\r
+                                    </select>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-certificateUrl"\r
+                                          name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.certificateUrl" name="certificateUrl"\r
+                                           class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-userName" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="text" ms-duplex="addVnfm.userName" name="userName"\r
+                                           class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text-password" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <input type="password" ms-duplex="addVnfm.password" name="password"\r
+                                           class="form-control"/>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                            <div class="form-group">\r
+                                <label class="control-label col-sm-3">\r
+                                    <span id="nfv-vnfm-iui-text_description" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                                    <span class="" aria-required="" style="visibility: hidden;">*</span>\r
+                                </label>\r
+                                <div class="col-sm-7">\r
+                                    <textarea class="form-control" rows="3" ms-duplex="addVnfm.description"\r
+                                              name="description"></textarea>\r
+                                    <span class="help-block"></span>\r
+                                </div>\r
+                            </div>\r
+                        </form>\r
 \r
-                                       </div>\r
-                                       <div class="modal-footer">\r
-                                               <button class="btn" data-dismiss="modal" aria-hidden="true" id="nfv-vnfm-iui-text-cancelBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>\r
-                                               <button class="btn btn-primary" type="submit" ms-click="$saveVnfm" id="nfv-vnfm-iui-text-saveBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>\r
-                                       </div>\r
-                               </div>\r
-                       </div>\r
-               </div>\r
-       </div>\r
-       <div class="row-fluid" data-name="cond_zone">\r
-               <div class="col-md-12">                         \r
-                       <button class="btn white radius_l" id="app-new-btn" ms-click="$showVnfmTable" >\r
-                       <i class="ict-new"></i> <span id="nfv-vnfm-iui-text-registerBtn" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                   </button>\r
-               </div>\r
-       </div>\r
+                    </div>\r
+                    <div class="modal-footer">\r
+                        <button class="btn" data-dismiss="modal" aria-hidden="true" id="nfv-vnfm-iui-text-cancelBtn"\r
+                                name_i18n="com_zte_nfv_nsoc_i18n"></button>\r
+                        <button class="btn btn-primary" type="submit" ms-click="$saveVnfm"\r
+                                id="nfv-vnfm-iui-text-saveBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>\r
+                    </div>\r
+                </div>\r
+            </div>\r
+        </div>\r
+    </div>\r
+    <div class="row-fluid" data-name="cond_zone">\r
+        <div class="col-md-12">\r
+            <button class="btn white radius_l" id="app-new-btn" ms-click="$showVnfmTable">\r
+                <i class="ict-new"></i> <span id="nfv-vnfm-iui-text-registerBtn"\r
+                                              name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+            </button>\r
+        </div>\r
+    </div>\r
 \r
-       <div class="col-sm-12 vnfm-padding" ms-each-el="vnfmInfo">\r
-               <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;">\r
-            <div class="hpanel stats" >\r
-                <div class="panel-body h-200"  ms-hover="hpanel_show" >\r
+    <div class="col-sm-12 vnfm-padding" ms-each-el="vnfmInfo">\r
+        <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;">\r
+            <div class="hpanel stats">\r
+                <div class="panel-body h-200" ms-hover="hpanel_show">\r
                     <div class="pull-left">\r
-                        <span class="label label-success" ms-if="el.status === $Status.success" id="nfv-vnfm-iui-text-status-normal" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
-                        <span class="label label-danger" ms-attr-title="el.errorInfo"   data-toggle="tooltip"   ms-if="el.status === $Status.failed" id="nfv-vnfm-iui-text-status-fail" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                        <span class="label label-success" ms-if="el.status === $Status.success"\r
+                              id="nfv-vnfm-iui-text-status-normal" name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
+                        <span class="label label-danger" ms-attr-title="el.errorInfo" data-toggle="tooltip"\r
+                              ms-if="el.status === $Status.failed" id="nfv-vnfm-iui-text-status-fail"\r
+                              name_i18n="com_zte_nfv_nsoc_i18n"></span>\r
                     </div>\r
                     <div class="stats-icon pull-right">\r
                         <i class="fa fa-server  fa-5x color_cloud"></i>\r
                     </div>\r
                     <div class="m-t-xl">\r
-                        <h3 ms-text="el.name"></h3>   \r
-                        <div><span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>:<span ms-text="el.type"></span></div>\r
+                        <h3 ms-text="el.name"></h3>\r
+                        <div><span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>:<span\r
+                                ms-text="el.type"></span></div>\r
                         <div>URL:<span ms-text="el.url"></span></div>\r
                     </div>\r
                 </div>\r
                 <div class="panel-footer">\r
-                    <div  class="pull-right">\r
-                       <a class="btn btn-default btn-sm" ms-click="vnfmUtil.updateVnfm(el.$model)"><i class="fa fa-pencil-square-o fa-lg"></i></a>\r
-                       <a class="btn btn-default btn-sm" ms-click="vnfmUtil.delVnfm(el.vnfmId)"><i class="fa fa-trash-o fa-lg"> </i></a>\r
+                    <div class="pull-right">\r
+                        <a class="btn btn-default btn-sm" ms-click="vnfmUtil.updateVnfm(el.$model)"><i\r
+                                class="fa fa-pencil-square-o fa-lg"></i></a>\r
+                        <a class="btn btn-default btn-sm" ms-click="vnfmUtil.delVnfm(el.vnfmId)"><i\r
+                                class="fa fa-trash-o fa-lg"> </i></a>\r
                     </div>\r
                 </div>\r
             </div>\r
-        </div>       \r
+        </div>\r
     </div>\r
     <div class="col-sm-12">\r
         <div class="pull-left text-muted">\r
-               <small><span id="nfv-vnfm-iui-text-total" name_i18n="com_zte_nfv_nsoc_i18n"></span> <span class="blue-font" ms-text="vnfmInfo.size()"></span> <span id="nfv-vnfm-iui-text-total-vnfm" name_i18n="com_zte_nfv_nsoc_i18n"></span></small>\r
-        </div>  \r
-       </div>\r
-       </div>\r
-       <script type="text/javascript" src="../../common/thirdparty/jquery/jquery-1.10.2.min.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/bootstrap/js/bootstrap.min.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/bootbox/bootbox.min.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/jquery-validation/js/jquery.validate.min.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/jquery-validation/js/additional-methods.min.js"></script>\r
-       \r
-       <script type="text/javascript" src="../../common/thirdparty/bootstrap-growl/bootstrap-growl.min.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/cometd/cometd.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/cometd/jquery.cometd.js"></script>\r
-       <script type="text/javascript" src="../../common/thirdparty/avalon/avalon.js"></script>\r
+            <small><span id="nfv-vnfm-iui-text-total" name_i18n="com_zte_nfv_nsoc_i18n"></span> <span class="blue-font"\r
+                                                                                                      ms-text="vnfmInfo.size()"></span>\r
+                <span id="nfv-vnfm-iui-text-total-vnfm" name_i18n="com_zte_nfv_nsoc_i18n"></span></small>\r
+        </div>\r
+    </div>\r
+</div>\r
+<script type="text/javascript" src="../../common/thirdparty/jquery/jquery-1.10.2.min.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/bootstrap/js/bootstrap.min.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/bootbox/bootbox.min.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/jquery-validation/js/jquery.validate.min.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/jquery-validation/js/additional-methods.min.js"></script>\r
+\r
+<script type="text/javascript" src="../../common/thirdparty/bootstrap-growl/bootstrap-growl.min.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/cometd/cometd.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/cometd/jquery.cometd.js"></script>\r
+<script type="text/javascript" src="../../common/thirdparty/avalon/avalon.js"></script>\r
+\r
+<script type="text/javascript" src="../../common/js/tools.js"></script>\r
+\r
+<script type="text/javascript" src="js/commonUtil.js"></script>\r
+<script type="text/javascript" src="js/loadi18n_nsoc.js"></script>\r
 \r
-       <script type="text/javascript" src="../../common/js/tools.js"></script>\r
-       \r
-       <script type="text/javascript" src="js/commonUtil.js"></script>\r
-       <script type="text/javascript" src="js/loadi18n_nsoc.js"></script>\r
-       \r
-       <script type="text/javascript" src="js/vnfm-validate.js"></script>\r
-       <script type="text/javascript" src="js/vnfmUtil.js"></script>\r
-       <script type="text/javascript" src="js/vnfmController.js"></script>\r
+<script type="text/javascript" src="js/vnfm-validate.js"></script>\r
+<script type="text/javascript" src="js/vnfmUtil.js"></script>\r
+<script type="text/javascript" src="js/vnfmController.js"></script>\r
 </body>\r
 </html>
\ No newline at end of file