if (document.compatMode == "BackCompat") {
document.write('<style type="text/css">'+
'#krible { width:1px; height:1px; position:absolute; bottom:0px; z-index:1000; display:block; overflow:hidden; }'+ // todo: change block to none
'body > div#krible { position: fixed; }'+
'.krible_right { right:0px; }'+
'.krible_left { left:0px; }'+
'</style>'+
'<!--[if IE]>'+
'<style type="text/css">'+
'div#krible.krible_right {'+
'  position:absolute !important; right: auto; bottom: auto;'+
'  left: expression( ( 0 - krible.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + "px" );'+
'  top: expression( ( 0 - krible.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + "px" );'+
'}'+
'div#krible.krible_left {'+
'  position:absolute !important; left:0px; bottom: auto;'+
'  top: expression( ( 0 - krible.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + "px" );'+
'}'+
'</style>'+
'<![endif]-->');
} else {
document.write('<style type="text/css">'+
'#krible { width:250px; height:370px; position:fixed; bottom:-400px; z-index:1000; display:block; }'+
'.krible_right { right:0px; }'+
'.krible_left { left:0px; }'+
'</style>');
}



var Krible = new Object();


function kribleGetDomain(url){if(url){return url.match(/:\/\/(.[^/]+)/)[1];}else{return"undefined";}}
function kribleGetCookie(name){cookie_name=name+"=";cookie_length=document.cookie.length;cookie_begin=0;while(cookie_begin<cookie_length){value_begin=cookie_begin+cookie_name.length;if(document.cookie.substring(cookie_begin,value_begin)==cookie_name){var value_end=document.cookie.indexOf(";",value_begin);if(value_end==-1){value_end=cookie_length;}return unescape(document.cookie.substring(value_begin,value_end));}cookie_begin=document.cookie.indexOf(" ",cookie_begin)+1;if(cookie_begin==0){break;}}return null;}
function kribleSetCookie(name,value,days){expires=new Date();if(days!=0){expires.setTime(expires.getTime()+(1000*86400*days));document.cookie=name+"="+escape(value)+"; expires="+expires.toGMTString()+"; path=/";}else{document.cookie=name+"="+escape(value)+"; expires=0; path=/";}}

function kribleDetectBrowser ()
{
	Krible.browser = (function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':/a/[-1]=='a'?'FF':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/^function \(/.test([].sort)?'Op':'Unknown'
	Krible.IE6 = /msie|MSIE 6/.test(navigator.userAgent);
}


function kribleGetMessage(event) 
{
	kribleOnOff(event.data);
	return;
}


function kribleOnOff(call) {
	//alert(call);
		var kribleShowPattern = /kribleShow_[a-z0-9]+/gi;
		var kribleShowIdPattern = /_[a-z0-9]+/gi;
			
    // проверяем вызов для модных браузеров
    try {
        if (call.indexOf('krible') > -1)  Krible.callStr = call;
        } catch (e) {
        Krible.callStr = null;
    }


    // проверяем вызов для старых браузеров
    try {
        if (!Krible.callStr && location.hash.indexOf('krible') > -1) Krible.callStr = location.hash;
        } catch (e) {
         Krible.callStr = null;    
    }


    // парсим строку и определяем тип вызова
    if (Krible.callStr) {
        if (Krible.callStr == 'kribleOn' || Krible.callStr == '#kribleOn') { Krible.call = 'on' }
        if (Krible.callStr == 'kribleOff' || Krible.callStr == '#kribleOff') { Krible.call = 'off' }
				if (Krible.callStr == 'kribleHide' || Krible.callStr == '#kribleHide') { Krible.call = 'off' }
        if (Krible.callStr == 'kribleBar' || Krible.callStr == '#kribleBar') { Krible.call = 'bar' }
	if (Krible.callStr.match(kribleShowPattern)) { Krible.call = 'on' }
    }
    
    
  if (Krible.call == 'on') {
        Krible.windowChat.style.width = "250px";
        Krible.windowChat.style.height = "370px";
        Krible.windowChat.style.bottom = "0px";
  } 
  
  if (Krible.call == 'bar') {
        Krible.windowChat.style.width = "250px";
        Krible.windowChat.style.height = "30px";
        Krible.windowChat.style.bottom = "0px";
  }
  
  if (Krible.call == 'off') {
        Krible.windowChat.style.width = "0px";
        Krible.windowChat.style.height = "0px";
        Krible.windowChat.style.bottom = "-400px";
  }
}



if (window.addEventListener) 
{
	if (typeof window.postMessage != 'undefined') 
	{
		window.addEventListener("message", kribleGetMessage, false);
	}
}

if (window.attachEvent)
{
	if (typeof window.postMessage != 'undefined') 
	{
		window.attachEvent('onmessage', kribleGetMessage);
	}
}

Krible.referrer = kribleGetCookie('kribleReferrer');

if(!Krible.referrer)
{
	var documentDomain = kribleGetDomain(document.URL);
	var referrerDomain = kribleGetDomain(document.referrer);

	if(documentDomain != referrerDomain && referrerDomain != 'undefined')
	{
	kribleSetCookie('kribleReferrer', document.referrer, 0);
	Krible.referrer = document.referrer;
	}
	else
	{
	Krible.referrer = 'none';
	}
}

if (typeof kribleParam == 'undefined') {
  kribleParam = null;
} 

if (typeof kribleDomain == 'undefined') {
  kribleDomain = 'http://chat.krible.ru/arena/';
} 

var kriblePosition = 'right';

var kribleCreateFrame = function(kribleCode) {
	if (document.getElementById('krible_'+kribleCode))
		return false;
	
	Krible.windowFrame = document.createElement('iframe');
	Krible.windowFrame.name = "kribleChat";
	Krible.windowFrame.id = "kribleChat";
	Krible.windowFrame.src = kribleDomain + '/' + kribleCode.substr(0,2) +'/'+ kribleCode +'/index.html?'+
		'url=' + escape(document.URL) +
		'&domain=' + escape(document.domain) +
    '&protocol=' + escape(document.location.protocol) +
    '&ref=' + escape(Krible.referrer) +
    '&param=' + escape(kribleParam) +
		'&code=' + kribleCode;
	Krible.windowFrame.width = 250;
	Krible.windowFrame.height = 370;
	Krible.windowFrame.scrolling = 'no';
	Krible.windowFrame.frameBorder = 0;
	Krible.windowFrame.allowTransparency = true;
	
	
	Krible.windowChat = document.createElement('div');
	Krible.windowChat.id = "krible";
	Krible.windowChat.className = 'krible_'+ kriblePosition;
	Krible.windowChat.appendChild(Krible.windowFrame);
	document.getElementsByTagName("body")[0].appendChild(Krible.windowChat);
	
	Krible.windowChat = document.getElementById('krible');

}


var KribleInit = function() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;

 kribleDetectBrowser();

 if (!Krible.IE6) {
  kribleCreateFrame(kribleCode);

  Krible.windowChat = document.getElementById('krible');


  if (typeof window.postMessage == 'undefined') {
	var kribleCallID = setInterval("kribleOnOff()", 1000);
  }

  kribleOnOff('kribleOff');
 }
}


// ff, opera
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", KribleInit, false);
}

// ie
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)>");
document.write("<\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
    if (this.readyState == "complete") {
        KribleInit();
    }
};
/*@end @*/

// safari
if (/WebKit/i.test(navigator.userAgent)) {
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            clearInterval(_timer);
            delete _timer;
            KribleInit();
        }
    }, 10);
}

