﻿/*------------------BIRD SLIDESHOW CLICK-------------------*/
function BirdSlideshow(imagesArray, domain, cid, noPhotoURL, cropWidth, cropHeight, scaleWidth, scaleHeight, borderSize, borderColor) {
    this.imagesArray = imagesArray;
    this.domain = domain;
    this.container =  $("#" + cid + "divMain");
    this.noPhotoURL = noPhotoURL;
    this.cropWidth = cropWidth;
    this.cropHeight = cropHeight;
    this.scaleWidth = scaleWidth;
    this.scaleHeight = scaleHeight;
    this.borderSize = borderSize;
    this.borderColor = borderColor;
}


//Sets up initial screen.
BirdSlideshow.prototype.setup = function () {
	if (this.imagesArray.length == 0) return;
	//Store this reference to use in anonynous calls.
	var parent = this;

	var divBirdCreator = $("<div></div>");
	divBirdCreator.attr("class", "divBirdCreator");
	divBirdCreator.appendTo(this.container);
	divBirdCreator.html("Copyright © <a href=\"" + this.imagesArray[0][5] + "\">" + this.imagesArray[0][3] + "</a>");


	//Main image container.
	var mainImageContainer = $("<div/>");
	mainImageContainer.attr("class", "mainImageContainer");
	mainImageContainer.css("width", 322);

	//Initial main image
	var mainImage = $("<img/>");
	mainImage.attr("class", "mainImage");
	mainImage.attr("src", this.imagesArray[0][1] + "?x=" + 322);
	mainImage.load(function () {
		mainImageContainer.css("height", 403);
		$(this).css("margin-top", (403 - mainImage.height()) / 2);
	});

	mainImage.appendTo(mainImageContainer);
	mainImageContainer.appendTo(this.container);

	mainImageContainer.click(function () {
		var index = $(this).closest(".divMain").data("index");
		var img = $(this).parent().find(".mainImageContainer img:visible");
		var str = img.attr("src");
		$.fancybox(str.split("?")[0], {
			'padding': 0,
			'transitionIn': 'none',
			'transitionOut': 'none',
			'type': 'image',
			'title': fmat(imgs[index]),
			'titlePosition': 'inside',
			'changeFade': 0
		});
	});


	//Light box activation 
	var divBirdLightbox = $("<div style=\"cursor: pointer; text-align: center;\"><img src=\"/slideshow/images/zoom_in_24.png\" style=\"vertical-align: middle\" /> Click here to zoom image</div>");
	divBirdLightbox.attr("class", "divBirdLightbox");
	divBirdLightbox.appendTo(this.container);
	var fmat = this.formatTitle;
	var imgs = this.imagesArray;
	divBirdLightbox.click(function () {
		var index = $(this).closest(".divMain").data("index");
		var img = $(this).parent().find(".mainImageContainer img:visible");
		var str = img.attr("src");
		$.fancybox(str.split("?")[0], {
			'padding': 0,
			'transitionIn': 'none',
			'transitionOut': 'none',
			'type': 'image',
			'title': fmat(imgs[index]),
			'titlePosition': 'inside',
			'changeFade': 0
		});
	});

	//Title bar
	var titleBar = $("<div/>");
	titleBar.attr("class", "titleBar");
	titleBar.css("background-color", "black");
	titleBar.css("width", 322);
	titleBar.css("color", "white");
	titleBar.css("font-weight", "bold");
	titleBar.css("text-align", "center");
	titleBar.html(this.imagesArray[0][0]);
	titleBar.appendTo(this.container);

	var i = 0;
	var matrixContainer = $("<div/>");
	matrixContainer.attr("class", "matrixContainer");

	for (i = 0; i < this.imagesArray.length; i++) {

		//Preload main image
		$('<img/>')[0].src = parent.imagesArray[i][1] + "?x=" + 322;


		//Thumbnail div
		var thumbnailDiv = $("<div></div>");
		thumbnailDiv.attr("class", "thumbnailDiv");
		thumbnailDiv.css("width", this.scaleWidth);
		thumbnailDiv.css("height", this.scaleHeight);
		thumbnailDiv.css("float", "left");
		thumbnailDiv.css("border-style", "solid");
		thumbnailDiv.css("border-width", this.borderSize);
		thumbnailDiv.css("border-color", this.borderColor);

		//Thumbnail img
		var thumbnailImg = $("<img/>");
		thumbnailImg.attr("src", this.imagesArray[i][1] + "?x=" + this.scaleWidth + "&y=" + this.scaleHeight + "&cx=" + this.cropWidth + "&cy=" + this.cropHeight);
		thumbnailImg.appendTo(thumbnailDiv);


		//Qtip and thumbnail clicking
		var title = this.imagesArray[i][0];

		var isIphoneOrIPodOrAndroid = this.IsIPhoneOrIPod() || this.IsAndroid();

		if (!isIphoneOrIPodOrAndroid) {
			thumbnailImg.qtip(
                    {
                    	content: title,
                    	position: {
                    		corner: {
                    			target: 'topMiddle',
                    			tooltip: 'bottomMiddle'
                    		}
                    	},
                    	style: {
                    		name: 'light',
                    		tip: true, // Give it a speech bubble tip with automatic corner detection
                    		fontWeight: 'normal',
                    		fontSize: '8pt',
                    		fontFamily: 'Arial, Verdana',
                    		textAlign: 'center'
                    	},
                    	show:
                            {
                            	effect: 'slide',
                            	length: 10
                            },
                    	hide:
                            {
                            	effect: 'slide',
                            	length: 10
                            }



                    });
		}
		thumbnailImg.data("index", i);



		thumbnailImg.click(
                    function () {
                    	parent.setCurrentImage(this, $(this).data("index"));

                    }
                );


		thumbnailDiv.appendTo(matrixContainer);


	}
	matrixContainer.appendTo(this.container);
}

BirdSlideshow.prototype.setCurrentImage = function (sender, index) {

	if (this.locked)
		return;



	this.locked = true;

	var parent = this;

	var divMain = $(sender).parent().parent().parent();
	var mainImg = divMain.find(".mainImageContainer").find(".mainImage");
	divMain.find(".divBirdCreator").html("Copyright © <a href=\"" + this.imagesArray[index][5] + "\">" + this.imagesArray[index][3] + "</a>");


	mainImg.fadeOut('slow', function () {
		mainImg.attr("src", parent.imagesArray[index][1] + "?x=" + 322);
		var titleBar = divMain.find(".titleBar");
		titleBar.html(parent.imagesArray[index][0]);
		mainImg.fadeIn('slow', function () { parent.locked = false; });
	});

	divMain.data("index", index);

}

BirdSlideshow.prototype.IsIPhoneOrIPod = function () {

    if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)))
        return true;
    else
        return false;
}

BirdSlideshow.prototype.IsAndroid = function () {

    if (navigator.userAgent.match(/android/i))
        return true;
    else
        return false;
}

BirdSlideshow.prototype.formatTitle = function (item) {

    var ret = "";
    if (item) {
        var ret = "<div style=\"font-weight: bold;font-size: 10pt;\">" + item[0] + "</div><div style=\";font-size: 10pt;\">" + item[2] + "</div>";

        if (item[5] != "" & item[3] != "") {
            ret += "Copyright © <a href=\"" + item[5] + "\">" + item[3] + "</a>";
        }
        else if (item[3] != "") {
            ret += "Copyright © " + item[3];
        }
    }

    return ret;
}



