/*
CSS Browser Selector v0.3.4 (Sep 29, 2009)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){
	var ua = u.toLowerCase(),
	is=function(t){return ua.indexOf(t)>-1;},
	g='gecko',w='webkit',s='safari',o='opera',h=document.getElementsByTagName('html')[0],
	b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; 
	c = b.join(' '); h.className += ' '+c; return c;};
css_browser_selector(navigator.userAgent);
 


$(document).ready(function(){ 
	/*
	 * A keresődoboz megjelenítése
	 * A search.tpl-ben a clickme id-jű linkre kattintva jelenik meg.
	 * a href paraméter "működik" js nélkül, a rel pedig ha van js.
	 */
	
	$('#clickme').cluetip({activation: 'click', width: 350, showTitle: false});
	
	/*
	 * Ha van JS elrejtjük a kategória rendező nyomógombját
	 */
	
	$('#orderBtn').css("display","none");
	
	//$('.OrderBoxContainer').css("display","none");
	
	var tagDivList = new Array($("#TagDiv3"));
	var normalClass = { padding : "2px 1px 0 1px", textDecoration : "none", color : "#c00200", backgroundColor : "" };
	var selectedClass = { padding : "2px 1px 0 1px", textDecoration : "none", color : "#fff", backgroundColor : "#c00200"};
	var normalHoverClass = { padding : "2px 1px 0 1px", textDecoration : "none", color : "#666", backgroundColor : ""};
	$("#TagText2").jTagging(tagDivList, ", ", normalClass, selectedClass, normalHoverClass);
	/*
	 * Ha betöltődik az oldal és van Js akkor ellenőrizzük, hogy van-e hash rész a címben
	 */
	SelectedHash();
	
	/*
	 * inputmezők ellenőrzése
	 */
	textcheck();
	/*
	 * ha nincs flash megjelenítjük a letöltő linket
	 */
	 $("#playerspace").removeClass();
	 /*
	  * kategória szűrésnél egyforma oszlopok legyenek
	  */
	 $(".label_head").equalHeight();
	
});

/*
 * A location.change függvény lekezelése
 */
(function($){
  var fn = $.event.add, w = window, wl = w.location;
  $.event.add = function (e, t) {
    if (e === wl && t == 'change' && !$.locationChangeCheck) {
      var lc = $.locationChangeCheck = function() {
        if (lc.href != wl.href) {
          lc.href = wl.href+'';
          $(e).change();
        }
      }
      lc.href = wl.href+'';
      $(w).focus(lc);
      $('html').click(function(){ w.setTimeout(lc, 10) });
    }
    return fn.apply(this, arguments);
  }
})(jQuery);

/*
 * Ha megváltozik a címsor 
 */
$(location).change(function(){
	SelectedHash();		
});

/*
 * Ha van hash rész a címsorban, akkor kiemeljük az ahhoz tartozó részt
 */
function SelectedHash() {
  var hash = window.location.hash;

  if (hash!='') {
	hash = hash.substr(1, hash.length);
	
	$(".comBod").each(function () {
	  $(this).removeClass("comSelect");
    });
    	
	$("#"+hash).addClass("comSelect");
  }
}

var reloadStarted = false;
function reloadPage(videoid) {

	var actualVideoId = '' + videoid.substr(1);	

	var playerObj = document.getElementById(actualVideoId);
	if(playerObj == null && reloadStarted == false) {
		reloadStarted = true;
		alert('Folytatódik a közvetítés!');
		//var sURL = unescape(window.location.pathname);
		//window.location.replace( sURL );
	 	window.location.reload(true);
	 }
}

/*
 * Kategóriák rendezése, szűkítése
 */
function isInteger(s) {
	return (parseInt(s).toString() == s);
}

function categoryFormSubmit() {
	
	// A kiválasztott radiobuttont adja vissza
	checked = $(":checked");
	
	check_l = checked.length;
	//alert(check_l);
	rs_value2=checked[check_l-1].value;
	//alert(rs_value2);
	
	rs_value=checked[check_l-2].value;
	//alert(rs_value);
	
	
	if (rs_value2!==undefined) {
		rs_value += "_" + rs_value2;
	}
	
	if (rs_value.indexOf("last") != -1) {
		rs_value = "last";
	}
	
	
	s = $("#orderSelect");
	s_value = s.val();
	// Ha van aldomain akkor nem jelenik mag a channel
	if (typeof s_value === "undefined") {
		s_value = "";
	}
			
	channel_id = "0";
	filter_id = "0";
	page_id = "0";
	
	//Process current link
	current_link = window.location.toString();
	if(current_link.substr(current_link.length-1,1)=="/") current_link = current_link.slice(0,-1);
	link_array = current_link.split("/");
	for(i=0; i<link_array.length; i++) {
		if(link_array[i] == 'channel') {
			if(i<link_array.length-1 //&& isInteger(link_array[i+1])
				) {	//check
				channel_id = link_array[i+1];
			}
		}
		if(link_array[i] == 'filter') {
			if(i<link_array.length-1 //&& isInteger(link_array[i+1])
				) {	//check
				filter_id = link_array[i+1];
			}
		}
	}
	if(link_array[link_array.length-2] != "channel" 
		&& link_array[link_array.length-2] != "filter" 
		&& isInteger(link_array[link_array.length-1])) {
			page_id = link_array[link_array.length-1];
	} 
//alert(link_array);
	//Creating new url
	url = "/category/";
	
	if(s_value == "") {										//no category
		if(filter_id != "0") 
			url += "filter/"+filter_id+"/";
		url += rs_value+"/";								//value of order by radio button
		if(page_id != "0") 
			url += page_id+"/";								
	} else {
		if(s_value != channel_id) {							//change category, filter and pageid does't matter
			url += "channel/"+s_value+"/";
			url += rs_value+"/";							//value of order by radio button
		} else {
			if(channel_id != "0") 
				url += "channel/"+channel_id+"/";
			if(filter_id != "0") 
				url += "filter/"+filter_id+"/";
			url += rs_value+"/";							//value of order by radio button
			if(page_id != "0") 
				url += page_id+"/";
		}
	}
	//alert(url);
	window.location=url;
}

/*
 * A link kódolása, hogy a flash tudja használni
 * A reload függvényben használjuk
 */
function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

/*
 * hibaüzenet pozicionálása
 * field: ellenőrizendő inputmező
 * error_number: inputmező azonosító
 * options: eltolás értéke - valószínűleg nem lesz rá szükség
 */
function position_jse(field, error_number, options){

	if (typeof options == "undefined") {
   			options = 0;
	 }
	
	$("#jse"+error_number).remove();

		
	$("body").append("<div id='jse"+error_number+"' class='"+$(field).attr("name")+"'></div>");
		
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		var ScrollTop = document.body.scrollTop;
	}
	else {
		var ScrollTop = window.pageYOffset;
	}

	if (options!=0) {
		//var offset=10;	
		
	} else {
		var offset=field.offset();
	}
	
	if (error_number<8){
		var a = '/ajax.php?err='+ error_number +'&value='+field.val();
	} else {
		var a = '/ajax.php?err='+ error_number;
	}
			
	var jse=$("#jse"+error_number);
	jse.load(a, function(){
		jse.css("color", "#ff0000");
		jse.css("font-size", "80%");
		jse.css("position", "absolute");
		jse.css("z-index", "2800");
		//alert(offset.top);
		//alert(ScrollTop);
		if (options!=0) {
			//jse.css("top", offset+290);
		} else {
			if (error_number==9){
				jse.css("top", offset.top+ScrollTop+45);
			} else {
				jse.css("top", offset.top+20);
			}
		}
		jse.css("left", offset.left);
		//jse.css("width", field.width());
		
		jse.fadeTo("fast", 0.86);
		jse.slideDown();
	});
}

/*
 * Hibaüzenet eltávolítása
 */
function removeError(tfield) {
	
	tfield.removeClass("error");

	$("."+tfield.attr("name")).hide();	
}
/*
 *  Az összes hibaüzeneteltávolítása
 */
function removeAllError() {
	$("#errorText").hide();
}

/*
 * Inputmező értékének ellenőrzése
 */
function validateField(field) {
	var error = false;
	// required fields
	if ($(field).attr("id").indexOf("required") != -1) {		
		if (!$(field).val().length) {
			error = 1;
		}	
	}
	// numeric fields
	if ($(field).attr("id").indexOf("numeric") != -1) {
		if (!/^[0-9]*$/.test($(field).val()))
			error = 2;	
	}
	// characters (letters)
	if ($(field).attr("id").indexOf("character") != -1) {
		if (!/^[._a-zA-ZáéíóöüőűÁÉÍÓÖÜŐŰ0-9-]*$/.test($(field).val())) {
			//[_a-zA-Z0-9-]*$ - eredeti
			//^[a-zA-Z\-\_\x80-\xFF]+$ - ez elméletileg minden karakter megenged, de az ékezetekkel nem működött rendesen
			if ($(field).val().indexOf(" ") != -1) {
				//van space
				error = 10;
			} else {
				error = 3;
			}
		} else {
				position_jse($(field), 5);
		}
	}
	// emails
	if ($(field).attr("id").indexOf("email") != -1) {
		if ($(field).val()!=''){	
		if (!/^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$/.test($(field).val())) {
			error = 4;
		} else {
			if ($(field).attr("id").indexOf("unique") != -1) {
				position_jse($(field), 7);
			}
		}	
		}
	}
	
	if ($(field).attr("id").indexOf("passwd") != -1) {
		pass=$(field).val();
		if ( ($(field).val().length<8) || ($(field).val().length>=20) ) {
			error = 6;	
		}
	}
	
	if ($(field).attr("id").indexOf("pwd2") != -1) {		
		if (pass!=$(field).val()) {
			error = 8;
		}
	}
	
	if ($(field).attr("id").indexOf("pipe") != -1) {		
		if ($("input:checked").length==0) {
			error = 9;
		}
	}
	
	removeError($(field));
	
	if (error) {
		$(field).addClass("error");
		position_jse($(field), error);
	} 
	return !error;
}

function ajax_textcheck()  {
	textcheck();
}

function ajax_validate() {
	var ret=false;
	$("form").each( function() {
		if ($(this).attr("id")=="commendation") {
			$("input, select, textarea").each( function() {
				if (typeof $(this).attr("id") != "undefined") {			
    				if ($(this).attr("id").indexOf("required")!=-1) {
    					if (!validateField(this)) {
							ret = false;
							return ret;
						} else {
							ret = true;
						}
					}
				}
			});
		}
	});
	return ret;
}

function textcheck()  {
	$("form").each( function() {

		// handle submissions without filling any field
		$(this).submit(function () {
			var validationError = false;
			// for each field test it
			$("input, select, textarea, checkbox", this).each( function() {
				if ($(this).attr("id")) {
					if (!validateField(this))
						validationError = true;
				}
			});
			
			return !validationError;
		});
			
		// handle changes on the fly
		$("input, select, textarea, checkbox", this).each( function() {
			if ($(this).attr("id")) {
				$(this).blur( function() { validateField(this) } );
    			}
		});
	});
}

/*
 * A chat panel elrejtése/megjelenítése
 */
function hideChat() {
	$("#chat1").css("visibility","hidden")
}

function showChat() {
	$("#chat1").css("visibility","visible")
};

/*
 * AJAX kiegészítések a thickboxhoz 
 */
 
function closeAjaxDiv(){
	tb_remove();
};

function hideMe(){
	closeAjaxDiv()
};

function hideVotedMe(rate, summa) {
var text ='<span id="starz01">' +
		'<object id="starz01" height="12" width="100%" type="application/x-shockwave-flash"' +
		'data="/static/flash/starz.swf" style="visibility: visible;">' +
		'<param name="salign" value="left"/>' +
		'<param name="wmode" value="transparent"/>'+
		'<param name="flashvars" value="vlu='+(rate * 2)+'"/></object>' +
		'</span>' +
		'<span>('+ rate +' értékelés ' + summa + ' szavazatból)</span>' +
		'<div class="clr"></div>';	
	
	$('#vote').css("visibility", "hidden");
	$('#vote').css("display", "none");
	
	$('#vStars').html(text);
	closeAjaxDiv();
}

function ajaxClick(nick, mail, text, emails, url, year, month, day, hour){
	
	if(ajax_validate()) {
		
		$("#jse1").remove();
		$("#jse4").remove();
		
		$("#send").css("visibility", "hidden");
			
		var send_date=year+"-"+month+"-"+day+" "+hour;
		
		/*
		 * Ha megérkeztek a postolt adatok visszatöltjük a thickbox keretébe a válaszüzenetet.
		 */
		
		$.post("/ajax.php",{ nick:nick, email:mail, text:text, send_email:emails, s_url:url, date:send_date },
		function(data) {
		 $("#TB_ajaxContent").html(data);
			tb_expand();
		});	
	}
};

function ajaxCommentClick(commits, premises, types, ids){
	$.post("/ajax.php",{ comment: commits, premise:premises, type:types, id:ids}, function(){window.location.reload();});
};

function ShowPriceSelect(channel_id) {
	$("#price_list").addClass('hide');
	$.ajax({
		type: "POST",
		url: "/ajax.php",
		data: "l=price&channel="+channel_id,
		success: function(msg){
			if (msg) {
				//alert( "Visszatérési érték: " + msg );
				$("#price_list").html(msg);
				$("#price_list").removeClass('hide');
			}
		}
	 });
};


function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
  	if ($.browser.safari) {
  		if (movieName.length<8) {
  			return document[movieName];
  		} else {
	  		var temp = document[movieName];
	  		return temp[0];
  		}
  	} else {
    	return document[movieName];
  	}
  }
}

function reload_m_f(user)
{
	var parameter = user.split("!");
	var chart_div;
	var intervall;
	
	chart_div = "chart_1";
	intervall="#change_intervall";
	

	tmp = findSWF(chart_div);

	x = tmp.reload("/f_chart.php?user="+parameter[0]+"&intervall=monthly&int_date="+parameter[1]+"&start_value="+parameter[2]);
	
	$(intervall).css("visibility", "visible");
}

function reload_y_f(user)
{
	var parameter = user.split("!");
	var chart_div;
	var intervall;
	
	chart_div = "chart_1";
	intervall="#change_intervall";
	

	tmp = findSWF(chart_div);

	x = tmp.reload("/f_chart.php?user="+parameter[0]+"&intervall=yearly");
	$(intervall).css("visibility", "hidden");
}

/**
 * Az ajaxos részeken újra kell inicializálni a niceform elemeit
 */
function nfinit() {
	preloadImages();
	getElements();
	separateElements();
	replaceTexts();
	replaceTextareas();
}

function hide_show_Chat(fms,video,session) {
	window.open('/ajax.php?l=chat&fmschatdomainname='+fms+'&video_id='+video+'&session_id='+session, 'chat_window', 'width=400, height=600');
}