﻿String.format = function()
{

    if( arguments.length == 0 )
    {
        return null; 
    }
    
    var str = arguments[0]; 

    for(var i=1;i<arguments.length;i++)
    {

        var re = new RegExp('\\{' + (i-1) + '\\}','gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
};

$.picasaAlbums = {
    settings : {
		id: null, //the picasaAlbums object id
		initTime:8000, //the albums of intial time
		albumnaccount:'finalevillee', //your picasa account name	
		loadingMsg:"", //the select text,
		loadingImg:'/images/lightbox/loading.gif',
		selectText:""
	},
	actId:null,
    ddlObj:null,
    initsec:null,
    
	init: function(options){
	    if (typeof options != undefined) {
			$.extend($.picasaAlbums.settings, options);
            }
			
	    $("#"+$.picasaAlbums.settings.id).html('<div class="myphotos"></div>');
        
      
      $.picasaAlbums.requestContent(String.format('http://picasaweb.google.com/data/feed/api/user/merzcr/album/DdVFWebsite?kind=photo&access=public&alt=json-in-script&callback=$.picasaAlbums.showPhotos'));
	    
	},
	
	callrequestcontent : function (){
        
        if($.picasaAlbums.initsec<=2)  
        {
            
            $.picasaAlbums.requestContent('http://picasaweb.google.com/data/feed/api/user/'+$.picasaAlbums.settings.albumnaccount+'?kind=album&access=public&alt=json-in-script&callback=$.picasaAlbums.showalbums');        
        }
            
        $(".loadingMessage",$("#"+$.picasaAlbums.settings.id)).html($.picasaAlbums.settings.loadingMsg+"("+($.picasaAlbums.initsec--)+")");  
          
    },
    
    showalbums : function (json){   
       
       $.picasaAlbums.ddlObj=$(".myalbums",$("#"+$.picasaAlbums.settings.id)).finalselect({id:$.picasaAlbums.settings.id+"ddlAlbums",viewHeight:"180px",selectText:$.picasaAlbums.settings.selectText ,selectImage:$.picasaAlbums.settings.selectImage});
       $.picasaAlbums.ddlObj.onClick($.picasaAlbums.requestphoto);
        
        
        var template="<table><tr><td style='width: 37px;'><img src='{0}' style='width:50px;height:50px;' /></td><td><span class='thistext'>{1}</span></td></tr></table>";
        
        var numentries = json.feed.entry.length;   
        for (var i = 0; i < numentries; i++) {
                 
            var entry = json.feed.entry[i];
            
            $.picasaAlbums.ddlObj.addItem(String.format(template,entry.media$group.media$thumbnail[0].url,entry.title.$t),entry.gphoto$name.$t);


        }//end for     
        
        clearInterval($.picasaAlbums.actId);
        
    },    
    
    requestphoto : function(){
        
        $.blockUI();    
       
        $.picasaAlbums.requestContent(String.format('http://picasaweb.google.com/data/feed/api/user/{0}/album/{1}?kind=photo&access=public&alt=json-in-script&callback=$.picasaAlbums.showPhotos'
        ,$.picasaAlbums.settings.albumnaccount,$.picasaAlbums.ddlObj.getValue()));
        alert($.picasaAlbums.ddlObj.getValue());
    },    
    
    
    showPhotos : function (json){
        
        var galleryTemplate="<a class='thickbox' rel='gallery-plants' href='{0}' title='{1}'><img src='{2}' alt='' /></a>";    
              
        var htmlStr="";   
        
        var numentries = json.feed.entry.length;
        for (var i = 0; i < numentries; i++) {
           
            var entry = json.feed.entry[i];
            
            var thumbnail=entry.media$group.media$thumbnail[0];

            htmlStr=htmlStr+String.format(galleryTemplate, entry.media$group.media$content[0].url+'?imgmax=576' ,entry.title.$t,thumbnail.url);    
        }
         
        $(".myphotos",$("#"+$.picasaAlbums.settings.id)).html(""); 
        $(".myphotos",$("#"+$.picasaAlbums.settings.id)).html("<span class='finalevilalbum'>"+htmlStr+"</span>");


        
        //on page load call tb_init	
	    $('a.thickbox',$('.finalevilalbum')).click(function(){
	    var t = this.title || this.name || null;
	    var a = this.href || this.alt;
	    var g = this.rel || false;
	    tb_show(t,a,g);
	    this.blur();
	    return false;
	    });
    	
	    imgLoader = new Image();// preload image
	    imgLoader.src = $.picasaAlbums.settings.loadingImg;

        $.unblockUI();
    },    
    requestContent : function ( url ){
        var script = document.createElement('script');
        script.src = url;
        document.getElementsByTagName('head')[0].appendChild(script);
    }
    
    
};
