/*
 * SoCalWeather.net Gellery v1.0a
 *   by Andrew Murphy (webdesign@socalweather.net)
 * 
 * All source code and variable data is copyright 2003-2005 SoCalWeather.net.
 * 
 * No portion of this code may be used without the direct written consent
 * of the SoCalWeather.net Staff.
*/


/*
	Gallery datasheet format
	var gallery = new Array(

  new Array(
    new Array('Gallery1 Title', 'gallery/gallery1/', 'Gallery Author'),
    new Array('Image1 Title', 'image1.jpg', 'Image Author'),
    new Array('Image2 Title', 'image2.jpg', 'Image Author'),
    new Array('Image3 Title', 'image3.jpg', 'Image Author'),
    new Array('Image4 Title', 'image4.jpg', 'Image Author')
  ),
  
  new Array(
    new Array('Gallery2 Title', 'gallery/gallery2/', 'Gallery Author'),
    new Array('Image1 Title', 'image1.jpg', 'Image Author'),
    new Array('Image2 Title', 'image2.jpg', 'Image Author'),
    new Array('Image3 Title', 'image3.jpg', 'Image Author'),
    new Array('Image4 Title', 'image4.jpg', 'Image Author')
  ),
  
  new Array(
    new Array('Gallery3 Title', 'gallery/gallery3/', 'Gallery Author'),
    new Array('Image1 Title', 'image1.jpg', 'Image Author'),
    new Array('Image2 Title', 'image2.jpg', 'Image Author'),
    new Array('Image3 Title', 'image3.jpg', 'Image Author'),
    new Array('Image4 Title', 'image4.jpg', 'Image Author')
  ),
  

);
*/


include(SCRIPT_BIN+"gallery.data.js");

var gallery_default_path = 'http://images.socalweather.net/gallery/';

var gallery_thumbnail_template   = '<img width="100" height="75" src="%1" title="%2 by %3" onClick="javascript:select_image(%0)" />\n';
var gallery_selectedImg_template = '<img src="%1" title="%2 by %3" />\n';

var titleId         = 'galleryTitle';
var thumbnailsId    = 'thumbnails';
var selectedImageId = 'selectedImage';



var gallery_key_width  = 0;
var gallery_key_height = 1;


var gallery_key_level_data = 0;


var gallery_key_gallery_title     = 0;
var gallery_key_gallery_directory = 1;
var gallery_key_gallery_auth      = 2;


var gallery_key_image_title = 0;
var gallery_key_image_url   = 1;
var gallery_key_image_auth  = 2;


var gallery_data   = new Array();
var gallery_images = new Array();
var gallery_path   = '';



function gallery_fill_cbo(objId){

  var obj = document.getElementById(objId);
  var cgallery;

  if(obj != null){
    for (var i = obj.options.length; i >= 0; i--) {
      obj.options[i] = null; 
    }

    for(var j = 0; j < gallery.length; j++){
      cgallery = gallery[j];
      if(cgallery[j].length >= 1 && cgallery[j][gallery_key_level_data].length >= 1){
        obj.options[j]       = new Option(cgallery[gallery_key_level_data][gallery_key_gallery_title]);
        obj.options[j].value = j;
      }
    }
  }

  return;
}



function select_gallery(objId){
  var obj = document.getElementById(objId);

  if(obj){
    load_gallery(obj.selectedIndex);
  }
  
  return;
}


function load_gallery(galleryId){
  gallery_data = gallery[galleryId];

  render_html(gallery_data[gallery_key_level_data][gallery_key_gallery_title], titleId);

  gallery_path = gallery_default_path + gallery_data[gallery_key_level_data][gallery_key_gallery_directory];

  preload_images();
  
  render_html(build_thumbnails(), thumbnailsId);
  
  select_image(1);


  return;
}


function preload_images(galleryId){
	gallery_images = new Array(gallery_data.length-1);

	for(var i = 1; i < gallery_data.length; i++){
		gallery_images[i-1] = new Image();
		gallery_images[i-1].src = gallery_path + gallery_data[i][gallery_key_image_url];
	}

	return;
}


function build_thumbnails(){
  var output = '';
  var imgData = new Array();
  var temp = '';

  for(var i = 1; i < gallery_data.length; i++){
    imgData = gallery_data[i];

    temp = str_replace('%0', i, gallery_thumbnail_template);
    temp = str_replace('%1', (gallery_path + imgData[gallery_key_image_url]), temp);
    temp = str_replace('%2', imgData[gallery_key_image_title], temp);
    temp = str_replace('%3', imgData[gallery_key_image_auth], temp);

    output += temp;
  }

  return output;
}


function select_image(imgId){
  var imgData = gallery_data[imgId];

  var output = str_replace('%1', (gallery_path + imgData[gallery_key_image_url]), gallery_selectedImg_template);
      output = str_replace('%2', imgData[gallery_key_image_title], output);
      output = str_replace('%3', imgData[gallery_key_image_auth], output);
  

  render_html(output, selectedImageId);

  return;

}
