var WFWidgetLoader = {
  insert_js : function(url, onload) {

    var headID = document.getElementsByTagName("head")[0];
    var newScript = document.createElement('script');
    newScript.type = 'text/javascript';
    newScript.src = url;
    if (onload != null) {
      if (!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)) { // Test for IE

        newScript.onreadystatechange = function () {
          if (newScript.readyState == 'loaded' || newScript.readyState == 'complete') {
            onload.call();
          }
        };
      } else {

        newScript.onload = function() {
          onload.call();
        };
      }
    }
    headID.appendChild(newScript);
  },

  insert_css : function (url) {
    var headID = document.getElementsByTagName("head")[0];
    var cssNode = document.createElement('link');
    cssNode.type = 'text/css';
    cssNode.rel = 'stylesheet';
    cssNode.href = url;
    cssNode.media = 'screen';
    headID.appendChild(cssNode);
  },

  load : function() {
        
      WFWidgetLoader.insert_css('http://www.festivaisverao.com/mek/mek.css'); 


      var onload = "";
      WFWidgetLoader.insert_js('http://www.festivaisverao.com/mek/3.js', function() {
        WFWidget.init("http://www.festivaisverao.com/mek/lista.html", [{"url":"http://www.festivaisverao.com/mek/lista.html","text":"Cartazes","format":"cartaz"}], "left", "green");
      });
    
  },
  

  forwardMessage : function(message, origin) {      
    top.WFWidgetLoader.onMessageFromChild(message);
  },
  
  get_url_param : function(name) {  
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+name+"=([^&#]*)";  
    var regex = new RegExp( regexS );  
    var results = regex.exec( window.location.href );
    if( results == null )    return "";  
    else return results[1];
  }
	
}

var WFReady = {
  readyBound: false,
  isReady: false,
  readyFunctions: [],
  
  domLoaded : function(f) {
    WFReady.readyFunctions[WFReady.readyFunctions.length] = f;
    
  	if ( WFReady.readyBound ) {
  		return;
  	}
  	WFReady.readyBound = true;

  	if ( document.readyState === "complete" ) {
  		return WFReady.ready();
  	}
  	if ( document.addEventListener ) {
      document.addEventListener( "DOMContentLoaded", WFReady.DOMContentLoaded, false );
      window.addEventListener( "load", WFReady.ready, false );

  	} else if ( document.attachEvent ) {
  		document.attachEvent("onreadystatechange", WFReady.DOMContentLoaded);	
  		window.attachEvent( "onload", WFReady.ready );

  		var toplevel = false;
  		try {
  			toplevel = window.frameElement == null;
  		} catch(e) {}
  		if ( document.documentElement.doScroll && toplevel ) {
  			WFReady.doScrollCheck();
  		}
  	}
  },
  
  doScrollCheck : function() {
  	if ( WFReady.isReady ) {
  		return;
  	}
  	try {

  		document.documentElement.doScroll("left");
  	} catch( error ) {
  		setTimeout( WFReady.doScrollCheck, 1 );
  		return;
  	}
  	// and execute any waiting functions
  	WFReady.ready();
  },
  
	ready : function() {
		if ( !WFReady.isReady ) {
			if ( !document.body ) {
				return setTimeout( WFReady.ready, 13 );
			}
			WFReady.isReady = true;
			if ( WFReady.readyFunctions.length > 0 ) {
			  for (var i = 0; i < WFReady.readyFunctions.length; i++){
			    WFReady.readyFunctions[i].call(this);
			  }
			}
		}
	},
	
	DOMContentLoaded: function() {
    if ( document.addEventListener ) {
    	document.removeEventListener( "DOMContentLoaded", WFReady.DOMContentLoaded, false );
  		WFReady.ready();
    } else if ( document.attachEvent ) {
  		if ( document.readyState === "complete" ) {
  			document.detachEvent( "onreadystatechange", WFReady.DOMContentLoaded );
  			WFReady.ready();
  		}
    }

	}
}

WFReady.domLoaded(function() {
  if (WFWidgetLoader.get_url_param("proxy") != "true") {
    WFWidgetLoader.load();
  } else {
    WFWidgetLoader.setup_proxy();
  }
});