/* SiteBook widget code */
if(colors == undefined) { var colors = ['#305caf', '#305caf']; }

document.write("<style type=\"text\/css\">\n#sitebook-dialog {\n  z-index: 99999;\n  display: block;\n  text-align: left;\n  margin: -2em auto 0 auto;\n  position: absolute;\n}\n\n#sitebook-dialog-content {padding:10px; background:url(http://sitematic.ru/img/wbg.gif) left top repeat; border-radius: 5px; -moz-border-radius:5px; -webkit-border-radius: 5px;}\n\n#sitebook-overlay {\n  position: absolute;\n  z-index:99998;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  background-color: #000;\n  opacity: .7;\n}\n\n#sitebook-dialog[id],\n#sitebook-overlay[id] {\n	position:fixed;\n}\n\n#sitebook-overlay p {\n	padding: 10px;\n	color: #eee;\n	font: bold 18pt sans-serif;\n	margin: 0;\n	text-align:left;\n}\n\n#sitebook-dialog #sitebook-dialog-close {\ncolor: white;\ncursor: pointer;\nbackground: url(http:\/\/sitematic.ru\/img\/close.gif) 0 0 no-repeat;\nposition: absolute;\nheight: 14px;\nwidth: 14px;\ntop: -20px;\nright: 0px;\n}\n\n* html.dialog-open body {\n	height: 100%;\n}\n\n* html.dialog-open,\n* html.dialog-open body {\n	overflow: hidden;\n}\n<\/style>\n<!--[if IE]>\n<style type=\"text\/css\">\n* html #sitebook-overlay {\n	width: 110%;\n}\n#sitebook-overlay {\n	filter: alpha(opacity=70);\n}\n<\/style>\n<![endif]-->");

if (!SiteBook) {
  var SiteBook = {}
}

SiteBook.Page = {
  getDimensions: function() {
    var de = document.documentElement
    var width = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth
    var height = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight
    return {width: width, height: height}
  }
}

SiteBook.Dialog = {
  show: function(id_or_html) {
    var element = document.getElementById(id_or_html)
    var html = (element == null) ? id_or_html : element.innerHTML

    this.Overlay.show()
    this.setContent(html)
    this.setPosition()
    SiteBook.Element.addClassName(this.htmlElement(), 'dialog-open')
    this.element().style.display = 'block'
  },

  close: function() {
    this.element().style.display = 'none'
    SiteBook.Element.removeClassName(this.htmlElement(), 'dialog-open')
    this.Overlay.hide()
    SiteBook.onClose()
  },

  /****** Protected Methods ******/

  id: 'sitebook-dialog',

  element: function() {
    if (!document.getElementById(this.id)){
      var dummy = document.createElement('div')
      dummy.innerHTML = '<div id="'+this.id+'" class="sitebook-component" style="display:none;"><div id="'+this.id+'-content"></div><a href="#" onclick="SiteBook.Dialog.close(); return false;" id="'+this.id+'-close"></a></div>'
      document.body.appendChild(dummy.firstChild)
    }
    return document.getElementById(this.id)
  },

  setContent: function(html) {
    this.element()
    document.getElementById(this.id+"-content").innerHTML = html
  },

  setPosition: function() {
    var dialogDimensions = SiteBook.Element.getDimensions(this.element())
    var pageDimensions = SiteBook.Page.getDimensions()

    var els = this.element().style
    els.width = 'auto'
    els.height = 'auto'
    els.left = ((pageDimensions.width - dialogDimensions.width)/2) + "px"
    els.top = ((pageDimensions.height - dialogDimensions.height)/2) + "px"
  },

  htmlElement: function() {
    return document.getElementsByTagName('html')[0]
  }
}

SiteBook.Dialog.Overlay = {

  show: function() {
    this.hideSelects()
    this.hideSwf()
    this.element().style.display = 'block'
  },

  hide: function() {
    this.element().style.display = 'none'
    this.showSelects()
    this.showSwf()
  },


  id: 'sitebook-overlay',

  element: function() {
    if (!document.getElementById(this.id)){
      var dummy = document.createElement('div')
      dummy.innerHTML = '<div id="'+this.id+'" class="sitebook-component" onclick="SiteBook.Dialog.close(); return false;" style="display:none;"> </div>'
      document.body.appendChild(dummy.firstChild)
    }
    return document.getElementById(this.id)
  },

  hideSwf: function() {
    embeds = document.getElementsByTagName("embed")
    for (i = 0; i != embeds.length; i++) {
      if (embeds[i].getAttribute('type').match("x-shockwave-flash")) embeds[i].style.visibility = "hidden";
    }

    objects = document.getElementsByTagName("object")
    for (i = 0; i != objects.length; i++) {
      objects[i].style.visibility = "hidden";
    }
  },

  showSwf: function() {
    embeds = document.getElementsByTagName("embed")
    for (i = 0; i != embeds.length; i++) {
      if (embeds[i].getAttribute('type').match("x-shockwave-flash")) embeds[i].style.visibility = "visible";
    }

    objects = document.getElementsByTagName("object")
    for (i = 0; i != objects.length; i++) {
      objects[i].style.visibility = "visible";
    }
  },

  hideSelects: function() {
  	selects = document.getElementsByTagName("select")
  	for (i = 0; i != selects.length; i++) {
  		selects[i].style.visibility = "hidden"
  	}
  },

  showSelects: function() {
  	selects = document.getElementsByTagName("select")
  	for (i = 0; i != selects.length; i++) {
  		selects[i].style.visibility = "visible"
  	}
  }
}

SiteBook.Element = {
  getDimensions: function(element) {
    var display = element.display
    if (display != 'none' && display != null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight}

    // All *Width and *Height properties give 0 on elements with display none,
    // so enable the element temporarily
    var els = element.style
    var originalVisibility = els.visibility
    var originalPosition = els.position
    var originalDisplay = els.display
    els.visibility = 'hidden'
    els.position = 'absolute'
    els.display = 'block'
    var originalWidth = element.clientWidth
    var originalHeight = element.clientHeight
    els.display = originalDisplay
    els.position = originalPosition
    els.visibility = originalVisibility
    return {width: originalWidth, height: originalHeight}
  },

  hasClassName: function(element, className) {
    var elementClassName = element.className
    return (elementClassName.length > 0 && (elementClassName == className ||
      new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)))
  },

  addClassName: function(element, className) {
    if (!this.hasClassName(element, className))
      element.className += (element.className ? ' ' : '') + className
    return element
  },

  removeClassName: function(element, className) {
    element.className = element.className.replace(
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ')
    return element
  }
}

SiteBook.onClose = function() {}


SiteBook.PopIn = {
  show: function() {
    var referer = window.location.href;
    if (referer.indexOf('?') != -1) { referer = referer.substring(0, referer.indexOf('?')) } // strip params
		var url = "http://sitematic.ru/widget/site/"+sitename+"/?referer=" + referer;
    SiteBook.Dialog.show("<iframe src=\"" + url + "\" frameborder=\"0\" scrolling=\"no\" allowtransparency=\"false\" width=\"570px\" height=\"400px\"></iframe>");
  }
}

if(align == 'left') {
	var aligncss='left: 0 !important;';
	var bgposcss='background-position: right top !important;';
} else {
	var aligncss='right: 0 !important;';
	var bgposcss='background-position: left top !important;';
}

document.write("<style type=\"text\/css\">\na#sitebook-feedback-tab, a#sitebook-feedback-tab:link {\n  background-attachment: scroll;\n  position: fixed !important;\n  "+aligncss+"\n  top: 40% !important;\n  display: block !important;\n  background-color: "+colors[0]+";\n  background-image: url(http:\/\/sitematic.ru\/img\/feedback.png);\n  "+bgposcss+"\n  background-repeat: no-repeat;\n  width: 30px !important;\n  height: 110px !important;\n  margin-top: -45px !important;  \n  z-index: 99997 !important;\n}\n\na#sitebook-feedback-tab:hover {\n  background-color: "+colors[1]+";\n  "+bgposcss+"\n  cursor: pointer;\n}\n<\/style>\n<!--[if IE]>\n<style type=\"text\/css\">\n* html a#sitebook-feedback-tab,\n* html a#sitebook-feedback-tab:link {\n	position: absolute !important;\n}\n<\/style>\n<![endif]-->\n\n<a id=\"sitebook-feedback-tab\" onclick=\"this.blur(); try { SiteBook.PopIn.show(); return false; } catch(e){}\" href=\"http:\/\/sitematic.ru\/site\/"+sitename+"\/?referer=tab\"><\/a>");
