// Launch page resize
function doSetPages(){
	//window.clearTimeout(timeoutID3);
	//timeoutID2 = window.setTimeout('setPages()',100);
	setPages();
}

// Highlight error fields
function show_errors(){
	if( input_error.length > 1 ){
		for(i=1;i<input_error.length;i++){
			// Highlight error elements
			cC(input_error[i],'errorField');
		}
	}
}


function expand(p,s){
	e = gE(p);
	if(!s || s=='') s=(e.style.display=='') ? -1:1;
	dE(e,s);
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}


// Centre to the middle of the page
function setPages(forced){
	bw = bW();			// Browser width
	bh = bH();			// Browser height
	bw2 = (bw/2)-372;	// Set page offset
	bh2 = bh-35;		// Set content scroll region
	
	for(i=0;i<pages;i++){
		page_pos[i]=i*ps;
		e=gE("page"+i+"Mask");
		mL(e,bw2 + (i*ps),0);	// Move layer to start poition
		lh = gH(gE("page"+i+"Mask"));
		if( bh2<bhoffset || lh<435 || forced == true ){
			rL(e,765,bh2,0);		// Resize layer to fit in viewable area
		}
	}
	
	mL(gE("page99Mask"),i*ps + ps,0);	// End buffer layer
	bh3 = bh<(bhoffset+35) ? bh2 : bhoffset;	// Y Position of the footer layer
	
	mL(gE("footerMask"),bw2 + (page*ps) + 2 ,bh3);	// Position footer links
	pageMove(page);
}

// Move to page p
function pageMove(p){
	if(p<pages) scrollPage(p,page_pos[p]);
	if(page!=10 && Rpage!=page) Rpage=0;
}

// Scroll main window
function scrollPage(p,tx){
	window.clearTimeout(timeoutID);
	
	// Move to a designated position
	dx = tx - x;		// Distance to go
	dxa = dx / accel;	// Acceleration
	
	if( dxa > 0 && dxa > max_speed ) dxa = max_speed;
	if( dxa < 0 && dxa < -max_speed ) dxa = -max_speed;
	
	if( dxa < 1 && dxa > 0) dxa = 1;
	if( dxa >-1 && dxa < 0) dxa =-1;
	
	x += dxa;	// New positions
	self.scroll(x,0);	// Scroll window

	if ( Math.floor(dx) == 0 ) {
		this.scroll(tx,0);
		page = p;
		if( opage != page){
			mL(gE("footer"),5,-30);
			mL(gE("footerMask"),bw2 + (page*ps) + 2 ,bh3);	// Position footer links
			moveLayer("footer",5,0);
			opage = page;
		}
		// load the page into the bottom frame...
		if( loaded_pages[page] != 1 ){
			showLoadingLayer();
			putPageContent(page);
		}
		return;
	} else {
		timeoutID = window.setTimeout("scrollPage(" + p + "," + tx + ")",speed);
	}
}

function showLoadingLayer(){
	mL(gE("loadingP"),405 + (page*ps) ,180);	// Position loading
	sE(gE("loadingP"));								// Show page layer
	return;
}

function showformlayer(whatLayer){
	sE(gE(whatLayer));			// Show page layer
	return;
}

// Move footer
function moveLayer(n,tx,ty){
	e = gE(n);
	window.clearTimeout(timeoutID2);
	xo = gX(e);
	yo = gY(e);
	
	// Move to a designated position
	dx = tx - xo;		// Distance to go
	dxa = dx / accel;	// Acceleration
	dy = ty - yo;
	dya = dy / accel;

	if( dxa < 1 && dxa > 0) dxa = 1;
	if( dxa >-1 && dxa < 0) dxa =-1;
	if( dya < 1 && dya > 0) dya = 1;
	if( dya >-1 && dya < 0) dya =-1;
	
	xo += dxa;	// New positions
	yo += dya;		
	
	mL(e,xo,yo);

	if ( Math.floor(dx) == 0 && Math.floor(dy) == 0) {
		mL(e,tx,ty);
		return;
	} else {
		timeoutID2 = window.setTimeout("moveLayer('" + n + "'," + tx + "," + ty + ")",speed);
	}
}

// Load gear flash bits
function loadFlash(swf){
	var fhtml = '';
	
	
	wH(gE('gearswf'),fhtml);
	
}

// put the content into the bottomFrame
function putPageContent(page){
	parent.bottomFrame.location.href=urls[page]+"?pagevar="+page+sid+"&Rpage="+Rpage;
	//parent.bottomFrame.location.href="pageloader.php?pagevar="+page+sid+"&Rpage="+Rpage;
	return;
}
// Get the content from the bottomFrame

function getPage(page){
/* GBM - 22 aug 02
 * commented out the if statement, not loading up the home page when uncommented.
 */
	// page 10 is the login page. this has to be allowed to refresh.
 	//loaded_pages[0] = 0; // home page
 	loaded_pages[2] = 0; // promo page
 	loaded_pages[3] = 0; // competition page
 	loaded_pages[6] = 0; // Storecard page
 	loaded_pages[10] = 0; // login page
	
	if( loaded_pages[page] != 8){
		//var content = parent.bottomFrame.document.body.innerHTML;	// Grab everything in <body> of bottom frame
		var e1 = MM_findObj("body",parent.bottomFrame.document);
		var content = e1.innerHTML;
	
		e = gE("page"+page);
		e.innerHTML = content;			// Replace the 'page#' layer with the new content
		loaded_pages[page] = 1;

		hE(gE("page"+page+"Outline"));	// Hide outline layer
		sE(gE("page"+page));			// Show page layer
		hE(gE("loadingP"));			// Hide loading layer
	}
	
	if( debug > 0 ){
		var e2 = MM_findObj("run",parent.bottomFrame.document);
		var e3 = gE('runit');
		e3.innerHTML = e2.innerHTML;
	}
	
}


// Grab the data from the hidden frame for the debug
// f = frame grabbing from; o = object name to grab from;
function debugConsole(o){
	e = gE(o,parent.bottomFrame.document);
	debug_code = e.innerHTML;
	debugLaunch();
}

function debugLaunch(){
	cw = "debugWindow";
	debugWindow = open(root_path+'debug.php',cw,'toolbar=no,location=no,status=yes,directories=no,menubar=no,scrollbars=yes,resizable=yes,width=450,height=600,left=10,top=10');
}

// popup windows...
var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height, menubar, scrollbars)
{
  if(!menubar) menubar='yes';
  if(!scrollbars) scrollbars='no';
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar='+menubar+',scrollbars='+scrollbars+',resizable=yes,copyhistory=no,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}