function PageObject
	(
	id,
	data,
	type,
	minimumWidth,
	minimumHeight,
	optimumWidth,
	optimumHeight,
	maximumWidth,
	maximumHeight,
	aspectRatio,
	idealCentreX,
	idealCentreY,
	copyright,
	thumbnail
	)
{
	this.toString = function( )
	{
		var string = '';
		string += 'PageObject\n';
		string += 'id: ' + this.id + '\n';
		string += 'thumbnail: ' + this.thumbnail + '\n';
		string += 'data: ' + this.data + '\n';
		string += 'type: ' + this.type + '\n';
		string += 'minimumWidth: ' + this.minimumWidth + '\n';
		string += 'minimumHeight: ' + this.minimumHeight + '\n';
		string += 'optimumWidth: ' + this.optimumWidth + '\n';
		string += 'optimumHeight: ' + this.optimumHeight + '\n';
		string += 'maximumWidth: ' + this.maximumWidth + '\n';
		string += 'maximumHeight: ' + this.maximumHeight + '\n';
		string += 'aspectRatio: ' + this.aspectRatio + '\n';
		string += 'idealCentreX: ' + this.idealCentreX + '\n';
		string += 'idealCentreY: ' + this.idealCentreY + '\n';
		string += 'copyright: ' + this.copyright + '\n';
		
		return string;
	};

	this.getIdealCentrePosition = function( )
	{
		//alert( this.idealCentreX + ", " + this.idealCentreY );
		
		return new Position( this.idealCentreX, this.idealCentreY );
	};
	
	this.hide = function( )
	{
		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.display = "none";
	};
	
	this.setCentrePosition = function( x, y )
	{
		var width = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.width );
		var height = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.height );
		
		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.left = x - width / 2;
		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.top = y - height / 2;
	};
	
	this.getMinimumSize = function( )
	{
		return new Size( this.minimumWidth, this.minimumHeight );
	};
	
	this.getOptimumSize = function( )
	{
		return new Size( this.optimumWidth, this.optimumHeight );
	};
	
	this.getMaximumSize = function( )
	{
		return new Size( this.maximumWidth, this.maximumHeight );
	};
	
	this.getSize = function( )
	{
		var width = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.width );
		var height = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.height );

		return new Size( width, height );
	};
	
	this.getArea = function( )
	{
		var left = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.left );
		var top = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.top );
		var width = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.width );
		var height = parseInt( withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.height );
		
		return new Area( left, top, left + width, top + height );
	};
	
	this.setSize = function( newSize )
	{
		var size = new Size( newSize.getWidth( ), newSize.getHeight( ), this.aspectRatio );
		
		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.width = size.getWidth( );
		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.height = size.getHeight( );
	};
	
	this.getAspectRatio = function( )
	{
		return this.aspectRatio;
	};

	this.show = function( )
	{
		if ( this.type == "img" )
		{
			withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).src = "images/" + this.data;
		};

		withID( "id" + this.id + ( this.thumbnail ? "_t" : "" ) ).style.visibility = "visible";
		//withID( "id" + this.id ).style.zIndex = "1";
	};

    this.id = id;
	this.data = data.replace( "<endscript>", "</script>" );
	this.type = type;
	this.minimumWidth = minimumWidth;
	this.minimumHeight = minimumHeight;
	this.optimumWidth = optimumWidth;
	this.optimumHeight = optimumHeight;
	this.maximumWidth = maximumWidth;
	this.maximumHeight = maximumHeight;
	this.aspectRatio = aspectRatio;
	this.idealCentreX = idealCentreX;
	this.idealCentreY = idealCentreY;
	this.copyright = copyright;
	this.thumbnail = thumbnail;
}

