
var loader = new Image(16,11);
loader.src = "/webdav/images/pc/ajax-loader.gif";
var loader_css = { position: "absolute", bottom: "10px", left: "25px" };

var flickrurl = "http://api.flickr.com/services/feeds/photos_public.gne?tags=knäppingsborg&format=json&jsoncallback=?";

function getFlickr(target)
{
	$.getJSON(flickrurl, displayImages);
	
	function displayImages(data)
	{
		var htmlString = "";
		
		var ctr = 0;
		$.each(data.items, function(i, item) {		
			if (ctr < 5) {
				var sourceSquare = (item.media.m).replace("_m.jpg", "_s.jpg");
				var sourceOrig = (item.media.m).replace("_m.jpg", ".jpg");
				
				$img = $("<img/>");
				if(ctr == 0) {
					$img.attr("src", sourceOrig);				
					$img.addClass("flickr-img-big");
					$img.attr("width","300");
					$img.attr("height", "199");
				} else {
					$img.attr("src", sourceSquare);
					$img.addClass("flickr-img");
					$img.attr("width","60");
				}

				$img.attr("title", item.title);
				$img.attr("border", "0");

				$a = $("<a/>");
				$a.attr("href", item.link);
				$a.attr("target","_blank");
				$a.css("position","relative").css("display","block").css("float","left");
				$a.bind("click", function(obj){
					if(!$("img", this).hasClass("flickr-img-big")) {			
						var orginal = $("img", this).attr("src").replace("_s.jpg",".jpg");

						if($("img.flickr-img-big").attr("src") != orginal) {
							var $loader = $(loader).addClass("ajaxloader").css(loader_css);
							$(this).prepend($loader);

							$("img.flickr-img-big").attr("src", orginal).load(function(){ 
								$(".ajaxloader").remove();
							});
							$("img.flickr-img-big").parent().attr("href", $(this).attr("href"));
						}
	
						return false;
					}
				});
				
				if(ctr == 4)
					$a.addClass("last-img");
							
				$('#' + target).append($img);
				$img.wrap($a);
				
				ctr = ctr + 1
			}
		});
	}
}

var active_subclass;
function shop_highlights(e) {
	var the_text = $(this).html();
	the_text = the_text.toLowerCase().replace("å", "a").replace("ä", "a").replace("ö", "o").replace(" ","").replace(" ","").replace("-","");
	var the_class = "shoptype_"+ the_text;
	
	active_subclass = the_class;
	$(".shop_startpage > li").removeClass();
	$("."+ the_class).parent().addClass(the_class +"_active");
}

$(function(){

	$("div.tabxrubriker").svsimpletab({ opentab: 0 });
	$("div.tab2xrubriker").svsimpletab({ opentab: 0 });
	
	// Flickr widget a lá Strateg
	if($("#flickrwidget").is("div"))
		getFlickr("flickrwidget");
	
	// Image gallery (shops)
	$("#image_gallery_rotate").svimageslider();
	
	$(".shop_types > div > p")
		.bind("mouseover", shop_highlights);
	
	//$("ul.shop_lookalikes li a").qtip();
	var map = $("img[src$='3d_karta_medgatunamn.png']");
	var map_default = map.attr("src");
	
	var map_parent = map.parent();
	map_parent.css("position","relative");
	var $holder = $("<div/>");
	$holder.css({ position: 'absolute', top: "4em", left: "50%", marginLeft: "-320px" }).attr("id","3d_holder");
	map_parent.append($holder);

	$(".shop_startpage > li")
		.bind("mouseover", function(){
			var pin = $(this).attr("data-image");
			var $img = $("<img/>");
			$img.attr("src",pin);
			$("#3d_holder").append($img);
		})
		.bind("mouseout", function(){
			$("#3d_holder img").remove();
		});
		
	$(".news_footer_image").css("position","relative");
	$(".news_footer_image img").each(function(){
		var my_height = $(this).height();
		//console.log(my_height)
		my_height = Math.round(my_height / 6);
		//console.log(my_height)
		$(this).css({ position: 'absolute', top: '-'+ my_height +'px' });
	});
	
	var img_ix = 0;
	$("#startpage_rotator img").each(function(){
		if(img_ix == 0) {
			$(this).fadeIn("fast");
			active_slide = $(this);
		}
		var $that = $(this);
		$plutt = $("<div/>");
		$plutt.addClass("plutt");
		$plutt.bind("click", function(){
			slideshow_change($that.index());
		});
		$plutt.css("left", (img_ix * 20));
		
		//$("#startpage_rotator").append($plutt);
		
		img_ix++;
	});
	
	$("#startpage_rotator .plutt:eq(0)").addClass("active");
	
	/*$("#shop_roundabout").wrapInner("<div class='roundabout_holder'></div>")*/
	$("#shop_roundabout").roundabout({ shape: 'square', btnNext: $("#first_next"), btnPrev: $("#first_prev"), clickToFocus: false });
});

var active_slide;
function slideshow_change(ix) {
	var $current = $("#startpage_rotator img:eq("+ix+")");
	if($current.attr("src") === active_slide.attr("src")) return;
	
	$("#startpage_rotator .plutt").removeClass("active");
	$("#startpage_rotator .plutt:eq("+ ix +")").addClass("active");
	
	active_slide.fadeOut(500);

	$current.fadeIn(500);
	active_slide = $current;
	
	return;
}

$.fn.svimageslider = function(options) {
	
	var defaults = {
		firstImage: 0
	};
	
	var options = $.extend(defaults, options);
	var currentImgIx = options.firstImage;
	
	this.each(function(){
			
		var $imgs = $("img", this);		
		var $slider = $(this);	
		var $wrapper_slider = $("<div/>")
			.attr("id", "image_gallery_images");
			
		$slider.wrapInner($wrapper_slider);
		
		if($imgs.length > 1) {
			// Prev & next buttons
			var $prev = $("<div/>")
				.attr("id","prev_btn")
				.hover(function(){ $(this).addClass("prev_btn-hover") },function(){ $(this).removeClass("prev_btn-hover") })
				.click(function(){
					currentImgIx--;
					var $prev = $("img:eq("+ currentImgIx +")", $slider);
					$slider.scrollTo($prev, 500);
				});
	
			var $next = $("<div/>")
				.attr("id","next_btn")
				.hover(function(){ $(this).addClass("next_btn-hover") },function(){ $(this).removeClass("next_btn-hover") })
				.click(function(){
					currentImgIx++;
					var $next = $("img:eq("+ currentImgIx +")", $slider);
					$slider.scrollTo($next, 500);
				});
		}

		if($imgs.length > 1) {
			$slider.parent().css("position","relative");
			$slider.parent().append($prev);
			$slider.parent().append($next);
		}
	});
		
};


/*(function($){
    $.fn.extend({
        '_data': $.fn.data,
        'data' : function( key, value ) {
            if ( typeof key === "undefined" && this.length ) {
                return jQuery.data( this[0] );
            } else if ( typeof key === "object" ) {
                return this.each(function() {
                    jQuery.data( this, key );
                });
            }
            var retValue;
            retValue = $.fn._data(key, value);
            if ('undefined' == (typeof retValue) || retValue.length == 0) {
                var nakedElem = this.get(0);
                if (nakedElem.hasOwnProperty('dataset')) {
                    if ('undefined' != (typeof nakedElem.dataset[key])) {
                        retValue = nakedElem.dataset[key];
                    }
                } else {
                    retValue = this.attr('data-'+key);
                }
            }
            return retValue;
        }
    });
})(jQuery);
*/

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 9/11/2008
 * @author Ariel Flesler
 * @version 1.4
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
//;(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.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=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);


var current_ix = 0;

$(function(){
	$("#shops_next").bind("click", function(){
		current_ix = current_ix + 3;
		if(current_ix >= $("#shop_holder > div").length) { current_ix = current_ix - 3; return false; }
		var $next = $("#shop_holder > div:eq("+ current_ix +")");
		$("#all_shops").scrollTo($next, 400, { axis: 'x', offset: -35 });
	});
	$("#shops_prev").bind("click", function(){
		current_ix = current_ix - 3;
		if(current_ix <= 0) current_ix = 0;
		var $next = $("#shop_holder > div:eq("+ current_ix +")");
		$("#all_shops").scrollTo($next, 400, { axis: 'x', offset: -35 });
	});
});
