var EI = window.EI || {}

EI.KampyleFeedback = function() {

  // Kampyle global config
  k_push_vars = {
    'display_after': 45,
    'view_percentage': 0,
    'popup_font_color': '#000000',
    'popup_background': '#ffffff',
    'popup_separator': '#D4E2F0',
    'header': 'Your feedback is important to us!',
    'question': 'Would you be willing to give us a short (1 minute) feedback?',
    'footer': 'Thank you for helping us improve our website',
    'remind': 'Remind me later',
    'remind_font_color': '#3882C3', 
    'yes': 'Yes',
    'no': 'No',
    'text_direction': 'ltr',
    'images_dir': 'http://cf.kampyle.com/',
    'yes_background': '#76AC78',
    'no_background': '#8D9B86',
    'site_code': 3321608
  }

  var kampyle_js = [
    'http://cf.kampyle.com/k_button.js',
    'http://cf.kampyle.com/k_push.js'
  ];

  var tab_color    = '#000000';
  var tab_position = 'right';

  var tab_html = '<div id="feedback-tab"><a href="#" id="kampylink" onclick="javascript:k_button.open_ff(\'site_code=3321608&amp;form_id=39397&lang=en\');return false;" class="feedback-tab-' + tab_position + '" style="background-color:' + tab_color + '">FEEDBACK</a></div>';

  var tab_css = "#feedback-tab a {\n  top: 25%;\n  left: 0;\n  width: 42px;\n  height: 102px;\n  color: #FFF;\n  cursor: pointer;\n  text-indent: -100000px;\n  overflow: hidden;\n  position: fixed;\n  z-index: 100000;\n  margin-left: -7px;\n  background-image: url(http://getsatisfaction.com/images/feedback_trans_tab.png);\n  _position: absolute;\n  _background-image: url(http://getsatisfaction.com/images/feedback_tab_ie6.png); }\n  #feedback-tab a:hover {\n    margin-left: -4px; }\n\na.feedback-tab-right {\n  right: 0 !important;\n  left: auto !important;\n  margin-right: 0 !important;\n  margin-left: auto !important;\n  width: 35px !important; }\n  a.feedback-tab-right:hover {\n    width: 38px !important;\n    margin-right: 0 !important;\n    margin-left: auto !important; }";

  function includeCSS(css) {
    var style = document.createElement('style');
    var rules = document.createTextNode(css);
    style.type = 'text/css';
    if (style.styleSheet) {
      style.styleSheet.cssText = rules.nodeValue;
    } else {
      style.appendChild(rules);
    }
    appendTo('head', style);
  }

  function includeJS(file) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = file;
    appendTo('head', script);
  }

  function createTab() {
    // Append HTML for feedback tab
    var tab = document.createElement('div');
    tab.innerHTML = tab_html;
    appendTo('body', tab);
  }

  function includeKampyleAssets() {
    // Include necessary Kampyle JavaScripts
    for (var i=0; i<kampyle_js.length; i++) {
      includeJS(kampyle_js[i]);
    }
  }

  function appendTo(tag_name, node){
    var tag = document.getElementsByTagName(tag_name)[0];
    tag.appendChild(node);
  }

  function initialize() {
    includeCSS(tab_css);
    createTab();
    includeKampyleAssets();
  }

  document.observe('dom:loaded', initialize);

}();

