if(typeof(iTriage) == "undefined") {
  iTriage = {};
}


(function(iTriage) {

  iTriage.host = iTriage.host || "http://www.itriagehealth.com";
  iTriage.domain = "localhost"; // document.location.hostname;

  iTriage.baseURL = window.location.href;
  iTriage.baseURL = iTriage.baseURL.replace(window.location.pathname, "");
  iTriage.baseURL = iTriage.baseURL.split("#")[0];
  iTriage.baseURL = iTriage.baseURL.split("?")[0];

  iTriage.formActive = false;

  iTriage.height = iTriage.height || 700;

  var jQuery;  // See http://alexmarandon.com/articles/web_widget_jquery/

  iTriage.load = function() {

    var url = iTriage.host + '/widgets/use_iframe?key=' + iTriage.key + '&domain=' + iTriage.domain + '&callback=?';
    jQuery.ajaxSetup({ 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")} });


    jQuery.getJSON(url, function(data){


      // switch based on if we're using an iframe
      if (data.use_iframe) {

        // set containing div height
        jQuery('#itriage_widget').height(iTriage.height);

        var src_string = iTriage.host + '/widgets/show?format=widget&key=' + iTriage.key + '&domain=' + iTriage.domain + '&height=' + (iTriage.height - 10);
        var options = "id='itriage_iframe' frameborder='0'";
        var style = "style='width: 100%; height: 100%;'";
        jQuery('#itriage_widget').append("<IFRAME SRC='" + src_string + "'" + options + style + "/>");

      } else {
                jQuery.getScript( iTriage.host + '/widget/no_iframe_widget.js');
      }
    }, 'json');
  };

  function scriptLoadHandler() {
    jQuery = window.jQuery.noConflict(true);
    main();
  };

  if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.7.1') {
    var script_tag = document.createElement('script');
    script_tag.setAttribute("type","text/javascript");
    script_tag.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
    script_tag.onload = scriptLoadHandler;
    script_tag.onreadystatechange = function () {
        if (this.readyState == 'complete' || this.readyState == 'loaded') {
            scriptLoadHandler();
        }
    };
    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
  } else {
    jQuery = window.jQuery;
    main();
  };


  function ajaxSetup() {
    jQuery.ajaxSetup(
      {
        error: function(x,e){
          if(x.status == 401){
            alert("Access denied. Are you logged in?");
          }
          else if(x.status==0){
            alert('You are offline!!\n Please Check Your Network.');
          }
          else if(x.status==201){
          }
          else if(x.status==404){
            alert('Requested URL not found.');
          }
          else if(x.status==500){
            alert('Internal Server Error.');
          }
          else if(e=='parsererror'){
            //alert('Error.\nParsing JSON Request failed.');
          }
          else if(e=='timeout'){
            alert('Request Time out.');
          }
          else {
            alert('Unknown Error.\n'+x.responseText);
          }
        }
      }
    )
  };

  function main() {
    ajaxSetup();
    jQuery(document).ready(function() {
      iTriage.load();
    });
  };

})(iTriage);

