//majd ide jon az onload esemenyek
$(function() {
	initAjaxDelete();
});


function callAjax(name, method, contextId, params, event, fnName, respType, fnToExec) {

	

	if(document.getElementById('adminMessage')) animatedcollapse.toggle('adminMessage');


	var paramsdata = new String();
	var event = event || false;
	var respType = respType || "htmla";
	var fnName = fnName || false;
	var fnToExec = fnToExec || false;

	if (params.length > 0) {
		for (var n = 0; n < params.length; n++)	{
			paramsdata += "&params[]=" + params[n];
		}
	}
	if (!testObj(contextId)) contextId = $(contextId);
	return jQuery.ajax({
	    url: "/ajax",
	    type: "POST",
	    data: "name=" + name + "&method=" + method + "&resp=" + respType + paramsdata,
	    context: $(contextId),
   	    success: function(resp) {
	        if (event != false) { //eventre felprogramozott, akkor fut be ide
				if (resp == true) {
					$(this).parent().parent().parent().remove();
				} else if (resp == false) {
				    console.log('false');
				} else {
					alert(resp);
				}
	        } else { //nem event, ha van fnName azt futtatjuk, ha nincs, akkor append
				resp = resp.replace("\n", "");
		        if (fnName != false) {
			    		setTimeout(fnName + "('" + resp + "')", 1);
			    } else {
					if (respType == "htmla") {
						$(contextId).append(resp);
					} else if (respType == "htmli") {
					    document.getElementById(contextId.substring(1)).innerHTML = resp;  //faszom IE miatt kell nativ js ide, kulonben nem teszi bele a resultot... :(
					    if(fnToExec != false) setTimeout(fnToExec + "()", 1);
						//$(contextId).html(resp);
					} else if (respType == "json") { //jsonra kell fnName, amivel json obj-ot feldolgozzuk
						alert("json hivas, fnName missed!");
					}
				}
			}
			if(document.getElementById('adminMessage')) animatedcollapse.toggle('adminMessage');
	    }
	});
}

function testObj(obj) {
	var type = typeof obj;
	if (type == 'object') {
		if (obj.getDate) return 'Date';
		if (obj.split) return 'String';
	}
	return type;
}

function jsCalAdd(name, trigger, showTime) {
	if(showTime && showTime == true) timeformat = " %H:%M";
	else timeformat = "";
	var varname = name + "Calendar";
	var trigger = trigger || name;
	var varname = Calendar.setup({
    	inputField : name,
    	trigger    : trigger,
		showTime   : showTime,
		dateFormat : "%Y-%m-%d"+timeformat,
		hideOnOverlayClick : true,
    	onSelect   : function() { this.hide() }
	});
}

function initAjaxDelete() {
	$('img[ev*=delete]').click(function() {
		var confQ = confirm("Are you sure?");
		if (confQ == true) {
		    var eventStr = this.getAttribute("ev");
		    if (eventStr != "") {
		    	var eventA = eventStr.split(" ");

				params = new Array();
				for (var n = 2; n < eventA.length; n++)	{
					params.push(eventA[n]);
				}
		    	res = callAjax(eventA[0], eventA[1], this, params, params, 'event');
		    }
		    return false;
		} else return false;
		});
}

function delegateAsAjaxEvent(selector) {
	html.on("click", function(ev) {
		this.ajaxEvent()('click', [ev], selector);
	}.bind(this));
}

function ajaxEvent() {
	var handler = this;
	return function(event) {
		var src = Event.element(event);
		var params = src.getAttribute("event").split(" ");
		return handler.apply(src, [params[0], params[1], params.slice(2)]);
	}
}


//rating begin

var rateTitle = '';
var newRateValue = '';

function setRateValue(value, prefix){
	if(value < 0) {
		value = value * -1;
	} else {
		if(newRateValue != '')
			value = newRateValue;
	}
	width = Math.ceil((102/5)*value);
	document.getElementById(prefix+"_rateValueIndicator").style.width = width + "px";
	document.getElementById(prefix+"_rating_value").innerHTML = value;
	if (rateTitle != '')
		document.getElementById(prefix+"_rating_title").innerHTML = rateTitle;
	document.getElementById(prefix+"_rating_process_indicator").style.display = "none";
}

function postRate(value, prefix){
	document.getElementById(prefix+"_rating_process_indicator").style.display = "block";
	rateTitle = document.getElementById(prefix+"_rating_title").innerHTML;
	document.getElementById(prefix+"_rating_title").innerHTML = "";
	document.getElementById(prefix+"_rating_value").innerHTML = "";
	
	callAjax("rating", "setRating", this, [value, prefix], false, "parseRateResponse", "json");
}

function parseRateResponse(data){
	if(data){
		var obj = jQuery.parseJSON(data);
		newRateValue = obj.value;
		setRateValue(obj.value, obj.prefix);
	}
}

//rating end


function setReminder(id){
    getObj('loader_indicator_'+id).style.display = 'block';
	callAjax("reminder", "addReminder", '#reminder_section_'+id, [id], false, "", "htmli");
}

function unsetReminder(id){
    getObj('loader_indicator_'+id).style.display = 'block';
	callAjax("reminder", "removeReminder", '#reminder_section_'+id, [id], false, "", "htmli");
}





function getObj(id){
	return document.getElementById(id);
}


function setFancyHref(obj){

    browserWidth = pageHeight();

	if(browserWidth > 900)
	    sizeId = '960';
    else if(browserWidth > 700)
	    sizeId = '768';
	else
	    sizeId = '600';


    filename = obj.href.substring(0, obj.href.length - 4);
	ext = obj.href.substring(obj.href.length - 4, obj.href.length);

	obj.href = filename.split("_-_")[0]+"_-_"+sizeId+ext;
}

function setFancyHref2(id){

	obj= document.getElementById(id);

    browserWidth = pageHeight();

	if(browserWidth > 900)
	    sizeId = '960';
    else if(browserWidth > 700)
	    sizeId = '768';
	else
	    sizeId = '600';


    filename = obj.href.substring(0, obj.href.length - 4);
	ext = obj.href.substring(obj.href.length - 4, obj.href.length);

	obj.href = filename.split("_-_")[0]+"_-_"+sizeId+ext;
}


function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;}
function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;}
function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;}
function posTop() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;}
function posRight() {return posLeft()+pageWidth();}
function posBottom() {return posTop()+pageHeight();}


function showCommentReply(id){
	document.getElementById("comment_reply_"+id).style.display="block";
}
function hideCommentReply(id){
	document.getElementById("comment_reply_"+id).style.display="none";
}
function hideNewComment(){
    document.getElementById("comment_new").style.display="none";
}

function clearTextarea(id, defaultMsg) {
    if(document.getElementById(id).value == defaultMsg) {
        document.getElementById(id).value = '';
    }

}
function resetTextarea(id, defaultMsg) {

    if($.trim(document.getElementById(id).value) == '') {
        document.getElementById(id).value = defaultMsg;
    }
}
function setTextarea(id, defaultMsg) {
    document.getElementById(id).value = defaultMsg;
}

function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
}

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;







//SEARCH STUFF

    var movie_result;
	var video_result;
	var article_result;
	var actor_result;

    function setObject(){
	    if(obj.movie) 	movie_result = obj.movie;
	    if(obj.video) 	video_result = obj.video;
	    if(obj.article)	article_result = obj.article;
	    if(obj.actor) 	actor_result = obj.actor;
	    
        if(obj.tag) 	tag_result = obj.tag;
	}

	function generateA2Z(data_result){
	
	    if (data_result) {
			var res_lenght = data_result.length;
		} else {
			var res_lenght = 0;
		}
		content = '';
		for(i=0; i<res_lenght; i++){
	        content += '<a href="'+data_result[i].link+'">'+data_result[i].title+'</a> ';
	    }
	    
		return content;
	}


// MOVIE
	/* {"title": "title1","original_title": "original_title1","date": "date1","genre": "genre1","duration": "duration1","channel": "channel1","next_on_air": "next_on_air1", "casts": "casts1", "expert_rate": "3", "user_rate": "2", "link":"link1", "type":"type1", "image": "image1"} */

	function generateType2ContentView1(data_result){
	
		content = '<div class="content_box"><div class="content_box_title"><h1>'+eval(selectedCategory+'_tile')+'</h1></div><div class="content_box_title_button"></div><div class="clear"></div><div class="content_box_body">';
	    linecounter = 0;
		if (data_result) {
			var res_lenght = data_result.length;
		} else {
			var res_lenght = 0;
		}
		for(i=0; i<res_lenght; i++){
			linecounter++;
			if(linecounter==2)
			    style = 'style="margin-right:14px"';
			else if(linecounter!=4)
			    style = 'style="margin-right:13px"';
			else
	        	style = 'style="margin-right:0px"';

			content += '<div class="search_view_1_box" '+ style +'>';
			content += '<a href="'+data_result[i].link+'"><img class="search_view_1_box_image" src="'+data_result[i].image+'" /></a>';
			content += '<div class="search_view_1_box_text"><a href="'+data_result[i].link+'"><h2>'+data_result[i].title+'</h2></a>';
	        content += '<strong>'+data_result[i].original_title+'</strong> ['+data_result[i].date+']<br/>';
	        content += data_result[i].type+' ['+data_result[i].duration+' '+minutes+']<br/>';
			content += '<div class="search_view_1_box_next_on_air">'+data_result[i].channel+'<br/>'+data_result[i].next_on_air+'</div>';

			for ( var j in data_result[i].casts ){

			    content += '<a href="'+data_result[i].casts[j].link+'">'+data_result[i].casts[j].name+'</a><br />';
			}

			content += '<div class="clear"></div></div></div>';

			if(linecounter==4) {
			    content += '<div class="search_view_1_box_separator"></div>';
			    linecounter=0;
			}

		}

		content += '<div class="clear"></div></div></div>';

        changeLayoutIndicator('1');

		return content;
	}


	function generateType2ContentView2(data_result){
	
		content = '<div class="content_box"><div class="content_box_title"><h1>'+eval(selectedCategory+'_tile')+'</h1></div><div class="content_box_title_button"></div><div class="clear"></div><div class="content_box_body">';
	    linecounter = 0;
		if (data_result) {
			var res_lenght = data_result.length;
		} else {
			var res_lenght = 0;
		}
		for(i=0; i<res_lenght; i++){
			linecounter++;
			if(linecounter==2)
			    style = 'style="margin-right:14px"';
			else if(linecounter!=4)
			    style = 'style="margin-right:13px"';
			else
	        	style = 'style="margin-right:0px"';

			content += '<div class="search_view_1_box" '+ style +'>';
			content += '<a href="'+data_result[i].link+'"><img class="search_view_2_box_image" src="'+data_result[i].image+'" /></a>';
			content += '<div class="search_view_1_box_text"><a href="'+data_result[i].link+'"><h2>'+data_result[i].title+'</h2></a>';
			content += '</div></div>';

			if(linecounter==4) {
			    content += '<div class="search_view_1_box_separator"></div>';
			    linecounter=0;
			}

		}

		content += '<div class="clear"></div></div></div>';

        changeLayoutIndicator('2');

		return content;
	}

	function generateType2ContentView3(data_result){
		content = '<div class="content_box"><div class="content_box_title"><h1>'+eval(selectedCategory+'_tile')+'</h1></div><div class="content_box_title_button"></div><div class="clear"></div><div class="content_box_body">';
	    linecounter = 0;
		if (data_result) {
			var res_lenght = data_result.length;
		} else {
			var res_lenght = 0;
		}
		for(i=0; i<res_lenght; i++){
			linecounter++;

			content += '<div class="search_view_3_box">';
			content += '<a href="'+data_result[i].link+'"><img class="search_view_3_box_image" src="'+data_result[i].image+'" /></a>';
			content += '<div class="search_view_3_box_right">';
		    content += '<div class="search_view_3_box_right1">';
		    content += '<a href="'+data_result[i].link+'"><h2>'+data_result[i].title+'</h2></a>';
		    content += '<strong>'+data_result[i].original_title+'</strong> ['+data_result[i].date+']<br/>';
        	content += data_result[i].type+' ['+data_result[i].duration+' '+minutes+']<br/>';
        	content += data_result[i].channel+'<br/>'+data_result[i].next_on_air;
		    content += '</div>';
			content += '<div class="search_view_3_box_casts">';
			
              for ( var j in data_result[i].casts ){
			    content += '<a href="'+data_result[i].casts[j].link+'">'+data_result[i].casts[j].name+'</a><br />';
			}
			
            content += '</div>';
            content += '</div></div>';
            content += '<div class="search_view_1_box_separator"></div>';
		}

		content += '</div></div>';

        changeLayoutIndicator('3');

		return content;
	}


// ARTICLE
	/* {"title": "title1","text": "text1","date": "date1","tags": "tags1","link": "link1","image": "image1"} */
    function generateType1ContentView1(data_result){
 
		content = '<div class="content_box"><div class="content_box_title"><h1>'+eval(selectedCategory+'_tile')+'</h1></div><div class="content_box_title_button"></div><div class="clear"></div><div class="content_box_body">';

		linecounter = 0;

		if (data_result) {
			var res_lenght = data_result.length;
		} else {
			var res_lenght = 0;
		}
		
		
		
		for(i=0; i<res_lenght; i++){
			linecounter++;
			if(linecounter==2)
			    style = 'style="margin-right:14px"';
			else if(linecounter!=4)
			    style = 'style="margin-right:13px"';
			else
	        	style = 'style="margin-right:0px"';

			content += '<div class="search_view_1_box" '+ style +'>';
			content += '<a href="'+data_result[i].link+'"><img class="search_view_1_box_image" src="'+data_result[i].image+'" /></a>';
			content += '<div class="search_view_1_box_text"><a href="'+data_result[i].link+'"><h2>'+data_result[i].title+'</h2></a>';
			content += '<div class="search_view_1_box_content">'+strtruncate(data_result[i].text, 240)+'</div>';
			content += '<div class="search_view_1_box_date">'+data_result[i].date+'</div>';
			content += '<div class="search_view_1_box_tags">';

			for(j=0; j<data_result[i].tags.length; j++){
			    content += '<a href="'+data_result[i].tags[j]['link']+'">'+data_result[i].tags[j]['name']+'</a> ';
			}
			content += '</div>';
			content += '</div></div>';

			if(linecounter==4) {
			    content += '<div class="search_view_1_box_separator"></div>';
			    linecounter=0;
			}

		}

		content += '<div class="clear"></div></div></div>';

        

		return content;
	}

//ACTOR
	/* {"firstname": "firstname1","lastname": "lastname1","date": "date1", "image":"image1", "link":"link1"} */
	function generateActorContentView1(actor_result){

		actor_content = '<div class="content_box"><div class="content_box_title"><h1>'+eval(selectedCategory+'_tile')+'</h1></div><div class="content_box_title_button"></div><div class="clear"></div><div class="content_box_body">';
	    linecounter = 0;

		if (actor_result) {
			var res_lenght = actor_result.length;
		} else {
			var res_lenght = 0;
		}
		for(i=0; i<res_lenght; i++){
			linecounter++;
			if(linecounter==2)
			    style = 'style="margin-right:14px"';
			else if(linecounter!=4)
			    style = 'style="margin-right:13px"';
			else
	        	style = 'style="margin-right:0px"';

			actor_content += '<div class="search_view_1_box" '+ style +'>';
			actor_content += '<img src="/siteimages/'+actor_result[i].image+'" />';
			actor_content += '<div class="search_view_1_box_text"><a href="'+actor_result[i].link+'"><h2>'+actor_result[i].firstname+actor_result[i].lastname+'</h2></a>';
			actor_content += '</div></div>';

			if(linecounter==4) {
			    actor_content += '<div class="search_view_1_box_separator"></div>';
			    linecounter=0;
			}

		}

		actor_content += '<div class="clear"></div></div></div>';

		return actor_content;
	}
	
	
	function changeLayoutIndicator(type){
	    $('#search_view_1').css('background-color', '');
	    $('#search_view_1').css('background-image', 'url(/images/shape_search_view_1.png)');
	    $('#search_view_2').css('background-color', '');
	    $('#search_view_2').css('background-image', 'url(/images/shape_search_view_2.png)');
	    $('#search_view_3').css('background-color', '');
	    $('#search_view_3').css('background-image', 'url(/images/shape_search_view_3.png)');

	    $('#search_view_'+type).css('background-color', '#cbcbcb');
	    $('#search_view_'+type).css('background-image', 'url(/images/shape_search_view_'+type+'_active.png)');
	}
	
	function changeLayout(type, pager_top, pager_bottom){
	    
	    changeLayoutIndicator(type);
	    
	    viewType = type;
	    $('#result_container').html(eval('generateType2ContentView'+type)(movie_result));

	    Cufon.replace('h1');
        Cufon.replace('h2');


        $('a', '#'+pager_top).each(function(){
			this.href = this.href.replace(/view_type=[0-9]/,"view_type="+type);
		});

		$('a', '#'+pager_bottom).each(function(){
			this.href = this.href.replace(/view_type=[0-9]/,"view_type="+type);
		});

	}

	function showFilter(id){

	    orig_id = id;


		$('#searchform_categories').children().removeClass('active');
		$('#'+id).addClass('active');


		if(	id == "searchform_category_allcategories" ||
			id == "searchform_category_movies" ||
			id == "searchform_category_series" ||
			id == "searchform_category_documentary" ||
			id == "searchform_category_originalproduction" ){

	        id="searchform_category_film";

	    }


        pieces = id.split("_");
		container_id = pieces[0]+'_'+pieces[2];



		$('#searchform_film').css('display', 'none');
		$('#searchform_videos').css('display', 'none');
		$('#searchform_articles').css('display', 'none');
		$('#searchform_actorsdirectors').css('display', 'none');

		$('#'+container_id).css('display', 'block');


		if( id == "searchform_category_film" ){
			$('#category').val(orig_id.split("_")[2]);
		}


		Cufon.replace('h2');


	}
	
	
	
	function setSearchFilmFilter(){
	    inputs = $('#searchform_film :input');
		out = '?';
	    for ( var i in inputs ) {
	        if(inputs[i].checked == true ) {
				if (inputs[i].value == 'on') {
	 	           out += inputs[i].name+'=1&';
				} else {
	 	           out += inputs[i].name+'='+ inputs[i].value +'&';
				}
			}
	    }

	    if($('#keyword').val()!='')
	    	out += 'keyword='+encodeURIComponent($('#keyword').val())+'&';


	    out += 'category='+$('#category').val()+'&view_type='+ viewType;

		window.open('/search'+out,'_top');
	}



	function setSearchType1Filter(category){
	    inputs = $('#searchform_'+category+' :input');
		out = '?';
	    for ( var i in inputs ) {
	        if(inputs[i].checked == true ) {
				if (inputs[i].value == 'on') {
	            	out += inputs[i].name+'=1&';
				} else {
	            	out += inputs[i].name+'='+inputs[i].value+'&';
				}
			}
	    }

	    if($('#'+category+'_keyword').val()!='')
	    	out += category+'_keyword='+encodeURIComponent($('#'+category+'_keyword').val())+'&';

        if($('#'+category+'_from').val()!='')
	    	out += category+'_from='+encodeURIComponent($('#'+category+'_from').val())+'&';

        if($('#'+category+'_until').val()!='')
	    	out += category+'_until='+encodeURIComponent($('#'+category+'_until').val())+'&';

	    out += 'category='+category;

		window.open('/search'+out,'_top');
	}



	function setSearchActorFilter(){

		out = '?';

        out += 'minYear='+$('#slider_actor_min_input').val()+'&';

        out += 'maxYear='+$('#slider_actor_max_input').val()+'&';


	    if($('#actor_keyword').val()!='')
	    	out += 'actor_keyword='+encodeURIComponent($('#actor_keyword').val())+'&';

        out += 'actor_sex='+$('#actor_sex').val()+'&';

        out += 'actor_type='+$('#actor_type').val()+'&';

	    out += 'category=actorsdirectors';

		window.open('/search'+out,'_top');
	}
	
	
	
	
	
	
	
	
	
	
	
	
	//QUIZ
	
	function toggleQuizRules(){
	    if($('#quiz_rules').css('display') == 'none'){
	        $('#quiz_rules').show();
	    } else {
	        $('#quiz_rules').hide();
	    }
	}



	// HEADER STUFF
	ie5 = (document.all && document.getElementById);
	ns6 = (!document.all && document.getElementById);
	opacIn = 0;

	function fadeIn(divName) {

		id = document.getElementById(divName);

		if(opacIn!= 100){
			opacIn++;
			if(ie5) id.filters.alpha.opacity = opacIn;
			if(ns6) id.style.MozOpacity = opacIn/100;
			setTimeout('fadeIn("'+divName+'")', 10);
		}
	}


	function showLoginBox(){

		$('#login_box').css({display: 'block'});
		fadeIn('login_box');

		showOverflow();

		scroll(0,0);
	}
	
	function showLanguageSelector(){
	    $('#available_language_header_container').css("display", "block");
	}
	function hideLanguageSelector(){
	    $('#available_language_header_container').css("display", "none");
	}

	function hideLoginBox(){
		$('#login_box').css({display: 'none'});
		hideOverflow();
		opacIn = 0;
	}

	function showOverflow(){
		$('#overlay').css({display: 'block'});
		$('#overlay').height($('body').height());
		$('#overlay').width($(document).width());
	}

	function hideOverflow(){
		$('#overlay').height(0);
	}
	
	
	



function strtruncate(string, leng) {
    
    needPoints = false;
    
    if(string.length > leng) needPoints = true;

	string = string.substr(0,leng);

	if(needPoints == true) string += "...";

	return string;

}




function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}


function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}
	