/****************************************
skripty pro zkouseni 
autor: Martin Havel
****************************************/

var gObjekty=new Array();
var gMezera=10;
var gMezeraVlevo=20;
var gPoziceReseni1=10;
var gPoziceReseni2=10;
var gPoziceZadani=10

var gPocetPokusuSpravne=0;
var gPocetPokusuSpatne=0;
var gPocetObjektuSpravne=0;
var gPocetObjektu=(gPosloupnosti?gPosloupnosti.length:gUdalosti.length);
var gPoradiObjektu=new Array(gPocetObjektu);

var gZkouseni=false;
var gVybranyObjekt=0;

var gMinuty=-1;

var gOd=5;
var gDo=10;

var gRozdel=20;
var gTimer=null;
var gData=new Array();

Array.prototype.exists = function(pValue) {
	var lValue = String(pValue);
	
	for (var i=0; i<this.length; i++)
		if (String(this[i]) == lValue) 
			return true
	return false;
}

Array.prototype.Item = function(pItem){
// Nahrada za Dictionary
	for (var i=0; i<this.length; i+=2) 
		if (parseInt(this[i]) == parseInt(pItem))
			return (this[i+1]);
	return '';
}

Array.prototype.push = function(pPrvek) { 
	return (this[this.length] = pPrvek); 
}

Array.prototype.vratNejmensi = function()
// Vrati nejmensi cislo, ktere neni 0
{
	var i=0;
	for (; i<this.length && this[i]==0; i++);
	var lNejmensi=i;

	if (i>=this.length)
		return -1;

	for (; i<this.length; i++)
		if (this[i]!=0 && this[i]<this[lNejmensi])
			lNejmensi=i;

	return lNejmensi;
}

function dal() {
	if (gZkouseni) {// ma se jit dal
		vyhodnot();
		zobrazStatistiku();
		gZkouseni=false;
	} else {
		//nalezeni dalsiho prvku
		if (gPosloupnosti) {
			animace(10,10,'zobrazPosloupnost(gPosloupnosti[vyberObjekt()])');
		} else {
			animace(10,10,'zobrazPosloupnost(vyberPoleUdalosti())');
		}
		gZkouseni=true;
	}

	if (!gZkouseni){
		document.getElementById('tl1').innerHTML=gText1;
		document.getElementById('tl2').innerHTML=gText1;
	}
//	else
//		document.getElementById('idDal').src=SKIN_ADRESAR+'tl_vyhodnot1_n.gif';
}

function vyberPoleUdalosti(){
	var lPoradi=new Array();
	var lVrat=new Array();
	var lPocet=parseInt(Math.random()*(gDo-gOd))+gOd;
	var lCislo;
	var lPocetPokusu=0, i;
	var lStav=false;
	gData=new Array();

	while (lPoradi.length<lPocet) {
		lCislo=parseInt(Math.random()*gPocetObjektu);
		if (!udalostiObsahuji(lPoradi, lCislo))
			lPoradi.push(parseInt(lCislo));
		if(lPocetPokusu++>100)
			break;
	}

	lPoradi.sort(seradCisla);

	for (var i=0; i<lPoradi.length; i++){
		lVrat.push(gUdalosti[lPoradi[i]][1]);
		gData.push(gUdalosti[lPoradi[i]][2]);
	}

	return lVrat;
}

function seradCisla(a, b) {return a-b} 

function udalostiObsahuji(lPole, lCislo){
	for (var i=0; i<lPole.length; i++)
		if (gUdalosti[lCislo][0]==gUdalosti[lPole[i]][0])
			return true;
	return false;
}

function nastavHodnoty(){
	gPoziceZadani=document.getElementById('idObsah').offsetTop;//document.getElementById('idPole').offsetTop//+ ;
	gPoziceReseni1=document.getElementById('idVysledek1').offsetTop+ parseInt(document.getElementById('idVysledek1').offsetHeight/2);
	gPoziceReseni2=document.getElementById('idVysledek2').offsetTop+ parseInt(document.getElementById('idVysledek2').offsetHeight/2);

	if (gPoziceReseni2<1 || gRozdel==20)
		gPoziceReseni2=gPoziceReseni1;
}

function vyberObjekt() {
	gVybranyObjekt = gPoradiObjektu.vratNejmensi();
	if (gVybranyObjekt == -1)
		konec();
	return gVybranyObjekt;
}

function zobrazStatistiku(){

	document.getElementById('idHUdaje').innerHTML = ZobrazHistogram (gPocetObjektuSpravne, gPocetObjektu - gPocetObjektuSpravne, 'tbHstHotove', 'tbHstNehotove', '',' align="center"');
	document.getElementById('idHistogram').innerHTML = ZobrazHistogram (gPocetPokusuSpravne, gPocetPokusuSpatne, null, null, null,' align="center"');

	document.getElementById('idDBody').innerHTML = document.Objekty.item('dBody').value;
}

function konec(){
//	document.Objekty.action = 'konecD.asp';
//	document.Objekty.target = 'pravyD';
//	document.Objekty.submit();
	window.close();
}

function nastavitPripominku1(pStrankaID, pURL, pURLreferrer, pOstatni, pNazevFramu, pPredmetID) {
	var lLevy, lElement;

	if (lElement = document.getElementById('strankaID')) lElement.value = pStrankaID;
	if (lElement = document.getElementById('URL')) lElement.value = pURL;
	if (lElement = document.getElementById('URLreferrer')) lElement.value = pURLreferrer;
	if (lElement = document.getElementById('ostatni')) lElement.value = pOstatni;
	if (lElement = document.getElementById('predmetID')) lElement.value = pPredmetID;
	
	return 1;
}

function pocitejCas(){
	gCasovac = setTimeout(pocitejCas, 60000);

	gMinuty ++;

	if (document.getElementById('cas'))
		document.getElementById('cas').innerHTML = gMinuty + ' min.';	
	else
		zastavCas();
}


function zastavCas() {
	if (gCasovac != null)
		clearTimeout (gCasovac);
	 gCasovac = null;
}

/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/

function zobrazPosloupnost(pSlova, pData){
	var lVystup='';

	nastavHodnoty();

	if (gData.length>0)
		pData=gData;

	document.getElementById('tl1').innerHTML=gText2;
	document.getElementById('tl2').innerHTML=gText2;
//	document.getElementById('idDal').src=SKIN_ADRESAR+'tl_vyhodnot1_n.gif';

	for (i=0; i<pSlova.length; i++)
		lVystup+='<div id="s'+i+'" class="spPosun" style="width:'+(gPosloupnosti?10:100)+'px;z-index: '+ parseInt(Math.random()*100) +';top:'+gPoziceZadani+'px;">'+ (pData!=null?(pData[i]!=''?'<div id="idDatum'+i+'" class="spCedulka"> &nbsp;'+pData[i]+'&nbsp; </div>':''):'') +'&nbsp;'+pSlova[i]+'&nbsp;</div>';

	document.getElementById('idObsah').innerHTML=lVystup;

	if (gUdalosti) //Vybiraji se udalosti
		if (pSlova.length>5)
			gRozdel=parseInt(pSlova.length/2+0.5)-1;
		else
			gRozdel=20;
	else
		if (pSlova.length>10)
			gRozdel=parseInt(pSlova.length/2+0.5)-1;
		else
			gRozdel=20;

	for(i=0;i<gObjekty.length;i++)
		delete gObjekty[i];

	var lX=gMezera;
	var lX1=0;
	var lX2=0;

	lMaxH=0;

	for (i=0; i<pSlova.length; i++){
		gObjekty[i]=new lib_obj('s'+i);
		gObjekty[i].poziceX=lX;
		gObjekty[i].spravnePoradi=i;
		gObjekty[i].poradi=Math.random()*100;
		if (gPosloupnosti)
			gObjekty[i].text=pSlova[i];
		gObjekty[i].dragdrop();
		if (lMaxH<gObjekty[i].h)
			lMaxH=gObjekty[i].h;
		if (i==gRozdel){
			lX1=lX+gObjekty[i].w + gMezera;
			lX=gMezera;
		} else
			lX+=gObjekty[i].w + gMezera;
	}

	lX2=lX;
	if (lX1==0)
		lX1=lX;

	gObjekty.length=i;



	document.getElementById('idVysledek1').style.height=lMaxH+'px';

	if (gRozdel==20) {
		document.getElementById('idSpodniRadek').style.display='none';
		document.getElementById('idObsah').style.height=lMaxH;
	} else {
		document.getElementById('idSpodniRadek').style.display='block';
		document.getElementById('idVysledek2').style.height=lMaxH+'px';
		document.getElementById('idObsah').style.height=lMaxH*2+'px';
	}

	nastavHodnoty();

	lX=parseInt((document.body.offsetWidth-lX1)/2);
	var lPosun1=lX//-gMezera;
	var lPosun2=parseInt((document.body.offsetWidth-lX2)/2)//-gMezera;

	var lY=document.getElementById('idVysledek1').offsetTop + document.getElementById('idVysledek1').offsetHeight/2;

	animace(1000,1);

	var lRadek=3;
	if (gPosloupnosti)
		gObjekty.sort(porovnejText);
	else
		gObjekty.sort(porovnejPoradi);

	for (i=0; i<pSlova.length; i++){
		gObjekty[i].moveIt(lX,gPoziceZadani+(i<=gRozdel?0:lMaxH+gMezera));
		gObjekty[i].poziceX+=(gObjekty[i].spravnePoradi<=gRozdel?lPosun1:lPosun2);
		gObjekty[i].radek=lRadek;
		gObjekty[i].mX=lX+gObjekty[i].w/2;
		if (i==gRozdel) {
			lX=lPosun2;
			lRadek=4;
		} else
			lX+=gObjekty[i].w+gMezera;
	}

	animace(-15,10);
//	alert('animace3');
}

function srovnejRadu(pRada){
	if (pRada==null)
		return;
	nastavHodnoty();

	var lX=gMezera;
	var lPocet=0;
	var lY;
	var lSrovnejRadu=null;

	if (pRada==1)
		lY=gPoziceReseni1;
	if (pRada==2)
		lY=gPoziceReseni2;
	if (pRada==3)
		lY=gPoziceZadani;
	if (pRada==4)
		lY=gPoziceZadani+lMaxH;

	gObjekty.sort(porovnejPozice);

	if (pRada!=2) {
		for (i=0; i<gObjekty.length; i++) {
			if (gObjekty[i].radek==pRada) {
				if (lPocet==gRozdel+1){
					gObjekty[i].radek=2;
					gObjekty[i].mX=0;
					lSrovnejRadu=2;
				} else {
					lX+=gObjekty[i].w+gMezera;
					lPocet++;
				}
			}
		}
	} else {
		for (i=gObjekty.length-1; i>=0; i--){
			if (gObjekty[i].radek==pRada) {
				if (lPocet==gObjekty.length-gRozdel-1){
					gObjekty[i].radek=1;
					gObjekty[i].mX=2000;
					lSrovnejRadu=1;
				} else {
					lX+=gObjekty[i].w+gMezera;
					lPocet++;
				}
			}
		}
	}

	lX=parseInt((document.body.offsetWidth-lX)/2);

	for (i=0; i<gObjekty.length; i++)
		if (gObjekty[i].radek==pRada){
			gObjekty[i].slideIt(lX,lY+(pRada<3?-parseInt(gObjekty[i].h/2):(pRada==4?gMezera:0)),10,10);
			gObjekty[i].mX=lX+gObjekty[i].w/2
			lX+=gObjekty[i].w+gMezera;
		}
	srovnejRadu(lSrovnejRadu);
}


function init(){
//	alert('init');
	var lVystup='';
	nastavHodnoty();

	pocitejCas();

	if (gUdalosti)
		document.Objekty.item('celkem').value=20;
	else
		document.Objekty.item('celkem').value=gPocetObjektu;

	zobrazStatistiku();
	for (var i = 0; i < gPoradiObjektu.length; i++)
		gPoradiObjektu[i] = parseInt(Math.random() * gPocetObjektu + 1);

	nastavitPripominku1(gStrankaID, self.location.href, document.referrer, gQueryString, null);
	dal();
}

function porovnejPoradi(pA, pB) {
   if(pA.poradi > pB.poradi) 
      return 1 
   if(pA.poradi < pB.poradi) 
      return -1 
   return 0 
}

function porovnejText(pA, pB) {
   if(pA.text.toLowerCase() > pB.text.toLowerCase()) 
      return 1 
   if(pA.text.toLowerCase() < pB.text.toLowerCase()) 
      return -1 
   return 0 
}

function usad(pCo){
	var lSrovnejRadu=pCo.radek;

	pCo.mX=pCo.x+pCo.w/2;
	if (gPoziceReseni1==gPoziceReseni2 && gRozdel==20) {
		pCo.radek=1;
		srovnejRadu(1);
	} else
		if (pCo.y+pCo.h/2<(gPoziceReseni1+gPoziceReseni2)/2){
			pCo.radek=1;
			srovnejRadu(1);
		} else {
			pCo.radek=2;
			srovnejRadu(2);
		}
	srovnejRadu(lSrovnejRadu);
}

function kolize(pCo){
	for (var i=0; i<gObjekty.length; i++)
		if (gObjekty[i].y+gObjekty[i].h>pCo.y && pCo.y+pCo.h>gObjekty[i].y)
			if (gObjekty[i]!=pCo){
				if (gObjekty[i].x<pCo.x+gMezera+pCo.w && gObjekty[i].x+(gObjekty[i].w/2)>=pCo.x+(pCo.w/2))
					gObjekty[i].slideIt(pCo.x+gMezera+pCo.w,gObjekty[i].y, 20,10,'kolize('+gObjekty[i].obj+')');
				if (gObjekty[i].x+gObjekty[i].w>pCo.x-gMezera && gObjekty[i].x+(gObjekty[i].w/2)<pCo.x+(pCo.w/2))
					gObjekty[i].slideIt((pCo.x-gMezera-gObjekty[i].w<gMezeraVlevo? gMezeraVlevo:pCo.x-gMezera-gObjekty[i].w),gObjekty[i].y, 20,10,'kolize('+gObjekty[i].obj+')');
			}
}

function vyhodnot(){
	var lRychlost=30;
	var lKrok=10;
	var lSpravne=0;
	var lNeurcene=0;
	var lElement;
	var lFunkce;

	gObjekty.sort(porovnejX);
	for (var i=0; i<gObjekty.length; i++){
		
		lElement=document.getElementById('idDatum'+gObjekty[i].spravnePoradi);
		if (lElement){
			lFunkce='document.getElementById("idDatum'+gObjekty[i].spravnePoradi+'").style.display="block";';
		} else
			lFunkce=null;

		if (gObjekty[i].radek<3 && gUdalosti) {
			gObjekty[i].css.backgroundColor='#CC0000';
			if (lElement)
					lElement.style.backgroundColor='#CC0000';

			if (i==0) { // zkontroluji prvni
				if (gObjekty[i].spravnePoradi==0 && gObjekty[i+1].spravnePoradi>0) {
					gObjekty[i].css.backgroundColor='#00CC00';
					if (lElement)
						lElement.style.backgroundColor='#00CC00';
					lSpravne++;
				}
			} else
				if (i==gObjekty.length-1){ // posledni polozka
					if (gObjekty[i].spravnePoradi==i && gObjekty[i].spravnePoradi>gObjekty[i-1].spravnePoradi) {
						gObjekty[i].css.backgroundColor='#00CC00';
						if (lElement)
							lElement.style.backgroundColor='#00CC00';
						lSpravne++;
					}
				} else { // vsechny ostatni
					if (gObjekty[i].spravnePoradi> gObjekty[i-1].spravnePoradi && ((gObjekty[i].spravnePoradi< gObjekty[i+1].spravnePoradi && gObjekty[i+1].radek<3) || (gObjekty[i].spravnePoradi== gObjekty.length-1 && gObjekty[i+1].radek>2))){
						gObjekty[i].css.backgroundColor='#00CC00';
						if (lElement)
							lElement.style.backgroundColor='#00CC00';
						lSpravne++;
					}
				}

		}

		if (gObjekty[i].radek<3 && gPosloupnosti) {
			if (gObjekty[i].spravnePoradi==i || gObjekty[i].text==gObjekty[gObjekty[i].spravnePoradi].text){
				gObjekty[i].css.backgroundColor='#00CC00';
				if (lElement)
					lElement.style.backgroundColor='#00CC00';
				lSpravne++;
			} else {
				gObjekty[i].css.backgroundColor='#CC0000';
				if (lElement)
					lElement.style.backgroundColor='#CC0000';
			}
		}

		if (gObjekty[i].spravnePoradi || gObjekty[i].spravnePoradi==0) {
			if (gObjekty[i].y>=gPoziceZadani) {
				gObjekty[i].slideIt(gObjekty[i].poziceX,(gObjekty[i].spravnePoradi<= gRozdel?gPoziceReseni1:gPoziceReseni2)- parseInt(gObjekty[i].h/2), lKrok, lRychlost, lFunkce);
				lNeurcene++;
			} else {
				if (gObjekty[i].spravnePoradi==i){
					gObjekty[i].slideIt(gObjekty[i].poziceX,(gObjekty[i].spravnePoradi<= gRozdel?gPoziceReseni1:gPoziceReseni2) -parseInt(gObjekty[i].h/2), lKrok, lRychlost, lFunkce)
				} else {
				
					gObjekty[i].circleItXY(lKrok, lRychlost, lFunkce, gObjekty[i].poziceX, (gObjekty[i].spravnePoradi<= gRozdel?gPoziceReseni1:gPoziceReseni2)- parseInt(gObjekty[i].h/2));

				}
				
			}
		}
		gObjekty[i].nodragdrop();
	}

	if (lSpravne==gObjekty.length){
		gPoradiObjektu[gVybranyObjekt]=0;
		gPocetPokusuSpravne++;
		gPocetObjektuSpravne++;
		if (gPosloupnosti)
			if (lSpravne>10)
				lSpravne=4;
			else
				lSpravne=2;
		document.Objekty.item('umi').value++;
	} else {
		gPoradiObjektu[gVybranyObjekt]+=parseInt(gObjekty.length*Math.random()+5);
		if (lNeurcene==0) {
			gPocetPokusuSpatne++;
			document.Objekty.item('spatne').value++;
		}
		if (gPosloupnosti)
			lSpravne=0;
	}

	document.Objekty.item('dBody').value=parseInt(document.Objekty.item('dBody').value)+lSpravne;
	gZkouseni=false;
}

function porovnejX(pA, pB) {
	if (pA.y+pA.h < pB.y)
		return -1;
	if (pA.y > pB.y+pB.h)
		return 1;
	if (pA.x > pB.x) 
		return 1 
	if (pA.x < pB.x) 
		return -1 
	return 0 
}

function porovnejPozice(pA, pB) {
	if (pA.radek < pB.radek)
		return -1;
	if (pA.radek > pB.radek)
		return 1;
	if (pA.mX > pB.mX) 
		return 1 
	if (pA.mX < pB.mX) 
		return -1 
	return 0 
}

	/****************************************************************************   
DHTML library from DHTMLCentral.com
*   Copyright (C) 2001 Thomas Brattli 2001
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by Thomas Brattli 2001
***************************************************************************/

//Browsercheck (needed) ***************
function lib_bwcheck(){ 
  this.ver=navigator.appVersion
  this.agent=navigator.userAgent
  this.dom=document.getElementById?1:0
  this.opera5=this.agent.indexOf("Opera 5")>-1
  this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
  this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
  this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
  this.ie=this.ie4||this.ie5||this.ie6
  this.mac=this.agent.indexOf("Mac")>-1
  this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
  this.ns4=(document.layers && !this.dom)?1:0;
  this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5)
  return this
}
bw=new lib_bwcheck() //Browsercheck object

//Lib objects  ********************
function lib_obj(obj,nest){ 
  if(!bw.bw) return lib_message('Old browser')
  nest=(!nest) ? "":'document.'+nest+'.'
  this.evnt=bw.dom? document.getElementById(obj):
    bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;	
  if(!this.evnt) return lib_message('The layer does not exist ('+obj+')' 
    +'- \nIf your using Netscape please check the nesting of your tags!')
  this.css=bw.dom||bw.ie4?this.evnt.style:this.evnt; 
  this.ref=bw.dom||bw.ie4?document:this.css.document;
  this.x=parseInt(this.css.left)||this.css.pixelLeft||this.evnt.offsetLeft||0;
  this.y=parseInt(this.css.top)||this.css.pixelTop||this.evnt.offsetTop||0
  this.w=this.evnt.offsetWidth||this.css.clip.width||
    this.ref.width||this.css.pixelWidth||0; 
  this.h=this.evnt.offsetHeight||this.css.clip.height||
    this.ref.height||this.css.pixelHeight||0
  this.c=0 //Clip values
  if((bw.dom || bw.ie4) && this.css.clip) {
  this.c=this.css.clip; this.c=this.c.slice(5,this.c.length-1); 
  this.c=this.c.split(' ');
  for(var i=0;i<4;i++){this.c[i]=parseInt(this.c[i])}
  }
  this.ct=this.css.clip.top||this.c[0]||0; 
  this.cr=this.css.clip.right||this.c[1]||this.w||0
  this.cb=this.css.clip.bottom||this.c[2]||this.h||0; 
  this.cl=this.css.clip.left||this.c[3]||0
	this.name=new String(obj);
  this.obj = obj + "Object"; eval(this.obj + "=this");
	this.mX=0;
	this.text='';
  return this
}

//Moving object to **************
lib_obj.prototype.moveIt = function(x,y){
  this.x=x;this.y=y; this.css.left=x;this.css.top=y
}

//Moving object by ***************
lib_obj.prototype.moveBy = function(x,y){
  this.css.left=this.x+=x; this.css.top=this.y+=y
}

//Showing object ************
lib_obj.prototype.showIt = function(){this.css.visibility="visible"}

//Hiding object **********
lib_obj.prototype.hideIt = function(){this.css.visibility="hidden"}

//Changing backgroundcolor ***************
lib_obj.prototype.bg = function(color){ 
	if(bw.opera) this.css.background=color
	else if(bw.dom || bw.ie4) this.css.backgroundColor=color
	else if(bw.ns4) this.css.bgColor=color  
}

//Writing content to object ***
lib_obj.prototype.writeIt = function(text,startHTML,endHTML){
	if(bw.ns4){
    if(!startHTML){startHTML=""; endHTML=""}
	  this.ref.open("text/html"); 
    this.ref.write(startHTML+text+endHTML); 
    this.ref.close()
	}else this.evnt.innerHTML=text
}

//Slide animation ***********
lib_obj.prototype.slideIt = function(endx,endy,inc,speed,fn,wh){
  if(!this.slideactive){
    var distx = endx - this.x;
    var disty = endy - this.y
    var num = Math.sqrt(Math.pow(distx,2)+Math.pow(disty,2))/inc
    var dx = distx/num; var dy = disty/num
    this.slideactive = 1; 
    if(!wh) wh=0; if(!fn) fn=0
    this.slide(dx,dy,endx,endy,speed,fn,wh)
    }
}
lib_obj.prototype.slide = function(dx,dy,endx,endy,speed,fn,wh) {
  if(this.slideactive&&
  (Math.floor(Math.abs(dx))<Math.floor(Math.abs(endx-this.x))|| 
    Math.floor(Math.abs(dy))<Math.floor(Math.abs(endy-this.y)))){
    this.moveBy(dx,dy); 
    if(wh) eval(wh)
    this.timer=setTimeout(this.obj+".slide("+dx+","+dy+","+endx+","+endy+","+speed+",'"
    +fn+"','"+wh+"')",speed)
  }else{
    this.slideactive = 0; 
    this.moveIt(endx,endy);
    if(fn) eval(fn)
  }
}

//Circle animation ****************
lib_obj.prototype.circleIt = function(rad,ainc,a,enda,xc,yc,speed,fn, xa, ya) {
	if((Math.abs(ainc)<=Math.abs(enda-a))) {
		a += ainc
//		var x = parseInt(xc + rad*Math.cos(a*Math.PI/180));
//		var y = parseInt(yc - rad*Math.sin(a*Math.PI/180));
		var x = parseInt(xc + rad*Math.cos(a));
		var y = parseInt(yc - rad*Math.sin(a));
		this.moveIt(x,y);
		setTimeout(this.obj+".circleIt("+rad+","+ainc+","+a+","+enda+","      +xc+","+yc+","+speed+",'"+fn+"',"+xa+","+ya+")",speed);
	}else {
		this.moveIt(xa, ya);
		if(fn&&fn!="undefined")
			eval(fn);
	}
}

lib_obj.prototype.circleItXY = function(ainc,speed,fn, xa, ya) {
	var xs=this.x;
	var ys=this.y;
	var xc=parseInt((xs+xa)/2);
	var yc=parseInt((ys+ya)/2);
	var rad=parseInt(Math.sqrt((xa-xs)*(xa-xs)+(ya-ys)*(ya-ys))/2);
	var a=Math.atan2(xa-xc,ya-yc)+(Math.PI/2);

	this.circleIt(rad,ainc*Math.PI/180,a,a+Math.PI,xc,yc,speed,fn, xa, ya);
}

//Document size object ********
function lib_doc_size(){ 
  this.x=0;this.x2=bw.ie && document.body.offsetWidth-20||innerWidth||0;
  this.y=0;this.y2=bw.ie && document.body.offsetHeight-5||innerHeight||0;
  if(!this.x2||!this.y2) return message('Document has no width or height') 
  this.x50=this.x2/2;this.y50=this.y2/2;
  return this;
}

//Drag drop functions start *******************
dd_is_active=0; dd_obj=0; dd_mobj=0
function lib_dd(){
  dd_is_active=1
  if(bw.ns4){
    document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN|Event.MOUSEUP)
  }
  document.onmousemove=lib_dd_move;
  document.onmousedown=lib_dd_down
  document.onmouseup=lib_dd_up
}
lib_obj.prototype.dragdrop = function(obj){
	if(!dd_is_active) lib_dd()
	this.evnt.onmouseover=new Function("lib_dd_over("+this.obj+")")
	this.evnt.onmouseout=new Function("dd_mobj.css.borderColor=\"#666666\";dd_mobj=0")
	if(obj)
		this.ddobj=obj;
}

lib_obj.prototype.nodragdrop = function(){
  this.evnt.onmouseover=""; this.evnt.onmouseout=""
  dd_obj=0; dd_mobj=0
}
//Drag drop event functions
function lib_dd_over(obj){
	dd_mobj=obj;
	dd_mobj.css.borderColor="#000000";
}
function lib_dd_up(e){
	if (dd_obj){
		usad(dd_obj);
		dd_obj.css.zIndex=dd_obj.zIndexOld;
	}
	dd_obj=0;
}

function lib_dd_down(e){ //Mousedown
  if(dd_mobj){
    x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX
    y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY
	dd_obj=dd_mobj
	dd_obj.zIndexOld=dd_obj.css.zIndex;
	dd_obj.css.zIndex=100;
    dd_obj.clX=x-dd_obj.x; 
    dd_obj.clY=y-dd_obj.y
//	if (dd_obj.timer)
//		clearTimeout(this.timer);
  }
}

function lib_dd_move(e,y,rresize){ //Mousemove
  x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX
  y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY
  if(dd_obj){
    nx=x-dd_obj.clX; 
	ny=y-dd_obj.clY;
	if (nx<gMezeraVlevo)
		nx=gMezeraVlevo;
    if(dd_obj.ddobj) dd_obj.ddobj.moveIt(nx,ny)
    else dd_obj.moveIt(nx,ny)
  }
  if(!bw.ns4) return false      
}
//Drag drop functions end *************

function animace(pKrok, pDoba, pFunkce) {
	var lElement=document.getElementById('idAnimace');
	clearTimeout(gTimer);
	lElement.style.display='block';

//	lElement.style.left=document.getElementById('idPole').offsetLeft+'px';
	lElement.style.width=(document.getElementById('idPole').offsetWidth+ document.getElementById('idPole').offsetLeft)+'px';
	if (pKrok>0){
		var lVyska=document.getElementById('idPole').offsetHeight;
		if (lElement.offsetHeight+pKrok>lVyska){
			lElement.style.height=lVyska;
			lElement.style.top=document.getElementById('idPole').offsetTop;
			if(pFunkce && pFunkce!="undefined"){
				setTimeout(pFunkce, pDoba);
			}
		} else {
			lElement.style.height=lElement.offsetHeight+pKrok;
			lElement.style.top=lElement.offsetTop-pKrok;
			gTimer=setTimeout('animace('+pKrok+','+pDoba+',"'+pFunkce+'")',pDoba);
		}
	} else {
		if (lElement.offsetHeight+pKrok<0 || lElement.offsetTop>document.getElementById('idPole').offsetTop+ document.getElementById('idPole').offsetHeight){
			lElement.style.height=0;
			lElement.style.top=document.getElementById('idPole').offsetTop+ document.getElementById('idPole').offsetHeight;
			lElement.style.display='none';
			if(pFunkce && pFunkce!="undefined"){
				eval(pFunkce);
			}
		} else {
			lElement.style.height=lElement.offsetHeight+pKrok;
			lElement.style.top=lElement.offsetTop-pKrok;
			gTimer=setTimeout('animace('+pKrok+','+pDoba+',"'+pFunkce+'")',pDoba);
		}
	}
}


