/* ------------------------------------------- frame.js -------------------------------------------
Sets the frame object to references to each window accessed through 'document.appFrames'
--------------------------------------------------------------------------------------------------- */

function _appFrames() {
//	this.mainContent;
//	this.main;
//	this.mainLeft;
//	this.mainRight;
//	this.advert;
//	this.deliveryDetails;
//	this.basket;
}

function _appFrames_top() {
	// TODO: check if window.top.opener should be just window.opener?
	var w = window.top;
	try {
		if(window.top.opener) {
			w = window.top.opener.top
			if (window.top.opener.opener) {
				// Popup from popup...
				w = window.top.opener.opener.top;
			}
		} else {
			w = window.top
		}
		// Try getting the topNav frame from the window, if this fails we'll use
		// window.top instead
		var test = w.frames["topNav"].title;
	} catch(e) {
		// An error thrown, probably caused by the window.opener being a dif
		w = window.top;
	}
	return w;
}

function _appFrames_topNav() {
	return this.top().frames["topNav"];
}

function _appFrames_main() {
	return this.top().frames["main"];
}

function _appFrames_mainContent() {
	var o = this.main();
	if(o) {
		return o.frames["mainContent"];
	}
}

function _appFrames_pBasket() {
	var o = this.main();
	if(o) {
		return o.frames["pBasket"];
	}
}

function _appFrames_mainContentLeft() {
	var o = this.mainContent();
	if(o) {
		return o.frames["mainContentLeft"];
	}
}

function _appFrames_mainContentRight() {
	try {
		var o = this.mainContent();
		if(o) {
			return o.frames["mainContentRight"];
		}
	} catch(e) {
	}
}

function _appFrames_advert() {
	var o = this.pBasket();
	if(o) {
		return o.frames["advert"];
	}
}

function _appFrames_basketTop() {
	var o = this.pBasket();
	if(o) {
		return o.frames["basketTop"];
	}
}

function _appFrames_basketMain() {
	var o = this.pBasket();
	if(o) {
		return o.frames["basketMain"];
	}
}

function _appFrames_locateFrame(name) {
	switch(name) {
		case "topNav":
			return this.topNav();
			break;
		case "main":
			return this.main();
			break;
		case "mainContent":
			return this.mainContent();
			break;
		case "pBasket":
			return this.pBasket();
			break;
		case "mainContentLeft":
			return this.mainContentLeft();
			break;
		case "mainContentRight":
			return this.mainContentRight();
			break;
		case "advert":
			return this.advert();
			break;
		case "basketTop":
			return this.basketTop();
			break;
		case "basketMain":
			return this.basketMain();
			break;
	}
}

_appFrames.prototype.top = _appFrames_top;

_appFrames.prototype.topNav = _appFrames_topNav;
_appFrames.prototype.main = _appFrames_main;
_appFrames.prototype.mainContent = _appFrames_mainContent;
_appFrames.prototype.pBasket = _appFrames_pBasket;
_appFrames.prototype.mainContentLeft = _appFrames_mainContentLeft;
_appFrames.prototype.mainContentRight = _appFrames_mainContentRight;
_appFrames.prototype.advert = _appFrames_advert;
_appFrames.prototype.basketTop = _appFrames_basketTop;
_appFrames.prototype.basketMain = _appFrames_basketMain;

_appFrames.prototype.locateFrame = _appFrames_locateFrame;

document.appFrames = new _appFrames();
	

