	$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 CommentsArray = params.CommentsArray;
		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+" > em").html(CommentsArray[idx]);
			$j("#"+_id+" > .navigator > .count > span").html(current_image +"/"+ count);
			$j("#"+_id+" > .bigimage").attr("src", 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('<h3>'+params.heading+'</h3>\
				<img class="bigimage" src="'+imageArray[0]+'" /><br>\
				<em>'+CommentsArray[0]+'</em>\
				<div class="navigator">\
					<a class="prev" href="">Föregående</a>\
					<a class="next" href="">Nästa</a>\
					<p class="count"><span>1/'+count+'</span></p>\
				</div>');
			
			// hook up events to html
			$j("#"+_id+" > .navigator > .prev").click(previousImage);
			$j("#"+_id+" > .navigator > .next").click(nextImage);
			$j("#"+_id+" > .bigimage").click(nextImage);
		}
		
		
		var LoadExternal = function(url)
		{
			$j.ajax({
				url: url,
				success: function(data){ 
					heading = data.heading || '';
					imageArray = data.imageArray;
					CommentsArray = data.CommentsArray;
	
					initialize();
				},
				//error: function(xhr, error){  },
				dataType: 'json'
			});
		}

		
		if(!params.url)
			initialize();
		else
			LoadExternal(params.url);

	}
	

