
function PhotoGalleryControlUpdateSource(e)
{
	doPostBack('', '');
}

function PhotoGalleryControlContextMenu(contentType)
{
	//Editing in template mode
    if (contentType == "EditDesign")
    	return CONTROLCONTEXTMENU_ENABLEDISABLE | CONTROLCONTEXTMENU_CLEAR | CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_PROPERTIES | CONTROLCONTEXTMENU_DEPTHORDERING | CONTROLCONTEXTMENU_DELETERESTORE;
    //Editing in content mode
    else if (contentType == "EditContent")
    	return CONTROLCONTEXTMENU_CLEAR | CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_DELETERESTORE;

    return 0;
}

function PhotoGalleryControlUpdate()
{
	var container = embeddedControl_PresentationControls[this.controlObject.id];

	var counterText = "{x}/{y}";
	var values = this.GetContent().split("|");
	var transition = "fade";
	var transync = 1;
	var mode = "0";
	var showSlideShowNavigation = false;
	var onlyOnClick = false;

	if (values.length > 1)
		; //folderid

	if (values.length > 2)
		if (values[2] == "0")	 //show image count
		counterText = "";

	if (values.length > 5)
		if (values[5] != "")	 //mode
		mode = values[5];

	if (values.length > 6)
		if (values[6] != "")	 //transition
		transition = values[6];

	if (values.length > 7)
		if (values[7] != "")	 //transition sync
		transync = parseInt(values[7]);

	//
	if (values.length > 8 && values[8] != "")
		showSlideShowNavigation = parseInt(values[8]) > 0;

	if (values.length > 9 && values[9] != "")
	    onlyOnClick = parseInt(values[9]) > 0;
	
        	
	if (mode == "1")
	{
		var name = '#' + container.id + '>.SlideshowStyle';
		var slideShow = $(name);

		var options = [];
		options.fx = transition;  // transition type.
		options.sync = transync;
		options.cleartypeNoBg = true;
		options.cleartype = !$.support.opacity;
		options.speed = 2000;

		//if option has been checked
		if (showSlideShowNavigation)
		{
		    slideShow.after("<div style='width:100%;position:relative;z-index:1000;'>" +
                                "<div class='SlideshowNavigation'>" +
                                    "<img src='/images/NavigateLeft.png' id='" + container.id + "Prev' class='SlideshowPrev' />" +
                                    "<img src='/images/NavigateRight.png' id='" + container.id + "Next' class='SlideshowNext'/>" +
                                "</div>"+
                                "<div class='SlideshowDescription' id='" + container.id + "Description'>" +
                                "</div>" +
                             "</div>");
			options.prev = "#" + container.id + "Prev";
			options.next = "#" + container.id + "Next";
			

			if (onlyOnClick)
			    options.timeout = 0;
//			else
//			    options.timeout = 2000;
//            
			options.easing = "easeOutExpo";
			options.before = function () { $("#" + container.id + "Description").html("&nbsp;&nbsp;"); };

			options.after = function () {

			    if (this.title.indexOf("http://") != -1) {
			        var link = "";
			        var array = this.title.split('\n');
			        if (array.length > 0) {
			            link = array[0];
			            this.title = "";
			            for (var i = 1; i < array.length; i++) {
			                this.title = this.title + array[i];
			            }
			        }

			        $("#" + container.id + "Description").html("&nbsp;&nbsp;" + "<a href='" + link + "'>" + this.title + "</a>");

			    }
			    else
			        $("#" + container.id + "Description").html("&nbsp;&nbsp;" + this.title);
			};
		}

		slideShow.cycle(options);
	}
	else if (mode == "0")
	{
		$("a[rel^='lightbox']").slimbox(
		    {
		    	/* Put custom options here */
		    	overlayOpacity: 0.8,
		    	captionAnimationDuration: 1,
		    	counterText: counterText,
		    	closeKeys: [27, 88],
		    	nextKeys: [39, 78],
		    	prevKeys: [37, 80]

		    }, null, function(el)
		    {
		    	return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
		    });
	}
}

function InitializePhotoGallery(contentType, controlID, containerID)
{
	var control = eval("_" + controlID);
	control.OnInitialized = PhotoGalleryControlUpdate;

	embeddedControl_PresentationControls[controlID] = $get(containerID);
	
	if (contentType != "View")
	{
		control.GetEditorControlID = function() { return "PhotoGalleryEditor"; }
		control.GetCustomContent = function() { return [control.GetContent(), control.GetCustomProperties()]; }
		control.PreProcessEditorContent = PhotoGalleryFolderListingPreProcessContent;
		control.ContentUpdated = PhotoGalleryControlUpdateSource;
		control.OnContextMenu = PhotoGalleryControlContextMenu;
    }
}

function PhotoGalleryFolderListingPreProcessContent(data)
{
	if (typeof data == "object" && data.length)
	{   
		this.SetContent("");
		var content = data[0];
		try
		{
	        content = content + "|" + data[1];
        }catch (err) { }

		var extendedProperties = "";
		this.SetCustomProperties(extendedProperties);
		
		return content;
	}

	return data;
}