//
// NAV Tree Functions
//
var showMode ='block';
var	FF=false;
if(navigator.userAgent.toLowerCase().indexOf('msie')==-1) { showMode="table-row"; FF=true; }
document.onclick = document_onclick;
var hasTCDoc=1;

function clearchk(){
 if (document.frm.checkall) document.frm.checkall.checked=false;
 if (document.frm.doc){
  for (var i = 0; i < document.frm.doc.length; i++)       document.frm.doc[i].checked = false;
  for (var i = 0; i < document.frm.checkall.length; i++)  document.frm.checkall[i].checked = false;
 }
}

function setsizeall(obj){
	if (obj.selectedIndex>0)
	{ 	var tbl=document.getElementById('DTable');
		var foldid=document.frm.CurrentFolder.value;
		for (j=0;j<tbl.rows.length;j++)
		if ((tbl.rows[j].style.display!='none')&&(tbl.rows[j].id.indexOf('S')<0)&&(tbl.rows[j].cells[0].childNodes[0].name=='doc'))
		{	objselect=eval ("document.frm.psize_"+tbl.rows[j].cells[0].childNodes[0].value) ;
			objselect.selectedIndex=obj.selectedIndex-1;
		}
	}
}


function ckafolder(obj,fdid){
	var tbl=document.getElementById('DTable');

	for (j=0;j<tbl.rows.length;j++)
		if (tbl.rows[j].id==fdid)
		{	for (i=0;i<tbl.rows[j].cells[0].childNodes.length;i++)
			 if (tbl.rows[j].cells[0].childNodes[i].name=='doc')
				 tbl.rows[j].cells[0].childNodes[i].checked=obj.checked;
		 }
}


function ckallfolder(obj,foldid)
{ var mode=document.frm.Currentmode.value;

	ckafolder(obj,'C'+foldid)
	if (mode=='H')	ckafolder(obj,'H'+foldid);

	if (foldid==0) return;

	var tbl=document.getElementById('DTable');

	var rowid=0;
	var startnum=0;
	var foldid
	var level=0;
	var thelevel=0;
	var theid=0;
	gonext:for (var i=0; i<tbl.rows.length-1; i++)
	{	rowid=tbl.rows[i].id;
		if (rowid.indexOf('F'+foldid+'_')>=0)
		{	startnum=i;
			level=rowid.substr(rowid.indexOf('_')+1);
			continue gonext;
		}
		if (startnum==0) continue gonext;

		if (rowid.substr(0,1)=='F')
		{	thelevel=rowid.substr(rowid.indexOf('_')+1);
			if (thelevel<=level) return;
			tbl.rows[i].cells[0].childNodes[0].checked=obj.checked;
			theid=rowid.substr(1,rowid.indexOf('_')-1);
			ckafolder(obj,'C'+theid);
			if (mode=='H') ckafolder(obj,'H'+theid);

		}


	}

}

function chkDall(obj)
{
var tbl=document.getElementById('DTable');
for (j=0;j<tbl.rows.length;j++)
	if (tbl.rows[j].style.display!='none')
		 if (tbl.rows[j].cells[0].childNodes[0].name=='doc')
			 tbl.rows[j].cells[0].childNodes[0].checked=obj.checked;
}

function showdtable(id,mode,foldid)
{	document.frm.CurrentFolder.value=id;
	clearchk();
	var subfd=foldid||'';
	if (subfd!='')subfd='F'+foldid;
	subfd='A'+id+subfd;
	if (mode=='') mode=document.frm.Currentmode.value
	var obj=document.getElementById('DTable');
	document.frm.Currentmode.value=mode;
	if (mode=='') mode='C';
	var docnum=0;
	if (mode=='C')
	{	if (id==0)
		{	for (var i=0; i<obj.rows.length-1; i++)
				if ((obj.rows[i].id.indexOf('C')>=0&&obj.rows[i].id.indexOf('F')<0&&obj.rows[i].id.indexOf('A')>=0)||(obj.rows[i].id=='C0') || (obj.rows[i].id.substr(0,1)=='S'))
				{	obj.rows[i].style.display=showMode;
					if (obj.rows[i].id.substr(0,1)!='S') docnum++;
				}
				else
					obj.rows[i].style.display='none';
		}
		else
		{	for (var i=0; i<obj.rows.length-1; i++)
				if (obj.rows[i].id.indexOf('C'+id)>=0 || obj.rows[i].id.substr(0,1)=='S')
				{	obj.rows[i].style.display=showMode;
					if (obj.rows[i].id.substr(0,1)!='S') docnum++;
				}
				else
					obj.rows[i].style.display='none';
		}
	}
	else
	 	if (mode=='A')
		{	 for (var i=0;i<obj.rows.length-1;i++)
	 			if (obj.rows[i].id.indexOf(subfd)>=0 || obj.rows[i].id.substr(0,1)=='S')
	 			{	obj.rows[i].style.display=showMode;
					if (obj.rows[i].id.substr(0,1)!='S') docnum++;
				}
	 			else
	 				obj.rows[i].style.display='none';
		 }
		else
		{	/*if (id==0)
				for (var i=0;i<obj.rows.length-1;i++)
				{	obj.rows[i].style.display=showMode;
	 				if (obj.rows[i].id.substr(0,1)!='S') docnum++;
				}
			else*/
			{ 	for (var i=0;i<obj.rows.length-1;i++)
				if (obj.rows[i].id.indexOf(id)>=0 || obj.rows[i].id.substr(0,1)=='S')
				{	obj.rows[i].style.display=showMode;
					if (obj.rows[i].id.substr(0,1)!='S') docnum++;
				}
				else
					obj.rows[i].style.display='none';
			}
		}
		//obj.rows(obj.rows.length-1).cells[0].innerText=docnum+ ' documents in this folder';
        obj.rows[obj.rows.length-1].cells[0].innerText=docnum+ ' documents in this folder';
		if (docnum==0)
		{	obj.rows[0].style.display='none';
		}
		else
			document.getElementById('ST').style.display=showMode;

}

function checkdoctick(){
    if (document.frm.doc) {
        if (document.frm.doc.length > 1) {
            for (var j = 0; j < document.frm.doc.length; j++) {
                if (document.frm.doc[j].checked)
                    return true;
            }
        }
        else {
            if (document.frm.doc.checked)
                return true;
        }
    }
}

function FolderAct(obj)
{
	if (obj[obj.selectedIndex].value=='Download')
	{	//document.frm.target='windownload';
		document.frm.submit();
		obj.selectedIndex=0;

	}
	else
	if (obj.selectedIndex!=0)
	{	var mode=obj[obj.selectedIndex].value;
		if (mode=='')
			alert('select a folder');
		 else
			 if (mode.substr(0,1)=='/')
				domove();
			else
				if ((mode=='DELETE'||mode=='EDIT')&&document.frm.CurrentFolder.value==0)
					alert('Top level folder');
				else
					popTcFolderWin(obj[obj.selectedIndex].value);
	}
}

function sbmtEdit(mode){
	if (checkdoctick()!=true)
		alert('No document is selected');
	else
	{	document.frm.sbmt.value=mode;
		document.frm.submit();
	}
}


function main(){

	if (!document.all) foldhead = document.getElementsByName("foldhead");

	if (typeof foldhead != 'undefined')
		for (var qsI = 0; qsI <= foldhead.length - 1; qsI++) setFolderOpen(foldhead[qsI], false);
}

function setFolderOpen(fhead, setopen){
 var flist = fhead.childNodes[1];
 var icon = fhead.style.listStyleImage;
 icon = icon.substring(17 + 4, icon.length - 5 - (setopen ? 6 : 5));
 if (icon == '') icon = 'Fld';
 fhead.style.listStyleImage = 'url(./res/AppletTree/' + icon + (setopen ? '-open' : '-close'    ) + '.gif)';
 flist.style.display        =                             (setopen ? 'block'  : 'none');
}



/*function setFolderOpen(fhead, setopen){
	var flist = fhead.childNodes[1];
	var icon = fhead.style.listStyleImage;

	icon = icon.substring(17 + 4, icon.length - 5 - (setopen ? 0 : 5));

	if (icon == '') icon = 'Fold';

	fhead.style.listStyleImage = 'url(./res/AppletTree/' + icon + (setopen ? '-open' : ''    ) + '.gif)';
	flist.style.display        =                             (setopen ? 'block'  : 'none');
}*/

function isFolderOpen(fhead){
	return (fhead.style.listStyleImage.lastIndexOf('-open.gif)') != -1);
}

function document_onclick(e){
	var fhead = elem(e);
	if (fhead.id == 'foldhead') setFolderOpen(fhead, !isFolderOpen(fhead));
	else
	{	try{
				hidecal2();
			}
			catch(e) {}
	}
}

function elem(e){
	if (!e && event.srcElement) return event.srcElement;
	else if(e.target) return e.target;
}

function md(cntrl){
cntrl.style.borderTop="solid ButtonShadow 1";
cntrl.style.borderLeft="solid ButtonShadow 1";
cntrl.style.borderBottom="solid ButtonHighlight  1";
cntrl.style.borderRight="solid ButtonHighlight  1";
}
function bu(cntrl){
cntrl.style.borderTop="solid ButtonHighlight  1";
cntrl.style.borderLeft="solid ButtonHighlight  1";
cntrl.style.borderBottom="solid ButtonShadow  1";
cntrl.style.borderRight="solid ButtonShadow  1";
}
function b0(cntrl){
cntrl.style.borderTop="solid white 1";
cntrl.style.borderLeft="solid white 1";
cntrl.style.borderBottom="solid white 1";
cntrl.style.borderRight="solid white 1";
}


window.onerror = null;
var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == "Netscape" && bVer >= 4);
var IE4 = (bName == "Microsoft Internet Explorer"
&& bVer >= 4);
var NS3 = (bName == "Netscape" && bVer < 4);
var IE3 = (bName == "Microsoft Internet Explorer"
&& bVer < 4);
var blink_speed=1000;
var i=0;

if (NS4 || IE4) {
if (navigator.appName == "Netscape") {
layerStyleRef="layer.";
layerRef="document.layers";
styleSwitch="";
}else{
layerStyleRef="layer.style.";
layerRef="document.all";
styleSwitch=".style";
}
}

//BLINKING
function Blink(layerName){
if (NS4 || IE4) {
if(i%2==0)
{
eval(layerRef+'["'+layerName+'"]'+
styleSwitch+'.visibility="visible"');
}
else
{
eval(layerRef+'["'+layerName+'"]'+
styleSwitch+'.visibility="hidden"');
}
}
if(i<1)
{
i++;
}
else
{
i--
}
setTimeout("Blink('"+layerName+"')",blink_speed);
}

function switchS(code){
if (code=='HSB')
	{
	document.getElementById('CSIMG').src='./res/fld.gif';
	document.getElementById('HSB').style.display='none';
	document.getElementById('HSBIMG').src='./res/fld-open.gif';
	document.getElementById('HS').style.display='block';
	document.frm.Currentmode.value='H';
	}
	else
	{
	document.getElementById('HSB').style.display='block';
	document.getElementById('HS').style.display='none';
	document.getElementById('CS').style.display='block';
	document.getElementById('CSIMG').src='./res/fld-open.gif';
	document.getElementById('HSBIMG').src='./res/fld.gif';
	document.frm.Currentmode.value='C';
	}
	showsetdoc(document.frm.Currentmode.value);

}
function showFtable(imgobj,id,level)
{
	document.frm.CurrentFolder.value=id;

	mode=document.frm.Currentmode.value;
	if (mode=='')
	{	mode='C';
		document.frm.Currentmode.value=mode;
	}
	var clap =showMode;
	if (imgobj.src.indexOf('-open')>0)
	{ imgobj.src='./res/fld.gif'
	  clap='none';
	 }
	 else
	 {
	 imgobj.src='./res/fld-open.gif'
	}

	var obj=document.getElementById('DTable');
	var docnum=0;
	var rowid;
	var startnum=0;
	var maxrownum=0;
	var thelevel=level+1;
	var showdoc=true;

	gonext:for (var i=0; i<obj.rows.length-1; i++)
	{

		rowid=obj.rows[i].id;
		if (rowid=='F'+id+'_'+level)
		{	startnum=i;
			continue gonext;
		}
		else
			if (startnum==0) continue gonext ;
		if (rowid.indexOf('_')>0) thelevel=rowid.substr(rowid.indexOf('_')+1);
		if (thelevel<=level)  return;

		if (rowid.indexOf('F')>=0)
		{
			if (clap=='none')
			{	document.getElementById('M'+rowid.substr(1,rowid.indexOf('_')-1)).src='./res/fld.gif';
				obj.rows[i].style.display=clap;

			}
			else
			{	showdoc=false;
				if (thelevel==level+1) obj.rows[i].style.display=clap;
			}

		}
		else
			if (clap=='none')
				obj.rows[i].style.display=clap;
			else
				if ((thelevel==level+1)&&showdoc)
				{
					if (mode=='C')
					{	if (rowid.substr(0,1)=='C')
							obj.rows[i].style.display=clap;
				}
				else
					obj.rows[i].style.display=clap;
				}

	}

}

function showsetdoc(mode)
{	var obj=document.getElementById('DTable');
	var rowid=0;
	var startnum=0;
	var foldid
	gonext:for (var i=0; i<obj.rows.length-1; i++)
	{	rowid=obj.rows[i].id;
		if (rowid.substr(0,1)=='F')
		{
			foldid=rowid.substr(1,rowid.indexOf('_')-1);
			if (document.getElementById('M'+foldid).src.indexOf('-open')>=0)
				startnum=i;
			else
				startnum=0;
		}
		if (startnum==0) continue gonext;


		if (mode=='C')
			if (rowid.substr(0,1)=='H')
				obj.rows[i].style.display='none';
			else
				obj.rows[i].style.display=showMode;
		else
			obj.rows[i].style.display=showMode;


	}

}

function chkallset(obj)
{	var mode=document.frm.Currentmode.value;
	for (var j=0;j<document.frm.doc.length;j++)
		if ((mode=='H')||(document.frm.doc[j].parentNode.parentNode.id.substr(0,1)=='C'))
			document.frm.doc[j].checked=obj.checked;

	for (var j=0;j<document.frm.Fld.length;j++)
		document.frm.Fld[j].checked=obj.checked;

}



function updatePaperSize(frmId,url) {
 	if ($(frmId) != null) {
        $(frmId).updSize.value='  Updating ......  ';
        var myRequest = new Ajax.Request(url, {
            method: 'post',
            parameters: Form.serialize($(frmId)),
            onSuccess: function(transport) {processPSizeResponse(frmId, transport.responseText);},
            onFailure: function(transport) {processPSizeResponse(frmId, transport.responseText);}
        }); // Ajax.Updater
    } // if

	//sendAjaxPost(url,receiveAddFunction,0,createFormPostString('frm'))
} // updatePaperSize

function createFormPostString(formName) {

    var postForm = document.getElementById(formName);
    var postStr = '';

    if (postForm != null) {
        postElements = postForm.elements;

        var postStr = "";
        for (var ind = 0; ind < postElements.length; ind++) {
            if (ind != 0) {
			    // we dont put ampersands on the first and last entries
			    postStr = postStr + "&";
		    }
            postStr = postStr + postElements[ind].name + "=" + postElements[ind].value;
        } // for
    } // if
    else {
        alert('An error has occurred. Could not find form.');
    } // else

    // alert(postStr);

    return(postStr);
} // createFormPostS

function sendAjaxPost(url, responseFunction, id, toPost)
{
    var xmlHttp = createRequestObject();
	//alert(url);
	xmlHttp.open("POST", url, true);
	xmlHttp.onreadystatechange = function () {
		responseFunction(xmlHttp);
	}
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", toPost.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(toPost);
}

function createRequestObject() {

    // branch for native XMLHttpRequest object
    var req;
    if (window.XMLHttpRequest)
    {
    	try
    	{
			req = new XMLHttpRequest();
        }
        catch(e)
        {
			req = false;
		}
    // branch for IE/Windows ActiveX version
    }
    else if(window.ActiveXObject)
    {
       	try
       	{
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	}
      	catch(e)
      	{
        	try
        	{
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	}
        	catch(e)
        	{
          		req = false;
        	}
		}
    }
    return req;
}

function processPSizeResponse(frmId, responseText) {
    $(frmId).updSize.value='Update Paper Size';
	if (responseText.indexOf('OK')>=0) {
	    alert('Paper size been updated!');
	} // if
	else if (responseText.indexOf('FAILED')>=0) {
	    alert('Paper size FAILED to update!');
	} //else if
	else {
	    alert('Unexpected response from Server. Paper size may NOT have been updated.');
	} // else

    //document.getElementById('debug').innerHTML=responseText;

} // processPSizeResponse

function sendAjaxRequest(url, responseFunction, id){

	var xmlHttp = createRequestObject();
    xmlHttp.open("GET", url, true);
    if (responseFunction!='')
    xmlHttp.onreadystatechange = function() {

		responseFunction(xmlHttp, id);

    }
    xmlHttp.send(null);
}

function toggleHisview(obj,url){
	if (document.all[obj.value])
	{
		if (obj.checked)
		{

				for (var c=0;c<document.all[obj.value].length;c++)
				document.all[obj.value](c).style.display=showMode;

				if (document.all[obj.value].style)
			document.all[obj.value].style.display=showMode;


			url=url+'&del='+obj.value
		}
		else
		{



				for (var c=0;c<document.all[obj.value].length;c++)
					document.all[obj.value](c).style.display='none';

				if (document.all[obj.value].style)
				document.all[obj.value].style.display='none';
				url=url+'&add='+obj.value
		}
	}

	sendAjaxRequest(url,"","")
}

var tabStore;

function cacheTab(tabNum) {

    tabStore[tabNum] = true;

} // cacheTab

function isTabCached(tabNum) {
    return(tabStore[tabNum]);
} // isTabCached

function initTabCache(size) {

    tabStore = new Array(size);

    for (var i = 0; i < size; i++)
        tabStore[i] = false;
} // initTabCache

function toggleName(ctrl, nameCtrl) {
  if (ctrl.checked) {
      document.getElementById(nameCtrl).disabled=false;
  } // if
  else {
      document.getElementById(nameCtrl).disabled=true;
  } // else
} // toggleName