GSFN = {
  feedback: function(url, tab_options) {
    this.feedback_url = url;
    this.tab_options = tab_options ? tab_options : {};
    this.tab_options.placement = this.tab_options.placement ? this.tab_options.placement : 'left';
    this.tab_options.color = this.tab_options.color ? this.tab_options.color : '#222';
    
    
    this.tab_html = '<a href="http://www.rankmytattoos.com/membership-types.html" id="fdbk_tab" class="fdbk_tab_'+this.tab_options.placement+'" style="background-color:'+this.tab_options.color+'"></a>';
    this.overlay_html = '<div id="fdbk_overlay" style="display:none">' +
                          '<div id="fdbk_container">' +
                            '<a href="#" onclick="GSFN.hide();return false" id="fdbk_close"></a>' +
                            '<iframe src="" id="fdbk_iframe" allowTransparency="true" scrolling="no" frameborder="0"></iframe>' +
                          '</div>' +
                          '<div id="fdbk_screen"></div>' +
                        '</div>';
                        
    if(this.tab_options.container) {
      document.write(this.tab_html);
     // document.write(this.overlay_html);   
    } else {
      document.write(this.tab_html);
      //document.write(this.overlay_html);      
    }    
                   

    this.gId('fdbk_tab').onclick = function() { GSFN.show(); return false; }
    //this.gId('fdbk_iframe').setAttribute("src", "");
  },
  set_position: function() {
    this.scroll_top = document.documentElement.scrollTop || document.body.scrollTop;
    this.scroll_height = document.documentElement.scrollHeight;
    this.client_height = window.innerHeight || document.documentElement.clientHeight;
    this.gId('fdbk_screen').style.height = this.scroll_height+"px";
    this.gId('fdbk_container').style.top = this.scroll_top+(this.client_height*0.1)+"px";
  },
  show: function() {
    if(this.gId('fdbk_iframe').getAttribute("src") == "") {
      this.gId('fdbk_iframe').setAttribute("src", this.feedback_url);
      if (this.gId('fdbk_iframe').addEventListener) {
        this.gId('fdbk_iframe').addEventListener("load", GSFN.loaded, false);
      } else if (this.gId('fdbk_iframe').attachEvent) {
        this.gId('fdbk_iframe').detachEvent("onload", GSFN.loaded);
        this.gId('fdbk_iframe').attachEvent("onload", GSFN.loaded);
      }
    }
    this.set_position();
    this.gId('fdbk_overlay').style.display = "block";
  },
  hide: function() {
    this.gId('fdbk_overlay').style.display = "none";
  },
  loaded: function() {
    GSFN.gId('fdbk_iframe').className = "loaded";
  },
  gId: function(id) {
    return document.getElementById(id);
  }
}