function urlencode(str) {
	str = (str + '').toString();
	return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}
/*!
 * jQuery TextChange Plugin
 * http://www.zurb.com/playground/jquery-text-change-custom-event
 *
 * Copyright 2010, ZURB
 * Released under the MIT License
 */
 (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var c=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(c)},
 25)},triggerIfChanged:function(a){var b=a[0].contentEditable==="true"?a.html():a.val();b!==a.data("lastValue")&&(a.trigger("textchange",[a.data("lastValue")]),a.data("lastValue",b))}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(c,b){b===""&&b!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange",
 a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(c,b){a(this).val()===""&&a(this).val()!==b&&a(this).trigger("notext")}}})(jQuery);

$(function() {
	
	/**menü kepguru gomb
	$("#kepguru_gomb").hover(function(){
		$("#kepguru_gomb").html('Zöldségek');
	});
	**/
	
	//url feldolgozó
	$('#komment_tartalma').bind('textchange', function () {
		reg = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?/;
		hit = reg.exec($("#komment_tartalma").val());
		url = hit[0];  // url változóba kerül a kiolvasott url
		$.get(
			"feldolgozas.php?url=" . urlencode(hit[0]),
			 function(html){
				urlFeldolgozas = 0;
				$("#urladatok").html(html.title);
			}
		);
	});
	
	//tab váltó
	$("div.tartalom_tabpanelfej").tabs("div.panes > div.tab", {
		initialIndex: 0,
		onClick: function(event, index){
			tab = $(".panes").children()[index];
			$(tab).find("img").each(function(i,img){
			if ($(img).attr("tab-data")) {
				$(img).css('opacity', 0);
				$(img).load(function() { $(img).animate({ opacity: 1 }, 1000); });
				$(img).attr('src', $(img).attr('tab-data'));
				//$(img).attr('data-src', $(img).attr('tab-data'));
				$(img).removeAttr('tab-data');
			}
	        $('iframe[tab-frame]').live('inview', function(event, isVisible) {
				if (!isVisible) {
					return;
				}
				var iframe = $(this);
				iframe.attr('src', iframe.attr('tab-frame'));
				iframe.removeAttr('tab-frame');
			});
			});
		}
	});
	
	//tab váltó (második)
	$("div.tartalom_tabpanelfej2").tabs("div.panes2 > div.tab2", {
		initialIndex: 0,
		onClick: function(event, index){
			tab = $(".panes2").children()[index];
			$(tab).find("img").each(function(i,img){
			if ($(img).attr("tab-data")) {
				$(img).css('opacity', 0);
				$(img).load(function() { $(img).animate({ opacity: 1 }, 1000); });
				$(img).attr('src', $(img).attr('tab-data'));
				//$(img).attr('data-src', $(img).attr('tab-data'));
				$(img).removeAttr('tab-data');
			}
	        $('iframe[tab-frame]').live('inview', function(event, isVisible) {
				if (!isVisible) {
					return;
				}
				var iframe = $(this);
				iframe.attr('src', iframe.attr('tab-frame'));
				iframe.removeAttr('tab-frame');
			});
			});
		}
	});
	
	//tab váltó (harmadik)
	$("div.tartalom_tabpanelfej3").tabs("div.panes3 > div.tab3", {
		initialIndex: 0,
		onClick: function(event, index){
			tab = $(".panes3").children()[index];
			$(tab).find("img").each(function(i,img){
			if ($(img).attr("tab-data")) {
				$(img).css('opacity', 0);
				$(img).load(function() { $(img).animate({ opacity: 1 }, 1000); });
				$(img).attr('src', $(img).attr('tab-data'));
				//$(img).attr('data-src', $(img).attr('tab-data'));
				$(img).removeAttr('tab-data');
			}
	        $('iframe[tab-frame]').live('inview', function(event, isVisible) {
				if (!isVisible) {
					return;
				}
				var iframe = $(this);
				iframe.attr('src', iframe.attr('tab-frame'));
				iframe.removeAttr('tab-frame');
			});
			});
		}
	});
	
	//jobbtab váltó
	$("div.jobb_tabpanelfej").tabs("div.jpanes > div.jtab", {
		initialIndex: 0,
		onClick: function(event, index){
			tab = $(".jpanes").children()[index];
			$(tab).find("img").each(function(i,img){
			if ($(img).attr("tab-data")) {
				$(img).css('opacity', 0);
				$(img).load(function() { $(img).animate({ opacity: 1 }, 1000); });
				$(img).attr('src', $(img).attr('tab-data'));
				//$(img).attr('data-src', $(img).attr('tab-data'));
				$(img).removeAttr('tab-data');
			}
	        $('iframe[tab-frame]').live('inview', function(event, isVisible) {
				if (!isVisible) {
					return;
				}
				var iframe = $(this);
				iframe.attr('src', iframe.attr('tab-frame'));
				iframe.removeAttr('tab-frame');
			});
			});
		}
	});
	
	//viewport képek
	$('img[data-src]').live('inview', function(event, isVisible) {
		if (!isVisible) {
			return;
		}
		var img = $(this);
		img.css('opacity', 0);
		img.load(function() { img.animate({ opacity: 1 }, 500); });
		img.attr('src', img.attr('data-src'));
		img.removeAttr('data-src');
	});
	//viewport framek
	$('iframe[frame-src]').live('inview', function(event, isVisible) {
		if (!isVisible) {
			return;
		}
		var iframe = $(this);
		iframe.attr('src', iframe.attr('frame-src'));
		iframe.removeAttr('frame-src');
	});

/**
 * author Christopher Blum
 *    - based on the idea of Remy Sharp, http://remysharp.com/2009/01/26/element-in-view-event-plugin/
 *    - forked from http://github.com/zuk/jquery.inview/
 */

	function getViewportSize() {
		var mode, domObject, size = { height: window.innerHeight, width: window.innerWidth };

		// if this is correct then return it. iPad has compat Mode, so will
		// go into check clientHeight/clientWidth (which has the wrong value).
		if (!size.height) {
			mode = document.compatMode;
			if (mode || !$.support.boxModel) { // IE, Gecko
				domObject = mode === 'CSS1Compat' ?
					document.documentElement : // Standards
					document.body; // Quirks
				size = {
					height: domObject.clientHeight,
					width:  domObject.clientWidth
				};
			}
		}

		return size;
	}

	function getViewportOffset() {
		return {
			top:  window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop,
			left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
		};
	}

	function checkInView() {
		var elements = [], elementsLength, i = 0, viewportSize, viewportOffset, expando = $.expando;

		// naughty, but this is how it knows which elements to check for
		$.each($.cache, function(i, cacheObj) {
			var events = cacheObj.events;
			if (!events) {
				// needed for jQuery 1.5+
				cacheObj = this[expando];
				events = cacheObj && cacheObj.events;
			}
			
			if (events && events.inview) {
				if (events.live) {
					var context = $(cacheObj.handle.elem);
					$.each(events.live, function() {
						if (this.origType.substr(0, 6) === 'inview') {
							elements = elements.concat(context.find(this.selector).toArray());
						}
					});
				} else {
					elements.push(cacheObj.handle.elem);
				}
			}
		});
		
		elementsLength = elements.length;
		if (elementsLength) {
			viewportSize   = getViewportSize();
			viewportOffset = getViewportOffset();

			for (; i<elementsLength; i++) {
				// Ignore elements that are not in the DOM tree
				if (!$.contains(document.documentElement, elements[i])) {
				  continue;
				}

				var $element      = $(elements[i]),
					elementSize   = { height: $element.height(), width: $element.width() },
					elementOffset = $element.offset(),
					inView        = $element.data('inview'),
					visiblePartX,
					visiblePartY,
					visiblePartsMerged;

				if (elementOffset.top + elementSize.height >= elementOffset.top &&
					elementOffset.top < viewportOffset.top + viewportSize.height &&
					elementOffset.left + elementSize.width >= viewportOffset.left &&
					elementOffset.left < viewportOffset.left + viewportSize.width) {
					visiblePartX = (viewportOffset.left > elementOffset.left ?
						'right' : (viewportOffset.left + viewportSize.width) < (elementOffset.left + elementSize.width) ?
						'left' : 'both');
					visiblePartY = (viewportOffset.top > elementOffset.top ?
						'bottom' : (viewportOffset.top + viewportSize.height) < (elementOffset.top + elementSize.height) ?
						'top' : 'both');
					visiblePartsMerged = visiblePartX + "-" + visiblePartY;
					if (!inView || inView !== visiblePartsMerged) {
						$element.data('inview', visiblePartsMerged).trigger('inview', [true, visiblePartX, visiblePartY]);
					}
				} else if (inView) {
				  $element.data('inview', false).trigger('inview', [false]);
				}
			}
		}
	}

	// Use setInterval in order to also make sure this captures elements within
	// "overflow:scroll" elements or elements that appeared in the dom tree due to
	// dom manipulation and reflow
	// old: $(window).scroll(checkInView);
	//
	// By the way, iOS (iPad, iPhone, ...) seems to not execute, or at least delays
	// intervals while the user scrolls. Therefore the inview event might fire a bit late there
	setInterval(checkInView, 250);
});


function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function kedveltseg(letoltes,db) {
minSzelesseg = 20;
maxSzelesseg = 426;
valtozoSzelesseg = maxSzelesseg-minSzelesseg; //316
maxLetoltesKepenkent = 100;
letoltesKepenkent = Math.round(letoltes/db);

if (letoltesKepenkent > maxLetoltesKepenkent)
	szelesseg = maxSzelesseg;
else
	szelesseg = minSzelesseg + Math.round(valtozoSzelesseg*(letoltesKepenkent/maxLetoltesKepenkent));

document.write('<div title="Kedveltségi szint (átlagos letöltés képenként)" style="background-image:url(e/tempbar2011.png); background-repeat:no-repeat; height:24px; text-align:right; margin:2px 0px 0px 0px; padding:2px 2px 2px 2px; font-size:18px; font-family:Verdana, Arial, Helvetica, sans-serif; font-weight:bold; color:#FFFFFF; width:' + szelesseg + 'px;" >');
document.write(Math.round(letoltes/db));
document.write('</div>');
}

function maradekKarakterek() {
	// invoke key up event for txtMessage Control
	var maxchar = 1000;
	$('#maradek_karakterek').html("");
	$('#komment_tartalma').keyup(function() {
		// get each time length and display in div
		var txtmessage = $('#komment_tartalma').val();
		var remain = maxchar - txtmessage.length;
		if (remain >= 50) {
			$('#maradek_karakterek').html("Még " + remain + " betűt írhatsz.");
		}
		else if (remain >0) {
			$('#maradek_karakterek').html('<font color="#ff8000">Már csak ' + remain + ' betű maradt...</font>');
		}
		else if (remain =0) {
			$('#maradek_karakterek').html('<font color="#FF0000">Megtelt szövegbox!</font>');
		}
		else {
			$('#maradek_karakterek').html('<font color="#FF0000">Megtelt szövegbox!</font>');
			$('#komment_tartalma').val(txtmessage.substring(0, maxchar));
		}
	});
}

function kepNezegeto() {
}

function kepNezegeto_r() {
	(function($){
	     $.fn.extend({
	          center: function (options) {
	               var options =  $.extend({
	                    inside:window, // element, center into window
	                    transition: 0, // millisecond, transition time
	                    minX:0, // pixel, minimum left element value
	                    minY:0, // pixel, minimum top element value
	                    withScrolling:true, // booleen, take care of the scrollbar (scrollTop)
	                    vertical:true, // booleen, center vertical
	                    horizontal:true // booleen, center horizontal
	               }, options);
	               return this.each(function() {
	                    var props = {position:'absolute'};
	                    if (options.vertical) {
	                         var top = ($(options.inside).height() - $(this).outerHeight()) / 2;
	                         if (options.withScrolling) top += $(options.inside).scrollTop() || 0;
	                         top = (top > options.minY ? top : options.minY);
	                         $.extend(props, {top: top+'px'});
	                    }
	                    if (options.horizontal) {
	                          var left = ($(options.inside).width() - $(this).outerWidth()) / 2;
	                          if (options.withScrolling) left += $(options.inside).scrollLeft() || 0;
	                          left = (left > options.minX ? left : options.minX);
	                          $.extend(props, {left: left+'px'});
	                    }
	                    if (options.transition > 0) $(this).animate(props, options.transition);
	                    else $(this).css(props);
	                    return $(this);
	               });
	          }
	     });
	})(jQuery);
	function view(pos)
	{
		if (items.length > 1) {
			if (pos == items.length - 1) {
				$(".kovetkezoGomb").css("display", "none");
				$(".elozoGomb").css("display", "block");
			} else if (pos == 0) {
				$(".kovetkezoGomb").css("display", "block");
				$(".elozoGomb").css("display", "none");
			} else if (pos > 0 && pos < items.length - 1) {
				$(".kovetkezoGomb").css("display", "block");
				$(".elozoGomb").css("display", "block");
			}
		}
		else {
			$(".kovetkezoGomb").css("display", "none");
			$(".elozoGomb").css("display", "none");
		}
		var src = $(items[i]).attr('src');
		if (src.indexOf("hke.php") == -1) {
            var lastpos = src.lastIndexOf("_k");
            src = "hke.php?l=" + src.substr(0, lastpos) + "_x" + src.substr(lastpos + 2);
        }
        $(".overlay img").attr("src", src);
		var kid = $(items[i]).attr("id");
		$(".overlay a.letoltesGomb").attr("href", "kl.php?kid=" + kid.substr(3)); 
	}
	var i = 0;
	var items = $(".lapozhatoKep img").get();
	$(".lapozhatoKep img").click(function(event){
		i = $(".lapozhatoKep img").index(this);
		view(i);
		$(".overlay").center();
		$(window).bind('resize', function() {
			$('.overlay').center({transition:0});
		});
		$("#tarolo").before('<div id="block"> </div>');
		$(".overlay").show("fast");;
		event.stopPropagation();
		event.preventDefault();
	});
	$(".kovetkezoGomb").click(function(event) {
		if (i < items.length - 1) {
			i = i + 1;
		}
		view(i);
	});
	$(".elozoGomb").click(function(event) {
		if (i > 0) {
			i = i - 1;
		}
		view(i);
	});
	$(".overlay .zaroGomb").click(function(){
		$(".overlay").hide("fast");;
		$("#block").remove();
	});
}

function installSearchEngine() {
	if (window.external && ("AddSearchProvider" in window.external)) {
	  // Firefox 2 and IE 7, OpenSearch
	  window.external.AddSearchProvider("http://www.autogaleria.hu/searcheng.xml");
	} else if (window.sidebar && ("addSearchEngine" in window.sidebar)) {
	  // Firefox <= 1.5, Sherlock
	  window.sidebar.addSearchEngine("http://www.autogaleria.hu/searcheng.xml","http://www.autogaleria.hu/favicon.ico","Search Plugin", "");
	} else {
	  // No search engine support (IE 6, Opera, etc).
	  alert("A böngésződ sajnos nem támogatja a keresőmotorok telepítését.");
	}
}

