var NS4 =  (document.layers) ? 1 : 0;
var IE4 =  (document.all) ? 1 : 0;
var DOM =  (document.getElementById) ? 1 : 0;
var ver4 = (NS4 || IE4) ? 1 : 0;

var BaseURL      = "";
var PicID        = -1;
var Offset       = 0;
var Incr         = 1;
var Len          = 0;
var Referrer     = 0;
var Inited       = 0;
var Loaded       = 0;
var ImLoaded     = 0;
var PostURL      = 0;
var NavLoaded    = 0;
var Thumb        = 0;
var View         = 0;
var Info         = 0;
var SizedContent = 0;
var SesID        = 0;

var buttonBarImages;
var buttonBarStatus = new Array();

function preloadImages()
{
	// See if it's loaded
	if( !ImLoaded ) {
		// Prevent sporadic loading while loading
		ImLoaded = -1;
		
		// Init the vars
		buttonBarImages = new Array();
		var i,v;
		
		// Fill the arrays
		for(i=0; i < 6; i++)
		{
			v= i+1;
			buttonBarImages[i] = new Array();
			buttonBarImages[i][0] = new Image;
			buttonBarImages[i][0].src = "images/btn_n_"+v+".png";
			buttonBarImages[i][1] = new Image;
			buttonBarImages[i][1].src = "images/btn_o_"+v+".png";
			buttonBarImages[i][2] = new Image;
			buttonBarImages[i][2].src = "images/btn_d_"+v+".png";
			buttonBarImages[i][3] = new Image;
			if( i == 0 ) {
				buttonBarImages[i][3].src = "images/btn_def_p.png";
			} else if( i == 5 ) {
				buttonBarImages[i][3].src = "images/btn_def_n.png";
			} else {
				buttonBarImages[i][3].src = "images/btn_def_o.png";
			}
			
			buttonBarStatus[i] = -1;
			
			ForceImageSwap( i+1 );
		}
		ImLoaded = 1;
	}
}

function InitializeNav() {
	NavLoaded = 1;
	preloadImages();
	UpdateNavBar();
}

function Initialize( i_baseURL, i_picid, i_offset, i_incr, i_len, i_ref, i_thumb, i_view, i_info, i_sizedc ) {
	BaseURL = i_baseURL;
	PicID = i_picid;
	Offset = i_offset;
	Incr = i_incr;
	Len = i_len;
	Referrer = i_ref;
	Thumb = i_thumb;
	View = i_view;
	Info = i_info;
	SizedContent = i_sizedc;
	Inited = 1;
	
	//SesID = UrlGetArgument( i_baseURL, "PHPSESSID" );
	//window.alert( "PHPSESSID=" + SesID );
	
	if( PostURL !== 0 ) {
		LoadURL( PostURL );
		PostURL = 0;
	} else {
		Loaded = 1;
		UpdateNavBar();
	}
}

function UpdateNavBar() {
  if( IsNavLoaded() ) {
  	EnableStatus( 1, Offset > 0 );	
  	EnableStatus( 2, Referrer !== 0 );	
  	EnableStatus( 3, Thumb === 0 );	
  	EnableStatus( 4, View == 1 );	
  	//EnableStatus( 5, Info !== 0 );	
  	EnableStatus( 5, 0 );	
  	EnableStatus( 6, ( Offset + Incr ) < Len );
  }
}

function IsInitialized() {
	return (Inited === 1);
}

function IsLoaded() {
	return (Loaded === 1);
}

function IsNavLoaded() {
	return (NavLoaded === 1);
}

function LoadURL(i_URL) {
	if( IsInitialized() ) {
		Loaded = 0;

		//if( SesID != 0 ) {
		//	i_URL = UrlAddArgument( i_URL, "PHPSESSID", SesID );
		//}
		pdb_main.location = i_URL;
	} else {
		PostURL = i_URL;
	}
}


function doPrev() {
	if( !IsEnabled(1) ) return UpdateNavBar();
	Offset -= ( Offset > Incr ) ? Incr : Offset;
	LoadURL( UrlAddArgument( BaseURL, "offset", Offset ) );
	UpdateNavBar();
}

function doBack() {
  if( !IsEnabled(2) ) return UpdateNavBar();
	if( Referrer !== 0 ) document.location = Referrer;
}

function doThumbs() {
	if( !IsEnabled(3) ) return UpdateNavBar();
	LoadURL( "view_thumb.phtml" );
}

function doResize() {
	if( !IsEnabled(4) ) return UpdateNavBar();
	url = UrlAddArgument( BaseURL, "view", "-1" );
	if( PicID != -1 ) {
		url = UrlAddArgument( url, "id", PicID );
	}
	LoadURL( url );
}

function doInfo() {
	if( !IsEnabled(5) ) return UpdateNavBar();
}

function doNext() {
	if( !IsEnabled(6) ) return UpdateNavBar();
	Offset += Incr;
	LoadURL( UrlAddArgument( BaseURL, "offset", Offset ) );
  	UpdateNavBar();
}

function locateObject(name, d) {
	var i,x;
	if(!d) d=document;

	x=d[name];
	for(i=0; !x && d.layers && i< d.layers.length; i++)
		x=locateObject(name, d.layers[i].document);
	return x;
}

function IsEnabled( num ) {
	return buttonBarStatus[num-1] < 0 ? 0 : 1;
}

function EnableStatus( num, enabled ) {
	if( buttonBarStatus[num-1] < 0 && enabled ) {
		buttonBarStatus[num-1] = -buttonBarStatus[num-1] - 1;
	} else if( buttonBarStatus[num-1] >= 0 && !enabled ) {
		buttonBarStatus[num-1] = -buttonBarStatus[num-1] - 1;
	}
	ImageSwap( num );
}

function SetStatus( num, type ) {
	if( buttonBarStatus[num-1] < 0 ) {
		buttonBarStatus[num-1] = -type - 1;
	} else {
		buttonBarStatus[num-1] = type;
	}
	ImageSwap( num );
}

function ImageSwap( num ) {
	if( ImLoaded > 0 ) {
		ForceImageSwap( num );			
	}
}

function ForceImageSwap( num ) {
	var img;
	img = locateObject( "BB"+num, pdb_nav.document );
	
	if( !img ) return;
	
	if( buttonBarStatus[num-1] >= 0 ) {
		img.src = buttonBarImages[num-1][buttonBarStatus[num-1]].src;
	} else {
		img.src = buttonBarImages[num-1][3].src;
	}			
}

function OpenCommentWindow() {
	window.open('add_comment.phtml', 'pdb_comment', 'width=460,height=460,dependant=yes,alwaysRaised=yes,location=no,resizable=yes,scrollbar=yes,toolbar=no');  
}

function DoResize() {
	if( NS4 ) {
		// This keeps netscape from freaking out and dieing
		history.go(0);
	}
}

