/* jQote2 - client-side Javascript templating engine | Copyright (C) 2010, aefxx | http://aefxx.com/ | Dual licensed under the WTFPL v2 or MIT (X11) licenses | WTFPL v2 Copyright (C) 2004, Sam Hocevar | Date: Thu, Oct 21st, 2010 | Version: 0.9.7 */
(function($){var _=false,E1="UndefinedTemplateError",E2="TemplateCompilationError",E3="TemplateExecutionError",A="[object Array]",S="[object String]",F="[object Function]",n=1,c="%",q=/^[^<]*(<[\w\W]+>)[^>]*$/,ts=Object.prototype.toString;function r(e,x){throw ($.extend(e,x),e)}function dns(f) {var a=[];if(ts.call(f)!==A)return _;for(var i=0,l=f.length;i<l;i++)a[i]=f[i].jqote_id;return a.length?a.sort().join('.').replace(/(\b\d+\b)\.(?:\1(\.|$))+/g,"$1$2"):_}function l(s,t){var f,g=[],t=t||c,x=ts.call(s);if(x===F)return s.jqote_id?[s]:_;if(x!==A)return[$.jqotec(s,t)];if(x===A)for(var i=0,l=s.length;i<l;i++)return g.length?g:_}$.fn.extend({jqote:function(x,y){var x=ts.call(x)===A?x:[x],d="";this.each(function(i){var f=$.jqotec(this,y);for(var j=0;j<x.length;j++)d+=f.call(x[j],i,j,x,f)});return d}});$.each({app:"append",pre:"prepend",sub:"html"},function(x,y){$.fn["jqote"+x]=function(e,d,t){var p,r,s=$.jqote(e,d,t),$$=!q.test(s)?function(s){return $(document.createTextNode(s))}:$;if(!!(p=dns(l(e))))r=new RegExp("(^|\\.)"+p.split(".").join("\\.(.*)?")+"(\\.|$)");return this.each(function(){var z=$$(s);$(this)[y](z);(z[0].nodeType===3?$(this):z).trigger("jqote."+x,[z,r])})}});
$.extend({jqote:function(e,d,t){var s="",t=t||c,f=l(e);if(f===_)r(new Error("Empty or undefined template passed to $.jqote"),{type:E1});d=ts.call(d)!==A?[d]:d;for(var i=0,m=f.length;i<m;i++)for(var j=0;j<d.length;j++)s+=f[i].call(d[j],i,j,d,f[i]);return s},jqotec:function(x,t){var h,e,y,t=t||c,z=ts.call(x);if(z===S&&q.test(x)){e=y=x;if(h=$.jqotecache[x])return h}else{e=z===S||x.nodeType?$(x):x instanceof jQuery?x:null;if(!e[0]||!(y=e[0].innerHTML)&&!(y=e.text()))r(new Error("Empty or undefined template passed to $.jqotec"),{type:E1});if(h=$.jqotecache[$.data(e[0],"jqote_id")])return h}var s="",i,a=y.replace(/\s*<!\[CDATA\[\s*|\s*\]\]>\s*|[\r\n\t]/g,"").split("<"+t).join(t+">\x1b").split(t+">");for(var m=0,k=a.length;m<k;m++)s+=a[m].charAt(0)!=="\x1b"?"out+='"+a[m].replace(/(\\|["'])/g,"\\$1")+"'":(a[m].charAt(1)==="="?";out+=("+a[m].substr(2)+");":(a[m].charAt(1)==="!"?";out+=$.jqotenc(("+a[m].substr(2)+"));":";"+a[m].substr(1)));s="try{"+('var out="";'+s+";return out;").split("out+='';").join("").split('var out="";out+=').join("var out=")+'}catch(e){e.type="'+E3+'";e.args=arguments;e.template=arguments.callee.toString();throw e;}';try{var f=new Function("i, j, data, fn",s)}catch(e){r(e,{type:E2})}i=e instanceof jQuery?$.data(e[0],"jqote_id",n):e;return $.jqotecache[i]=(f.jqote_id=n++,f)},
jqotefn:function(e){var t=ts.call(e),i=t===S&&q.test(e)?e:$.data($(e)[0],"jqote_id");return $.jqotecache[i]||_},jqotetag:function(s){if(ts.call(s)===S)c=s},jqotenc:function(s){return s.toString().replace(/&(?!\w+;)/g,'&#38;').split('<').join('&#60;').split('>').join('&#62;').split('"').join('&#34;').split("'").join('&#39;')},jqotecache:{}});$.event.special.jqote={add:function(o){var n,h=o.handler,d=!o.data?[]:ts.call(o.data)!==A?[o.data]:o.data;if(!o.namespace)o.namespace="app.pre.sub";if(!d.length||!(n=dns(l(d))))return;o.handler=function(e,m,r){return !r||r.test(n)?h.apply(this,[e,m]):null}}}})(jQuery);

/* jQuery history plugin | The MIT License  http://kundermann.hu/wp-content/themes/kudermann/js/jquery.history.license.txt | Copyright (c) 2006-2009 Taku Sano (Mikage Sawatari) | Copyright (c) 2010 Takayuki Miwa */
(function(c){function g(a){function b(a){var h=RegExp(c.map(a,encodeURIComponent).join("|"),"ig");return function(a){return a.replace(h,decodeURIComponent)}}a=c.extend({unescape:!1},a||{});d.encoder=function(a){return!0===a?function(a){return a}:"string"==typeof a&&(a=b(a.split("")))||"function"==typeof a?function(b){return a(encodeURIComponent(b))}:encodeURIComponent}(a.unescape)}var d={put:function(a,b){(b||window).location.hash=this.encoder(a)},get:function(a){a=(a||window).location.hash.replace(/^#/,
"");try{return c.browser.mozilla?a:decodeURIComponent(a)}catch(b){return a}},encoder:encodeURIComponent},e={id:"__jQuery_history",init:function(){var a='<iframe id="'+this.id+'" style="display:none" src="javascript:false;" />';c("body").prepend(a);return this},_document:function(){return c("#"+this.id)[0].contentWindow.document},put:function(a){var b=this._document();b.open();b.close();d.put(a,b)},get:function(){return d.get(this._document())}},f={base:{callback:void 0,type:void 0,check:function(){},
load:function(){},init:function(a,d){g(d);b.callback=a;b._options=d;b._init()},_init:function(){},_options:{}},timer:{_appState:void 0,_init:function(){var a=d.get();b._appState=a;b.callback(a);setInterval(b.check,100)},check:function(){var a=d.get();if(a!=b._appState)b._appState=a,b.callback(a)},load:function(a){if(a!=b._appState)d.put(a),b._appState=a,b.callback(a)}},iframeTimer:{_appState:void 0,_init:function(){var a=d.get();b._appState=a;e.init().put(a);b.callback(a);setInterval(b.check,100)},
check:function(){var a=e.get(),c=d.get();if(c!=a)c==b._appState?(b._appState=a,d.put(a),b.callback(a)):(b._appState=c,e.put(c),b.callback(c))},load:function(a){if(a!=b._appState)d.put(a),e.put(a),b._appState=a,b.callback(a)}},hashchangeEvent:{_init:function(){b.callback(d.get());c(window).bind("hashchange",b.check)},check:function(){b.callback(d.get())},load:function(a){d.put(a)}}},b=c.extend({},f.base);b.type=c.browser.msie&&(8>c.browser.version||8>document.documentMode)?"iframeTimer":"onhashchange"in
window?"hashchangeEvent":"timer";c.extend(b,f[b.type]);c.history=b})(jQuery);

/* jQuery.ScrollTo - Easy element scrolling using jQuery. | Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com | Dual licensed under MIT and GPL. | Date: 3/9/2009 | @author Ariel Flesler | @version 1.4.1 | http://flesler.blogspot.com/2007/10/jqueryscrollto.html */
;(function($){var m=$.scrollTo=function(b,h,f){$(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};m.window=function(b){return $(window).scrollable()};$.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||$.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return $.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};$.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=$.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=$(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)){d=n(d);break}d=$(d,this);case'object':if(d.is||d.style)p=(d=$(d)).offset()}$.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);

$(function(){

	var	body = $('body'),
		gallery = $('#gallery'),
		fbLike = $('.fb-like'),
		attachmentClass = 'attachment';
	
	// ======= Galéria oldalak =======

	if(gallery.length){
		$.history.init(function(hash){
			if(gallery.data('imgs') && hash){
				showGalleryImage(hash);
			} else if (gallery.data['imgs']) {
				showGalleryThumbnails(gallery.data['imgs']);
			} else {
				getGalleryData(gallery.data('id'), hash);
			}
		});

		gallery.on('click', '.tn', function(){
			$.history.load($(this).index()+1);
		})
	}

	function getGalleryData(id, n) {
		$.ajax({
			url: '/api/get_page/?id='+id,
			type: 'get',
			success: function(resp){
				if(resp.status=='ok'){
					gallery.data('imgs', resp.page.attachments);
					if(n) {
						showGalleryImage(n);
					} else {
						showGalleryThumbnails();
					}
				} else {
					gallery.show();
					return false;
				}
			},
			error: function() {
				gallery.show();
				return false;
			}
		});
	}

	function showGalleryImage(n) {
		$.scrollTo(0, 1000);
		var image = gallery.data('imgs')[n-1];
		var img = image.images.large;
		body.addClass(attachmentClass);
		gallery.html('').hide();
		gallery.append(
			$('#imgTpl').jqote({
				src: img.url,
				width: img.width,
				height: img.height,
				title: image.title, 
				description: image.description,
				caption: image.caption,
				prev: '#' + (parseInt(n)-1),
				next: '#' + (parseInt(n)+1)
			}, '*')
		);
		if(n==1) gallery.find('.prev').hide();
		if(n==gallery.data('imgs').length) gallery.find('.next').hide();
		fbLike.hide();
		gallery.fadeIn(800);
	}

	function showGalleryThumbnails(){
		gallery.html('').show();
		for(var i=0, img; img = gallery.data('imgs')[i]; ++i) {
			loadGalleryThumbnail(img.images.medium);
		}
		fbLike.show();
	}

	function loadGalleryThumbnail(tn){
		var thumb = new Image();
		var $thumb = $(thumb).css('opacity',0).addClass('tn');
		gallery.append(thumb);

		thumb.onload = function(){
			$thumb.animate({
				opacity: 1
			}, 500);
		}

		thumb.src = tn.url;
		thumb.width = tn.width;
		thumb.height = tn.height;
		thumb.alt = '';
	}

	// ======= Slides =======

	$("#slides").slides({
		preload: true,
		preloadImage: 'wp-content/themes/kundermann/img/loading.gif', 
		effect: 'slide, fade',
		crossfade: true,
		play: 7000
	});
});

