// horni info o uzivateli/odkazy pro prihlaseni-odhlaseni
Mediator.add('tvch', function () {
	
	// dotazeni horniho okna s uzivatelem
	var changePgm = function(urlq) {
		$('tbl_program').set('tween', {duration: 200});
		$('tbl_program').fade('out');
		var ajax = new Request({
		            url:urlq, 
		            method: 'get',
		            onComplete: function(data) {
		                // nastav obsah vracenych elementu
		                updateElements(JSON.decode(data));
		                try {
		            		pageTracker._trackPageview('/ajax/tv-program');
		            	} catch(err) {}
		            }
		        }
		    ).send();
    };
	
    var onLoggedIn = function() {
    	window.location = '/';
    };
    
    var onChangePgm = function(el) {
    	changePgm(el.href);
    };
    
    var onChangeMyPgm = function(url) {
    	changePgm(url);
    };
    
	return {
        onLoggedIn: onLoggedIn,
        onLogouted: onLoggedIn,
        onChangePgm: onChangePgm,
        onChangeMyPgm: onChangeMyPgm
    };
    
}());

function prevNextPos() {
	
	src = $(document.body).getScroll().y;
	coor = $('tbl_program').getCoordinates();
	pos = 120;
	//alert(pos);
	//alert(src+', '+window.getSize().y/2)
	if ((coor.top+120)<(src+window.getSize().y/2)) {
		pos = src+(window.getSize().y/2)-coor.top;
	}
	if ((coor.bottom-120)<(src+window.getSize().y/2)) {
		pos = coor.bottom-coor.top-120;
	}
	if ($('tbl_prev')) { $('tbl_prev').setStyle('top',pos);}
	if ($('tbl_next')) { $('tbl_next').setStyle('top',pos);}
}

function addPgmScripts() {
	$$('#chatv .tvch').each(function(el) {
        eventname = 'click';
        if (el.get('tag') == 'form') eventname = 'submit';
        el.addEvent(eventname, function(ev) {
        	Mediator.broadcast("ChangePgm", [this]);
        	ev.stop();
        }
        
        );
            
    });
	
	$$('#chatv .rateit').each(function(el) {
        eventname = 'click';
        if (el.get('tag') == 'form') eventname = 'submit';
        el.addEvent(eventname, function(ev) {
        	rateIt(this);
        	ev.stop();
        }
        
        );
            
    });
	
	addMyPgmEvent($$('#tbl_program_cover .add_my_pgm'));
	window.addEvent('scroll', function(ev){
		prevNextPos();
	});
	prevNextPos();
}

function rateIt(el) {
	if ($('hodnoceni-id')) $('hodnoceni-id').destroy();
	
	hodnoceni = new Element('div', {'id':'hodnoceni-id', 'class':'hodnoceni', 'z-index':100});
	txt ='<div class="label">Oznámkuj</div> ' + "\n"+
	'<div class="stars">' + "\n";
	rel = el.get('rel').split(';');
	rat = rel[1].toInt();
	for (i=1;i<=10;i++) {
        txt +='	<span><a href="'+rel[0]+'?rating='+i+'" ';
        if (rat>=i) txt += 'class="active"';
        txt += '></a></span> ' + "\n";
    }
	txt +='<div class="clear"></div>' + "\n";		
	txt +='</div>' + "\n"+
	'<p class="info">Klikněte na hvězdičku a ohodnoťte pořad.</p>' + "\n";
	hodnoceni.set('html', txt);
	
	hodnoceni.inject(el, 'after');
	back = new Element('div', {'id':'rating_back',
		   'styles':{'position': 'absolute', 'width': $(document.body).getScrollSize().x,
					 'height': $(document.body).getScrollSize().y,
					 'z-index':20}
		   });
	back.inject('hodnoceni-id','before');
	//alert();
	$('rating_back').setStyle('top', -$('rating_back').getPosition().y);
	$('rating_back').setStyle('left', -$('rating_back').getPosition().x);
	$$('#hodnoceni-id div.stars a').addEvent('click', function(ev){
			var ajax = new Request({
		        url:this.href, 
		        method: 'get',
		        onComplete: function(data) {
		            // nastav obsah vracenych elementu
					
		            updateElements(JSON.decode(data));
		            $('hodnoceni-id').destroy();
		            $('rating_back').destroy();
		            try {
	            		pageTracker._trackPageview('/ajax/hodnoceni');
	            	} catch(err) {}
		            //alert(data);
		            //$('response').setHTML(data);
		        }
		    	}
			).send();
			ev.stop();
	});
	
	
	$('rating_back').addEvent('mouseover', function(ev) {
			$('hodnoceni-id').destroy();
			$('rating_back').destroy();
	});
}

window.addEvent("domready", function() {
	addPgmScripts();
	
	new Autocompleter.Ajax.Json('porad_search_right', '/film/search/', {
        'postVar': 'q',
        'delay'  : 0,
        'minLength' : 1,
        markQuery: true,
        autoSubmit: true,
        zIndex:120,
        width:278,
        onComplete: function(data) {
    		try {
        		pageTracker._trackPageview('/autocompleter-request');
        	} catch(err) {}
        }
    });
});
