/*$Id$ */
// JavaScript Document
var browser_opera = false;
var browser_ie = false;
var browser_nn6 = false;
var browser_nn4 = false;
var currenttab = "";
var previoustab = "";
if (document.all)
{
if (window.navigator.appName.toUpperCase=="OPERA")
 browser_opera=true;
 else
 browser_ie=true;
}
else if (document.layers || (!document.all && document.getElementById))
 browser_nn6=true;
else if (document.layers)
 browser_nn4=true;
function searchDocs(code)
{
	var type = "all";
	var searchTextVal = trim(document.getElementById("searchtext").value);
	if(code == '13' && searchTextVal != "")
	{
		parent.frames['MAIN'].location = "search.html?query="+searchTextVal+"&type="+type;
	}
	changeHelpText('');
	changeClass();
	//parent.frames['search'].document.getElementById("framestatus").innerHTML = "Searching ... Please wait&nbsp;&nbsp;&nbsp;<img src='/appcreator/images/cogwheel.gif'/>";
	//parent.frames['contents'].document.getElementById("framecontent").innerHTML = "";
	//frames['search'].location = "/appcreator/jsp/search/search_doc.jsp?query="+document.getElementById("searchtext").value+"&type=zc";
}

function showPage(file, headid, target)
{
	if(target && target == "new")
	{
		window.open(file);
	}
	else
	{
		parent.MAIN.location=file;
		changeClass('',headid);
	}
}

function changeClass(id,headid, suburl, footMark)
{
	var curNode = null;
	if(headid && headid != "")
	{
		currenttab = headid;
		curNode = document.getElementById(headid)
	}
	else
	{
		currenttab = id;
		curNode = document.getElementById(id)
	}
	if(id)
	{
		var url = id;
		if(id == "tutorial")
		{
			url=url+"/bug-tracker-for-online-tutorial.html";
		}
		else
		{
			url=id+".html";
		}
		if(suburl && suburl != "")
		{
			url = url + "?url="+suburl;
		}
		if(footMark && footMark != "")
		{
			url = url + footMark;
		}
		parent.MAIN.location=url;
	}
	elem = document.getElementById("getting-started/overview");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("getting-started/zc-features");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("getting_started");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("tutorial");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("switchmenu1");
	if(elem)
	{
		elem.className = "switchmenu1";
		setA(elem,'change','false');
		//elem.onmouseover = new Function("evt","this.className='switchmenu1over';");
		//elem.onmouseout = new Function("evt","this.className='switchmenu1'");
	}
	elem = document.getElementById("explore1");
	if(elem)
	{
		elem.className = "explore1";
		setA(elem,'change','false');
	}
	elem = document.getElementById("deluge_ref");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("tips");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("faq");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("quick-ref/what-is-new");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById("videos");
	if(elem)
	{
		elem.className = "main-nav-inactive";
		elem.onmouseover = new Function("evt","this.className='main-nav-inactive-hover';");
		elem.onmouseout = new Function("evt","this.className='main-nav-inactive'");
	}
	elem = document.getElementById(id);
	if(id == "switchmenu1")
	{
		elem.className = "switchmenu1";
		setA(elem,'change','false');
	}
	else
	{
		if(elem)
		{
			elem.className = "main-nav-active";
			elem.onmouseover = new Function("evt","");
			elem.onmouseout = new Function("evt","");
		}
	}
	if(headid)
	{
		if(headid == "switchmenu1")
		{
			elem = document.getElementById(headid);
			elem.className = "main-nav-active";
			setA(elem,'change','true');
		}
		else if(headid == "explore1")
		{
			elem = document.getElementById(headid);
			elem.className = "main-nav-active";
			setA(elem,'change','true');
		}
	}
	if(browser_ie)
	{
		if(curNode && curNode.previousSibling && curNode.previousSibling.id)
		{
			if(curNode.previousSibling.id != "switchmenu1" && curNode.previousSibling.id != "explore1")
			{
				elem = document.getElementById(curNode.previousSibling.id);
				elem.className = "main-nav-inactive-noborder";
				elem.onmouseover = new Function("evt","this.className='main-nav-inactive-noborder-hover';");
				elem.onmouseout = new Function("evt","this.className='main-nav-inactive-noborder'");
			}
		}
	}
	else
	{
		if(curNode && curNode.previousSibling && curNode.previousSibling.previousSibling.id)
		{
			if(curNode.previousSibling.previousSibling.id != "switchmenu1" && curNode.previousSibling.previousSibling.id != "explore1")
			{
				elem = document.getElementById(curNode.previousSibling.previousSibling.id);
				elem.className = "main-nav-inactive-noborder";
				elem.onmouseover = new Function("evt","this.className='main-nav-inactive-noborder-hover';");
				elem.onmouseout = new Function("evt","this.className='main-nav-inactive-noborder'");
			}
		}
	}
	previoustab = currenttab;
}
var ifriehack = null;
function remieiframe() {
	if(document.all && ifriehack != null) {
		document.body.removeChild(ifriehack);
		ifriehack = null;
	}
}

function ieiframe(dial) {
	//alert(dial.offsetWidth);

	if (document.all) {
		if(ifriehack != null) {
			document.body.removeChild(ifriehack);
		}
		ifriehack = document.createElement("IFRAME");
		ifriehack.scrolling = "no";
		ifriehack.frameBorder = 0;
		if(window["CONTEXT_PATH"] != null)
		{
		   ifriehack.src= CONTEXT_PATH + "/framework/html/blank.html";
		}
		ifriehack.style.position = "absolute";
		ifriehack.style.zIndex = "98";

		dial.style.zIndex = "99";
		ifriehack.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		var width = dial.offsetWidth;
		var height = dial.offsetHeight;
		ifriehack.style.width = width + "px";
		ifriehack.style.height = height + "px";

		var left = findPosX(dial);
		var top = findPosY(dial);
		ifriehack.style.top = parseInt(top) + "px";
		ifriehack.style.left = parseInt(left) + "px";
		document.body.appendChild(ifriehack);
	}
}
function findPosX(obj) {
	var curleft = 0;
	if (document.getElementById || document.all) {
		curleft += document.body.offsetLeft;
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} 
	else if (document.layers) {
		curleft += obj.x;
	}
	return curleft;
}
function findPosY(obj) {
	var curtop = 0;
	if (document.getElementById || document.all) {
		curtop += document.body.offsetTop;
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (document.layers) {
		curtop += obj.y;
	}
	return curtop;
}

function docid(id)
{
	return document.getElementById(id);
}
function getA(elem, key) {
	return elem.getAttribute(key);
}

function setA(elem, key, value) {
	return elem.setAttribute(key, value);
}
function regEvents(m, name, tag) {
	var tagname="div";
	if(tag && tag!="")
		tagname=tag;
	var melem = docid(m);
	var divs = melem.getElementsByTagName(tagname);
	melem.className = name + "0";
	var len = divs.length;
	for(var i=0; i<len; i++) {
		var di = divs.item(i);
		var did = di.id;
		if(did && did.indexOf(name) == 0) {
			if(getA(di, 'sel') == 'true') {
				di.className = name + "sel1";
			} else {
				di.className = name + "1";
			}
			var ch = docid(did + 'child');
			if(ch) {
				di.onmouseover = new Function("evt","show('" + did + "', '" + name + "');");
				di.onmouseout = new Function("evt","hide('" + did + "', '" + name + "');");
				ch.onmouseover = new Function("evt","show('" + did + "', '" + name + "');");
				ch.onmouseout = new Function("evt","hide('" + did + "', '" + name + "');");
				ch.className =name + "abs";
				var chdivs = ch.getElementsByTagName('div');
				var chlen = chdivs.length;
				for(var j=0; j<chlen; j++) {
					chdi = chdivs.item(j);
					var chdid = chdi.id;
					var movr = false;
					if(chdid) {
						if(chdid.indexOf(name) == 0) {
							var chch = docid(chdid + 'child');
							if(chch) {
								movr = true;
								chdi.onmouseover = new Function("evt","show('" + did + "', '" + name + "', '" + chdid + "', true);");
								chdi.onmouseout = new Function("evt","hide('" + did + "', '" + name + "', '" + chdid + "', true);");
								chch.onmouseover = new Function("evt","show('" + did + "', '" + name + "', '" + chdid + "');");
								chch.onmouseout = new Function("evt","hide('" + did + "', '" + name + "', '" + chdid + "');");
								chch.className = name + "abs";

								var chchdivs = chch.getElementsByTagName('div');
								var chchlen = chchdivs.length;
								for(var k=0; k<chchlen; k++) {
									chchdi = chchdivs.item(k);
									var chchdid = chchdi.id;
									if(chchdid) {
										chchdi.onmouseover = new Function("evt","docid('" + did + "').className = '" + name + "1over'; setmoclass('" + chchdid + "', '" + name + "',true);setmoclass('" + chdid + "', '" + name + "',true);");
										chchdi.onmouseout =  new Function("evt","docid('" + did + "').className = '" + name + "1'; setmoclass('" + chchdid + "', '" + name + "',false);setmoclass('" + chdid + "', '" + name + "',false);");
										setmoclass(chchdid, name, false);
									}
								}
							}
						}
						if(movr == false) {
							chdi.onmouseover = new Function("evt","setmoclass('" + chdid + "', '" + name + "',true);");
							chdi.onmouseout =  new Function("evt","setmoclass('" + chdid + "', '" + name + "',false);");
						}
						setmoclass(chdid, name, false);
					}
				}
			}
		}
	}
	melem.style.display = '';
}

function show(elemid, name, chelemid, setc) {
	var elem = docid(elemid);
	var ch = docid(elemid + 'child');
	if(ch) {
		//ch.style.left = findPosX(elem) + "px";
		/*if(browser_ie)
		{
			ch.style.top = findPosY(elem) + elem.offsetHeight-1 + "px" ;
		}
		else
		{
			ch.style.top = findPosY(elem) + elem.offsetHeight-1 + "px" ;
		}*/
		if(getA(elem,'change')=='true')
		{
			if(browser_ie)
			{
				ch.style.top = findPosY(elem) + elem.offsetHeight-4 + "px" ;
			}
			else
			{
				ch.style.top = findPosY(elem) + elem.offsetHeight-10 + "px" ;
			}
		}
		else
		{
			ch.style.top = findPosY(elem) + elem.offsetHeight-1 + "px" ;
		}
		ch.style.display = '';
		ieiframe(ch);
		var maxwidth=0;
		var chdivs = ch.getElementsByTagName('div');
		var chlen = chdivs.length;
		for(var j=0; j<chlen; j++) {
			chdi = chdivs.item(j);
			var ofw = chdi.offsetWidth;
			if(!document.all) {
				ofw = ofw -10;
			}
			if(ofw > maxwidth) {
				maxwidth = ofw;
			}
		}
		for(var j=0; j<chlen; j++) {
			chdi = chdivs.item(j);
			//chdi.style.width = maxwidth + "px";
		}

		var al = getA(ch, 'menualign');
		var alcorr = 0;
		if(al == 'right') {
			alcorr = (maxwidth - elem.offsetWidth);
		}
		if(getA(elem,'change')=='true')
		{
			ch.style.left = findPosX(elem) - alcorr + "px";
		}
		else
		{
			ch.style.left = findPosX(elem) - alcorr-1 + "px";
		}

	}
	if(chelemid) {
		elem = docid(chelemid);
		ch = docid(chelemid + 'child');
		if(ch) {
			ch.style.left = findPosX(elem) + elem.offsetWidth - 1 + "px";
			ch.style.top = findPosY(elem) + "px" ;
			ch.style.display = '';
			ieiframe(ch);

		}
		if(setc) {
			setmoclass(chelemid, name, true);
		} else {

		}
	} else {
		if(getA(elem, 'mtype') == 'sp') {
			//alert(elem.className);
			elem.className = 'menufvover';
		}
		else if(getA(elem,'change')=='true'){
			elem.className = 'main-nav-active';
		}
		else {
			elem.className = elem.className + 'over';
		}
		//elem.className = name + '1over';
	}
}

function hide(elemid, name, chelemid, setc) {
	var ch = docid(elemid + 'child');
	if(ch) {
		ch.style.display = 'none';
		remieiframe();
	}
	ch = docid(chelemid + 'child');
	if(ch) {
		ch.style.display = 'none';
		remieiframe();
		if(setc) {
			setmoclass(chelemid, name, false);
		}
	}
	if(!chelemid) {
		var el = docid(elemid);
		if(getA(el, 'sel') == 'true') {
			docid(elemid).className = name + 'sel1';

		}
		else if(getA(el,'change') == 'true')
		{
			docid(elemid).className = 'main-nav-active';
		}
		else {
			docid(elemid).className = name + '1';
		}
	}
}

function setmoclass(id, name, ovr) {
	if(ovr == true) {
		docid(id).className = name + '2over';
	} else {
		docid(id).className = name + '2';
	}

}

function docid(id)
{
	return document.getElementById(id);
}

function changeImage(id)
{
	if(docid(id) && docid(id+"_sub"))
	{
		var src = docid(id).src;
		if(src.indexOf("/collapse.gif") != -1)
		{
			src = src.replace("/collapse.gif", "/expand.gif");
			docid(id).src = src;
			docid(id+"_sub").style.display = "none";
		}
		else if(src.indexOf("/expand.gif") != -1)
		{
			src = src.replace("/expand.gif", "/collapse.gif");
			docid(id).src = src;
			docid(id+"_sub").style.display = "";
		}
	}
}
var previous_id = "";
function changeClassLI(id)
{
	if(frames['MAIN'])
	{
		previous_id=frames['MAIN'].frames['TREE'].previous_id;
	}
	if(id != previous_id)
	{
		if(docid(previous_id))
		{
			docid(previous_id).className = "";
		}
		else if(frames['TREE'] && frames['TREE'].document.getElementById(previous_id))
		{
			frames['TREE'].document.getElementById(previous_id).className = "";
		}
		else if(frames['MAIN'] && frames['MAIN'].frames['TREE'] && frames['MAIN'].frames['TREE'].document.getElementById(previous_id))
		{
			frames['MAIN'].frames['TREE'].document.getElementById(previous_id).className = "";
		}
		if(docid(id))
		{
			previous_id=id;
			docid(id).className="topic-selected";
		}
		else if(frames['TREE'] && frames['TREE'].document.getElementById(id))
		{
			previous_id=id;
			frames['TREE'].previous_id=id;
			frames['TREE'].document.getElementById(id).className="topic-selected";
		}
		else if(frames['MAIN'] && frames['MAIN'].frames['TREE'] && frames['MAIN'].frames['TREE'].document.getElementById(id))
		{
			previous_id=id;
			frames['MAIN'].frames['TREE'].previous_id=id;
			frames['MAIN'].frames['TREE'].document.getElementById(id).className="topic-selected";
		}
	}
	if(document.getElementById(id+"_help"))
	{
		changeHelpText(document.getElementById(id+"_help").innerHTML);
	}
	else if(frames['TREE'] && frames['TREE'].document.getElementById(id+"_help"))
	{
		changeHelpText(frames['TREE'].document.getElementById(id+"_help").innerHTML);
	}
	else if(frames['MAIN'] && frames['MAIN'].frames['TREE'] && frames['MAIN'].frames['TREE'].document.getElementById(id+"_help"))
	{
		changeHelpText(frames['MAIN'].frames['TREE'].document.getElementById(id+"_help").innerHTML);
	}
	else
	{
		changeHelpText('');
	}
	if(docid(id+"_anchor"))
	{
		var LID = docid(id+"_anchor");
		parent.frames[LID.getAttribute("target")].location=LID.getAttribute("href");
	}
}

function changeHelpText(text)
{
	parent.parent.document.getElementById('help_text').innerHTML = text;
	//parent.parent.frames['TITLE'].document.getElementById('help_text').innerHTML = text;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function trim(str)
{
	var str1=str.replace(/\S/g,"|");
	var i=str1.indexOf("|")-1;
	var j=str1.lastIndexOf("|")+1;
	var trimStr=str.substring(0,i).replace(/\s/g,"") + str.substring(i+1,j)
	trimStr = trimStr + str.substring(j).replace(/\s/g,"");
	return trimStr;
}