var timeMarks = [];
timeMarks.push({label: 'chk_browser.js', ts: (new Date()).getTime()} );

var file_versions = {};
var watchdog;
var __appComponent;
var __timeStart = new Date().getTime();
function __getRunTime(){return (new Date().getTime() - __timeStart)/1000;}
errorLog = 'InitErrorLog\n';
window.onerror = function(msg,url,line,stack){
	errorLog += msg + ',' + url  + ',' + line  + ',' + stack +'\n';	
}
try{
	document.getElementById("homeLoading").style.display="block";
	//document.getElementById("homeErrorForm").style.display="none";
}catch(e){};

function appError(){
	if(!(typeof(USER) != 'undefined' && USER && USER.appRunningOk) ){
		if(!confirm("If the page doesn't load by now, there may be a problem -- unless you have a "
			+ " a slow internet connection. You can wait longer, or you can report this an error."
			+ "\n\nClick \"OK\" to continue waiting." +
			"\n\nClick \"Cancel\" to give up and report this as an error")){
				document.location = '/ce/ce_did_not_load.html?' + escape(CORE.errorLog).substring(0,7000);
		}else{
			watchdog = setTimeout(appError,120000);	
		}

	}
}
// if there are two CEsessionID cookies, clear one
try{
	if(document.cookie.match(/CEsessionID.*CEsessionID/)){
		document.cookie='CEsessionID=; expires=Sat, 05 Sep 1990 02:31:52 GMT; path=/; domain=' + document.location.hostname;
	}
}catch(e){}




var compCtr = 1;
var __embeddedComponents = [];
var __fileIds = [];

function embedComponent(params){
	collectFileIds(params);
	//var paramStr = objString(params).replace(/\n/g,'<br/>');
	document.write("<DIV id=\"__comp" + compCtr + "\" class=\"embeddedComp\"></DIV>");
	__embeddedComponents.push({id:compCtr, params: params });
	++compCtr;
}
function objString(obj){
	var s='';
	for(var o in obj){
		s += o + ': ' + obj[o] + '\n';		
	}
	return s;
}
function buildComponents(){
	//alert("buildComponents" );
	var o;
	for(var i=0;(o=__embeddedComponents[i]);i++){
		var id = "__comp" + o.id;
		var div = document.getElementById(id);
		//alert("id: " + id + ". div: " + div);
		if(div){
			var params = o.params;
			params.__displayParentNode = div;
		//	params.debug = true;
			_CM.create(params);
		}
	}
}
function collectFileIds(params){
	for(var p in params){
		if(p.match(/FileId/))__fileIds.push(params[p]);				
	}
}


function shouldIredirect(){
	if(!xmlSupport())document.location = "/ce/browserNotSupported.html";		
}
function updateHomePage(){
	if(!xmlSupport()){
		document.getElementById('browser_not_ie_ff').style.display='block';
	}
//	document.getElementById('templates_noJS').style.display='none';
//	if(xmlSupport()){
//		document.getElementById('templates_ok').style.display='block';
//	}else{
//		document.getElementById('templates_not_ie_ff').style.display='block';
//	}                                                          
}
function updateExamplePage(){
	document.getElementById('example_noJS').style.display='none';
	document.getElementById('button_noJS').style.display='none';
	if(xmlSupport()){
		document.getElementById('example_ok').style.display='block';
		document.getElementById('button_ok').style.display='block';
	}else{
		document.getElementById('example_not_ie_ff').style.display='block';
		document.getElementById('button_not_ie_ff').style.display='block';
	}
}
function xmlSupport(){
	getMsxmlAXstr();
 	if(msxmlAXstr && msxmlVer < "2.3.0" ){
		return false;
	}else if(msxmlAXstr){
		return true;
	}
	try{
		var xsltProcessor = new XSLTProcessor();
	}catch(e){
		return false;
	}
	if ( typeof XSLTProcessor != "undefined"){
		//alert("XSLTProcessor ok, navigator.userAgent: " +navigator.userAgent );
	//	if(navigator.userAgent.match(/applewebkit/i)) return false;
		
		return true;
//		var gecko = navigator.userAgent.match(/.*Gecko\/(\d*)/);
//		if (gecko && gecko[1]>"20020529"){
//			//return false;
//			return true;			
//		}else{
//			return false;
//		}
	}
	return false;
}

var msxmlAXstr;
var msxmlVer;
function getMsxmlAXstr() {
var stylesheet;
	if( typeof ActiveXObject == "undefined"){
		msxmlAXstr = null;
		msxmlVer = null;
		return;
	}
	try{
	  	stylesheet = new ActiveXObject("Msxml2.DOMDocument.3.0");
		msxmlAXstr = "Msxml2.DOMDocument.3.0";
		msxmlVer = "2.3.0";
		return;
	}catch(e){}
	try{
	  	stylesheet = new ActiveXObject("Msxml2.DOMDocument.2.6");
		msxmlAXstr = "Msxml2.DOMDocument.2.6";
		msxmlVer = "2.2.6";
		return;
	}catch(e){}
	try{
		stylesheet = new ActiveXObject("Msxml2.DOMDocument");
		msxmlAXstr = "Msxml2.DOMDocument";
		msxmlVer = "2.0.0";
		return;
	}catch(e){}
	try{
		stylesheet = new ActiveXObject("Msxml.DOMDocument");
		msxmlAXstr = "Msxml.DOMDocument";
		msxmlVer = "1.0.0";
		return;
	}catch(e){
		msxmlAXstr = null;
		msxmlVer = null;
		return;
	}
}
try{
	if(navigator.userAgent.match(/MSIE [56]/)){
	// IE 5/6 will not use cached images for innerHTML unless they are preloaded
	// I had to move preload out to here to work consistently.
		//alert("load the images");
		var img = new Image();
		img.src = "/ce/g/ce-logotype.gif";
		var img2 = new Image();
		img2.src = "/ce/g/queshelp.gif";
		var img3 = new Image();
		img3.src = "/ce/g/pix/tl.gif";
		var img4 = new Image();
		img4.src = "/ce/g/pix/bl.gif";
		var img5 = new Image();
		img5.src = "/ce/g/pix/tr.gif";
		var img6 = new Image();
		img6.src = "/ce/g/pix/br.gif";
		var img7 = new Image();
		img7.src = "/ce/g/pix/ce-blue-50.gif";
		var img8 = new Image();
		img8.src = "/ce/g/loading18.gif";
		var img9 = new Image();
		img9.src = "/ce/g/pix/dia-20.gif";
		var img9 = new Image();
		img9.src = "/ce/g/sched_bg.gif";
	}else{
		//alert("don't load the images");	
	}
}catch(e){};
