// tabs
var cWin;
var ceState;

function tabSetClass (tabId, className) {
	var tl = new getObj(tabId + 'tl');
	var tc = new getObj(tabId + 'tc');
	var tr = new getObj(tabId + 'tr');
	var bl = new getObj(tabId + 'bl');
	var bc = new getObj(tabId + 'bc');
	var br = new getObj(tabId + 'br');
	tl.obj.className = className;
	tc.obj.className = className;
	tr.obj.className = className;
	bl.obj.className = className;
	bc.obj.className = className;
	br.obj.className = className;
}

// other
var popupWin;
var isPopup = false;

function setPopup() { isPopup = true; }

function ceOnFocus() {
	if (popupWin) {
		if (popupWin.closed) {
			popupWin = null;
		}
		else {
			popupWin.focus();
		}
	}
}

function ceWindowOpen(url, name, settings, register) {
	if (register == null) { register = true; }
	var win = window.open(ensureLink(url), name, settings);

	// used with the website tester
	if (window.cWin && register) {
		window.cWin.registerWindow(win);
	}

	if (register) 
		popupWin = win;
	win.focus();
	return win;
	}

function setCWin(win) {
	cWin = win;
}
function closePopup() {
    window.opener.focus();
    window.close();
}
function insertImageIntoPage(storedAs) {
	document.ftb.designEditor.document.execCommand('insertimage', false, xxLocalRoot + xxSiteName + '/' + storedAs); 
	return;
}
function insertDocumentIntoPage(storedAs, linkText) {
	var linkText = '<a href="' + xxLocalRoot + xxSiteName + '/' + storedAs + '" target="new">' + linkText + '</a>'
	document.ftb.designEditor.document.execCommand('insertimage', false, 'http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif'); 
	document.ftb.designEditor.document.body.innerHTML = cesReplace(document.ftb.designEditor.document.body.innerHTML, '<img src="http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif">', linkText);
	document.ftb.designEditor.document.body.innerHTML = cesReplace(document.ftb.designEditor.document.body.innerHTML, '<IMG src="http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif">', linkText);
	return
}
function insertNewsItemIntoPage() {
	var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ); 
	var time = new Date(); 
	var year = time.getYear(); 
	if (year < 2000) {year += 1900;} 
	var dateStr = time.getDate() + ' ' + months[time.getMonth()] + ' ' + year
	var linkText = '<br /><table width="100%" cellpadding="3px" cellspacing="0px"><tr class="newsHeadingRow"><td class="newsHeading">New news item</td><td class="newsDate">' + dateStr + '</td></tr><tr><td colspan="2" class="newsContent">news content</td></tr></table>'
	document.ftb.designEditor.document.execCommand('insertimage', false, 'http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif'); 
	document.ftb.designEditor.document.body.innerHTML = cesReplace(document.ftb.designEditor.document.body.innerHTML, '<img src="http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif">', linkText);
	document.ftb.designEditor.document.body.innerHTML = cesReplace(document.ftb.designEditor.document.body.innerHTML, '<IMG src="http://fqws.co.uk/__ce__INSERT_HERE__ce__.gif">', linkText);
	return
}


function ceRefreshWindow() {
	ceDisplayLoadingMsg();
    window.location.href = window.location.href;
	}

function getObj(name) {
  if (document.getElementById)
  {
	this.obj = document.getElementById(name);
	if (this.obj)
		this.style = this.obj.style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	if (this.obj)
		this.style = this.obj.style;
  }
  else if (document.layers)
  {
	this.obj = document.layers[name];
	if (this.obj)
		this.style = this.obj;
  }
}

function toggleHideable(triggerId, targetId, newLabelContent, hide) {
	var temp;
	var labelObj = new getObj(triggerId);
	if (labelObj.obj) {
		labelObj = labelObj.obj;
		if (labelObj.altText) {
			temp = labelObj.innerHTML;
			labelObj.innerHTML = labelObj.altText;
			labelObj.altText = temp;
		} else {
			labelObj.altText = labelObj.innerHTML;
			labelObj.innerHTML = newLabelContent;
		}
	}
	var target = new getObj(targetId);
	if (target.obj) {
		
		// set the target.obj.isHiddenState if not done so
		if (target.obj.isHiddenState == null) {
			if (hide == null) { hide = true; }
			target.obj.isHiddenState = hide;
		} else {
			target.obj.isHiddenState = !target.obj.isHiddenState;
		}
		if (target.obj.isHiddenState) {
			target.style.display = 'none';
		} else {
			target.style.display = '';
		}
	}
}

/* scrollIt()
scrolls the page to the same position as before postback
*/
function scrollIt(){
	window.scrollTo(document.forms[0].PageX.value, document.forms[0].PageY.value);
}

/* setCoords()
updates the scroll coordinates in hidden input fields every time the page is scrolled
*/
function setCoords(){
	var myPageX;
	var myPageY;
	if (document.all){
		myPageX = document.body.scrollLeft;
		myPageY = document.body.scrollTop;
		}
	else{
		myPageX = window.pageXOffset;
		myPageY = window.pageYOffset;
		}
	document.forms[0].PageX.value = myPageX;
	document.forms[0].PageY.value = myPageY;
}


/* ceSelectDeselectAll()
*/
function ceSelectDeselectAll (gridIdStem, cbIdStem, selectDeselect)
{
    var frm = document.forms[0];

    for (i=0; i<frm.length; i++)
    {
        // Look for our Header Template's Checkbox
		if (frm.elements[i].id.indexOf (gridIdStem) != -1 && frm.elements[i].id.indexOf (cbIdStem) != -1 && frm.elements[i].type == 'checkbox')
        {
			frm.elements[i].checked = selectDeselect; //Uncheck main select all checkbox
        }
    }

}

function ceTokensUseUri(stateValue) {
	//alert('started');
	ceState = stateValue;
	var aElements = document.getElementsByTagName('a');
	var inner;
	for (i=0; i<aElements.length; ++i) {
		if (aElements[i].href.indexOf('javascript:') == -1 && aElements[i].href.indexOf('mailto:') == -1) {
			inner = aElements[i].innerHTML;
			aElements[i].href = ceAddStateToLink(aElements[i].href);
			aElements[i].innerHTML = inner;
		}
	}
}

function ensureLink(url) {
	ceGetCeState()
	if (ceState && ceState != '') {
		return ceAddStateToLink(url);
	} else {
		return url;
	}
}

function ceAddStateToLink(url) {
	if (url.indexOf('?') > -1) {
			return url + '&ceState=' + ceGetCeState();
		} else {
			return url + '?ceState=' + ceGetCeState();
		}
}

function ceSetUrl(url) {
	ceDisplayLoadingMsg();
	window.location.href = ensureLink(url);
}

function ceDisplayLoadingMsg() {
	var f = new getObj('divFloat');
	if (f.obj) {
		f.obj.innerHTML = '<div style="display: block; background-color: #ccc; height: ' + ceDocHeight() + 'px; width: ' + ceDocWidth() + 'px; position: absolute; left: 0px; top: 0px; text-align: center; vertical-align: middle;" class="vnormal pageBody opaque" onclick="ceCancelBubble(event);">loading...</div>';
	}
}

function ceCancelBubble(e) {
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}

function ceGetCeState() {
	if (ceState == null) {
		var stateElem = new ceElementGet('ceState').obj
		if (stateElem != null) {
			ceState = stateElem.getAttribute('value')
		}
	}
	return ceState;
}
