(function(ticker_id){ 
  var jQvrAccepted = 142,
      timeoutID;
  
  function jQVr(){
    return parseInt(jQuery.fn.jquery.replace(/\./gi,'').substring(0,3));
  }
  
  function wrongjQueryVersion(){
    return jQVr() != 142;
  }

  function file(filename, filetype, where){
    if (filetype=="js") { 
      var fileref=document.createElement("script");
      fileref.setAttribute("type","text/javascript");
      fileref.setAttribute("src", filename);
    } else if (filetype=="css") {
      var fileref=document.createElement("link");
      fileref.setAttribute("rel", "stylesheet");
      fileref.setAttribute("type", "text/css");
      fileref.setAttribute("href", filename);
    }
    
    if (typeof fileref!="undefined"){
       if (where=="head") document.getElementsByTagName("head")[0].appendChild(fileref);
       else document.getElementsByTagName("body")[0].appendChild(fileref); 
    }
    
  }
  
  function tickerLoad(){
    if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7){
    } else {
      jQuery(document).ready(function(){
        var src = "http://static.itickerapp.com/iticker.js?201106070932";
        file(src,"js","body");        
      });
    }  
  }
  
  
  function boot() {
      if (typeof jQuery == "function") {
        if(wrongjQueryVersion()){
            timeoutID = setTimeout(boot, 200);
        } else {
          clearTimeout(timeoutID);
          tickerLoad();
      }
    } else {
      timeoutID = setTimeout(boot, 200);      
    }
  }

  if(typeof iticker_id == null){
    throw("You'd don't have an ITICKER ID. Get one from itickerapp.com");
  } else {
    if (typeof(ITICKER)!="object") {
      file("http://static.itickerapp.com/iticker.css?201103221820","css","head");
      if (typeof jQuery != "function") { 
        file("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js","js","head");
      } else if(wrongjQueryVersion()){
        file("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js","js","head");
      }        
      var ITICKER = window.ITICKER = {};
      
      ITICKER.env = (typeof __ITICKER_DEV__ == 'undefined') ? 'PRODUCTION' : __ITICKER_DEV__;      
      ITICKER.iticker_id = iticker_id;
      boot();      
    }
  }
})(iticker_id);

