var InClick;
function InClick(pid)
{
	var E=[];//binded textnodes
	var P=[];//parsed paragraphs
	var A=[];//ads data
	var R=[];//requests
	var C=[];//requests CONTEXT
	var InD=[];//InDock ads
	var InC=[];//InContext ads
	var myURL='http://www.inclick.sk/';
	var COO=true;//non-standard Cookie ads
	var incUrl='http://www.inclick.sk/returns/incontext_ads.php?';//InContext URL
	var xhr=null;//XMLHttpRequest object
	var portal_id=pid;
	var min_word_len=3;
	var min_words_count=5;
	var min_article_chars=50;
	var max_req_len=2038;//server-side limitation is 8199
	var max_ads=0;//0=unlimited
	var max_ads_context=4;//min:3 max:6
	var w=window;
	var d=document;
	var ie=d.all?1:0;
	var op=w.opera;
	var ns4=d.layers?1:0;
	var ns6=(d.getElementById && !d.all)?1:0;
	var iframe=d.createElement('iframe');//iframe4views
	var divImp=d.createElement('div');//div4views
	var adModes=['intext','incontext','indock'];
	var allowedAdModes={'intext':true,'incontext':false,'indock':false};
	//InContext
	var divInC='inclickContext';//container div ID
	var contextArrUniqueURL=[];//unique URL
	var contextArrUniqueID=[];//unique ID campaign
	var inContextHeightIframe=0;//iframe height
	// anim
	var step=5;//animation step
	var slide_T=20;//slide steps [ms]
	var fade_T=50;//fade steps [ms]
	// InDock
	var divInD='inclickDock';//InDock container div ID
	var eInD=null;//InDock container div element
	var widthInD=718;
	var heightInD=38;
	var inClickDockUniqueColor=1;
	var showInD=true;
	var actInD=0;//actual ID
	var rotInD_T=20000;//rotation interval [ms]
	var repeatInD=false;//set repeating
	var wSize={W:0,H:0};//inner window size
	
	var erm={//endings 2 remove
		"i":true,
		"a":true,
		"u":true,
		"y":true,
		"e":true,
		"o":true,
		"m":true,
		"t":true,
		"s":true,
		"l":true,
		"j":true,
		"ov":true,
		"om":true,
		"mi":true,
		"am":true,
		"ou":true,
		"ia":true,
		"ta":true,
		"tu":true,
		"ti":true,
		"me":true,
		"te":true,
		"ju":true,
		"li":true,
		"la":true,
		"lo":true,
		"ym":true,
		"ej":true,
		"ch":true,
		"ho":true,
		"mu":true,
		"ovi":true,
		"och":true,
		"ami":true,
		"ach":true,
		"iam":true,
		"tam":true,
		"tom":true,
		"uje":true,
		"uju":true,
		"eho":true,
		"emu":true,
		"ych":true,
		"ymi":true,
		"ovia":true,
		"iach":true,
		"tach":true,
		"tami":true,
		"ovat":true,
		"ujem":true,
		"ujes":true,
		"oval":true,
		"ujeme":true,
		"ujete":true,
		"ovali":true,
		"ovala":true,
		"ovalo":true
	};
	var tts={//tags2skip
		"a":true,
		"h1":true,
		"h2":true,
		"h3":true,
		"h4":true,
		"select":true,
		"table":true,
		"textarea":true,
		"script":true,
		"noscript":true,
		"style":true,
		"comment":true,
		"iframe":true,
		"nointext":true
	};
	var rpl={//accents&non-accents
		225:"a",
		228:"a",
		236:'e',//ě
		283:'e',//ě
		248:'r',//ř
		345:'r',//ř
		249:'u',//ů
		367:'u',//ů
		269:"c",
		271:"d",
		233:"e",
		237:"i",
		314:"l",
		318:"l",
		328:"n",
		243:"o",
		244:"o",
		258:"o",
		341:"r",
		353:"s",
		357:"t",
		250:"u",
		253:"y",
		382:"z"
	};
	var separators={//textnode separator tags
		"p":true,
		"div":true,
		"br": true
	};

	//Paragraph
	function Paragraph()
	{
		this.nodes=[];
		this.wordsCount=0;
		this.wordFound=false;
		
		this.addTextNode=function(textNode)
		{
			this.nodes.push(textNode);
		}
		
		this.underline=function(aid)
		{
			this.wordFound=false;
			for (var i=0;i<this.nodes.length;i++)
				if (!this.wordFound)
					this.nodes[i].underline(aid);
		}
		this.rebuild=function()
		{
			for (var i=0;i<this.nodes.length;i++)
				this.nodes[i].rebuild();
		}
	}

	//TextNode
	function TextNode(parent,textNode)
	{
		function o_r(aid,startPos,endPos)
		{
			this.aid=aid;
			this.startPos=startPos;
			this.endPos=endPos;
		}
		
		this.parent=parent;
		this.textNode=textNode;
		this.paragraph=null;
		this.query='';
		this.wordsCount=0;
		this.replaces=[];

		this.underline=function(aid)
		{
			var text=(this.textNode.textContent || this.textNode.innerText || this.textNode.data);
			var source=text.toLowerCase()+' ';
			var word='';
			var startPos=-1;
			var c='';
			var r='';
			var Ad=A[aid];
			var words=Ad.word.split(' ');
			var wcounter=0;
			var wlength=words.length;

			for (var pos=0;pos<source.length;pos++)
			{
				c=source.charAt(pos);
				if (c>='a' && c<='z') word+=c;
				else if (r=rpl[c.charCodeAt(0)]) word+=r;
				else
				{//store word
					if (getWordBase(word)==words[wcounter])
					{
						wcounter++;
						if (wcounter==wlength)
						{
							this.paragraph.wordFound=true;
							break;
						}
					}
					else
					{
						wcounter=0;
						startPos=pos;
					}
					word='';
				}
			}
			if (this.paragraph.wordFound) this.replaces.push(new o_r(aid,++startPos,pos));

			if (allowedAd(Ad,'incontext'))
			{//InContext
				createContext(aid);
				if (Ad.type==8 && Ad.options[0]=='n')
				{
					getCookieAd(Ad);
				}
			}
			if (allowedAd(Ad,'indock') && d.getElementsByTagName('body')[0].getAttribute('disablesitelement')!='true')
			{//InDock
				var continueDock=true;
				uAgents=['Android','ipod','iPhone','blackberry','palm','smartphone']; // don't show Indock 4 this platforms
				for(var i=0;i<uAgents.length;i++)
				{
					if(strpos(navigator.userAgent, uAgents[i], 0))
						continueDock=false;
				}
				if (Ad.type<3 && continueDock) InD.push(aid);
			}
		}

		this.rebuild=function()
		{
			for (var i=0;i<this.replaces.length;i++)
			{
				var aid=this.replaces[i].aid;
				var Ad=A[aid];
				var bt=Ad.type;
				var start=this.replaces[i].startPos;
				var end=this.replaces[i].endPos;
				var length=end-start;
				var text=new String(this.textNode.textContent || this.textNode.innerText || this.textNode.data);
				var tempContent=text.substr(0,start);
				
				if (allowedAd(Ad,'intext'))
				{
					if (bt==8 && Ad.options[0]=='n') getCookieAd(Ad);
					else
					{
						var parent=this.textNode.parentNode;
						if (start!=0)
						{
							var pre_txt=d.createTextNode(text.substr(0, start));
							parent.insertBefore(pre_txt, this.textNode);
						}
						var link=d.createElement('a');
						if (bt==6)
						{
							link.href='javascript:void(0)';
						}
						else
						{
							link.href=Ad.url+'&f=1';
							link.target='_blank';
						}
						link.onmouseover=function()
						{
							if (!this.bubble || !this.bubble.visible())
							{
								this.bubble=new InClick.bubble(this,Ad);
							}
							this.bubble.onmouseover();
							if (bt==8) getRemoteScript(Ad);
						}
						link.onmouseout=function()
						{
							this.bubble.onmouseout();
						}
						link.className='inclick_underline';
					
						var word_txt=d.createTextNode(text.substr((end-length),length));
						link.appendChild(word_txt);
						parent.insertBefore(link,this.textNode);
						var new_text=text.substr(end);
					
						if (this.textNode.textContent) this.textNode.textContent=new_text;
						else if (this.textNode.innerText) this.textNode.innerText=new_text;
						else if (this.textNode.data) this.textNode.data=new_text;
					}
				}
			}
		}
		
		this.clear=function()
		{
			delete(this.textNode);
			delete(this.query);
			delete(this.wordsCount);
		}

		function allowedAd(Ad,mode)
		{
			return (allowedAdModes[mode] && (Ad.modes[mode] || (Ad.type==6 || Ad.type==8)));
		}
		
		function strpos(haystack,needle,offset)
		{
			var i=(haystack+'').indexOf(needle,(offset || 0));
			return (i===-1?false:i);
		} 

		function getCookieAd(Ad)
		{
			if (!readCookie('inclick-non-standard-'+Ad.id) && COO)
			{
				var webs=['pravda'];//pravda,etrend
				var dontAd=0;
				for (i=0;i<webs.length;i++)
					if (strpos(window.location.host, webs[i],0)) dontAd=1;
				if (dontAd) setTimeout(function(){getInfoDisableAds(Ad)},5000); 
				else
				{
					getRemoteScript(Ad);
					createCookie('inclick-non-standard-'+Ad.id,Ad.id,168);
					COO=false;
				}
			}
		}
		
		function readCookie(cookieName)
		{
			var theCookie=''+d.cookie;
			var ind=theCookie.indexOf(cookieName);
			if (ind==-1 || cookieName=='') return ''; 
			var ind1=theCookie.indexOf(';',ind);
			if (ind1==-1) ind1=theCookie.length; 
				return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
		}
	}
	
	function createCookie(name,value,hours)
	{
		if (hours)
		{
			var date=new Date();
			date.setTime(date.getTime()+(hours*60*60*1000));
			var expires='; expires='+date.toGMTString();
		}
		else var expires='';
		d.cookie=name+'='+value+expires+'; domain=.'+window.location.host+'; path=/';
	}
	
	function getInfoDisableAds(Ad)
	{
		if (d.getElementsByTagName('body')[0].getAttribute('disablesitelement')!='true')
		{
			getRemoteScript(Ad);
			createCookie('inclick-non-standard-'+Ad.id,Ad.id,72);
			COO=false;
		}
	}

	//Ad.writeInDock
	function writeInDock()
	{
		var bArr=this.options[0].split("||");//split??
		var bubbleText=(bArr[0].length+this.title.length)>=125?(bArr[0].substr(0,95)+' ...'):bArr[0];//text size max 125 chars
		var nameURL=(this.name.substr(0,3)=='www'?this.name.substr(4):this.name);//unused?
		eInD.style.backgroundImage='url(http://static.sitelement.sk/indock/'+this.ind_bck_img+')';
		eInD.innerHTML=
			'<style type="text/css">'+
			 '.InClickBubbleInDock_text a{color:#'+this.ind_txt_link+'}'+
			 '.InClickBubbleInDock_text a:hover{color:#'+this.ind_txt_hover+'}'+
			 '.InClickBubbleInDock_title a{color:#'+this.ind_title_link+'}'+
			 '.InClickBubbleInDock_title a:hover{color:#'+this.ind_title_hover+'}'+
			'</style>'+
			'<div style="float:left;position:relative;width:672px;height:34px;overflow:hidden;">'+
			 '<div id="InClickInDock_main" class="InClickBubbleInDock_box1">'+
			  '<span class="InClickBubbleInDock_title">'+
			   '<a href="'+this.url+'&f=3" target="_blank">'+this.title+'</a>'+
			  '</span>&nbsp;'+
			  '<span class="InClickBubbleInDock_text">'+
			   '<a href="'+this.url+'&f=3"  target="_blank">'+bubbleText+'</a>'+
			  '</span>'+
			 '</div>'+
			'</div>'+
			'<div class="InClickBubbleInDock_box2">'+
			 '<a title="Vytvor si inDockAd" target="_blank" href="'+myURL+'">'+
			  '<img src="http://www.inclick.sk/bubble/img/spacer.png" alt="Vytvor si inDockAd" height="30" width="25" border="0" />'+
			 '</a>'+
			'</div>'+
			'<div class="InClickBubbleInDock_box3">'+
			 '<a href="javascript:void(0)" title="Zatvor inDockAd" onclick="InClick.hideInDockAd();">'+
			  '<img src="http://www.inclick.sk/bubble/img/spacer.png" alt="Zatvor inDockAd" height="30" width="20" border="0" />'+
			 '</a>'+
			'</div>';
	}

	//Ad.rotateInDock
	function rotateInDock()
	{
		if (InD.length && showInD)
		{
			if (actInD>=InD.length)
			{
				actInD=0;
				repeatInD=true;
			}
			var Ad=A[InD[actInD]];
			if (!eInD)
			{// create InDock div
				eInD=d.createElement('div');
				eInD.id=divInD;
				eInD.style.position='fixed';
				eInD.style.zIndex=9999;
				eInD.style.top=wSize.H+'px';
				eInD.style.right=(wSize.W/2)-(widthInD/2)+'px';
				eInD.style.width=widthInD+'px';
				eInD.style.height=heightInD+'px';
				window.scrollBy(1,1);//Opera fix
				d.body.appendChild(eInD);
			}
			if (!repeatInD)
			{
				var imp='<img src="'+Ad.impURL+'&f=3" height="0" width="0" style="width:0;height:0"/>';
				divImp.innerHTML=imp;
			}
			if (actInD || repeatInD)
			{
				fadeDiv(d.getElementById('InClickInDock_main'),1,Ad);
			}
			else
			{
				Ad.writeInDock();
				motionSlideDiv(eInD,'u',wSize.H,wSize.H-heightInD);
			}
			actInD++;
			setTimeout(function(){rotateInDock()},rotInD_T);
		}
	}

	function motionSlideDiv(div,dir,last,max,N)
	{
		if (typeof(N)=='undefined') N=5;
		var motion=0;
		var wSize=windowSize();
		motion=last+N*((dir=='u' || dir=='l')?-1:1);
		if (div)
		{
			div.style[(dir=='l' || dir=='r')?'left':'top']=motion+'px';
			if (((dir=='u' || dir=='l') && motion<=(max)) || ((dir=='d' || dir=='r') && motion>=max))	return false;
			setTimeout(function(){motionSlideDiv(div,dir,motion,max)},slide_T);
		}
	}
	
	function fadeDiv(div,last,Ad)
	{
		var opacity=0;
		if (div)
		{
			opacity=last-0.05;
			if (opacity<0)
			{
				Ad.writeInDock();
				motionSlideDiv(d.getElementById('InClickInDock_main'),'u',26,1);
				return false;
			}
			if (div.style.opacity!='undefined') div.style.opacity=opacity;				
			if (div.style.filter!='undefined') div.style.filter='alpha(opacity='+(100*opacity)+')';
			setTimeout(function(){fadeDiv(div,opacity,Ad)},fade_T);
		}
	}
	
	this.hideInDockAd=function()
	{
		var wSize=windowSize();
		showInD=false;
		motionSlideDiv(eInD,'d',wSize.H-heightInD,wSize.H+heightInD);
		setTimeout(deleteDiv,2000);
	}
	
	function deleteDiv()
	{
		var n=d.getElementById(divInD);
		if(n) n.parentNode.removeChild(n);
	}
	// InDock end	

	function parse_paragraphs(pid)
	{
		var text=new String(E[pid].textNode.textContent || E[pid].textNode.innerText || E[pid].textNode.data);
		var source=text.toLowerCase()+' ';
		var word='';
		var c='';
		var r='';
		var x=0;
		var length=source.length;
		var word_ok=false;
		for (var pos=0;pos<length;pos++)
		{
			c=source.charAt(pos);
			if (c>='a' && c<='z') word+=c;
			else if (r=rpl[c.charCodeAt(0)]) word+=r;
			else
			{
				word=getWordBase(word);
				if (word.length>=min_word_len)
				{
					E[pid].query+=((word_ok===true)?'-':'.')+word;
					E[pid].wordsCount++;
					E[pid].paragraph.wordsCount++;
					word_ok=((c==' ')?true:false);
				}
				else word_ok=false;
				word='';
			}
		}
	}

	function getWordBase(word)
	{
		var i=((word.length>5)?5:(word.length-3));
		for(;i>0;i--)
		{
			if (erm[word.substring((word.length-i))]===true)
			{
				word=word.substring(0,(word.length-i));
				break;
			}
		}
		return word;
	}
	
	function is_in_array(needle,array)
	{
		var contains=false;
		for (var id in array)
		{
			if (needle==array[id])
			{
				contains=id;
				break;
			}
		}
		return contains;
	}
	
	function is_binded(textNode)
	{
		var contains=false;
		for (var id in E)
		{
			if (textNode==E[id].textNode)
			{
				contains=id;
				break;
			}
		}
		return contains;
	}
	
	function preloadImages(images)
	{
		if (d.images)
		{
			if (!d.preloader) d.preloader={};
			var length=images.length;
			for (var x=0;x<length; x++)
			{
				d.preloader[x]=new Image();
				d.preloader[x].src=images[x];
			}
		}
	}
	
	function trackImp(trackCode)
	{
		if (trackCode.length)
		{
			var script=d.createElement('script');
			script.setAttribute('type','text/javascript');
			var script_code='';
			for (var i=0;i<trackCode.length;i++)
			{
				if (script_code) script_code+="\n";
	    		script_code+=trackCode[i];
	    	}
			if (!ie) script.appendChild(d.createTextNode(script_code));
	    	else script.text=script_code;
	    	d.body.appendChild(script);
		}
	}

	this.setMaxAdvs=function(max)
	{
		max_ads=max;
	};
	
	this.setMaxAdvsContext=function(cntAdvert)
	{
		if(cntAdvert>=3 && cntAdvert<=6)
		{
			max_ads_context=cntAdvert;
		}
	};
	
	this.setTypeAdvert=function(allowedModes)
	{
		var x=true;
		for (var i=0; i<allowedModes.length; i++)
		{
			if (allowedModes[i]=='intext') x=false;
			if (allowedModes[i]=='incontext' && !d.getElementById(divInC)) continue;
			allowedAdModes[allowedModes[i]]=true;
		}
		if (x) allowedAdModes['intext']=false;
	};

	this.bindByClassName=function(parentTag, classNames)
	{
		parentTag=((parentTag && typeof(parentTag)=='object')?parentTag:d);
		var elements=parentTag.getElementsByTagName('*');
		for (var i=0;i<elements.length;i++)
		{
			if (is_in_array(elements[i].className, classNames)!==false)
			{
				this.bind(elements[i]);
			}
		}
	};
	
	this.bindByTagName=function(parentTag,tagNames)
	{
		var elements;
		parentTag=((parentTag && typeof(parentTag)=='object')?parentTag:d);
		for (var i=0;i<tagNames.length;i++)
		{
			elements=parentTag.getElementsByTagName(tagNames[i]);
			for (var x=0;x<elements.length;x++)
			{
				this.bind(elements[x]);
			}
		}
	};
	
	this.bind=function(e)
	{
		var tn=null;
		if (typeof(e)=='object' && e.innerHTML)
		{
			rr(e);
			if (total_text_chars>=min_article_chars)
			{
				for (var i=0;i<toBind.length;i++)
				{
					E.push(tn=new TextNode(e,toBind[i]));
					tn.paragraph=parag;
					parag.addTextNode(tn);
				}
				P.push(parag);
			}
			rLevel=0;
			total_text_chars=0;
			toBind=[];
			parag=new Paragraph();
		}
	};

	this.bubble=function(e,Ad)
	{
		var bt=Ad.type;
		var Op=Ad.options;
		var mouseover=true;
		var bubble=document.createElement('div');
		if (bt==6) bubble.id='InClickBubbleS';
		else if (bt==5) bubble.id='WebTextBubble';
		else if (bt==7) bubble.id='InClickBubbleE';
		else bubble.id='InClickBubble';
		bubble.className='arrowbottom';
		bubble.style.position='absolute';
		bubble.pointer=this;
		var url=Ad.url+'&f=1';
		if (bt<3)
		{				
			var bArr=Op[0].split('||');
			var bubbleText=bArr[0];
			var fb='';
			if (bArr[1]) var fb='<br /><iframe src="http://www.facebook.com/plugins/like.php?href='+bArr[1]+'&layout=button_count&show_faces=true&width=160&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:160px; height:21px;" allowTransparency="true"></iframe>';
			var onclick='onclick="javascript:window.open(\''+url+'\');"';
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" '+onclick+'>'+((bt=='2') ? '<img class="ic_icon" src="'+Op[1]+'" style="width:'+Op[2]+'px'+(Op[3]!=0?(';height:'+Op[3]+'px'):'')+'" align="left">' : '')+'<span class="ic_title">'+Ad["title"]+'</span>'+bubbleText+fb+'</td></tr><tr class="ic_bar"><td class="ic_url"><a class="ic_underlineOut" href="'+Ad.url+'&f=1" target="_blank">'+Ad["name"]+'</a></td><td class="ic_help ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/?utm_source=all&utm_medium=bubble&utm_campaign=help\');"></td></tr><tr><td class="ic_foot" colspan="2"><a class="ic_ad ic_underlineOver" href="http://www.inclick.sk/?inc=register&utm_source=all&utm_medium=bubble&utm_campaign=link" target="_blank">prida\u0165 InClick odkaz</a></td></tr></tbody></table>';
		}
		else if (bt==3)
		{
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" onclick="javascript:window.open(\''+url+'\');"><span id="lc_title" class="ic_title">'+Ad["title"]+'</span><span id="lc_flash_object"><div style="width:'+Op[2]+'px;height:'+Op[3]+'px;"><img src="'+Op[1]+'" width="'+Op[2]+'" height="'+Op[3]+'"/></div></span></td></tr><tr class="ic_bar"><td class="ic_url"><a class="ic_underlineOut" href="'+url+'" target="_blank">'+Ad["name"]+'</a></td><td class="ic_help ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/?utm_source=all&utm_medium=bubble&utm_campaign=help\');"></td></tr><tr><td class="ic_foot" colspan="2"><a class="ic_ad ic_underlineOver" href="http://www.inclick.sk/?inc=register&utm_source=all&utm_medium=bubble&utm_campaign=link" target="_blank">prida\u0165 InClick odkaz</a></td></tr></tbody></table>';
		}
		else if (bt==4)
		{			
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" ><span id="lc_title" class="ic_title">'+Ad["title"]+'</span><span id="lc_flash_object"><div style="width:'+Op[2]+'px;height:'+Op[3]+'px;"><object id="bubble" width="'+Op[2]+'" height="'+Op[3]+'" type="application/x-shockwave-flash" name="bubble" data="'+Op[1]+'?clickTAG='+url+'"/><param name="clickTAG" value="'+url+'" /><param name="movie" value="'+Op[1]+'?clickTAG='+url+'"/><param name="wmode" value="transparent" /><embed href="'+Op[1]+'?clickTAG='+url+'" wmode="transparent" ></embed></object></div></span></td></tr><tr class="ic_bar"><td class="ic_url"><a class="ic_underlineOut" href="'+url+'" target="_blank">'+Ad["name"]+'</a></td><td class="ic_help ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/?utm_source=all&utm_medium=bubble&utm_campaign=help\');"></td></tr><tr><td class="ic_foot" colspan="2"><a class="ic_ad ic_underlineOver" href="http://www.inclick.sk/?inc=register&utm_source=all&utm_medium=bubble&utm_campaign=link" target="_blank">prida\u0165 InClick odkaz</a></td></tr></tbody></table>';
		}
		else if (bt==5)
		{				
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://sitelement.sk/bannerova-reklama-ako-to-funguje-intext.html\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" onclick="javascript:window.open(\''+url+'\');"><span id="lc_title" class="ic_title">'+'</span><span id="lc_flash_object"><div style="width:'+Op[2]+'px;height:'+Op[3]+'px;"><object id="bubble" width="'+Op[2]+'" height="'+Op[3]+'" type="application/x-shockwave-flash" name="bubble" data="'+Op[1]+'"><param name="clickTAG" value="'+url+'"/><param name="movie" value="'+Op[1]+'?clickTAG='+url+'"/><param name="wmode" value="transparent" /><embed href="'+Op[1]+'?clickTAG='+url+'"></embed></object></div></span></td></tr><tr class="ic_bar"><td class="ic_url"></td><td class="ic_help" ></td></tr><tr><td class="ic_foot" colspan="2"></td></tr></tbody></table>';
		}
		else if (bt==6)
		{				
			var onclick='';
			var fb='<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FinClick%2F116921631677688&layout=button_count&show_faces=true&width=160&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:160px; height:21px;" allowTransparency="true"></iframe>';
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://www.inclick.sk/\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" '+onclick+'><span class="ic_title">'+Ad["title"]+'</span>'+Op[0]+'</td></tr><tr class="ic_bar"><td class="ic_url">'+fb+'</td><td class="ic_help ic_hand"></td></tr><tr><td class="ic_foot" colspan="2"></td></tr></tbody></table>';
		}
		else if (bt==7)
		{				
			url=escape(Ad.url);
			bubble.innerHTML='<table cellpadding="0" cellspacing="0"><tbody><tr class="ic_header"><td class="ic_inclick ic_hand" onclick="javascript:window.open(\'http://inclick.sk/\');">&nbsp;</td><td class="ic_close ic_hand" onclick="javascript:this.parentNode.parentNode.parentNode.style.display=\'none\';">&nbsp;</td></tr><tr><td colspan="2" class="ic_content ic_hand" ><span id="lc_title" class="ic_title">'+'</span><span id="lc_flash_object"><div style="width:'+Op[2]+'px;height:'+Op[3]+'px;"><object id="bubble" width="'+Op[2]+'" height="'+Op[3]+'" type="application/x-shockwave-flash" name="bubble" data="'+Op[1]+'?clickthru='+url+'"><param name="clickthru" value="'+url+'"/><param name="movie" value="'+Op[1]+'?clickthru='+url+'"/><param name="wmode" value="transparent" /><embed href="'+Op[1]+'?clickthru='+url+'" wmode="transparent" ></embed></object></div></span></td></tr><tr class="ic_bar"><td class="ic_url"></td><td class="ic_help" ></td></tr><tr><td class="ic_foot" colspan="2"></td></tr></tbody></table>';
		}	
		else if (bt==8)
		{
			getRemoteScript(Ad);
		}
		document.body.appendChild(bubble);			
		var left=e.offsetLeft;
		var top=e.offsetTop;
		var width=e.offsetWidth;
		var height=e.offsetHeight;
	
		while ((e=e.offsetParent)!==null)
		{
			left+=e.offsetLeft;
			top+=e.offsetTop;
		}
		left=Math.max((left+Math.ceil(width >> 1)-67),0);
	
		var bubble_width=new Number(bubble.offsetWidth);
		var bubble_height=new Number(bubble.offsetHeight);
		var window_width=new Number(0);
		if (self.innerWidth) window_width=parseInt(self.innerWidth);
		else if (document.documentElement && document.documentElement.clientWidth) window_width=parseInt(document.documentElement.clientWidth);
		else if (document.body)	window_width=parseInt(document.body.clientWidth);
		
		var window_scrollx=new Number(0);
		var window_scrolly=new Number(0);
	
		if (self.pageYOffset)
		{
			window_scrollx=self.pageXOffset;
			window_scrolly=self.pageYOffset;
		}
		else if (document.documentElement && document.documentElement.scrollTop)
		{
			window_scrollx=document.documentElement.scrollLeft;
			window_scrolly=document.documentElement.scrollTop;
		}
		else if (document.body)
		{
			window_scrollx=document.body.scrollLeft;
			window_scrolly=document.body.scrollTop;
		}
			
		//relocate the bubble if needed
		var d=(window_scrollx+window_width-(left+bubble_width));
		if (d<15) //scrollbar
		{ //x
			left=(((left+d-15)>window_scrollx)?(left+d-15):window_scrollx);
		}
		bubble.style.left=Math.max(left,0)+'px';
		if ((top-bubble_height)<window_scrolly)
		{ //y
			top=top+height;
			bubble.className='arrowtop';
			document.body.removeChild(bubble);
			document.body.appendChild(bubble);
		}
		else
		{
			top=top-bubble_height;
		}
		bubble.style.top=top+'px';

		bubble.onmouseover=this.onmouseover=function()
		{
			mouseover=true;
			window.setTimeout(bubble.mouse,300);
		}
		bubble.onmouseout=this.onmouseout=function()
		{
			mouseover=false;
			window.setTimeout(bubble.mouse,300);
		}
		bubble.mouse=function()
		{
			if (mouseover===false && bubble!==false && bt!=8)
			{
				document.body.removeChild(bubble);
				bubble=false;
			}
		};
		this.visible=function()
		{
			return ((bubble!==false)?true:false);
		};
	
		if (Ad.views==0)
		{
			if (bt!=8)
			{
				trackImp(Op[5]);
				bubble.innerHTML+='<img src="'+Ad.impURL+'&f=1" height="0" width="0" style="width: 0px; height: 0px;"/>';
			}
		}
		Ad.views++;//add Ad-view
	};

	this.getAd=function()
	{
		if (d.getElementsByTagName('body')[0].getAttribute('disableInclick')!='true')
		{
			for (var id=0;id<E.length;id++) parse_paragraphs(id);//parse
			for (id=0;id<P.length;id++) if (P[id].wordsCount<min_words_count) P.splice(id--,1);//parag2short=>rem
			var queries=[];
			var query='';
			for (var pid=0;pid<P.length;pid++)
			{
				for (var nid=0;nid<P[pid].nodes.length;nid++)
				{
					if ((query.length+P[pid].nodes[nid].query.length)>max_req_len)
					{
						if (query.length>100) queries.push(query);
						query='';
					}
					if (nid==0) query+=':'+pid;
					query+=P[pid].nodes[nid].query;
				}
			}
			if (query.length>100) queries.push(query);
	
			var script;
			var art='';
			for (id=0;id<queries.length;id++) art+=queries[id];
			/*for (id=0;id<queries.length;id++)
			{*/
				script=d.createElement('script');
				script.setAttribute('charset', 'utf-8');
				var types=0;
				for (var i=0;i<adModes.length;i++)
				{
					if (allowedAdModes[adModes[i]]) types++;
					if (i<(adModes.length-1)) types=types<<1;
				}
				//script.src=(myURL+'returns/request2.php?pid,'+portal_id+',cic,'+max_ads_context+',rid,'+R.length+',types,'+types+queries[id]).substr(0,max_req_len);
				script.src=(myURL+'returns/request2.php?pid,'+portal_id+',cic,'+max_ads_context+',rid,'+R.length+',types,'+types+art);
				d.body.appendChild(script);
				R.push('sent');
			//}
		}
	};
	
	this.response=function(req_id,D)
	{
		R[req_id]='received';
		for (var i=0;i<D.length;i++)
		{
			var modes={'intext':false,'incontext':false,'indock':false};
			var am=D[i][8][4];
			if (am)	for (var j=0;j<am.length;j++) if (am[j]=='1') modes[adModes[j]]=true;
			A.push({
				'parag_id':D[i][0],
				'word':D[i][1],
				'id':D[i][2],
				'title':D[i][3],
				'name':D[i][4],
				'url':D[i][5],
				'impURL':D[i][6],
				'type':D[i][7],
				'options':D[i][8],
				'priority':D[i][9],
				'ind_bck_img':D[i][10],
				'ind_title_link':D[i][11],
				'ind_title_hover':D[i][12],
				'ind_txt_link':D[i][13],
				'ind_txt_hover':D[i][14],
				'modes':modes,
				'views':0,
				'writeInDock':writeInDock,
				'rotateInDock':rotateInDock
			});
		}
		wSize=windowSize();
		if (is_in_array('sent',R)===false) //no requests lefts
		{ 
			A.sort(function(a,b){return(b.priority-a.priority)});
			var length=((max_ads && max_ads<A.length)?max_ads:A.length);
			for (i=0;i<length;i++)
			{
				Ad=A[i];
				P[Ad.parag_id].underline(i);
				if (Ad.type==2 || Ad.type==3) preloadImages([Ad.options[1]]);
				if (Ad.type==8) preloadImages([Ad.options[1]]);
				if (Ad.type==8 && Ad.options[8]) preloadImages([Ad.options[8]]);
			} 
			if (allowedAdModes.intext)//inner DOM rebuild: intext Ad mode only
				for (i=0;i<P.length;i++) P[i].rebuild();
			
			preloadImages(['http://www.inclick.sk/bubble/img/light_head.gif',
				'http://www.inclick.sk/bubble/img/light_head_arrow.gif',
				'http://www.inclick.sk/bubble/img/light_body.gif',
				'http://www.inclick.sk/bubble/img/light_help.gif',
				'http://www.inclick.sk/bubble/img/light_foot.gif',
				'http://www.inclick.sk/bubble/img/light_foot_arrow.gif']);		
			// append iframe for imps
			iframe.style.display='none';
			iframe.style.width='0px';
			iframe.style.height='0px';
			d.body.appendChild(iframe);
			d.body.appendChild(divImp);
			if (allowedAdModes.incontext) getContentAds();//read&show InContexts
			if (allowedAdModes.indock) rotateInDock();//show InDocks
		}
	};

	//recursive textnode search
	var rLevel=0;
	var total_text_chars=0;
	var toBind=[];
	var parag=new Paragraph();
	function rr(element)
	{
		var tn=null;
		var child=null;
		for (var i=0;i<element.childNodes.length;i++)
		{
			child=element.childNodes[i];
			var tagName=(child.tagName || child.nodeName).toLowerCase();
			if (child.nodeType==3)
			{
				var text=new String(child.textContent || child.innerText || child.data);
				if (text.replace(/\s/g,'')=='') continue;
				total_text_chars+=text.length;
				if (is_binded(child)===false) toBind.push(child)
			}
			else
			{
				if (tts[tagName]===true || child.id=='no_inclick'){}
				else
				{
					if (separators[tagName]===true)
					{
						if (total_text_chars>=min_article_chars)
						{
							for (var j=0;j<toBind.length;j++)
							{
								E.push(tn=new TextNode(element,toBind[j]));
								tn.paragraph=parag;
								parag.addTextNode(tn);
							}
							P.push(parag);
						}
						total_text_chars=0;
						toBind=[];
						parag=new Paragraph();
					}
					rLevel++;
					rr(child);
					rLevel--;
				}
			}	
		}
	}
	
	function createContext(aid)
	{
		if (!d.getElementById(divInC)) return;
		var Ad=A[aid];
		if ((Ad.type==2 || Ad.type==1) && contextArrUniqueURL.length<max_ads_context)
		{//max 4 Ads 4 InContext
			if (!is_in_array(Ad.name,contextArrUniqueURL))
			{
				InC.push(aid);
				contextArrUniqueURL.push(Ad.name);
				contextArrUniqueID.push(Ad.id);
			}
		}
	}

	function getContentAds()
	{
		if (!InC.length) return;
		for (var i=0;i<InC.length;i++)
		{
			var Ad=A[InC[i]]
			incUrl+=i+'='+escape('lid='+Ad.id+'&urlc='+Ad.url+'&urli='+Ad.impURL.replace('cd=','cdi=')+'&img='+Ad.options[1])+'&';
		}
		var adId='';
		for (i=0;i<contextArrUniqueID.length;i++)
		{
			adId+=','+contextArrUniqueID[i];
		}
		var rnd=Math.round(Math.random()*1000000);
		var iHeight=max_ads_context*185;//Ad average height
		var cIframe=d.createElement('iframe');//iframe 2 get InContext
		cIframe.src=incUrl+'location='+escape(window.location)+'&count='+max_ads_context+'&pid='+portal_id+'&adId='+adId+"&rnd="+rnd;
		cIframe.id='inclickContextBox';
		cIframe.style.border='none';
		cIframe.frameBorder='0';
		cIframe.scrolling='no';
		cIframe.style.width='140px';
		cIframe.style.height=iHeight+'px';
		d.getElementById(divInC).appendChild(cIframe);
	}
	
	function windowSize()
	{
		var W=0, H=0;
		if (typeof(window.innerWidth)=='number')
		{ // non-IE
			W=window.innerWidth;
			H=window.innerHeight;
		}
		else if (d.documentElement && (d.documentElement.clientWidth || d.documentElement.clientHeight))
		{ // IE 6+ stds
			W=d.documentElement.clientWidth;
			H=d.documentElement.clientHeight;
		}
		else if (d.body && (d.body.clientWidth || d.body.clientHeight))
		{ // IE 4 compat
			W=d.body.clientWidth;
			H=d.body.clientHeight;
		}
		return {W:W,H:H};
	}
	
	function getRemoteScript(Ad)
	{
		if (Ad.type==8)
		{
			if (!NSS[Ad.id]) NSS[Ad.id]=new NS(Ad);
			NSS[Ad.id].start();
		}
		if (Ad.type==8 && Ad.options[0]=='n')
		{
			iframe.src=Ad.impURL+'&f=1';
		}
	}
	
	this.hideSticker=function(sID)
	{
		NSS[sID].hideSticker();
	};

	var NSS={};
	var is_pilot=false;
	var active_ns=null;
	
	function NS(Ad)
	{
		if (Ad.type!=8) return;
		var Op=Ad.options;
		var ns_type=Op[11];
		if ((ns_type!='square' && ns_type!='screen' && ns_type!='pilot') || (ns_type=='pilot' && is_pilot)) return;

		var aID=Ad.id;
		var flash=Op[1];
		var W=Op[2];
		var H=Op[3];

		// CTR premenna pre Flash
		var ctr_var=Op[6];
		if (!ctr_var) ctr_var='clickTAG';
		// URL prekliku
		var url=escape(Ad.url)+'&f=1';
		// Track kod impresie
		var trackCode=Op[5];
		var imp_done=false;
		
		if (ns_type=='pilot')
		{
			is_pilot=true;
			var flash_ilayer=Op[8];
			var iW=parseInt(Op[9]);
			var iH=parseInt(Op[10]);
			
			var pos_ilayer=new Array('middle','center');
			var pos_sticker=new Array('bottom','right'); //top/bottom/middle, left/center/right
			var ctr_var_ilayer=Op[7];
			if (!ctr_var_ilayer) ctr_var_ilayer='clickTAG';
		}

		var eID='InClick-Sticker-'+aID;
		var eID_ilayer='InClick-iLayer-'+aID;
		var motion_step=(ns_type=='square'?5:-5);
		var sticker_css=(ns_type=='square'?'right':'top');
		var sticker=null;
		var ilayer=null;

		var Xoff=0;
		var Yoff=0;
		var cn=0;
		var ww=0;
		var wh=0;
		var scl=0;
		var sct=0;
		var c1;
		var c2;
		var visibleboth=false;

		function createDiv(id)
		{
			var divTag=d.createElement('div');
			divTag.id=id;
			divTag.style.position='fixed';
			divTag.style.display='none';
			divTag.style.top=(wSize.H-((ns_type=='square')?(H+25):0))+'px';
			divTag.style.right=(ns_type=='square'?(-W):((wSize.W/2)-(W/2)))+'px';
			divTag.style.width=W +'px';
			divTag.style.height=H +'px';
			divTag.style.zIndex=9999;
			d.body.appendChild(divTag);
			return divTag;
		}

		function createEmptyDiv(id,W,H)
		{
			var divTag=d.createElement('div');
			divTag.id=id;
			divTag.style.position='absolute';
			divTag.style.left='0px';
			divTag.style.zIndex=9999;
			divTag.style.display='none';
			divTag.style.width=W+'px';
			divTag.style.height=H+'px';
			d.body.appendChild(divTag);
			return divTag;
		}

		function getScroll()
		{
			if (typeof(w.pageYOffset)=='number')
			{
				sct=w.pageYOffset;
				scl=w.pageXOffset;
			}
			else
			{
				if (d.body && (d.body.scrollLeft || d.body.scrollTop))
				{
					db=d.body;
					sct=db.scrollTop;
					scl=db.scrollLeft;
				}
			    else
			    {
			    	if (d.documentElement && (d.documentElement.scrollLeft || d.documentElement.scrollTop))
			    	{
			    		de=d.documentElement;
			    		sct=de.scrollTop;
			    		scl=de.scrollLeft;
			    	}
			    	else scl=sct=0;
			    }
			}
		}

		if (ns_type=='pilot') w.regen=function()
		{
			var wSize=windowSize();
			getScroll();
			sl=scl+(pos_sticker[1]=='center'?(ww-W)/2:pos_sticker[1]=='right'?ww-W:0)-Xoff;
			st=sct+(pos_sticker[0]=='middle'?(wh-H)/2:pos_sticker[0]=='bottom'?wh-H:0)-Yoff;
			bl=scl+(pos_ilayer[1]=='center'?(ww-iW)/2:pos_ilayer[1]=='right'?ww-iW:0)-Xoff;
			bt=sct+(pos_ilayer[0]=='middle'?(wh-iH)/2:pos_ilayer[0]=='bottom'?wh-iH:0)-Yoff;
			px=(ie||op)?'':'px';
			if (cn)
			{
				var s=sticker.style;
				s.left=s.pixelLeft=sl+px;
				s.top=s.pixelTop=st+px;
			}
			else
			{
				var s=ilayer.style;
				s.left=s.pixelLeft=bl+px;
				s.top=s.pixelTop=bt+px;
			}
			if ((ns4||ns6)&&!ie) setTimeout(regen,200);
		};

		if (ns_type=='pilot') w.changeIt=function()
		{
			if (active_ns==null) return;
			cn=1;
			var s=ilayer.style;
			s.left=s.pixelLeft=-1500;
			s.display='none';
			sticker.style.display='block';
			regen();
		};

		if (ns_type=='pilot') w.changeIt2=function()
		{
			cn=1;
			var s=sticker.style;
			s.left=s.pixelLeft=-1500;
			s.display='none';
			active_ns=null;
		};

		function motionSlide(last,dest)
		{
			var wSize=windowSize();
			if (dest=='show')
			{
				motion=last+motion_step;
				if ((ns_type=='square' && motion>10) || (ns_type=='screen' && motion<=(wSize.H-H-25)))
					return false;
			}
			if (dest=='hide')
			{
				motion=last-motion_step;
				if ((ns_type=='square' && motion<-W) || (ns_type=='screen' && motion>=wSize.H+H))
				{
					active_ns=null;
					sticker.style.display='none';
					return false;
				}
			}
			sticker.style[sticker_css]=motion+'px';
			setTimeout(function(){motionSlide(motion,dest)},10);
		}
			
		this.hideSticker=function()
		{
			var wSize=windowSize();
			motionSlide((ns_type=='square'?0:(wSize.H-H-25)),'hide');
		};
		
		this.start=function()
		{
			if (active_ns!=null) return;
			if (!imp_done)
			{
				trackImp(trackCode);
				var img=d.createElement('img');
				img.src=Ad.impURL+'&f=1';
				img.height=0;
				img.width=0;
				img.style.width='0px';
				img.style.height='0px';
				d.body.appendChild(img);
				imp_done=true;
			}
			
			active_ns=aID;
			if (ns_type=='square' || ns_type=='screen')
			{
				sticker.style.display='block';
				motionSlide((ns_type=='square'?(-W):wSize.H),'show');
			}
			else if (ns_type=='pilot')
			{
				ilayer.style.display='block';
				sticker.style.display=(visibleboth?'block':'none');
				cn=0;
				if (w.onresize && w.onscroll)
				{
					w.onresize=regen;
					w.onscroll=regen;
				}
				else if (w.attachEvent)
				{
					w.attachEvent('onresize',regen);
				    w.attachEvent('onscroll',regen);
				}
				else if (w.addEventListener)
				{
					w.addEventListener('resize',regen,true);
					w.addEventListener('scroll',regen,true);
				}
				if (ns4||ns6) setTimeout('regen()',500);
				if (!visibleboth) setTimeout('changeIt()',9000);
				regen();
			}
		};

		// init
		if (d.getElementsByTagName('body')[0].getAttribute('disablesitelement')=='true') return false;
		if (ns_type=='square' || ns_type=='screen')
		{ // Square Sticker & Screen Sticker
			if (!sticker && flash)
			{
				sticker=createDiv(eID);
				sticker.innerHTML=
					'<div style="width:'+W+'px; height: 20px; text-align: right; position:relative; left:-6px; top:27px">'+
					'<a href="javascript:void(0)" onclick="InClick.hideSticker('+aID+')">'+
					'<img src="http://static.sitelement.sk/webtext/img/icnCloseWindow.gif" border="0"/></a></div>'+
					'<object id="bubble" data="'+flash+'?'+ctr_var+'='+url+'" height="'+H+'" width="'+W+'" type="application/x-shockwave-flash" name="bubble">'+
					'<param name="'+ctr_var+'" value="'+url+'"/>'+
					'<param name="movie" value="'+flash+'?'+ctr_var+'='+url+'"/>'+
					'<param name="wmode" value="transparent" />'+
					'<param name="allowscriptaccess" value="always"/>'+
					'<embed href="'+flash+'?'+ctr_var+'='+url+'" wmode="transparent"></embed>'+
					'</object>';
			}
			InClick.hideInDockAd();
		}
		else if (ns_type=='pilot')
		{ // Active Pilot+
			if (ns4||ns6||op)
			{
				Xoff+=17;
				Yoff+=(pos_ilayer[0]=='bottom'?17:0);
			}
			if (!ilayer && flash_ilayer)
			{
				ilayer=createEmptyDiv(eID_ilayer,iW,iH);
				ilayer.innerHTML=
					'<object type="application/x-shockwave-flash" data="'+flash_ilayer+'?'+ctr_var_ilayer+'='+url+'" width="'+iW+'" height="'+iH+'">'+
					'<param name="'+ctr_var_ilayer+'" value="'+url+'"/>'+
					'<param name="movie" value="'+flash_ilayer+'?'+ctr_var_ilayer+'='+url+'"/>'+
					'<param name="wmode" value="window"/>'+
					'<param name="allowscriptaccess" value="always"/>'+
					'<embed href="'+flash_ilayer+'?'+ctr_var_ilayer+'='+url+'" wmode="window"></embed>'+
					'</object>';
			}
			if (!sticker && flash)
			{
				sticker=createEmptyDiv(eID,W,H);
				sticker.innerHTML=
					'<object type="application/x-shockwave-flash" data="'+flash+'?'+ctr_var+'='+url+'" width="'+W+'" height="'+H+'">'+
					'<param name="'+ctr_var+'" value="'+url+'"/>'+
					'<param name="movie" value="'+flash+'?'+ctr_var+'='+url+'"/>'+
					'<param name="wmode" value="window"/>'+
					'<param name="allowscriptaccess" value="always"/>'+
					'<embed href="'+flash+'?'+ctr_var+'='+url+'" wmode="window"></embed>'+
					'</object>';
			}
		}
		
		// compat
		function bb_starterIn(){} function bb_starterOut(){} function bb_layerIn(){} function bb_layerOut(){} function bb_reallyShow(){}
	}
}
// DON'T COPY CODE, ALL RIGHTS RESERVED CARVERMEDIA S.R.O.
