// this is set depending on the page selection
//var current_content_group = 0;

var panel_width = 916;

var content_panel_timer = -1;
var content_panel_speed = 30;

var content_panel_class_name = 'scroll_content';

function panel_traverse(flag){

	//abort if still moving...
	if(content_panel_timer != -1){
		return
	}//end if

	var parent = document.getElementById('scroll_wrapper');

	var child_id = new Array();
	//get a count of the number of child nodes...
	var nGroups = 0; // initialise
	for(var i=0; i<parent.childNodes.length; i++){
		var class_name = parent.childNodes[i].className
		if (class_name){
			if (class_name.length >= content_panel_class_name.length){
				if(class_name.substr(0,content_panel_class_name.length) != content_panel_class_name){
					continue;
				}else{
					nGroups = nGroups + 1;
					// get the indices
					child_id.push(i);					
				}//end if-else
			}
		}else{
			continue;	
		}

	}//end for

  document.getElementById('next_button').style.display = 'none'; 
  document.getElementById('prev_button').style.display = 'none'; 
	if(flag == 'next'){
		if( current_content_group < nGroups - 1 ){
			var	to_disappear = parent.childNodes[child_id[current_content_group]];
			var	to_appear    = parent.childNodes[child_id[current_content_group+1]];	
			to_appear.style.left = panel_width + 'px';
			to_appear.className = content_panel_class_name;
			content_panel_timer = setInterval(function(){slide_content(to_disappear, to_appear, 1);},content_panel_speed);
		}//end if
    if( current_content_group < nGroups - 2 )
      document.getElementById('next_button').style.display = 'block'; 
    if ( current_content_group > -1 )
      document.getElementById('prev_button').style.display = 'block'; 
	}else if(flag == 'prev'){
		if ( current_content_group > 0 ){
			var	to_disappear = parent.childNodes[child_id[current_content_group]];
			var	to_appear    = parent.childNodes[child_id[current_content_group-1]];		
			to_appear.style.left = -panel_width + 'px';
			to_appear.className = content_panel_class_name;		
			content_panel_timer = setInterval(function(){slide_content(to_disappear, to_appear, 2);},content_panel_speed);
		}//end if
    if( current_content_group < nGroups +1 )
      document.getElementById('next_button').style.display = 'block'; 
    if ( current_content_group > 1 )
      document.getElementById('prev_button').style.display = 'block'; 
	}else{
		alert('Error: unrecognised option!');
	}


}//end function

function slide_content(to_disappear, to_appear, direction){

	// (1) Hide the left menu 
	current_offset_str = to_disappear.style.left;
	
	if (current_offset_str){
		// convert the string to a number
		current_offset_int = parseInt(current_offset_str)
	}else{
		// the current_offset_str is empty (i.e. zero)
		current_offset_int = 0;
	}//end
	
	if (direction == 1){
		//make left menu invisible...	
		delta = current_offset_int - -panel_width;
	}else if(direction == 2){
		delta = panel_width -current_offset_int;
		//delta = -current_offset_int;
	}//end if-else

	// check break clause
	if(delta < 1){
		if (direction == 1){
			current_content_group = current_content_group + 1;
		}else if(direction == 2){
			current_content_group = current_content_group - 1;
		}//end if-else			
		
		to_disappear.className = content_panel_class_name + ' hidden';			
		//kill off the left menu timer...
		clearInterval(content_panel_timer);
		content_panel_timer = -1;
	}else{
		//move the menu some fraction of delta...
		dx = Math.ceil(0.15*delta);
		if (direction == 1){
			new_disappear_left = current_offset_int-dx;
			new_appear_left    = new_disappear_left + panel_width;
		}else if(direction == 2){
			new_disappear_left = current_offset_int+dx;
			new_appear_left    = new_disappear_left - panel_width;
		}//end if-else		
		to_disappear.style.left = new_disappear_left+'px';
		to_appear.style.left = new_appear_left+'px';		
	}//end
}//end function

function panel_traverse2(go){
 
 var e = jQuery('#scroll_wrapper>.scroll_content.selected');
 var p = e.parent();
 
 if(jQuery('.scroll_content',p).is(':animated')){	return false;	}

  

}//end function

/*
PANEL LOADING AND ANIMS
CURRENTLY ONLY USED ON PORTFOLIO
*/

function load_next_slide(p,key){
 jQuery('#next_button').css({visibility:'hidden'});
 if(jQuery('#scroll_content_p'+(p+1)).size()==0){
  jQuery.ajax(
  { url:key+'_pages.php?p='+(p+1)
  ,data:page_query_string
  ,typr:'GET'
  ,success:function(data){ jQuery('#scroll_wrapper').append(data);
   current_content_group++;
   if(data!=''){ jQuery('#next_button').css({visibility:'visible'});}
   }});
  }
 else{ current_content_group++; jQuery('#next_button').css({visibility:'visible'}); }
 }

function load_prev_slide(p,key){
 jQuery('#prev_button').css({visibility:'hidden'}); 
 if(jQuery('#scroll_content_p'+(p-1)).size()==0){
  jQuery.ajax(
  { url:key+'_pages.php?p='+(p-1)
  ,data:page_query_string
  ,typr:'GET'
  ,success:function(data){ jQuery('#scroll_wrapper').prepend(data);
   current_content_group--;
   if(data!=''){ jQuery('#prev_button').css({visibility:'visible'}); }
   }});
  }
 else{ current_content_group--; jQuery('#prev_button').css({visibility:'visible'}); }
 }

function panel_slideload_next(page_key){
 jQuery('#prev_button').css({visibility:'visible'});
 var e = jQuery('#scroll_wrapper>.scroll_content.selected');
 var p = e.parent();
 var t = jQuery('.gallery_thumbs a.selected');
 if(p.find('.scroll_content').is(':animated')){	return false;	}

 t.removeClass('selected').next('a.page').addClass('selected');
 load_next_slide(page+current_content_group+1,page_key);
 var ease = 'easeOutExpo';
 e.removeClass('selected').animate({left:-916},1000,ease,function(e){  })
 .next().addClass('selected').css({visibility:'visible',left:916})
 .removeClass('hidden').animate({left:0},1000,ease,function(e){  })
 ;
 }
function panel_slideload_prev(page_key){
 jQuery('#next_button').css({visibility:'visible'});
 var e = jQuery('#scroll_wrapper>.scroll_content.selected');
 var p = e.parent();
 var t = jQuery('.gallery_thumbs a.selected');
 if(p.find('.scroll_content').is(':animated')){	return false; }

 t.removeClass('selected').prev('a.page').addClass('selected');
 load_prev_slide(page+current_content_group-1,page_key);
 var ease = 'easeOutExpo';
  e.removeClass('selected').animate({left:916},1000,ease,function(e){  })
 .prev().addClass('selected').css({visibility:'visible',left:-916})
 .removeClass('hidden').animate({left:0},1000,ease,function(e){  })
 ;
 }

/*
PRESS LOADING AND ANIMS

*/

function load_press_item(p){
 if(jQuery('#scroll_content_p'+(p)+':not(.loading)').size()==0){
  jQuery('#scroll_content_p'+(p)).load(
   'press_pages.php?p='+(p)
  ,page_query_string
  ,function(data){
   jQuery(this).removeClass('loading');
   });
  }
 }

function press_slideload_next(){
 jQuery('#prev_button').css({visibility:'visible'});
 
 var e = jQuery('#scroll_wrapper .scroll_content.selected');
 var p = e.parent();
 var t = jQuery('.gallery_thumbs a.selected');
 
 if(p.is(':animated')){	return false; }
 
 if(jQuery('#scroll_wrapper .scroll_content').size()<=page+current_content_group+1)
 jQuery('#next_button').css({visibility:'hidden'});
 t.removeClass('selected').next('a.page').addClass('selected');
 
 load_press_item(page+current_content_group+2);
 load_press_item(page+current_content_group+3);
 current_content_group++;

 var l = e.next().position().left-916/2+e.next().innerWidth()/2;
 p.animate({left:-l},1000,'easeOutExpo',function(e){  });
 
	e.removeClass('selected')
	.find('div.image img')
	.animate({opacity:0.5,width:e.innerWidth()-80},600,'easeOutExpo',function(e){  })
	;
	e.next().addClass('selected')
	.find('div.image img').delay(200)
	.animate({opacity:1,width:e.next().innerWidth()},600,'easeOutExpo',function(e){  })
 ;
 }
function press_slideload_prev(){
 jQuery('#next_button').css({visibility:'visible'});
 
 var e = jQuery('#scroll_wrapper .scroll_content.selected');
 var p = e.parent();
 var t = jQuery('.gallery_thumbs a.selected');
 
 if(p.is(':animated')){	return false;	}
 if(2>=page+current_content_group)
 jQuery('#prev_button').css({visibility:'hidden'});

 t.removeClass('selected').prev('a.page').addClass('selected');
 
 load_press_item(page+current_content_group-2);
 load_press_item(page+current_content_group-3);
 current_content_group--;
 
 var l = e.prev().position().left-916/2+e.prev().innerWidth()/2;
 p.animate({left:-l},1000,'easeOutExpo',function(e){  });

	e.removeClass('selected')
	.find('div.image img')
	.animate({opacity:0.5,width:e.innerWidth()-80},600,'easeOutExpo',function(e){  })
	;
	e.prev().addClass('selected')
	.find('div.image img').delay(200)
	.animate({opacity:1,width:e.prev().innerWidth()},600,'easeOutExpo',function(e){  })
 ;
 }
