function getKeresoText() {
	var a = document.getElementById('default_search_text');
	if (a != null) return a.value;
	return '';
}
    
function keresoFocus(obj) {
    obj.className = 'kereso_mezo_aktiv';
    if (obj.value == getKeresoText()) obj.value = '';
}

function keresoBlur(obj) {
    obj.className = 'kereso_mezo_inaktiv';
    if (obj.value == '') obj.value = getKeresoText();
}

function centerX(opj) {
	return Math.round((document.body.clientWidth - opj.clientWidth)/2);
}

function centerY(opj) {
	return Math.max((Math.round((screen.availHeight - opj.clientHeight)/2) - 100), 0);
}

function openNewWindow(url) {
	var korte = Math.round((screen.availWidth - 820)/2);
	var szilva = Math.max((Math.round((screen.availHeight - 600)/2) - 30), 0);
	var params = 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, menubar=no, width=820, height=600, left=' + korte + 'px, top=' + szilva + 'px';
	window.open(url, '_blank', params);
}

function openNewLayer(url) {
	openNewWindow(url);
	//showFedoLayer();
	//putCenter('adatlap_layer');
	//$('adatlap_iframe').src = url;
}

function closeNewLayer() {
	hideFedoLayer();
	$('adatlap_layer').hide();
}

function keresoFormSubmit(tip) {
	if (tip != null && tip != '') document.getElementById('kereses_tipus').value=tip;
	document.getElementById('kereses_form').submit();
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+escape(value)+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function getElementLeft(Elem) {
	/*if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {*/
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	//}
}


function getElementTop(Elem) {
	/*if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {*/
		if(document.getElementById) {	
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	//}
}

function getElementTopByRef(elem) {
	/*if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {*/
		
		var yPos = elem.offsetTop;
		var tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		
		return yPos;
	//}
}

function getElementLeftByRef(elem) {
	/*if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {*/
		var xPos = elem.offsetLeft;
		var tempEl = elem.offsetParent;
		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	//}
}

function alignTo(element, to) {
	if (!element || !to) return;
	
	var top = getElementTopByRef(to);
	var left = getElementLeftByRef(to);
	console.log(top);
	console.log(left);
	element.style.position = 'absolute';
	element.style.top = top + 'px';
	element.style.left = left + 'px';
}

function toggleMufajok(sorszam, opj) {
	if (opj.value == '') {
		hideMufaj(sorszam);
	} else {
		var kov = $('mufaj'+(sorszam+1));
		if (!kov.visible()) {
			kov.show();
		}
	}
}

function hideMufaj(sorszam) {
	var opj = $('mufaj'+sorszam);
	if (sorszam < 3) {
		var kov = $('mufaj'+(sorszam+1));
		opj.selectedIndex = kov.selectedIndex;
		kov.selectedIndex = 0;
		hideMufaj(sorszam+1);
		if (opj.value == '') {
			kov.hide();
		}
	}
	if (opj.value == '') {
		opj.className = '';
	}
}

function toggleAjandek() {
	if ($('ajandek').value == '2') {
		var a = $('hol');
		a.selectedIndex = 0;
		onParamsChangeStyle(a);
		a.hide();
		a = $('kivel');
		a.selectedIndex = 0;
		onParamsChangeStyle(a);
		a.hide();
	} else {
		$('hol').show();
		$('kivel').show();
	}
}

function showFedoLayer() {
	var fedo = $('fedo_layer');
	if (fedo == null) return;
	//if (!Object.isUndefined(layerImages) && Object.isArray(layerImages)) {
	try {
		var rand = Math.round(Math.random()*Math.pow(10, (layerImages.length % 10)));
		rand = rand % layerImages.length;
		var image = layerImages[rand];
		fedo.style.backgroundImage = "url(" + image + ")";
	} catch(e) {
	}
	fedo.style.top = '0px';
	fedo.style.left = '0px';
	var he = document.body.clientHeight;
	var he2 = screen.availHeight;
	he = Math.max(he, he2);
	//var he = document.body.clientHeight;
	var wi = document.body.clientWidth;
	fedo.style.width = wi+'px';
	fedo.style.height = he+'px';
	fedo.show();
}

function hideFedoLayer() {
	$('fedo_layer').hide();
}

function putCenter(opj_name) {
	var fedo = $(opj_name);
	fedo.show();
	var wi = document.body.clientWidth;
	var owi = fedo.clientWidth;
	var off = 100;
	fedo.style.top = off+'px';
	off = Math.round((wi - owi) / 2);
	fedo.style.left = off+'px';
}

var myModifiers = {
	truncate : function(str, length) { 
		if (str.length <= length) return str;
		return str.substring(0, length-2) + '..';
	}
};

function showTrailer(title, emb) {
	showFedoLayer();
	
	document.getElementById('trailer_inner').innerHTML = '<h2>' + title + '</h2><div id="trailerContainer"></div><br/> <!--Ha nem indul el a filmelőzetes, akkor kérlek, <a href="#" onclick="missingTrailer( child_azon ,  title.escapeHTML() ); return false;">kattints ide</a>!-->';
	
	var videoID = emb;
	// Lets Flash from another domain call JavaScript
	var params = { allowScriptAccess: "always" };
	// The element id of the Flash embed
	var atts = { id: "ytPlayer" };
	// All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
	swfobject.embedSWF("http://www.youtube.com/v/" + videoID +
	                 "&enablejsapi=1&playerapiid=player1",
	                 "trailerContainer", "480", "295", "8", null, null, params, atts);
					 
	var fedo = $('trailer_layer');
	fedo.show();
	
	var wi = document.body.clientWidth;
	var owi = fedo.clientWidth;
	var off = 100;
	fedo.style.top = off+'px';
	off = Math.round((wi - owi) / 2);
	fedo.style.left = off+'px';
	window.scrollTo(0, 0); 
	/*var tipper = cTipper();
	$('trailer_tip').innerHTML = tipper.getTip('trailer');*/
}

function hideTrailer() {
	$('fedo_layer').hide();
	$('trailer_layer').hide();
	$('trailer_inner').innerHTML = '';
}

function sendUploadVote(title, azon) {
	var keres = new Ajax.Request('/remoter.php?action=senduploadvote&movie='+azon+'&title='+title, {
		method:'get',
			onSuccess: function(transport){
				alert('Köszönjük! A film bekerült a sorba. Amint tudjuk rögzítjük. Köszönjük a türelmet addig.');
			}
		});
}

function parseDate(datum, separ) {
	if (separ == null || separ == '') separ = '-';
	datum = datum.substr(0, 10);
	var tomb = datum.split(separ);
	var ret = new Date();
	ret.setFullYear(tomb[0]);
	ret.setMonth(tomb[1]);
	ret.setDate(tomb[2]);
	return ret;
}

function getDiffDays(datum1, datum2) {
	var datu1 = null;
	if (datum1 == '') {
		datu1 = new Date();
	} else {
		datu1 = parseDate(datum1);
	}
	var datu2 = null;
	if (datum2 == '') {
		datu2 = new Date();
	} else {
		datu2 = parseDate(datum2);
	}
	return Math.round((datu1.getTime() - datu2.getTime()) / (1000 * 60 * 60 * 24));
}

function getDiffYears(datum1, datum2) {
	return Math.round(getDiffDays(datum1, datum2) / 365);
}

function getSelectedRadio(name) {
	var radio = $$('input[type="radio"][name="'+name+'"]').find( function(re) {return re.checked;} );
	if (radio) return radio.value;
	return '';
}

function embed(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  return generateEmbed(ret.objAttrs, ret.params, ret.embedAttrs);
}

function generateEmbed(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  return str;
}

function importScript(source) {
    var v = document.createElement('script');
    v.setAttribute('type', 'text/javascript');
    v.setAttribute('src', source);
    document.body.appendChild(v);
}

FilmX = {
	apply: function(o, c, defaults){
	    // no "this" reference for friendly out of scope calls
	    if(defaults){
	        FilmX.apply(o, defaults);
	    }
	    if(o && c && typeof c == 'object'){
	        for(var p in c){
	            o[p] = c[p];
	        }
	    }
	    return o;
	}
};

/*var cBrowser = Class.create({
	initialize: function() {
		var userAgent = navigator.userAgent.toLowerCase();
		this.version = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1];
		this.safari = /webkit/.test( userAgent );
		this.opera = /opera/.test( userAgent );
		this.msie = /msie/.test( userAgent ) && !/opera/.test( userAgent );
		this.mozilla = /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent );
	}
});
var Browser = new cBrowser();*/


Fx = {};

if (typeof Ajax === 'object' && Ajax.Autocompleter) {
	Fx.Autocompleter = Class.create(Ajax.Autocompleter, {
	  onComplete: function(request) {
	  	var data = request.responseText.evalJSON();
		var inner = "<ul>";
		for (var i=0; i<data.data.length; i++) {
			inner += "<li>" + data.data[i].plain + "</li>";
		}
		inner += "</ul>";
	    this.updateChoices(inner);
	  },
	  getUpdatedChoices: function($super) {
	  	if (typeof this.options.beforeQuery == 'function') {
			this.options.defaultParams = this.options.beforeQuery(this.options.defaultParams);
		}	
		$super();
	  }
	});
}

Array.prototype.findBy = function( key, value ) {
	for ( var i=0; i < this.length; i++ ) {
		if ( this[i][key] == value ) {
			return true;
		}
	}
	return false;
};
