	$j = jQuery.noConflict();

	if (typeof Panagora != 'object' || typeof Panagora == 'undefined')
		Panagora = {};
		
	Panagora.ImageGallery = function(params)
	{
		var current_image = 1;
		var count = 0;
		var _id ="";
		var heading = params.heading
		var imageArray = params.imageArray;
		var self = this;
			
		var previousImage = function (e)
		{
			e.preventDefault();
			current_image--;
			current_image = current_image <= 0 ? count  : current_image;
			updateProperties();
			return false;
		}
		var nextImage = function (e)
		{
			e.preventDefault();
			current_image = 1+current_image > count ? 1 : ++current_image;
			updateProperties();
			return false;
		}
		
		var updateProperties = function()
		{
			var idx = current_image-1;
			$j("#"+ _id +" > .productImageContainer > .productimagebig > .count > span").html("Bild " + current_image +" av "+ count);
			$j("#"+ _id +" > .productImageContainer > .productimagebig").css("background-image", "url("+imageArray[idx]+")");
		}
		
		var initialize = function()
		{
			count = imageArray.length;
			var az = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z'];
/*			_id ="ImageGallery";

			for(var i=0;i<10;i++)
			{
				_id += az[Math.floor(Math.random()*az.length)];
			}
*/			
			_id = params.id;
			// print html
			//document.write('<div class="image-switcher" id="'+_id+'"></div>');
			//document.close();
			
			$j('#' + _id).html('<div class="productImageContainer">\
									<div class="productimagebig" style="background-image: url('+imageArray[0]+');" id="productimagebig-'+_id +'"><p class="count"><span>Bild 1 av '+count+'</span></p>\
									<img src="/images/kii/overlay_big.gif" />\
									</div>\
								</div>');
			
			// hook up events to html
			$j("#"+ _id +" > .productImageContainer > .productimagebig").click(nextImage);
		}
		
		
		var LoadExternal = function(url)
		{
			$j.ajax({
				url: url,
				success: function(data){ 
					heading = data.heading || '';
					imageArray = data.imageArray;
	
					initialize();
				},
				//error: function(xhr, error){  },
				dataType: 'json'
			});
		}

		
		if(!params.url)
			initialize();
		else
			LoadExternal(params.url);

	}
	
