    
      var interval = 20;
      var interval2 = 10;
      var interval3 = 20;
      var interval4 = 20;
      var timer, timer2;           
      var move_end = 0;
      var move_step = 0;
      var move_y = 0;
      var move_x = 0;
      var move_end_x = 0;
      var move_end_y = 0;
      var step_y = 0;
      var step_x = 0;
      var shift_img;
      var move_div;
      var resize_step = 0;
      var resize_step_w = 0;
      var resize_step_h = 0;
      var resize_width = 0;
      var resize_height = 0;
      var resize_end = 0;
      var resize_end_w = 0;
      var resize_end_h = 0;
      var last_low_id = 8;
      var first_low_id = 8;
      var last_high_id = 8;
      var first_high_id = 8;
      var next_action; 
      var selected_gallery = false;
      var next_gallery = false;
      var roll_order = 0;
      var complete_flag = true;
      var precomplete_flag = false;
      var hide_flag = false;
      var roll_over = 0;
      var scroll_flag = false;
      var scrolling = false;
      var scroll_counter = 0;
      var scroll_max = 0;
      var scroll_id = new Array();
      var scroll_y = new Array();
      var scroll_end = new Array();
      var thumb_div = new Array();
      var photo = new Image();
      var loader_img = new Image();
      var max_photo_width = 555;
      var max_photo_height = 600;
      var thumb_img, thumb_img_name, flying_div, flying_img, photo_img;
      var contact_flag = false;
      var elem_opacity;
      
      var temp_func=false;
    //  var x,y;
    
      var buttons_a = new Array(3);
      buttons_a[0] = new Image();     
      buttons_a[1] = new Image();
      buttons_a[2] = new Image();
      buttons_a[3] = new Image();
      buttons_a[4] = new Image();
      buttons_a[5] = new Image();
      
      var buttons = new Array(3);
      buttons[0] = new Image();
      buttons[1] = new Image();
      buttons[2] = new Image();
      buttons[3] = new Image();
      buttons[4] = new Image();
      buttons[5] = new Image();
       
      function init() {
	var t=0;
	var c=0;
	var elem;
	var rand_gallery, rand_photo;
	
	buttons_a[0].src = "buttons/gallery1selected.jpg";
	buttons_a[1].src = "buttons/gallery2selected.jpg";
	buttons_a[2].src = "buttons/gallery3selected.jpg";
	buttons_a[3].src = "buttons/contactselected.jpg";
	buttons_a[4].src = "buttons/previousselected.jpg";
	buttons_a[5].src = "buttons/nextselected.jpg";
	
	buttons[0].src = "buttons/gallery1unselected.jpg";
	buttons[1].src = "buttons/gallery2unselected.jpg";
	buttons[2].src = "buttons/gallery3unselected.jpg";
	buttons[3].src = "buttons/contactunselected.jpg";
	buttons[4].src = "buttons/previousunselected.jpg";
	buttons[5].src = "buttons/nextunselected.jpg";
	
	for (var i=0;i<=2;i++) {
	  for (var j in thumb[i]) {
	    thumbnails[i][j] = new Image();
	    thumbnails[i][j].src = thumb[i][j];
	  }
	}     
	
	for (var i=0;i<=7;i++) {
	  thumb_div[i] = new Array();
	}
	
	for (var i=0;i<=2;i++){
	  c = 0;
	  for (var j=0;j<=1;j++){
	    for (var p=0;p<=6;p++){
	      elem = document.images[('img' + t + p )]; 
	      if (thumbnails[i].hasOwnProperty(c)){
		elem.style.visibility = "visible";
		elem.src = thumbnails[i][c].src;
		thumb_div[t][p] = i + '' + c;}
	      else
		elem.style.visibility = "hidden";
	      
	      c++;
	    }
	  t++ ;
	  }
	}
	
      loader_img.src = "loader.gif";
      
      c = 0;      
      do {
      	rand_gallery = Math.floor( Math.random() * 2 );
	if (c >= 50){
	  rand_gallery = 0;
	  break;}
	else
	  c++;
      }    
      while (pic[rand_gallery].length == 0)
      
      rand_photo = Math.floor( Math.random() * pic[rand_gallery].length);
     
      if (!pic[rand_gallery].hasOwnProperty(rand_photo))
	rand_photo = 0;	
	
     // rand_gallery = 0;
     // rand_photo = 1;           
	
      if(pic[rand_gallery].hasOwnProperty(rand_photo)){
	photo.onload = init_complete;
	photo.src = pic[rand_gallery][rand_photo]; 
	}
      }      
       
      function init_complete(){
      photo_img = document.images['photo_img'];	
	
	if (photo.width > max_photo_width){
	  if (photo.height > max_photo_height){
	    if(photo.height > photo.width){
	      photo_img.height = max_photo_height;
	      }
	    else{
	      photo_img.width = max_photo_width;
	      photo_img.height = (photo.height/photo.width)*max_photo_width;}
	  }	    
	  else{
	    photo_img.height = (photo.height/photo.width)*max_photo_width;  
	    photo_img.width = max_photo_width;
	    }
	}
	else{
	   if (photo.height > max_photo_height){
	      photo_img.width = (photo.width/photo.height)*max_photo_height;
	      photo_img.height = max_photo_height;
	   }	
	}
		
	photo_img.src = photo.src;	
	photo_img.style.visibility = "visible";      
      }
     
      function get_position(elem) {
	  if (elem.getBoundingClientRect)
	      return get_position2(elem);	  
	  else 
	      return get_position1(elem);	  
      }
     
      function get_position1(elem) {
	var l = 0;
	var t = 0;
	    
	while (elem){
	  l += elem.offsetLeft;
	  t += elem.offsetTop;
	  elem = elem.offsetParent;
	}
	      
	return {image_x:l, image_y:t};
      }
      
      function get_position2(elem) {
	// (1)
	var box = elem.getBoundingClientRect();
    
	// (2)
	var body = document.body;
	var docElem = document.documentElement;
    
	// (3)
	var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
	var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
    
	// (4)
	var clientTop = docElem.clientTop || body.clientTop || 0;
	var clientLeft = docElem.clientLeft || body.clientLeft || 0;	
    
	// (5)
	var top  = box.top +  scrollTop - clientTop;
	var left = box.left + scrollLeft - clientLeft;
	    
	return { image_y: Math.round(top), image_x: Math.round(left) }	
      }
      

      function change_thumbs(first,second) {
	var c; 
	
	if(scroll_counter==0){
	  if (first == second)
	    c = 28;
	  else
	    c = (first - 2*selected_gallery)*7;}
	else
	  c = (4 + scroll_counter)*7;
	  
		
	for (var j=first;j<=second;j++){
	      for (var p=0;p<=6;p++){
		elem = document.images[('img' + j + p )]; 
		if (thumbnails[selected_gallery].hasOwnProperty(c)){
		  elem.style.visibility = "visible";
		  elem.src = thumbnails[selected_gallery][c].src;
		  thumb_div[j][p] = selected_gallery + '' + c;}
		else
		  elem.style.visibility = "hidden";
		
		c++;
	      }	      
	 }
	
      }
      
      function change_thumbs_back(scroll_div) {
      
	var start_i,stop_i;
	var elem;	
	var gallery, c;
	
	if (scroll_counter == 0){
	  if (scroll_div==8){
	    start_i = selected_gallery*2 + 2;
	    stop_i = start_i + 1;
	    gallery = start_i/2;
	    c = 0;
	  }
	  else{
	    start_i = scroll_div;
	    stop_i = scroll_div;
	    
	    if (selected_gallery == 0){
	      gallery = 2;
	      c = 0;} 
	    else{
	      gallery = selected_gallery - 1;
	      c = 7;} 
	     
	  }
	}
	else{
	  start_i = scroll_div;
	  stop_i = scroll_div;
	  gallery = selected_gallery;
	  c = (scroll_counter - 1)*7;
	}
	  
	if((start_i<5) || (scroll_counter > 0)){
	  	  
	  for (var j=start_i;j<=stop_i;j++){
		for (var p=0;p<=6;p++){
		  elem = document.images[('img' + j + p )]; 
		  if (thumbnails[gallery].hasOwnProperty(c)){		    
		    elem.style.visibility = "visible";
		    elem.src = thumbnails[gallery][c].src;
		    thumb_div[j][p] =gallery + '' + c;}
		  else
		    elem.style.visibility = "hidden";		  
		  c++;
		}	      
	  }
	} 
      }
      
      function move_low_down() {
      
	move_y += move_step;
	move_div.style.top = move_y;      
	
	if (move_y >= move_end){
	  clearInterval(timer);  
	  move_div.style.top = move_end;
	  
	  if (--first_low_id >= last_low_id)
	    hide_low_div(first_low_id,last_low_id);
	  else
	    {
	    if (next_action == "change_divs")
	      setTimeout( "change_divs()", 300 );
	    if (next_action == "change_divs_back")
	      setTimeout( "change_divs_back()", 300 );}
	  }
      }
      
      function move_low_up() {
      
	move_y -= move_step;
	move_div.style.top = move_y;   
	
	if (move_y <= move_end){
	  clearInterval(timer);  
	  move_div.style.top = move_end;
	  
	  if (++first_low_id <= last_low_id){
	    show_low_div(first_low_id,last_low_id);
	  }
	  else{
	    if (next_action == "roll_divs")
	      setTimeout( "roll_divs()", 300 );
	    if (next_action == "show_low_div"){
	
	      if (scroll_flag)
		show_scroll_arrows();
				
	      complete_flag = true;}	
	    }
	}
      }
            
      function move_high_down() {
      
	move_y += move_step;
	move_div.style.top = move_y;      
	
	if (move_y >= move_end){
	  clearInterval(timer);  
	  move_div.style.top = move_end;
	  
	  if (first_low_id < 8){
	    if (first_low_id <= last_low_id){
	      show_low_div(first_low_id,last_low_id);
	    }
	    else {
	      if (next_action == "change_divs")
		setTimeout( "change_divs()", 300 );
	      }	
	  }
	  else{
	    if (next_action == "roll_divs")
	      setTimeout( "roll_divs()", 300 );
	  }
	}
      }
      
      function move_high_up() {
      
	move_y -= move_step;
	move_div.style.top = move_y;      
	
	if (move_y <= move_end){
	  clearInterval(timer);  
	  move_div.style.top = move_end;
	  
	  if (first_low_id < 8){
	    if (first_low_id >= last_low_id)
	      hide_low_div(first_low_id,last_low_id); }
	  else{
	    if (next_action == "change_divs")
	      setTimeout( "change_divs()", 300 );
	    if (next_action == "roll_divs")
	      setTimeout( "roll_divs()", 300 );}	
	}
      }
            
      function scroll_divs(first,last,steps) {
	var arg = "";
	var str = "";
	var speed_str;
	var last_str;
	var tmp_roll_over;
	
	if (roll_over){
	  arg = "+=" + (65*(steps-roll_over));
	  roll_order += steps-roll_over;
	  tmp_roll_over = -roll_over;
	  roll_over=0;
	  
	    if (steps+tmp_roll_over)
	      speed_str = "slow";
	    else
	      speed_str = 0;
	  }
	else{
	  arg = "+=" + (65*steps);
	  roll_order += steps;
	  speed_str = "slow";
	  }  		
		
	for (var i=first; i<last; i++){
	  str += "#div";
	  str += i;
	  if (i < last-1)
	    str += ", ";
	  }	  
	last_str = "#div" + last;
	
	if (precomplete_flag){
	  if (next_gallery === false){
	    $(str).animate({top: arg}, speed_str, "linear");
	    $(last_str).animate({top: arg}, speed_str, "linear", function(){selected_gallery=false; complete_flag=true; precomplete_flag = false; temp_func = false;});}
	  else{
	    $(str).animate({top: arg}, speed_str, "linear");
	    $(last_str).animate({top: arg}, speed_str, "linear", function(){roll_over=tmp_roll_over; precomplete_flag = false; show_gallery(next_gallery);});
	    }
	  }   
	else{
	  $(str).animate({top: arg}, speed_str, "linear");
	  $(last_str).animate({top: arg}, speed_str, "linear");
	  }
      }
            
     
      function move_selected(first,last,step,func) {
	var arg = "";
	var str = "";
	var last_str;
	
	for (var i=first; i<last; i++){
	  str += "#div";
	  str += i;
	  if (i < last-1)
	    str += ", ";
	}	
	last_str = "#div" + last;
	arg = "-=" + (65*step);
	$(str).animate({top: arg}, "slow", "linear");
	
	if (hide_flag)
	  $(last_str).animate({top: arg}, "slow", "linear",function(){check_scroll(true);hide_scroll_arrows();});
	else{	
	  if (step == -1)	  
	    $(last_str).animate({top: arg}, "slow", "linear",function(){check_scroll(true);});
	  else	  
	    $(last_str).animate({top: arg}, "slow", "linear",function(){check_scroll();});
	}  
	
	      
      }
      
      function hide_low_div(first,last,func) {
      	var element, arg;
	element = "#div" + first;
	arg = (65*(6 - first) + 130);
	if (func)
	  temp_func = func;
	  
	if(first>last)
	  $(element).animate({top: arg}, "fast", "linear", function(){ hide_low_div((first-1),last);} );	  
	else{
	  if (temp_func)
	    $(element).animate({top: arg}, "fast", "linear", temp_func);
	  else
	    $(element).animate({top: arg}, "fast", "linear");
	  }
	  
	  
      }
      
      function show_low_div(first,last,func) {
	var element, arg;
	element = "#div" + first;
	arg = 130 + 65*roll_order;
	
	if (func)
	  temp_func = func;
	
	if(first<last)
	  $(element).animate({top: arg}, "fast", "linear", function(){ show_low_div((first+1),last);} );
	else{
	  if (temp_func)
	    $(element).animate({top: arg}, "fast", "linear", temp_func);
	  else{
	    
	    if(precomplete_flag){
	      complete_flag = true;
	      precomplete_flag = false;
	      $(element).animate({top: arg}, "fast", "linear", function(){show_scroll_arrows();});
	    }
	    else
	      $(element).animate({top: arg}, "fast", "linear");
	    
	  }
	}	
      }
      
      function hide_high_div(first,last,func) {
	var element, arg;
	element = "#div" + first;
	arg = 130 - 65*(first + 1);
	
	if (func)
	  temp_func = func;	  
		
	if(first<last)
	  $(element).animate({top: arg}, "fast", "linear", function(){ hide_high_div((first+1),last);} );
	else{
	  if (temp_func)
	    $(element).animate({top: arg}, "fast", "linear", temp_func);
	  else
	    $(element).animate({top: arg}, "fast", "linear");
	  }
      }
      
      function show_high_div(first,last,func) {
	var element, arg;
	element = "#div" + first;
	arg = 130 + 65*roll_order;
	
	if (func)
	  temp_func = func;
	
	if(first>last)
	  $(element).animate({top: arg}, "fast", "linear", function(){ show_high_div((first-1),last);} );
	else{
	  if (temp_func)
	    $(element).animate({top: arg}, "fast", "linear", temp_func);
	  else
	    $(element).animate({top: arg}, "fast", "linear");
	  }
      }
      
      function show_scroll_arrows() {
      
	if (scroll_flag){
	  var start_i = selected_gallery*2;
	  if (start_i > 0)
	    document.getElementById("div" + (start_i - 1)).style.top = parseInt(document.getElementById("div" + (start_i - 1)).style.top) + 65;	
	  else
	    document.getElementById("div4").style.top = parseInt(document.getElementById("div4").style.top) - 6*65;
	  
	    $("#up").css({"visibility" : "visible"});
	    $("#down").css({"visibility" : "visible"});
	}
      }
      
      function hide_scroll_arrows() {
	
	if (scroll_counter > 0){
	  hide_flag = true;
	  scroll_down();}
	else {
	  $("#up").css({"visibility" : "hidden"});
	  $("#down").css({"visibility" : "hidden"});
	  hide_flag = false;
	  
	  var start_i = selected_gallery*2;
	  
	  if (start_i > 0)
	    document.getElementById("div" + (start_i - 1)).style.top = parseInt(document.getElementById("div" + (start_i - 1)).style.top) - 65;
	  else
	    $("#div4").css({"top" : "260"});
	  
	  hide_gallery(selected_gallery);
	  }	  
      
      }
      
      function change_divs() {
      
	var start_i = selected_gallery*2 + 2;
	var t=2;
	var steps=0;
	
	if (thumbnails[selected_gallery].length > 28){
	  if((thumbnails[selected_gallery].length % 7)==0)
	    steps = thumbnails[selected_gallery].length / 7;
	  else
	    steps = Math.floor(thumbnails[selected_gallery].length / 7) + 1;
	    
	  scroll_max = steps - 4;
	  scroll_flag = true;}
	else
	  scroll_flag = false;
	  
	temp_func = false;	
	change_thumbs(start_i,start_i+1);	
	timer = setTimeout(("show_low_div(" + start_i + "," + (start_i+1) + ")"), 300);
	precomplete_flag = true;	
      }
      
      function change_divs_back() {
	
	change_thumbs_back(8);
	
	switch (selected_gallery){	  
	  case 0:
	    temp_func = false;
	    timer = setTimeout("show_low_div(2,4,function(){scroll_divs(0,5,-1);})", 300);
	    precomplete_flag = true;
	    break;
	  case 1:
	    temp_func = false;
	    timer = setTimeout("show_high_div(1,1)", 300);
	    timer2 = setTimeout("show_low_div(4,5,function(){scroll_divs(0,5,1);})", 300);
	    precomplete_flag = true;
	    break;
	  case 2:
	    temp_func = false;
	    timer = setTimeout("show_high_div(3,3,function(){scroll_divs(0,5,3);})", 300);
	    precomplete_flag = true;
	    break;
	  }
      }
                 
      function scroll_up() {
	if (scrolling && (scroll_counter == scroll_max)){
	  scrolling = false;
	  light_button_off(document.getElementById("down_img"), 5);
	}
      
	if(complete_flag && (scroll_counter < scroll_max) ){
	
	var scroll_div_id, top_div_id, bottom_div_id;
	var scroll_div;
	var elem;
	
	light_button_on(document.getElementById("down_img"), 5);
	light_button_off(document.getElementById("up_img"), 4);
	
	complete_flag = false;
	
	switch (selected_gallery){
	 
	  case 0: 
	    scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
	    
	    if (scroll_div_id > 4)
	      scroll_div_id = scroll_div_id % 5;
	       
	    top_div_id = 0;
	    bottom_div_id = 4;
	    break;
	  case 1:
	    scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
	    
	    if (scroll_div_id > 5){
	      scroll_div_id = scroll_div_id % 5;
	      if (scroll_div_id == 0)
		scroll_div_id = 5;
	    }	    
	    
	    top_div_id = 1;
	    bottom_div_id = 5;	    
	    break;	
	  case 2:
	    scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
	    
	    if (scroll_div_id > 7){
	      scroll_div_id = scroll_div_id % 5;
	      if (scroll_div_id == 0)
		scroll_div_id = 5;
	      if (scroll_div_id < 3)
		scroll_div_id += 5;
	    }	 
	    top_div_id = 3;
	    bottom_div_id = 7;	
	    break;
	}
		
	scroll_div = document.getElementById("div" + scroll_div_id);	
	scroll_div.style.top = 65*(6 - scroll_div_id) + 65;
	change_thumbs(scroll_div_id,scroll_div_id);
	
	scroll_counter += 1;
	move_selected(top_div_id,bottom_div_id,1);	  
	}
	
	//if(scroll_counter > scroll_max){
	//  scrolling = false;
	//  light_button_off(document.getElementById("down_img"), 5);
	//  light_button_off(document.getElementById("up_img"), 4);
	//}
      }
      
      function scroll_down() {
	if (scrolling && scroll_counter==0){
	  scrolling = false;
	  light_button_off(document.getElementById("up_img"), 4);
	}
      
	if((complete_flag && (scroll_counter > 0)) || hide_flag){
	
	var scroll_div_id, top_div_id, bottom_div_id;
	var scroll_div;
	var elem;
	
	light_button_off(document.getElementById("down_img"), 5);
	light_button_on(document.getElementById("up_img"), 4);
	
	complete_flag = false;
	
	scroll_id.length = 0;
	scroll_y.length = 0;
	scroll_end.length = 0;
	
	switch (selected_gallery){
	 
	  case 0: 
	      scroll_div_id = selected_gallery*2 - 1 + scroll_counter;
	      if (scroll_div_id > 4)
		scroll_div_id = scroll_div_id % 5;
		
	      top_div_id = 0;
	      bottom_div_id = 4;
	      break;
	  case 1:
	      scroll_div_id = selected_gallery*2 - 1 + scroll_counter;
	      if (scroll_div_id > 5){
		scroll_div_id = scroll_div_id % 5;
		if (scroll_div_id == 0)
		  scroll_div_id = 5;
	      }
	      
	      top_div_id = 1;
	      bottom_div_id = 5;	
	      break;
	  case 2:
	      scroll_div_id = selected_gallery*2 - 1 + scroll_counter;
	      if (scroll_div_id > 7){
		scroll_div_id = scroll_div_id % 5;
		if (scroll_div_id == 0)
		  scroll_div_id = 5;
		if (scroll_div_id < 3)
		scroll_div_id += 5;
	      }
	      top_div_id = 3;
	      bottom_div_id = 7;
	      break;
	}
		
	scroll_div = document.getElementById("div" + scroll_div_id);	
	change_thumbs_back(scroll_div_id);
	
	scroll_counter -= 1; 
	move_selected(top_div_id,bottom_div_id,-1);	  
	}
	
	//if(scroll_counter == 0){
	 // scrolling = false;
	//  light_button_off(document.getElementById("down_img"), 5);
	//  light_button_off(document.getElementById("up_img"), 4);
	//}
      }
      
      function start_scroll(action) {
	
	if (complete_flag){
	  if (action == "up"){
	    scrolling = "up";
	    light_button_on(document.getElementById("down_img"), 5);
	    scroll_up();	    
	  }
	  else{
	    scrolling = "down";
	    light_button_on(document.getElementById("up_img"), 4);
	    scroll_down();	
	  }
	}
      }
      
      function check_scroll(arg) {
      
	if (arg){
	  var scroll_div_id;
	      switch (selected_gallery){
	 
		case 0: 
		  scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
		  
		  if (scroll_div_id > 4)
		    scroll_div_id = scroll_div_id % 5;
		    
		  top_div_id = 0;
		  bottom_div_id = 4;
		  break;
		case 1:
		  scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
		  
		  if (scroll_div_id > 5){
		    scroll_div_id = scroll_div_id % 5;
		    if (scroll_div_id == 0)
		      scroll_div_id = 5;
		  }	    
		  
		  top_div_id = 1;
		  bottom_div_id = 5;	    
		  break;	
		case 2:
		  scroll_div_id = selected_gallery*2 + 4 + scroll_counter;
		  
		  if (scroll_div_id > 7){
		    scroll_div_id = scroll_div_id % 5;
		    if (scroll_div_id == 0)
		      scroll_div_id = 5;
		    if (scroll_div_id < 3)
		      scroll_div_id += 5;
		  }	 
		  top_div_id = 3;
		  bottom_div_id = 7;	
		  break;
	      }	    
	      
	    document.getElementById("div" + scroll_div_id).style.top = parseInt(document.getElementById("div" + scroll_div_id).style.top) - 65*5;
	  
	    change_thumbs_back(scroll_div_id);
        }
	
	complete_flag = true;
	
	if (scrolling){
	  if (scrolling == "up")
	    scroll_up();
	  else
	    scroll_down();	     
	}
	else{
	  light_button_off(document.getElementById("down_img"), 5);
	  light_button_off(document.getElementById("up_img"), 4);
	}
	 
	
      }
      
      function stop_scroll() {
	scrolling = false;
      }
            
      function show_gallery(gallery) {
	next_gallery = false;
	temp_func = false;
	
	switch (gallery){	  
	  case 0:
	    selected_gallery = 0;
	    scroll_divs(0,5,1);	  
	    hide_low_div(4,2, function(){change_divs();});		    
	    break;
	  case 1:
	    selected_gallery = 1;
	    scroll_divs(0,5,-1);	  
	    hide_high_div(1,1);	
	    hide_low_div(6,4, function(){change_divs();});	
	    break;
	  case 2:
	    selected_gallery = 2;
	    scroll_divs(0,5,-3);
	    hide_high_div(3,3, function(){change_divs();});
	    break;
	}
      }
      
      function hide_gallery(gallery) {
	
	switch (gallery){	  
	  case 0:
	    hide_low_div(3,2, function(){change_divs_back();});
	    break;
	  case 1:
	    hide_low_div(5,4, function(){change_divs_back();});
	    break;
	  case 2:
	    hide_low_div(7,6, function(){change_divs_back();});
	    break;
	}
      }
      
      function redraw(gallery) {
      
	if (complete_flag) {
	  
	  complete_flag = false;
	  
	  if (selected_gallery === false){
	    
	    show_gallery(gallery);}
	  
	  else {
	  
	    if (selected_gallery == gallery){	 
	      if (scroll_flag)
		hide_scroll_arrows();
	      else
		hide_gallery(gallery);         
	    }
	    else {
	    
	      switch (gallery){	  
		case 0:
		  if (selected_gallery == 1){
		    next_gallery = 0;	
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(1);}
		  else{ 
		    next_gallery = 0;
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(2);}
		  break;
		case 1:
		  if (selected_gallery == 0){
		    next_gallery = 1;
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(0);}
		  else{ 
		    roll_over = 1;
		    next_gallery = 1;
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(2);
		    }
		  break;
		case 2:
		  if (selected_gallery == 0){
		    next_gallery = 2;
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(0);}
		  else {
		    roll_over = 3;
		    next_gallery = 2;
		    if (scroll_flag)
		      hide_scroll_arrows();
		    else
		      hide_gallery(1); }
		  break;
	      }	      
	    
	    }
	  }
	}      
       }           
      
      function change_tr(elem,val){
      	elem.style.opacity = val;
	
      }
      
      function light_on(elem){
	change_tr(elem,1);
      }
      
      function light_off(elem){
	change_tr(elem,0.7);
      }
      
      function load_photo(photo_src) {
	
	if( photo.src.indexOf(photo_src) == -1){
	
	  flying_div = document.getElementById('flying_div');
	  flying_img = document.images['flying_image']; 
	  
	  flying_div.style.left = parseInt(get_position(thumb_img).image_x); 
	  flying_div.style.top = parseInt(get_position(thumb_img).image_y);
	//  flying_div.style.left = $(thumb_img_name).position.left;
	//  flying_div.style.top = $(thumb_img_name).position.top;
	  
	//  flying_div.style.left = Zapatec.Utils.getElementOffset(thumb_img).x;
	//  flying_div.style.top = Zapatec.Utils.getElementOffset(thumb_img).y;
		  
	  //alert(flying_div.style.left +  flying_div.style.top)
	   
	  flying_div.style.width = 58;
	  flying_div.style.height = 58;	 
	  flying_img.width = 58;
	  flying_img.height = 58;
	  flying_img.style.top = 0;
	  flying_img.style.left = 0;
	  
	  $("#flying_image").width(58);
	  $("#flying_image").height(58);
	  
	  $("#flying_div").css({"opacity" : 0.7});
	  flying_img.src = loader_img.src;
	  flying_div.style.visibility = "visible";
	  
	  photo.onload = change_photo;
	  photo.src = photo_src;  
	  }
	else {
	  complete_flag = true;
	  
	  if(contact_flag)
	    contacts();	    
	  }
	
      }
      
      function change_photo() {
    
	photo_img = document.images['photo_img']; 
	var div_end_width, div_end_height, dif;
	
	flying_div = document.getElementById('flying_div'); 
	flying_img = document.images['flying_image']; 
	
	if (photo.width > max_photo_width){
	  if (photo.height > max_photo_height){
	    if(photo.height > photo.width){
	      photo_img.height = max_photo_height;
	      }
	    else{
	      photo_img.width = max_photo_width;
	      photo_img.height = (photo.height/photo.width)*max_photo_width;}
	  }	    
	  else{
	    photo_img.height = (photo.height/photo.width)*max_photo_width;  
	    photo_img.width = max_photo_width;
	    }
	}
	else{
	   if (photo.height > max_photo_height){
	      photo_img.width = (photo.width/photo.height)*max_photo_height;
	      photo_img.height = max_photo_height;
	   }	
	}
		
	
	hide_photo();
	photo_img.src = photo.src;
	
	if (photo_img.width != photo_img.height){
	
	  if (photo_img.width > photo_img.height){
	    var dif_l, dif_r;
	    div_end_height = 58;
	    div_end_width = Math.floor((photo_img.width/photo_img.height) * 58);
	    
	    dif = div_end_width - 58;
	    
	    if(dif%2 == 1){
	      dif_r = Math.floor(dif/2);
	      dif_l = dif_r + 1;
	    }
	    else{
	      dif_l = dif/2;
	      dif_r = dif_l;
	    }
	    
	    move_x = parseInt(flying_div.style.left); 
	    move_end = move_x - dif_l;
	    resize_width = 58;
	    resize_end = 58 + dif_l + dif_r;
	    resize_step = (dif_l + dif_r)/15;
	    shift_img =  -dif_l;
	    
	    $("#flying_image").height(58);
	    $("#flying_image").width(58 + dif_l + dif_r);
	    $("#flying_image").css({"left" : shift_img});
	    flying_img.src = photo.src;
	    
	    $("#flying_div").css({"opacity" : 1.0});
	    
	    move_end_x = get_position(photo_img).image_x;
	    move_end_y = get_position(photo_img).image_y;
	    resize_end_w = parseInt(photo_img.width);
	    resize_end_h = parseInt(photo_img.height); 
	    
	    if (contact_flag) {
	      $("#contact_div").fadeOut("slow", function(){$("#contact_div").css({"visibility":"hidden", "display":"inline"});});
	      contact_flag = false;
	    }
	    	    
	    $("#flying_div").animate({left: move_end, width: resize_end}, 400);
	    $("#flying_image").animate({left: 0}, 400);
	    
	    $("#flying_div").animate({left: move_end_x,top: move_end_y, width: resize_end_w, height: resize_end_h}, 400,"swing");
	    $("#flying_image").animate({width: resize_end_w, height: resize_end_h}, 400,"swing", function() {photo_img.style.visibility = "visible"; flying_div.style.visibility = "hidden"; complete_flag = true;});	    
	  }
	  else{
	    var dif_t, dif_b;
	    div_end_height = Math.floor((photo_img.height/photo_img.width) * 58);
	    div_end_width = 58;		  
	    dif = div_end_height - 58;
	    
	    if(dif%2 == 1){
	      dif_t = Math.floor(dif/2);
	      dif_b = dif_t + 1;
	    }
	    else{
	      dif_t = dif/2;
	      dif_b = dif_t;
	    }
	    
	    move_y = parseInt(flying_div.style.top); 
	    move_end = move_y - dif_b;
	    resize_height = 58;
	    resize_end = 58 + dif_t + dif_b;
	    shift_img =  -dif_t;
	    
	    $("#flying_image").height(58 + dif_t + dif_b);
	    $("#flying_image").width(58);
	    $("#flying_image").css({"top" : shift_img});
	    flying_img.src = photo.src;
	    
	    $("#flying_div").css({"opacity" : 1.0});
	    
	     move_end_x = get_position(photo_img).image_x;
	     move_end_y = get_position(photo_img).image_y;
	     resize_end_w = parseInt(photo_img.width);
	     resize_end_h = parseInt(photo_img.height); 
	     
	     if (contact_flag) {
	      $("#contact_div").fadeOut("slow", function(){$("#contact_div").css({"visibility":"hidden", "display":"inline"});});
	      contact_flag = false;
	     }
	     
	     $("#flying_div").animate({top: move_end, height: resize_end}, 400);
	     $("#flying_image").animate({top: 0}, 400);
	    
	     $("#flying_div").animate({left: move_end_x,top: move_end_y, width: resize_end_w, height: resize_end_h}, 400,"swing");
	     $("#flying_image").animate({width: resize_end_w, height: resize_end_h}, 400,"swing", function() {photo_img.style.visibility = "visible"; flying_div.style.visibility = "hidden"; complete_flag = true;});
	  }
	  
	}
	else {
	  move_x = parseInt(flying_div.style.left);
	  move_y = parseInt(flying_div.style.top);
	  resize_width = 58;
	  resize_height = 58;
	  
	  $("#flying_image").height(58);
	  $("#flying_image").width(58);
	  $("#flying_image").css({"top" : 0});
	  $("#flying_image").css({"left" : 0});
	  flying_img.src = photo.src;
	  
	  $("#flying_div").css({"opacity" : 1.0});
	  
	  move_end_x = get_position(photo_img).image_x;
	  move_end_y = get_position(photo_img).image_y;
	  resize_end_w = parseInt(photo_img.width);
	  resize_end_h = parseInt(photo_img.height); 
	  
	  step_x = (move_end_x - move_x)/20;
	  step_y = (move_end_y - move_y)/20;
	  step_w = (resize_end_w - resize_width)/20;
	  step_h = (resize_end_h - resize_height)/20;
	  
	  if (contact_flag) {
	      $("#contact_div").fadeOut("slow", function(){$("#contact_div").css({"visibility":"hidden", "display":"inline"});});
	      contact_flag = false;
	  }
	  
	  $("#flying_div").animate({left: move_end_x,top: move_end_y, width: resize_end_w, height: resize_end_h}, 400,"swing");
	  $("#flying_image").animate({width: resize_end_w, height: resize_end_h}, 400,"swing", function() {photo_img.style.visibility = "visible"; flying_div.style.visibility = "hidden"; complete_flag = true;});
	  
	}
      }
      
      function hide_photo() {
      
	photo_img.style.visibility = "hidden";
      }
      
      function show_photo(id) {
	
	if (complete_flag){
	  complete_flag = false;
	  var first, second, photo_id;
	  thumb_img = document.images[('img' + id)]; 
	  thumb_img_name = "img" + id;
	  
	  first = id.slice(0,1);
	  second = id.slice(1);
	  photo_id = thumb_div[first][second];
	  first = photo_id.slice(0,1);
	  second = photo_id.slice(1);
	  
	  if (pic[first].hasOwnProperty(second)){
	    load_photo(pic[first][second]);
	  }
	  else
	    complete_flag = true;
	}
      } 
                
      function contacts(){
	if (complete_flag){
	  if (!contact_flag){
	    complete_flag = false;
	    $("#contact_div").css({"visibility":"visible", "display":"none"});
	    $("#photo_img").fadeOut("slow");
	    $("#contact_div").fadeIn("slow", function(){$("#photo_img").css({"visibility":"hidden", "display":"inline"});complete_flag = true;});
	    contact_flag = true;
	  }     
	  else{
	    complete_flag = false;
	    $("#photo_img").css({"visibility":"visible", "display":"none"});
	    $("#photo_img").fadeIn("slow");
	    $("#contact_div").fadeOut("slow", function(){$("#contact_div").css({"visibility":"hidden", "display":"inline"});complete_flag = true;});
	    contact_flag = false;
	  }
	}
      }

      function light_button_on(elem,id){
	elem.src = buttons_a[id].src;
	//elem.cursor = 'hand';
      }
      
      function light_button_off(elem,id){
	elem.src = buttons[id].src;
	//elem.cursor = 'default';
      }
      
      function position1() {
	 
	 var elem = document.images["img01"];	 
	 alert("x: " + Zapatec.Utils.getElementOffset(elem).x + " y: " + Zapatec.Utils.getElementOffset(elem).y);	   
      }
      
      function position2() {
	 var elem = document.images["img01"];	 
	 alert("x: " + get_position2(elem).image_x + " y: " + get_position2(elem).image_y)     ;
      }
      