/**	FILE METADATA	******************************************************************************************************************************************
	
	SCRIPT NAME: Community Consulting Services Org application js (ccs.app.js)
	DEVELOPER NAME: Clayvahn Hunt
	DEVELOPER EMAIL: hunt@xitis.com
	DATE CREATED: 10.06.2007
	TIMESTAMP: 
	PURPOSE: This is the controlling javascript for the CCS org website
	
	
*************************************************************************************************************************************************************/
/************************************************************************************************************************************************************/
/* IMPORTED SCRIPT PAGES */
/************************************************************************************************************************************************************/
//Set up app specific headers
document.write('<meta http-equiv="cache-control" content="no-cache"/>');
document.write('<meta http-equiv="pragma" content="no-cache"/>');
document.write('<meta http-equiv="expires" content="mon, 22 jul 2002 11:12:01 gmt"/>');

//Include XWAF
document.write('<script language="javascript" type="text/javascript" src="lib/cli/xwaf.js" style="display:none;"></script>');

//Include app-specific files
document.write('<script language="javascript" type="text/javascript" src="lib/cli/ccs.app.msgs.js" style="display:none;"></script>');
document.write('<script language="javascript" type="text/javascript" src="lib/cli/ccs.app.article.js" style="display:none;"></script>');
document.write('<link rel="stylesheet" type="text/css" href="css/ccs.css" style="display:none;"/>');

//Set up base
document.write('<div id="bodyCont" class="WH"></div>');

/************************************************************************************************************************************************************/
/* GLOBAL SCOPE VARIABLES */
/************************************************************************************************************************************************************/
var vPipe='%7c',vSvrApp='lib/svr/xwaf.system.base.php';
var xMenu='a',xUser=xMenu;//oXHR index 
var xCats='b',xFiles='c',xDocs=xCats;

/************************************************************************************************************************************************************/
/* APPLICATION INITIALIZATION & TERMINATION */
/************************************************************************************************************************************************************/
if(window.appinit){window.onload=appinit;}if(window.appterm){window.onunload=appterm;}
function appinit(){
	//Set Default Logging Level
	defLogLevel(cLogINFO,1);

	//Set up XHR objects
	if(!window.sysMsgCache){window.sysMsgCache=new Object();}
	if(window.sysMsgCache&&window.clsXHR){oXHR['slm']=new clsXHR(vSvrApp);reqNewXHRtoken(oXHR['slm'].refid);}
	if(window.clsXHR){
		oXHR['a']=new clsXHR(vSvrApp);reqNewXHRtoken(oXHR['a'].refid);oXHR['b']=new clsXHR(vSvrApp);reqNewXHRtoken(oXHR['b'].refid);oXHR['c']=new clsXHR(vSvrApp);reqNewXHRtoken(oXHR['c'].refid);
	}
	
	window.oBody=new dynelem('bodyCont');var vBase='<div id="divHead"></div><div id="divContentBase"></div>';
	oBody.writeIt(vBase);oBody.oHead=oBody.makeChild('divHead');oBody.oBase=oBody.makeChild('divContentBase');
	oBody.oHead.writeIt('<div id="divLogoCont"><img src="imgs/logo.gif" align="left"/></div><div id="divHdrImgs"></div>');
	oBody.oBase.height(oBody.height()-oBody.oHead.height());
	
	//Init Generic Popup
	if(window.clsPopup){window.vPopContent='';window.oGenPop=new clsPopup("divGP","{'width':340,'height':230}");}
	
	//Get user info if it exists for this user
	setTimeout(function(){postInit();},100);
//	postInit();
}
function postInit(){if(checkXHRinit('a,b,c')){getUNFO();}else{delayCall(postInit,500);}}

//function appterm(){}

/************************************************************************************************************************************************************/
/* PAGE INITIALIZATION */
/************************************************************************************************************************************************************/
//if(window.pageinit){window.onload=pageinit;}if(window.pageterm){window.onunload=pageterm;}
//function pageinit(){}
//function pageterm(){}

/************************************************************************************************************************************************************/
/* SHARED FUNCTIONS */
/************************************************************************************************************************************************************/
function getUNFO(){makeXHRreq(xUser,'&jd=1&ni=0&sr=240',unfoResult);}
function unfoResult(){var reqResult=checkReqResult(arguments[0]);if(reqResult){window.oUSR=reqResult[0];}initContentArea();}
function initContentArea(){
	var vContentStructure='<div id="divMenuCont"></div><div id="divCanvas"></div>',vHadj=(bo.ie)?10:20;
	oBody.oBase.writeIt(vContentStructure);
	//Create Body Content Area
	window.oCanvas=oBody.oBase.makeChild('divCanvas');
	oCanvas.height(oBody.oBase.height()-vHadj);oCanvas.width(oBody.oBase.width()-((bo.ie)?320:345));oCanvas.moveIt(((bo.ie)?305:310),0);
	oCanvas.addClass('relpos '+((bo.ie)?'algnright5':'algnright25'));
	
	oCanvas.writeIt('<div id="divStaticCCS" class="noIbar" style="right:'+((bo.ie)?5:5)+'px" onmousedown="return nosel();"></div>');
	var oSCCS=oCanvas.makeChild('divStaticCCS');
	var vStatic='<div id="divStatic1" class="staticseg noIbar fontbold" onmousedown="return nosel();">COMMUNITY'+
	'<span class=" ministatic">Community Consulting Services Inc. (CCS) works to build sustainable communities by filling</span></div>'+
	'<div id="divStatic2" class="staticseg noIbar fontbold" onmousedown="return nosel();">CONSULTING'+
	'<span class=" ministatic">the pressing need of community leaders and progressive public agencies for affordable technical</span></div>'+
	'<div id="divStatic3" class="staticseg noIbar fontbold" onmousedown="return nosel();">SERVICES'+
	'<span class=" ministatic">services on plans and projects that affect the quality of community life</span></div>';
	oSCCS.writeIt(vStatic);
	//Create Menu
	initMenu('divMenuCont',(oBody.oBase.height()-vHadj),300);
}
function initMenu(pMenuContainer,pH,pW){//lib_newHCI(canvasobj,itemid,itemcontent,haschildren,wrap,mdownH,mupH,moverH,moutH)
	if(bo.ie){
		window.vIEHadj=8;
		window.vIEhlcH=20;
		window.vACHadj=5;
	}else{
		window.vIEHadj=4;
		window.vIEhlcH=12;
		window.vACHadj=0;
	}
	window.oMenu=new clsHLC('hlc_menu',pMenuContainer,pW,pH,defaultTemplate_HLC);
	oMenu.oCanvas.addClass('pad3');
	oMenu.addItem(oMenu.oCanvas,1,1,'root','CCS: Home',0);
	oRoot=oMenu.items.getItem(1);
	oRoot.oICW.addClass('mrgnb2 hlci mim hot pad2 relpos');oRoot.oICW.height(vIEhlcH);
	oRoot.oExpColl.addClass('hlcic hot abspos');oRoot.oExpColl.sizeTo(0,oRoot.oICW.height()-vIEHadj);oRoot.oExpColl.top(1);
	oRoot.oAM.addClass('hlcam hot abspos');oRoot.oAM.sizeTo(8,oRoot.oICW.height()-(bo.ie?(vIEHadj-2):0));
	oRoot.oAM.moveIt((oRoot.oExpColl.left()+oRoot.oExpColl.width()+3),2);if(bo.ie){oRoot.oAM.addClass('iedivfix');}
	oRoot.oIcon.addClass('hlcic hot abspos');oRoot.oIcon.left(oRoot.oAM.left()+oRoot.oAM.width()+3);
	oRoot.oTxtCanvas.addClass('hot fontbold font11 abspos');oRoot.oTxtCanvas.left(oRoot.oIcon.left()+oRoot.oIcon.width()+3);
	oRoot.clickMeth=mnuHome;
	setTimeout(function(){getMenuData();},100);
}
function getMenuData(){makeXHRreq(xMenu,'&jd=1&ni=0&sr=200',buildMenu);}
function buildMenu(){
	var oItem,vMIR,oMIP,vMISI;
	var reqResult=checkReqResult(arguments[0]);
	if(reqResult){
		for(var i=1;i<reqResult.length;i++){//(parentCont,pDBID,pDBparentID,pHTMLID,pCanvasText,pOrder)
			vMIR=reqResult[i];
			if(vMIR.parentmenuid==1){
				oMIP=oMenu.oCanvas;
			}else{
				if(parseInt(vMIR.mitypeid)==1){
					oMIP=oMenu.items.getItem(vMIR.parentmenuid).oICC;
				}
			}
			switch(parseInt(vMIR.mitypeid)){
				case 1:
					oMenu.addItem(oMIP,vMIR.menuid,vMIR.parentmenuid,vMIR.itemref,vMIR.displaytext,vMIR.menupos);
					oItem=oMenu.items.getItem(vMIR.menuid);
					if(vMIR.menuicon){oItem.oIcon.setIcon(vMIR.menuicon);oItem.oIcon.sizeTo(16,oItem.oICW.height()-2);}
					vMIR.styleinfo=JSON.parse(vMIR.styleinfo);
					for(var j=0;j<vMIR.styleinfo.hlciconfig.length;j++){
						switch(vMIR.styleinfo.hlciconfig[j].name){
							case 'icw':
								oItem.oICW.addClass(vMIR.styleinfo.hlciconfig[j].cls);oItem.oICW.height(vIEhlcH);
								break;
							case 'ec':
								oItem.oExpColl.addClass(vMIR.styleinfo.hlciconfig[j].cls);oItem.oExpColl.sizeTo(0,oItem.oICW.height()-vIEHadj);oItem.oExpColl.top(1);
								break;
							case 'am':
								oItem.oAM.addClass(vMIR.styleinfo.hlciconfig[j].cls);
								oItem.oAM.sizeTo(8,oItem.oICW.height()-(bo.ie?(vIEHadj-2):0));
								oItem.oAM.moveIt((oItem.oExpColl.left()+oItem.oExpColl.width()+3),2);
								break;
							case 'ic':
								oItem.oIcon.addClass(vMIR.styleinfo.hlciconfig[j].cls);oItem.oIcon.left(oItem.oAM.left()+oItem.oAM.width()+3);
								break;
							case 'tc':
								oItem.oTxtCanvas.addClass(vMIR.styleinfo.hlciconfig[j].cls);oItem.oTxtCanvas.left(oItem.oIcon.left()+oItem.oIcon.width()+3);
								break;
						}
					}
					oItem.clickMeth=eval(vMIR.menuaction);
					break;
				case 2:
					addHLCseparator(oMenu.oCanvas,vMIR.itemref);
					if(!oMenu.separators){oMenu.separators=new Array();}
					oMenu.separators.push(new dynelem(vMIR.itemref));
					break;
				case 3:
					addHLCcontainer(oMenu.oCanvas,vMIR.itemref);
					if(!oMenu.childConts){oMenu.childConts=new Array();}
					oItem=new dynelem(vMIR.itemref);oItem.height((bo.ie)?40:32);
					oMenu.childConts.push(oItem);
					break;
				case 4:
					window.oArticleCont=oMenu.childConts[2];
					addHLCHeader(oArticleCont,vMIR.itemref,vMIR.displaytext,parseStyleInfo(vMIR.styleinfo),vMIR.menuaction)
					break;
			}
		}
		//Add Subscription Area
		var vSub='<span class="font10">Enter your email to subscribe to our newsletter:</span><br/><input id="txtsub" type="text" class="mim font11" size="30"/>&nbsp;<input id="btnsub" type="button" class="mnubtn mim font11 hot" value="Subscribe" onclick="mnuSubscribe();"/>';
		oMenu.childConts[0].addClass('pad3');
		oMenu.childConts[0].writeIt(vSub);
		
		
		//Add Search Area
		vSub='<span class="font10">Enter keyword(s) to search the article database:</span><br/><input id="txtsrch" type="text" class="mim font11" size="30"/>&nbsp;<input id="btnsrch" type="button" class="mnubtn mim font11 hot" value="Search" onclick="mnuSearch();"/>';
		oMenu.childConts[1].addClass('pad3');
		oMenu.childConts[1].writeIt(vSub);
		
		
		//Request Articles
		var vACHeight=oMenu.oCanvas.height()-(oArticleCont.top()+vACHadj);
		oArticleCont.height(vACHeight);
		oArticleCont.addContent('<div id="divACanvasO" class="svo"><div id="divACanvasI" class="svi"></div></div>');
		oArticleCont.oACO=oArticleCont.makeChild('divACanvasO');oArticleCont.oACI=oArticleCont.makeChild('divACanvasI');oArticleCont.oACO.height(vACHeight-((bo.ie)?16:20));
		oBody.addContent('<span id="spnStrWtestr_Menu" style="visibility:hidden;position:absolute;left:0px;top:-50;width:'+(oArticleCont.oACI.width()-20)+'" class="font10"></span>');
		oBody.addContent('<span id="spnStrWtestr" style="visibility:hidden;position:absolute;left:0px;top:-50;width:'+(oCanvas.width()-20)+'" class="fontbold font12 pad3"></span>');
		
		setTimeout(function(){prepCategories();},100);
	}
}
function prepCategories(){window.catDataHash=new Hash();makeXHRreq(xCats,'&jd=1&ni=0&sr=300&rp=0',buildCategories);}
function buildCategories(){
	var oRec,reqResult=checkReqResult(arguments[0]);
	if(reqResult){
		for(var i=0;i<reqResult.length;i++){
			oRec=reqResult[i];
			catDataHash.setItem(oRec.catid,oRec);
		}
	}
	setTimeout(function(){getAssocFiles();},100);
//	getAssocFiles();
}
function getAssocFiles(){makeXHRreq(xFiles,'&jd=1&ni=0&sr=310&rp=0',prepAssocFilesList);}
function prepAssocFilesList(){var reqResult=checkReqResult(arguments[0]);if(reqResult){window.assocFilesList=reqResult;}setTimeout(function(){getArticleList();},100);/*getArticleList();*/}
function getArticleList(){window.artDataHash=new Hash();makeXHRreq(xDocs,'&jd=1&ni=0&sr=305',buildArticleList_Menu);}
function buildArticleList_Menu(){
	var oRec,resultStr='',reqResult=checkReqResult(arguments[0]),vMnuArtW=(oArticleCont.oACI.width()-25);
	if(reqResult){
		for(var i=0;i<reqResult.length;i++){
			oRec=reqResult[i];artDataHash.setItem(oRec.amid,oRec);
			resultStr+=defaultTemplate_Article(1,vMnuArtW,oRec.amid,null,oRec.articletitle,oRec.articlecomments,((oRec.articlecontent)?oRec.articlecontent:oRec.contentlocation),null);
		}
	}else{
		resultStr='<div class="font10 noIbar" style="text-align:center;" onmousedown="nosel();">There are no articles to display</div>';
	}
	oArticleCont.oACI.writeIt(resultStr);
}

//MENU FUNCTIONS
function prepCanvas(){
	var vWrkSpc='<iframe id="fraWkSpc" name="fraWkSpc" class="WH" scrolling="auto" frameborder="0" marginheight="5" marginwidth="20"></iframe>';
	oCanvas.writeIt(vWrkSpc);window.oWrkSpc=oCanvas.makeChild('fraWkSpc');
}
function mnuHome(){location.href='index.htm';}
function mnuMission(){makeXHRreq(xMenu,'&jd=1&ni=0&sr=230',displayPgReqResult);}
function displayPgReqResult(){var reqResult=checkReqResult(arguments[0]);if(reqResult){oCanvas.writeIt(reqResult.toString());oCanvas.setFocus();}}
function mnuServices(){prepCanvas();oWrkSpc.ele.src='statcont/services.html';}
function mnuContact(){
	var vContactInfo='<div id="divContact" class="padL50 mrgnt25"><table border="0" cellpadding="0" cellspacing="0" width="50%" ><tr><td id="colContact" class="font12 padL5 fontbold" valign="top">Community Consulting Services</td></tr><tr><td class="font12 padL15" valign="top" style="border-bottom::#97978b solid 1px;">175 Pacific Street<br/>Brooklyn, NY 11201<br/>(718) 330-0550, ext 122<br/><br/><br/></td></tr><tr><td class="font12 padL5 fontbold" valign="top">Executive Director</td></tr><tr><td class="font12 padL15" valign="top"><u>Brian Ketcham, P.E.</u><br/><br/></td></tr><tr><td class="font12 padL5 fontbold" valign="top">Board Of Directors</td></tr><tr><td class="font12 padL15" valign="top"><u>Carolyn S. Konheim</u><br/>David Locke, Ph.D.<br/>Louis Pignataro, Ph.D, P.E.<br/>Nathan Reiss, Ph.D.<br/>Salvatore (Buddy) Scotto<br/>Ron Shiffman, AICP<br/></td></tr></table></div>';
	oCanvas.writeIt(vContactInfo);oCanvas.setFocus();
}
function mnuWhatsNew(){prepCanvas();oWrkSpc.ele.src='statcont/whatnew.htm';}
function mnuFeedback(){
	var vFdbkForm='<table border="0" cellspacing="0" cellpadding="0"><tr><td valign="middle" align="right" class="fontbold font12 pad3">Name: </td><td valign="middle" align="left" class="pad3"><input id="txtFdbkName" type="text" class="font12 padL3 mim" style="width:350px;"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">Email: </td><td valign="middle" align="left" class="pad3"><input id="txtFdbkEmail" type="text" class="font12 padL3 mim" style="width:350px;"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">Subject: </td><td valign="middle" align="left" class="pad3"><input id="txtFdbkSubj" type="text" class="font12 padL3 mim" style="width:350px;"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">Comments: </td><td valign="middle" align="left" class="pad3"><textarea id="txtFdbkComments"  rows="6"  style="width:350px;" class="font12 padL3 mim"></textarea></td></tr><tr><td valign="middle" align="right" colspan="2" class="pad3"><button id="btnSubmitFeedback" class="mim font11 noIbar" style="width:150px;" onclick="submitFeedback();">Submit Feedback</button></td></tr></table>';
	oGenPop.setTitle('Send Feedback',' font11 fontbold');
	oGenPop.oBody.addClass('font11');
	oGenPop.loadContent(vFdbkForm);
	oGenPop.setwidth(445);
	oGenPop.setheight(240);
	oGenPop.zIndex(1500);
	oGenPop.oBody.css.backgroundColor='#F3F3F3';
	oGenPop.show(1);
}
function mnuLogin(){
	var vLoginFrm='<div ="divLogin" class="mrgnt20 padL20"><form id="frmLogin" name="frmLogin" action="#" autocomplete="off"><table border="0" cellspacing="0" cellpadding="5" width="450"><tr><td class="font11 fontbold" valign="top" align="right">User Name:&nbsp;</td><td class="font11" valign="top" align="left"><input id="txtUID" type="text" size="25" autocomplete="on" class="font11 mim padL2"/><br/></td></tr><tr><td class="font11 fontbold" valign="top" align="right">Password:&nbsp;</td><td class="font11" valign="top" align="left"><input id="txtPWD" type="password" size="25" class="font11 mim padL2"/></td></tr><tr><td class="font11" valign="top" align="right" colspan="2"><input id="btnLogin" type="button" class="mnubtn font11 mim" value="Login" onclick="verifyUser()"/>&nbsp;<input id="btnCHPWD" type="button" class="mnubtn font11 mim" value="Change Password" onclick="changePassword();" style="width:125px;"/></td></tr></table></form></div>';
	if(!window.oUSR){
		oCanvas.writeIt(vLoginFrm);document.getElementById('txtUID').focus();
	}else{
		loadMaint();
	}
}
function verifyUser(){
	var vUN=document.frmLogin.txtUID.value;
	var vPWD=document.frmLogin.txtPWD.value;
	if((vUN.trim().length>0)&&(vPWD.trim().length>0)){
		makeXHRreq(xUser,'&jd=1&ni=0&sr=210&rp='+vUN+'|'+vPWD,isUserVerified);
	}else{
		msgBox(getSysCacheMsg(1002).displayMsg);return false;
	}
}
function isUserVerified(){var reqResult=checkReqResult(arguments[0]);if(reqResult){window.oUSR=reqResult[0];window.dispUser=oUSR.acltype+': '+oUSR.fname+' '+oUSR.lname;loadMaint();}}
function submitFeedback(){
	var vFBname=document.getElementById('txtFdbkName').value;
	var vFBsubj=document.getElementById('txtFdbkSubj').value;
	var vFBemail=document.getElementById('txtFdbkEmail').value;
	var vFBcomments=document.getElementById('txtFdbkComments').value;
	makeXHRreq(xMenu,'&jd=1&ni=0&sr=225&rp='+vFBname.escapeURI()+vPipe+vFBemail.escapeURI()+vPipe+vFBsubj.escapeURI()+vPipe+vFBcomments.escapeURI(),submitFdbkResult);
}
function submitFdbkResult(){var reqResult=checkReqResult(arguments[0]);if(arguments[0].message.code==1458){oGenPop.close();}}
function changePassword(){
	var chPWDStr='<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td valign="middle" align="right" class="fontbold font12 pad3">Username: </td><td valign="middle" align="left" class="pad3"><input id="txtAdminPwdChgUN" type="text" class="font12 padL3 mim" size="30"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">OLD Password: </td><td valign="middle" align="left" class="pad3"><input id="txtAdminPwdChgOPWD" type="password" class="font12 padL3 mim" size="30"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">NEW Password: </td><td valign="middle" align="left" class="pad3"><input id="txtAdminPwdChgNPWD" type="password" class="font12 padL3 mim" size="30"/></td></tr><tr><td valign="middle" align="right" class="fontbold font12 pad3">Verify NEW Password: </td><td valign="middle" align="left" class="pad3"><input id="txtAdminPwdChgVPWD" type="password" class="font12 padL3 mim" size="30"/></td></tr><tr><td valign="middle" align="right" colspan="2" class="pad3"><button id="btnChangePWD" class="mim font11 noIbar" style="width:150px;" onclick="pendCHPWD();">Change Password</button></td></tr></table>';
	
	oGenPop.setTitle('Change Password',' font11 fontbold');
	oGenPop.oBody.addClass('font11');
	oGenPop.loadContent(chPWDStr);
	oGenPop.setwidth(400);
	oGenPop.setheight(165);
	oGenPop.zIndex(1500);
	oGenPop.oBody.css.backgroundColor='#F3F3F3';
	oGenPop.show(1);
}
function pendCHPWD(){
	var vChPWDnpwd=document.getElementById('txtAdminPwdChgNPWD').value;
	var vChPWDvpwd=document.getElementById('txtAdminPwdChgVPWD').value;
	if(vChPWDnpwd==vChPWDvpwd){
		doCHPWD();
	}else{
		msgBox(getSysCacheMsg(1106).displayMsg);return false;
	}
}
function doCHPWD(){
	var vChPWDun=document.getElementById('txtAdminPwdChgUN').value;
	var vChPWDopwd=document.getElementById('txtAdminPwdChgOPWD').value;
	var vChPWDnpwd=document.getElementById('txtAdminPwdChgNPWD').value;
	var vChPWDvpwd=document.getElementById('txtAdminPwdChgVPWD').value;
	makeXHRreq(xUser,'&jd=1&ni=0&sr=245&rp='+vChPWDun+vPipe+vChPWDopwd+vPipe+vChPWDnpwd+vPipe+vChPWDvpwd,chPWDresult);
}
function chPWDresult(){var reqResult=checkReqResult(arguments[0]);if(reqResult){oGenPop.hide();}}

function loadMaint(){location.href='lib/svr/ccs.admin.php';}
function mnuSubscribe(){
	var vSubMail=document.getElementById('txtsub').value;
	var emailRegExp=/^(([a-zA-Z0-9_\.\-+])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+(( *, *)|( +)|$))+/;
	if(vSubMail.length>0){
		var re = new RegExp(emailRegExp);
		if(vSubMail.match(re)){
			makeXHRreq(xMenu,'&jd=1&ni=0&sr=215&rp='+vSubMail,subscribeResult);
		}else{
			msgBox(getSysCacheMsg(1103).displayMsg);return false;
		}
	}
}
function subscribeResult(){var reqResult=checkReqResult(arguments[0]);document.getElementById('txtsub').value='';oCanvas.setFocus();}
function mnuSearch(){
	msgBox('This feature is still being updated and tested.');
}
function mnuShowAllArticles(){
	var oRec,vListStr='',vDefAStr='<br/><div class="fontbold font11 noIbar" style="text-align:center;" onmousedown="nosel();">There are no articles to display</div>';
	oCanvas.writeIt('<div id="divAcanvasHdr" class="font14 fontbold mrgnB2">Community Consulting Services featured articles:</div><div id="divMainArtSep" class="mnuSep mrgnB2" style="width:75%"></div><div id="divMainACanvasO" class="svo"><div id="divMainACanvasI" class="svi"></div></div>');
	var oMAChdr=oCanvas.makeChild('divAcanvasHdr'),oMACshl=oCanvas.makeChild('divMainACanvasO'),oMACcvs=oCanvas.makeChild('divMainACanvasI');oMACshl.height(oCanvas.height()-oMAChdr.height()-5);
	for(var i=0;i<artDataHash.length;i++){
		oRec=artDataHash.getItem(artDataHash.keys[i]);
		vListStr+=defaultTemplate_Article(0,(oCanvas.width()-25),oRec.amid,createCatString(oRec.catid,'spnStrWtestr'),oRec.articletitle,oRec.articlecomments,((oRec.articlecontent)?oRec.articlecontent: oRec.contentlocation),getURLsByArtID(oRec.amid));
	}
	oMACcvs.writeIt((vListStr.length>0)?vListStr:vDefAStr);
}
function viewArticle(pDocID){
	var vContStr,vContLocStr;
	if(artDataHash.hasItem(pDocID)){
		vContStr=artDataHash.getItem(pDocID).articlecontent;vContLocStr=artDataHash.getItem(pDocID).contentlocation;
		if(vContStr){oCanvas.writeIt(vContStr);}else{if(vContLocStr){prepCanvas();oWrkSpc.ele.src=vContLocStr;}}
	}
}
function addHLCseparator(pParentContainer,pSepID){
	pSepID=(pSepID||makeAlphaNum(12));
	pParentContainer.addContent('<div id="'+pSepID+'" class="mrgnb2 sep relpos">&nbsp;</div>')
}
function addHLCcontainer(pParentContainer,pContID){
	pContID=(pContID||makeAlphaNum(12));
	pParentContainer.addContent('<div id="'+pContID+'" class="mrgnb2 mim"/>')
}
function addHLCHeader(pParentContainer,pHeaderID,pHeaderText,pHeaderStyleInfo,pHeaderAction){
	pHeaderID=(pHeaderID||makeAlphaNum(12));
	var vHdrAction=(pHeaderAction.trim().length>0)?'onclick="'+pHeaderAction+'();"':'';
	var vStylie=(pHeaderStyleInfo.trim().length>0)?pHeaderStyleInfo.trim():'';
	pParentContainer.addContent('<div id="'+pHeaderID+'" '+vStylie+' '+vHdrAction+'>'+pHeaderText+'</div>');
}
//Click tracking
function trackSelection(pArticleID){
	if(!pArticleID||pArticleID==0){return;}
	makeXHRreq(xDocs,'&jd=1&ni=0&sr=110&rp='+pArticleID,dummy);
}
