  var random_bg = 0;

   function in_array( what, where ){
      var a=false;
      for(var i=0;i<where.length;i++){
        if(what == where[i]){
          a=true;
          break;
        }
      }
    return a;
   }

  function set_random_background(maxsz) {
     var bg = random_bg;
     while (bg == random_bg) {
       bg = $.randomBetween(1, maxsz);
     }
     random_bg = bg;
     $(".pagebackground").css('background-image','url(lib/img/backgrounds/'+random_bg+'.jpg)');
  }

  function load_carousel_photos(sz) {
      var used_photos = new Array();

      while (used_photos.length < sz) {
        var it = $.randomBetween(1, sz);
        if (!in_array(it, used_photos)) {
           used_photos[used_photos.length] = it;
        }
      
      }
      for (var i=0; i< used_photos.length; i++) {
      
        var s = '<div class="carouselitem">'+
                '<a rel="prettyPhoto[carousel]" href="lib/img/carousel/'+used_photos[i]+'.jpg" title="photo #'+i+'">'+
                '<img border="0" class="gallery" src="lib/img/carousel/'+used_photos[i]+'_tb.jpg"/></a></div>';
        $("#carousel").append(s);
      }
  }

  function set_link(url) {
       var st = $("#contents").css("visibility");

       if (st == "hidden") {
         //$("#contents").attr("src",url);
         $("#contents").css("visibility","visible");
         $("#contents").hide();
         $("#contents").show("slow");
	 $('#contents').load(url); // this only works on remote (apache)
       } 
       else {
         var at = $("#contents").attr("src");        
	 if (at != url && at != undefined) {
	   //$("#contents").attr("src",url);	    
	    $('#contents').load(url);
	    $("#contents").css("visibility","visible");
	    $("#contents").hide();
	    $("#contents").show("slow");
	 }
         else {
           $("#contents").hide("slow", function() { $("#contents").css("visibility","hidden"); } );
         }
       }
   };


  function getArgs() {
    var args = new Object();
    var query = location.search.substring(1); //get query string
    var pairs = query.split("&"); //Break at ampersand
    for(var i =0; i< pairs.length; i++ ) {
      var pos = pairs[i].indexOf('='); //look for 'name=value'
      if(pos == -1) continue; //if not found skip
      var argname = pairs[i].substring(0,pos); //extract the name
      var value = pairs[i].substring(pos+1); // extract the value
      value = decodeURIComponent(value); //decode it, if needed
      args[argname] = value; //store as a property
    }
   return args;
  }


function load_gallery(kind, sz, maxsz) {
      var used_photos = new Array();

      while (used_photos.length < sz) {
        var it = $.randomBetween(1, maxsz);
        if (!in_array(it, used_photos)) {
           used_photos[used_photos.length] = it;
        }
      }

      for (var i=0; i< used_photos.length; i++) {
	var s = '<a rel="prettyPhoto['+kind+']" href="lib/photos/'+kind+'/'+used_photos[i]+'.jpg" '+ 
	        'title="'+ kind + ' #' + i +'"><img class="gallery" src="lib/photos/'+kind+'/'+used_photos[i]+
	        '_tb.jpg"/></a>';

        $("#gallery").append(s);
      }
  }
  
function load_gallery_from_array(kind, used_photos) {
	/*
      used photos is an array with:
      data['url'] = item.mcontent;
      data['thumb'] = item.mthumbnail;
      data['title'] = item.title;
	*/
	
	$("img.galleryrss").remove();
	
    for (var i=0; i< used_photos.length; i++) {
    
	var s = '<a rel="prettyPhoto['+kind+']" href="'+used_photos[i]['url']+'" '+ 
	        'title="'+ used_photos[i]['title'] +'"><img class="galleryrss" src="'+used_photos[i]['thumb']+
	        '"/></a>';

        $("#galleryrss").append(s);
      }
  }  

function load_flickr_photostream(myurl, maxsz, loadcallback) {
jQuery.getFeed({
   url: myurl,
   success: function(feed) {
 	 var photos = Array();
   
     for(var i = 0; i < feed.items.length && i < maxsz; i++) {
         var item = feed.items[i];
         
         // ugly patch to extract medium size photos
         var sbegin = "img src=\"";
         var send = "\"";
         var data = Array(); 
         desc = item.description;
         j = desc.indexOf(sbegin);
         desc = desc.substr(j+sbegin.length);
         j = desc.indexOf(send);
         desc = desc.substr(0,j);
	                  
         data['url'] = item.mcontent;
         data['thumb'] = item.mthumbnail;
         //data['thumb'] = desc; // medium sized photos
         data['title'] = item.title;
         
         photos[photos.length] = data;
     }
 	 load_gallery_from_array('flickr',photos);
	 loadcallback(); // this should be called here in order to safe set the handlers for items
   }
 });

}

function load_twitter_rss(myurl, maxsz) {

jQuery.getFeed({
   url: myurl,
   success: function(feed) {
     
	 $("div.twitter_rss").empty();
	 

     for(var i = 0; i < feed.items.length && i < maxsz; i++) {
         var item = feed.items[i];
     	              
         //data['url'] = item.mcontent;
         //data['thumb'] = item.mthumbnail;
         //data['title'] = item.title;
	
		var d = Date.parse(item.pubdate);
		t = item.title.replace(/juanmcasillas:/g,'');
		d = new Date(d);
  		var d = d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getFullYear() + ' ' 
  		       + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
  	
  		var s = '<a href="'+item.link +'" '+'title="' + t +'">'+t+'</a><i>at '+d+'</i><br/>';
        
        $("div.twitter_rss").append(s);
     }
    }    
  });
}


function load_blog_rss(myurl, maxsz) {

jQuery.getFeed({
   url: myurl,
   success: function(feed) {
 	 
	 $("div.blog_rss").empty();

     for(var i = 0; i < feed.items.length && i < maxsz; i++) {
         var item = feed.items[i];
     	              
         //data['url'] = item.mcontent;
         //data['thumb'] = item.mthumbnail;
         //data['title'] = item.title;
	
		var d = Date.parse(item.pubdate);
		t = item.title.replace(/juanmcasillas:/g,'');
		d = new Date(d);
  		var d = d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getFullYear() + ' ' 
  		       + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();

		var l = item.description.length;
		var s = item.description.split(' ');
		
		var target = 810;
		var real = l;
		var use_words = 1000;
		var tmp_s = item.description;
		var tmp = '';

			    
		while (real > target) {
		  tmp = s.slice(0,use_words);
		  tmp_s = tmp.join(' ');
		  real = tmp_s.length;
		  use_words -= 1;
		}
		tmp_s += '... <a href="?q=blog">[Read more]</a>';

		var s = '<h3><a href="?q=blog">'+t+'</a></h3><i>'+d+'</i><br/>';
		var s =  s + '<div class="blog_body">' + tmp_s + '</div>';


        
        $("div.blog_rss").append(s);
     }
    }    
  });
}


/* // examples et all

    jQuery.getFeed({
       //url: 'http://api.flickr.com/services/feeds/photos_public.gne?id=34633706@N03&lang=en-us&format=rss_200',
       url: 'tmp/rss.xml',
       success: function(feed) {

            jQuery('#rss').append('<h2>'
            + '<a href="'
            + feed.link
            + '">'
            + feed.title
            + '</a>'
            + '</h2>');
            
            var html = '';
            
            for(var i = 0; i < feed.items.length && i < 5; i++) {
            
                var item = feed.items[i];
                
                html += '<h3>'
                + '<a href="' + item.link + '">'
                + '<img src="' + item.mthumbnail + '"/>' 
                + '</a>'
                + '</h3>';
                
                html += '' + item.updated + '';
                html += '' + item.description + '<br/>';
            }
            
            jQuery('#rss').append(html);
       }
   });

*/

