var lastClicked;
var previousClicked;
var redirect = 0;
var redirectVal = 0;
var cancelRedirect = 0;
var appCallNumber = 0;

var FlexApps = new Object();
FlexApps['O2AppsMall'] = 1;
FlexApps['O2AppsForum'] = 1;

window.onresize = resizeIFrame;

function cancelMouseOver() {

	if(document.getElementById(lastClicked)) {
	
		if(document.getElementById(lastClicked).className=='topMenuItem') {
			if(isIE) {
				document.getElementById(lastClicked).style.backgroundColor = 'transparent';
			}
			else {
				document.getElementById(lastClicked).style.backgroundColor = null;
			}
			document.getElementById(lastClicked).style.color = '#FFFFFF';
		}
		
		else if(document.getElementById(lastClicked).className=='menuItem') {
		
			document.getElementById(lastClicked).style.color = '#1A1265';
		
		}
		
		else {
	
			document.getElementById(lastClicked).style.backgroundColor = '#FFFFFF';
			document.getElementById(lastClicked).style.color = '#1A1265';
			
		}
	}

}

function createIFrame(dest,option) {
	
	var i = document.getElementById('iFrame');
	
	if(fIEVersion==6) {
		if(i) {
			i.parentNode.removeChild(i);
			i = null;
		}
	}
	
	var addIFrame = 0;
	if(!i) {
	
		addIFrame = 1;
	
		// going to need code for all browsers
		i = document.createElement('iframe');
		i.setAttribute('name','iFrame');
		i.setAttribute('id','iFrame');
		i.style.borderStyle = 'none';
		i.setAttribute('frameborder','no');
		
		if((isMoz) || (isSafari)) {
			i.style.position = 'absolute';
			i.style.left = '-5px';
			i.style.top = '-5px';
		}
		
		else if(isOpera) {
		
			i.style.position = 'absolute';
			i.style.left = '-2px';
			i.style.top = '-2px';

		}
		
	}
		
	var m = document.getElementById('main');
		
	if(isIE) {
		
		var b = getBrowserObject();
		var o = determineAbsolutePosition(m);
		var w = b.clientWidth - o.eL;
		var h = b.clientHeight - o.eT;
		i.style.width = w+'px';
		i.style.height = h+'px';
			
		i.style.position = 'absolute';
		i.style.left = '-2px';
		i.style.top = '-2px';
		
	}
	
	if(addIFrame) {
		m.appendChild(i);
	}
	
	if(option=='web') {	
		i.setAttribute('src',dest);
	}
	else if(FlexApps[dest]) {
		showStatusLoading("Loading FLEX app");
		i.setAttribute('src','http://www.o2apps.com/Flex/'+dest+'/'+dest+'.html');
	}
	else {				
		i.setAttribute('src','http://www.o2apps.com/ws.pl?cgi=1&feature=O2Apps&module=Website&method=getResource&resource='+dest+'&sessionId='+getCookie('sessionId'));
	}
	
	resizeIFrame();

}

function getResource(e,resource,option,requireAuth,passThrough) {
	
	var m = document.getElementById('main');
	setLocation(resource);
	
	if((lastClicked!=resource) || (!e)) {
		cancelMouseOver();
	}
	
	if(e) {
		menuOver(e);
		previousClicked = lastClicked;
		lastClicked = e.getAttribute('id');
	}
	else {
		previousClicked = lastClicked;
		lastClicked = resource;
	}
	
	if(requireAuth) {
	
		if(!getCookie("S_uid")) {
			redirect = e;
			redirectVal = option;
			createIFrame('Login');
			return;
		}
	
	}
	
	if((option) && (option!=1)) {
		createIFrame(option,'web');
		hideStatusLoading();
	}
	
	else if(option) {
		
		createIFrame(lastClicked);

	}
	
	else {
	
		while(m.firstChild) {
			m.removeChild(m.firstChild);
		}	
	
		var query = new Object();
		query['feature'] = 'O2Apps';
		query['module'] = 'Website';
		query['method'] = lastClicked;
		query['resource'] = lastClicked;
		query['handler'] = 'getResource_handler';
		callAjax(query);
		
	}

}

function getResource_handler(xmlObject) {

	hideStatusLoading();
	var m = document.getElementById('main');
	m.innerHTML = createStringFromXml(xmlObject.childNodes[0].childNodes[0].childNodes[0]);

}

function goHome() {

	if(document.getElementById(lastClicked)) {
		// document.getElementById(lastClicked).style.backgroundColor = '#FFFFFF';
		document.getElementById(lastClicked).style.color = '#1A1265';
	}
	
	getResource('','Welcome',1);

}

function hideStatusLoading() {

	document.getElementById('loading').style.visibility = 'hidden';

}

function init() {

	var s = document.location.href.toString();
	var p = s.split("http://");
	var p1 = p[1];
	var p2 = p1.split(".");
	if(p2[0]=='O2Apps') {
		document.location.href = 'http://www.o2apps.com';
	}
	else {
	
		// give them a sessionId cookie
		if(!getCookie("sessionId")) {
			var timeKeeper = Date.parse(new Date());
			timeKeeper = timeKeeper / 1000;
			setCookie("sessionId",timeKeeper,new Date(Date.parse("Dec 31, 2013")));
		}

		showStatusLoading("Loading O<sub>2</sub>Apps.com");

		if(isSafari) {
	
			var e = document.getElementById('tableMenu');
			e.style.top = '90px';
	
		}
	
		if(isMoz) {
	
			var e = document.getElementById('heading');
			e.style.left = '240px';
	
		}
	
		welcome();
		loginChecker();
		
	}

}

function initMAX() {

	var s = document.location.href.toString();
	var p = s.split("http://");
	var p1 = p[1];
	var p2 = p1.split(".");
	if(p2[0]=='O2Apps') {
		document.location.href = 'http://www.o2apps.com';
	}
	else {
	
		// give them a sessionId cookie
		if(!getCookie("sessionId")) {
			var timeKeeper = Date.parse(new Date());
			timeKeeper = timeKeeper / 1000;
			setCookie("sessionId",timeKeeper,new Date(Date.parse("Dec 31, 2013")));
		}

		showStatusLoading("Loading O<sub>2</sub>Apps.com");

		if(isSafari) {
	
			var e = document.getElementById('tableMenu');
			e.style.top = '90px';
	
		}
	
		if(isMoz) {
	
			var e = document.getElementById('heading');
			e.style.left = '240px';
	
		}
	
		welcomeMAX();
		loginChecker();
		
	}

}

function loginHandler() {

	if(!getCookie("S_uid")) {
	
		createIFrame('Login');
	
	}

}

function loginChecker() {

	// check cookie
	var a = getCookie("S_uid");
	if(a) {
	
		var query = new Object();
		query['feature'] = 'O2Apps';
		query['module'] = 'Website';
		query['method'] = 'checkProfile';
		query['userId'] = a;
		query['handler'] = 'loginChecker_handler';
		callWebService(query);
	
	}
	

}

function loginChecker_handler(xmlObject) {

	var r = getXPath(xmlObject,"//name");
	var firstName = r[0].getAttribute("firstName");
	var lastName = r[0].getAttribute("lastName");
	var email = r[0].getAttribute("email");
	var admin = Number(r[0].getAttribute("admin"));
	
	var character = email;
	if((firstName) && (lastName)) {
		character = firstName+' '+lastName;
	}

	var l = document.getElementById('Login');
	l.innerHTML = '<span style="font-weight: bold;">Welcome '+character+'</span><br/><a href="javascript:void(0);" onclick="logoff();">Logoff</a> | <a href="javascript:void(0);" onclick="createIFrame(\'ModifyProfile\');">Modify Profile</a> | <a href="javascript:void(0);" onclick="createIFrame(\'MyServices\');">My Services</a>';
	
	if(admin) {
		setCookie("isAdmin",1);
		l.innerHTML+=' | <a href="javascript:void(0);" onclick="createIFrame(\'Admin\');">Admin</a>';
	}
	
	if(!cancelRedirect) {
	
		if(redirect) {
			getResource(redirect,lastClicked,redirectVal);
		}
		else {
			welcome();	
		}
		
	}
	
	cancelRedirect = 0;
	redirect = 0;
	redirectVal = 0;

}

function logoff() {

	if(document.getElementById(lastClicked)) {
		document.getElementById(lastClicked).style.backgroundColor = '#FFFFFF';
		document.getElementById(lastClicked).style.color = '#1A1265';
	}

	document.getElementById('Login').innerHTML = 'Log in to O<sub>2</sub>Apps.com';
	setCookie("S_uid","0",new Date(Date.parse("Jan 1, 1970")),"",".o2apps.com");
	setCookie("isAdmin","0",new Date(Date.parse("Jan 1, 1970")),"",".o2apps.com");
	setCookie("S_uid","0",new Date(Date.parse("Jan 1, 1970")));
	setCookie("isAdmin","0",new Date(Date.parse("Jan 1, 1970")));
	createIFrame('Login');

}

function lookupApp() {

	return appCallNumber;

}

function menuOver(e) {

	if(lastClicked!=e.getAttribute('id')) {

		// e.style.backgroundColor = '#A7A9AB';
		// e.style.backgroundColor = '#5192C5';
		// e.style.color = '#F2F2F2';
		e.style.color = '#0076c3';
		e.style.cursor = 'pointer';

	}
		
}

function menuOut(e) {

	if(lastClicked!=e.getAttribute('id')) {
	
		e.style.color = '#1A1265';
		
		
		/* if(isIE) {
			e.style.backgroundColor = 'transparent';
		}
		else {
			e.style.backgroundColor = null;
		} */
	
	}

}

function openChat(instance) {

	// getResource('','Chat',1);
	createIFrame('http://www.o2apps.com/Chat.cgi?instance='+instance+'&sessionId='+getCookie('sessionId'),'web');

}

function resizeIFrame() {

	var i = document.getElementById('iFrame');
	if(i) {
	
		var b = getBrowserObject();
		var o = determineAbsolutePosition(i);
		var w = b.clientWidth - o.eL;
		var h = b.clientHeight - o.eT;
		i.style.width = w - 8 +'px';
		i.style.height = h - 8 +'px';
	
	}

}

function returnColor(e) {

	lastClicked = '';
	document.getElementById(e).style.backgroundColor = '#FFFFFF';
	document.getElementById(e).style.color = '#1A1265';

}

function setLocation(location) {

	var flashObject;
	if(isIE) {
		flashObject = document.getElementById('flashObject');
	}
	else {
		flashObject = document.getElementById('flashEmbed');
	}
	
	if((flashObject) && (!isSafari) && (!isOpera)) {
		if(flashObject.setLocation) {
			var callResult = flashObject.setLocation(location);
		}
	}

}

function showStatusLoading(msg) {

	if(!msg) {
		msg = "Getting data";
	}

	document.getElementById('loading').style.visibility = 'visible';
	var e = document.getElementById('loadingMessage');
	e.innerHTML = msg;
	
}

function startChat(sessionId) {

	var flashObject;
	if(isIE) {
		flashObject = document.getElementById('flashObject');
	}
	else {
		flashObject = document.getElementById('flashEmbed');
	}
	
	if((flashObject) && (!isSafari) && (!isOpera)) {
		var callResult = flashObject.startChat(sessionId);
	}

}

function theTopMenuOver(e) {

	if(lastClicked!=e.getAttribute('id')) {

		e.style.backgroundColor = '#A7A9AB';
		// e.style.backgroundColor = '#5192C5';
		// e.style.color = '#F2F2F2';
		e.style.color = '#FFFFFF';
		e.style.cursor = 'pointer';

	}
		
}

function theTopMenuOut(e) {

	if(lastClicked!=e.getAttribute('id')) {

		// e.style.backgroundColor = '#FFFFFF';
		// e.style.color = '#1A1265';
		if(isIE) {
			e.style.backgroundColor = 'transparent';
		}
		else {
			e.style.backgroundColor = null;
		}
		e.style.color = '#FFFFFF';
	
	}

}

function topMenuOver(e) {

	if(lastClicked!=e.getAttribute('id')) {

		e.style.backgroundColor = '#A7A9AB';
		// e.style.backgroundColor = '#5192C5';
		e.style.color = '#F2F2F2';
		e.style.cursor = 'pointer';

	}
		
}

function topMenuOut(e) {

	if(lastClicked!=e.getAttribute('id')) {

		e.style.backgroundColor = '#FFFFFF';
		e.style.color = '#1A1265';
	
	}

}

function welcome() {

	// check for custom entry
	var pieces = document.location.toString().split("?");
	if(pieces[1]) {

		var passObject = new Object();
		var pieces2 = pieces[1].split("&");
		for(var i = 0;i<pieces2.length;i++) {
		
			var pieces3 = pieces2[i].split("=");
			passObject[pieces3[0]] = pieces3[1];
		
		}
		
		if(passObject["passThrough"]) {
			t[passObject["passThrough"]+"_Passthrough"](passObject);
		}
		
		else {
			getResource('','Welcome',1);
		}
	
	}
	
	else {
	
		getResource('','Welcome',1);
	
	}

}

function welcomeMAX() {

	// check for custom entry
	var pieces = document.location.toString().split("?");
	if(pieces[1]) {

		var passObject = new Object();
		var pieces2 = pieces[1].split("&");
		for(var i = 0;i<pieces2.length;i++) {
		
			var pieces3 = pieces2[i].split("=");
			passObject[pieces3[0]] = pieces3[1];
		
		}
		
		if(passObject["passThrough"]) {
			t[passObject["passThrough"]+"_Passthrough"](passObject);
		}
		
		else {
			getResource('','WelcomeMAX',1);
		}
	
	}
	
	else {
	
		getResource('','WelcomeMAX',1);
	
	}

}