var ccUtils = {
  loadWhenReady: function(initFn, conditionalFns, ignoreHashChange) {
    if(typeof initFn !=='function' || !Array.isArray(conditionalFns)) {
      return console.error('Invalid Params', arguments);
    }
    var MAX_ATTEMPTS = 30;
    var numAttemptsForDojo = 0;
    var mapLoadEvent = function(){
      if(dojo){
        if(!ignoreHashChange) dojo.addOnLoad(mapHashChangeEvent);
        dojo.addOnLoad(fnCallOnLoad);
      }
      else if(numAttemptsForDojo++ <= MAX_ATTEMPTS)
      setTimeout(mapLoadEvent, 1000);
    };
    var currentHref = window.location.href;
    var mapHashChangeEvent = function(){
      //map method to onHashChange event
      if (('onhashchange' in window) && (!dojo.isIE || dojo.isIE > 7)){
        var hashFunc = window.onhashchange;
        window.onhashchange = function() {
          if(typeof hashFunc==='function')
          hashFunc();
          fnCallOnLoad();
        };
      } else {	//if the event is not available then create a callback function to check if the url has changed
        setInterval(function() {
          var newHref = window.location.href;
          if (currentHref !== newHref) {
            currentHref = newHref;
            fnCallOnLoad();
          }
        }, 1000);
      }
    };
    var numAttempts = {};
    var fnCallOnLoad = function() {
      try {
        var val;
        for(var i=0; i<conditionalFns.length; i++) {
          var fn = conditionalFns[i];
          val = fn();
          if(!val) {
            numAttempts[i] = numAttempts[i] ? numAttempts[i]+1 : 1;
            if(numAttempts[i] <=MAX_ATTEMPTS) setTimeout(fnCallOnLoad, 1000);
            return;
          }
        }
        initFn(val);
      } catch(e) {
        console.error('fnCallOnLoad: ', e);
      }
    };
    mapLoadEvent();
  },
  fireClickEvent: function(el) {
    if(document.createEvent) {
      var event = document.createEvent('MouseEvents');
      event.initEvent( 'click', true, false );
      el.dispatchEvent( event );
    } else if(document.createEventObject && el.fireEvent) {
      var event = document.createEventObject();
      el.fireEvent( 'onclick', event );
    }
  }
};

@@ -1,14 +1,48 @@
-var ccUtil
+console.log(%22core loaded%22);%0Avar iswExtension
 s = 
@@ -110,19 +110,19 @@
 hChange)
- 
 %7B%0A
+%0A
     if(t
@@ -244,24 +244,25 @@
 nts);%0A    %7D%0A
+%0A
     var MAX_
@@ -276,16 +276,17 @@
 S = 30;%0A
+%0A
     var 
@@ -353,20 +353,37 @@
      if(
-dojo
+typeof dojo==%22object%22
 )%7B%0A     
@@ -578,32 +578,35 @@
 , 1000);%0A    %7D;%0A
+%0A%0A%0A
     var currentH
@@ -1311,24 +1311,25 @@
    %7D%0A    %7D;%0A
+%0A
     var numA
@@ -1342,16 +1342,17 @@
 s = %7B%7D;%0A
+%0A
     var 
@@ -1368,33 +1368,32 @@
 oad = function()
- 
 %7B%0A      try %7B%0A  
@@ -1387,17 +1387,16 @@
      try
- 
 %7B%0A      
@@ -1823,24 +1823,25 @@
    %7D%0A    %7D;%0A
+%0A
     mapLoadE
@@ -1883,17 +1883,16 @@
 tion(el)
- 
 %7B%0A    if
@@ -2047,24 +2047,25 @@
 t( event );%0A
+%0A
     %7D else i
@@ -2200,21 +2200,203 @@
 vent );%0A
-
     %7D%0A
+  %7D,%0A  addCssStyle:function(styleStr)%7B%0A%09var head = document.head %7C%7C document.getElementsByTagName('head')%5B0%5D;%0A%09if(styleStr && head) dojo.create('style', %7BinnerHTML:styleStr%7D, head);%0A
   %7D%0A%7D;%0A

Update cc-utils.js