var _g=[];
function get(uri, fx){
	var A;
	if(window.XMLHttpRequest)
		A = new XMLHttpRequest();
	else if(window.ActiveXObject){
		try {
			A = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				A = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if(!A) return;
	
	_g[uri]=0;
	
	A.open('GET', uri+'&'+Math.random(), true);
	A.onreadystatechange=function(){
		if(A.readyState==4 && _g[uri] == 0){
			_g[uri]=1;
			if(A.status==200){
				if(fx) fx(A.responseText);
			}
		}
	};
	A.send(null);
}



function pmore(o,i)
{
	var p=$('pMoreCont'+i);
	if(!p) return;
	var pm=getParent(p,'DIV',0,1);
	var mt=getParent(o,'DIV').offsetHeight;
	
	if(o.className=='moreLinkOn'){
		o.className='';
		gtimer.add(500, 'sin', function(n){setOpacity(p,n);}, 10, 0, null, 'link'+i);
		gtimer.add(500, 'sin', function(n){pm.style.height=n+'px';}, pm.offsetHeight, mt, null, 'linkx'+i);
	}else{
		o.className='moreLinkOn';
		p.style.display='block';
		p.style.top=mt+'px';
		var h=p.offsetHeight+mt; //marginTop
		if(pm.style.height == '') pm.style.height=mt; //p.offsetHeight
		
		gtimer.add(500, 'sin', function(n){setOpacity(p,n);}, 0, 10, null, 'link'+i);
		gtimer.add(1000, 'sin', function(n){pm.style.height=n+'px';}, pm.offsetHeight, h, null, 'linkx'+i);
	}
	return false;
}

function setOpacity(o,v){
	o.style.opacity = v/10;
	o.style.filter = 'alpha(opacity='+v*10+')';
}

function getParent(o, el, classval, level, deep){
	var i=0;
	el=el.toLowerCase();
	if(!level)level=0;
	while(o){
		if(i>=level && o.nodeName.toLowerCase()==el && (!classval || (o.className && o.className.indexOf(classval) > -1))) return o;
		if(i>=deep)break;
		i++;
		o=o.parentNode;
	}
	return;
}



var anicur=1, animax=1, anilast, anit, aniinterval, aniwidth, anispeed;

function ani(ti, speed){
	anispeed = speed;
	var s='', i, j, o=$('anidiv'), n=0, els=o.getElementsByTagName('DIV');
	for(i=0; i<els.length; i++){
		if(els[i].className){
			els[i].style.zIndex=97-n; // fade
			n++;
		}
	}
	
	if(!aniwidth) aniwidth=$('anidiv').offsetWidth;
	
	o.style.width=n*aniwidth+'px';
	animax=n;
	for(i=0; i<n; i++){
		j=n-i;
		s+='<li'+(i==n-1 ? ' class="ani-on"' : '')+' id="anili'+j+'" onclick="animove('+j+')"><b></b>'+j+'<i></i></li>';
	}
	$('aniw').innerHTML+='<ul><li style="width:52px" onclick="animove(anicur+1)"><b></b>Další<i></i></li>'+s+'</ul>';
	
	if(ti){
		aniinterval = ti;
		anit = setTimeout(function(){animove(anicur+1, 1);}, aniinterval*1000);
	}
}

function animove(n, auto){
	if(!aniwidth) return;
	clearTimeout(anit);
	if(n>animax) n=1;
	
	/*//--- toto je slide
	//anicur=n;
	var end=-aniwidth*(n-1), o=$('anili'+n), o2=$('anidiv');
	
	gtimer.add(500, 'sin', function(n){
		o2.style.left=n+'px';
	}, o2.style.left ? parseInt(o2.style.left) : 0, end);
	*/
	
	//--- fade
	var o=$('anidiv');
	var els=o.getElementsByTagName('DIV');
	
	var a = els[anicur-1];
	var b = els[n-1];
	
	var za = parseInt(a.style.zIndex);
	var zb = parseInt(b.style.zIndex);
	
	a.style.zIndex = 99;
	b.style.zIndex = 98; // B je hned za A
	
	anicur = n; // nový current
	
	gtimer.add(anispeed, 'sin', function(n){
		setOpacity(a,n);
		setOpacity(b,10-n);
	}, 10, 0, function(){ a.style.zIndex=zb; b.style.zIndex=za; });
	
	
	var o=$('anili'+n);
	if(!anilast) anilast=$('anili1');
	anilast.className='';
	o.className='ani-on';
	anilast=o;
	
	if(auto) anit = setTimeout(function(){animove(anicur+1, 1);}, aniinterval*1000);
}


//------------------------------- TIMER, Martin Zvarik
var gtimer = {
	add : function(duration, type, fx, nStart, nEnd, donefx, uid, dontStart){
		var t=this;
		if(typeof t.actions=='undefined') t.actions = [];
		if(typeof t.starttime=='undefined') t.starttime = [];
		if(typeof t.done=='undefined') t.done = []; // uklada se sem done(id) nebo done(id,i)
		if(typeof t.uid2id=='undefined') t.uid2id = [];
		
		var act, ta = t.actions, id, i=0, nDiff = (nEnd > nStart) ? nEnd-nStart : nStart-nEnd;
		
		id = ta.length ? ta.length : 1;
		if(uid){
			if(t.uid2id[uid]){
				if(!dontStart) t.stopUID(uid);
				id = t.uid2id[uid];
			}
			else t.uid2id[uid] = id;
		}
		
		act = [duration, type, fx, nStart, nEnd, nDiff];
		if(ta[id]){
			i=ta[id].length;
			ta[id][i] = act;
		}else
			ta[id] = [act];
		
		if(donefx) t.done[id+','+i] = donefx;
		
		if(!dontStart) t.start(id);
		
		return id;
	},
	stopUID : function(uid, forceFinish){
		var t=this;
		if(typeof t.uid2id!='undefined' && t.uid2id[uid]) t.stop(t.uid2id[uid], forceFinish);
	},
	startUID : function(uid){
		var t=this;
		if(typeof t.uid2id!='undefined' && t.uid2id[uid]) t.start(t.uid2id[uid]);
	},
	stop : function(id, forceFinish){ // forceFinish TODO
		var t=this, i, ta=t.actions;
		if(ta[id]){
			if(forceFinish){
				for(i=0; i<ta[id].length; i++) t._finish_i(id,i);
			}
			ta[id]=0;
		}
	},
	start : function(id){
		var t=this, u;
		t.starttime[id] = new Date().getTime();
		if(!t.intID) t.intID = window.setInterval(function(){t._timer();}, 20);
	},
	_finish_i : function(id, i){
		var t=this, ta=t.actions;
		if(!ta[id][i]) return;
		movement = ta[id][i][4];
		ta[id][i][2](movement);
		ta[id][i] = 0;
		if(t.done[id+','+i]){
			t.done[id+','+i]();
			t.done[id+','+i] = 0;
		}
	},
	_timer : function(){
		var i, id, elapsed, progress, moved=0, movement=0, t=this, ta=t.actions;
		
		var now = new Date().getTime();
		
		for(id in ta){
			if(ta[id] === 0) continue;
			
			for(i=0; i<ta[id].length; i++){
				if(!ta[id][i]) continue;
				
				elapsed = now - t.starttime[id];
				if(ta[id][i][0] <= elapsed){ // uz sme meli skoncit
					t._finish_i(id, i);
				}else{
					moved=1;
					progress = ta[id][i][0] / elapsed;
					
					if(ta[id][i][1] == 'sqsin')
						movement = Math.sqrt(Math.cos((1-1/progress)*Math.PI/2)) * ta[id][i][5];
					else if(ta[id][i][1] == 'sin')
						movement = Math.cos((1-1/progress)*Math.PI/2) * ta[id][i][5]; // tady mam neco spatne
					else if(ta[id][i][1] == 'cos')
						movement = Math.sin((1/progress)*Math.PI/2) * ta[id][i][5];
					else
						movement = ta[id][i][5] / progress;
					
					movement = Math.round(movement*1000)/1000;
					movement = (ta[id][i][3] > ta[id][i][4]) ? ta[id][i][3] - movement : ta[id][i][3] + movement;
					
					ta[id][i][2](movement);
				}
			}
			if(!moved){
				ta[id] = 0; // tato skupina se uz nebude prochazet
				if(t.done[id]){
					t.done[id]();
					t.done[id] = 0;
				}
				moved = 1; // ukoncime to az priste, v uzivatelske funkci muze byt dalsi gtimer, a ted bysme ho zastavili
			}
		}
		if(!moved) t.die(); // pokud se nic nepohlo => koncime
	},
	/*isDone : function(uid){
	},
	onDone : function(uid, fn){
		var t=this;
		if(t.uid2id[uid]) t.done[t.uid2id[uid]] = fn;
	},*/
	die : function(){
		var t=this;
		window.clearInterval(t.intID);
		t.intID = 0;
		t.actions = [];
		t.starttime = [];
		t.done = [];
	}
}




function $(o){
	return document.getElementById(o);
}

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function removeEvent(elm, evType, fn, useCapture) {
	if (elm.removeEventListener) {
		elm.removeEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.detachEvent) {
		var r = elm.detachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

var bst=0;
var activepopid;
function showMyPopup(url,title,whconf,id){
	if(!id)id='';
	activepopid=id;
	
	var mask = $('popupMask');
	var inner = $('popupInner'+id);
	
	var xbody = window.document.body;
	
	if(!mask){
		mask = document.createElement('div');
		mask.id = "popupMask";
		addEvent(mask, 'click', function(){hideMyPopup(id);});
		xbody.appendChild(mask);
	}
	
	var x=(window.innerHeight ? window.innerHeight : document.documentElement.clientHeight);
	
	if(!inner){
		inner = document.createElement('div');
		inner.id = "popupInner"+id;
		inner.className = "popupInner";
		addEvent(inner, 'click', function(){hideMyPopup(id);});
		
		var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
		
		inner2 = document.createElement('div');
		inner2.className = "popupInner2";
		inner2.innerHTML = '<table cellpadding="0" cellspacing="0">'
			+'<tr><td class="popupControls">'
			+'<div style="background:url(http://www.antiradary.net/subModal/close2.gif) no-repeat;width:260px;height:15px;float:right;cursor:pointer">'
			+'</div>'+title+'</td></tr>'
			+'<tr><td style="height:100%">'
			+'<iframe scrolling="'+(IE6 ? 'yes' : 'auto')+'" frameborder="0" name="popupFrame'+id+'" id="popupFrame'+id+'"></iframe></td></tr>'
			+'</table>';
		inner.appendChild(inner2);
		xbody.appendChild(inner);
	}
	
	var h=77;
	if(x <= 600) h=85;
	else if(whconf == 2) h=85;
	else if(whconf == 3) h=60;
	inner.style.height = Math.round(x * h/100) + 'px';
	
	
	var windowh=innerSize()[1];
	mask.style.top = 0;
	mask.style.height = document.body.offsetHeight+'px';
	
	mask.style.display='block';
	inner.style.display='block';
	
	var IFrameDoc;
	var IFrameObj = document.getElementById('popupFrame'+id);
	
	if(IFrameObj.contentDocument) {
		IFrameDoc = IFrameObj.contentDocument; 
	} else if (IFrameObj.contentWindow) {
		IFrameDoc = IFrameObj.contentWindow.document;
	} else if (IFrameObj.document) {
		IFrameDoc = IFrameObj.document;
	}
	IFrameDoc.location.replace(url);
	
	var p = document.documentElement.scrollTop;
	p = p ? p : document.body.scrollTop;
	inner.style.top = p+Math.round((x-inner.offsetHeight)/2) + 'px';
	 
	if(p != bst) bst=p;
	
	return false;
}

function innerSize(boolTop){
	var w, h, s = boolTop ? top.window : window;
	if(s.innerHeight){
		w=s.innerWidth;
		h=s.innerHeight;
	}else{
		w=s.document.documentElement.clientWidth;
		h=s.document.documentElement.clientHeight;
	}
	return [w, h];
}


function hideMyPopup(id){
	//if(!id) id='';
	id=activepopid;
	var IFrameDoc;
	var IFrameObj = document.getElementById('popupFrame'+id);
	if(IFrameObj.contentDocument){
		IFrameDoc = IFrameObj.contentDocument; 
	}else if(IFrameObj.contentWindow){
		IFrameDoc = IFrameObj.contentWindow.document;
	}else if(IFrameObj.document){
		IFrameDoc = IFrameObj.document;
	}
	IFrameDoc.location.replace('about:blank');
	
	var body = window.document.body;
	
	$('popupMask').style.display='none';
	$('popupInner'+id).style.display='none';
}
