/* [nodename, id, name, navigationtext, href, isnavigation, childs[], templatename] */

if (typeof(decodeURIComponent) == 'undefined') {
  decodeURIComponent = function(s) {
    return unescape(s);
  }
}

function jdecode(s) {
    s = s.replace(/\+/g, "%20")
    return decodeURIComponent(s);
}

var POS_NODENAME=0;
var POS_ID=1;
var POS_NAME=2;
var POS_NAVIGATIONTEXT=3;
var POS_HREF=4;
var POS_ISNAVIGATION=5;
var POS_CHILDS=6;
var POS_TEMPLATENAME=7;
var POS_TARGET=8;
var theSitetree=[ 
	['PAGE','1952',jdecode('Home'),jdecode(''), jdecode('%2F1952.html'), 'true',[],'',''],
	['PAGE','29201',jdecode('About+us'),jdecode(''), jdecode('%2F29201%2Findex.html'), 'true',[ 
		['PAGE','79508',jdecode('Licenced%2C+bonded+%26+insured'),jdecode(''), jdecode('%2F29201%2F79508.html'), 'true',[],'',''],
		['PAGE','50331',jdecode('Being+green'),jdecode(''), jdecode('%2F29201%2F50331.html'), 'true',[],'','']
	],'',''],
	['PAGE','21543',jdecode('Reasons+to+hire+us'),jdecode(''), jdecode('%2F21543.html'), 'true',[],'',''],
	['PAGE','1901',jdecode('Restoration+process'),jdecode(''), jdecode('%2F1901%2Findex.html'), 'true',[ 
		['PAGE','31801',jdecode('Work+area+preparation'),jdecode(''), jdecode('%2F1901%2F31801.html'), 'true',[],'',''],
		['PAGE','31822',jdecode('Surface+preparation'),jdecode(''), jdecode('%2F1901%2F31822.html'), 'true',[],'',''],
		['PAGE','26301',jdecode('Pressure-washing'),jdecode(''), jdecode('%2F1901%2F26301.html'), 'true',[],'',''],
		['PAGE','43731',jdecode('Repair+work'),jdecode(''), jdecode('%2F1901%2F43731.html'), 'true',[],'',''],
		['PAGE','29222',jdecode('Sanding'),jdecode(''), jdecode('%2F1901%2F29222.html'), 'true',[],'',''],
		['PAGE','26322',jdecode('Bleaching'),jdecode(''), jdecode('%2F1901%2F26322.html'), 'true',[],'',''],
		['PAGE','26343',jdecode('Preserving'),jdecode(''), jdecode('%2F1901%2F26343.html'), 'true',[],'',''],
		['PAGE','31843',jdecode('Work+completion'),jdecode(''), jdecode('%2F1901%2F31843.html'), 'true',[],'',''],
		['PAGE','31864',jdecode('Post-job+review'),jdecode(''), jdecode('%2F1901%2F31864.html'), 'true',[],'',''],
		['PAGE','76997',jdecode('LINKS'),jdecode(''), jdecode('%2F1901%2F76997.html'), 'true',[],'','']
	],'',''],
	['PAGE','21564',jdecode('Before+%26+after+gallery'),jdecode(''), jdecode('%2F21564%2Findex.html'), 'true',[ 
		['PAGE','21585',jdecode('Decks'),jdecode(''), jdecode('%2F21564%2F21585.html'), 'true',[],'',''],
		['PAGE','21606',jdecode('Siding'),jdecode(''), jdecode('%2F21564%2F21606.html'), 'true',[],'',''],
		['PAGE','21627',jdecode('Fences%2C+furniture%2C+trellis+etc.'),jdecode(''), jdecode('%2F21564%2F21627.html'), 'true',[],'',''],
		['PAGE','59731',jdecode('Bricks%2C+concrete%2C+gutters+etc.'),jdecode(''), jdecode('%2F21564%2F59731.html'), 'true',[],'',''],
		['PAGE','21648',jdecode('Construction+projects'),jdecode(''), jdecode('%2F21564%2F21648.html'), 'true',[],'','']
	],'',''],
	['PAGE','21669',jdecode('Tips'),jdecode(''), jdecode('%2F21669.html'), 'true',[],'',''],
	['PAGE','2057',jdecode('Testimonials'),jdecode(''), jdecode('%2F2057.html'), 'true',[],'',''],
	['PAGE','21690',jdecode('Partners+in+business'),jdecode(''), jdecode('%2F21690.html'), 'true',[],'',''],
	['PAGE','21101',jdecode('Contact+us'),jdecode(''), jdecode('%2F21101.html'), 'true',[],'',''],
	['PAGE','21122',jdecode('...+ESTIMATE+REQUEST+...'),jdecode(''), jdecode('%2F21122.html'), 'true',[],'','']];
var siteelementCount=27;
theSitetree.topTemplateName='Blog';
theSitetree.paletteFamily='649B30';
theSitetree.keyvisualId='11525';
theSitetree.keyvisualName='kv_11525.jpg';
theSitetree.fontsetId='32865';
theSitetree.graphicsetId='13949';
theSitetree.contentColor='FFFFFF';
theSitetree.contentBGColor='989696';
var localeDef={
  language: 'en',
  country: 'US'
};
var prodDef={
  wl_name: 'grp13-cbeyon',
  product: 'WSCSYSSSSLYTC2ZA'
};
var theTemplate={
				hasFlashNavigation: 'false',
				hasFlashLogo: 	'false',
				hasFlashCompanyname: 'false',
				hasFlashElements: 'false',
				hasCompanyname: 'false',
				name: 			'Blog',
				paletteFamily: 	'649B30',
				keyvisualId: 	'11525',
				keyvisualName: 	'kv_11525.jpg',
				fontsetId: 		'32865',
				graphicsetId: 	'13949',
				contentColor: 	'FFFFFF',
				contentBGColor: '989696',
				a_color: 		'FFB434',
				b_color: 		'000000',
				c_color: 		'000000',
				d_color: 		'000000',
				e_color: 		'000000',
				f_color: 		'000000',
				hasCustomLogo: 	'true',
				contentFontFace:'Arial, Helvetica, sans-serif',
				contentFontSize:'12',
				useFavicon:     'true'
			  };
var webappMappings = {};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '1901',
internalId:  '',
customField: '20101205-214825'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '2057',
internalId:  '',
customField: '20110628-170021'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '1952',
internalId:  '',
customField: '20111213-141521'
};
webappMappings['7008']=webappMappings['7008-12259']={
webappId:    '7008',
documentId:  '21122',
internalId:  '12259',
customField: 'language:en;country:US;'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21122',
internalId:  '',
customField: '20110628-164853'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21564',
internalId:  '',
customField: '20100609-004159'
};
webappMappings['1006']=webappMappings['1006-1006']={
webappId:    '1006',
documentId:  '1952',
internalId:  '1006',
customField: '1006'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21543',
internalId:  '',
customField: '20101206-131945'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21669',
internalId:  '',
customField: '20110321-023424'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21101',
internalId:  '',
customField: '20110628-164923'
};
webappMappings['7008']=webappMappings['7008-13538']={
webappId:    '7008',
documentId:  '21101',
internalId:  '13538',
customField: 'language:en;country:US;'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21690',
internalId:  '',
customField: '20110628-184749'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21648',
internalId:  '',
customField: '20100609-010719'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '79508',
internalId:  '',
customField: '20110802-163359'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '76997',
internalId:  '',
customField: '20110608-150131'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '26301',
internalId:  '',
customField: '20100608-120839'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '26322',
internalId:  '',
customField: '20100608-121400'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '26343',
internalId:  '',
customField: '20110608-141533'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '29201',
internalId:  '',
customField: '20110628-172908'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21585',
internalId:  '',
customField: '20101206-134858'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21606',
internalId:  '',
customField: '20110315-035723'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '29222',
internalId:  '',
customField: '20100608-121230'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '31801',
internalId:  '',
customField: '20100603-211205'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '31822',
internalId:  '',
customField: '20100608-120438'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '31843',
internalId:  '',
customField: '20100608-121922'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '31864',
internalId:  '',
customField: '20100608-122124'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '21627',
internalId:  '',
customField: '20101206-141927'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '43731',
internalId:  '',
customField: '20100608-121021'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '50331',
internalId:  '',
customField: '20100608-182741'
};
webappMappings['5000']=webappMappings['5000-']={
webappId:    '5000',
documentId:  '59731',
internalId:  '',
customField: '20100609-004713'
};
webappMappings['7060']=webappMappings['7060-8591d3ff206400817ac778b5f3262900']={
webappId:    '7060',
documentId:  '79508',
internalId:  '8591d3ff206400817ac778b5f3262900',
customField: 'language:en;country:US;'
};
var webAppHostname = 'diycgi.cluster.stngva01.us.diy-servers.net:80';
var canonHostname = 'diywk02.verio.stngva01.us.diy-servers.net';
var accountId     = 'AVFL30INHVQR';
var companyName   = 'Call+us+for+a+FREE+consultation+%26+estimate++++++++++++++++++++++++++++++++++%28650%29+966-9663%2C+%28866%29-350-9663';
var htmlTitle	  = 'Cal+Preserving+-+Wood+Restoration+%26+Maintenance';
var metaKeywords  = 'wood+restoration%2C+deck+restoration%2C+deck+staining%2C+deck+preserving%2C+deck+preservation%2C+deck+sealing%2C+redwood+deck%2C+deck+cleaning%2C+deck+power+washing%2C+deck+pressure+washing%2C+deck+maintenance%2C+natural+wood%2C+wooden%2C+restoration%2C+maintenance%2C+cleaning%2C+preserving%2C+preservation%2C+sealing%2C+staining%2C+power+washing%2C+pressure+washing%2C+deck%2C+siding%2C+fence%2C+furniture%2C+trellis%2C+arbor%2C+redwood%2C+IPE%2C+shingle%2C+cedar%2C+shingle+siding+cleaning%2C+shingle+siding+preservation%2C+shingle+siding+staining%2C+deck+protection%2C+redwood+deck+preserving%2C+cleaning+a+wooden+deck%2C+redwood+deck+cleaning%2C+cleaning+a+stained+deck%2C+cleaning+outdoor+decks%2C+cleaning+the+deck%2C+cleaning+wooden+decking%2C+cleaning+wooden+decks%2C+cleaning+your+deck%2C+composite+deck+cleaning%2C+deck+cleaning+pressure+washer%2C+deck+cleaning+service%2C+decks+decking%2C+pool+deck+cleaning%2C+redwood+deck+power-washing%2C+redwood+deck+sealing%2C+stain+your+deck%2C+wooden+deck+cleaning%2C+cedar+deck+protection%2C+clean+cedar+deck%2C+clean+composite+deck%2C+clean+wooden+deck%2C+cleaning+a+fence%2C+cleaning+cedar+decks%2C+cleaning+mildew+deck%2C+cleaning+painted+decks%2C+cleaning+trex+decks%2C+deck+cleaning+mildew%2C+deck+painting%2C+deck+powerwashing%2C+deck+preserving%2C+deck+seals%2C+deck+stain+preparation%2C+deck+stain+removal%2C+deck+treatment%2C+decking+cleaning+services%2C+deckings%2C+fence+cleaning%2C+ipe+deck+maintenance%2C+ipe+deck+preserving%2C+old+deck+restoration%2C+powerwash+deck%2C+protect+deck%2C+redwood+deck+staining%2C+redwood+siding+maintenance%2C+restaining+deck%2C+sanding+a+deck%2C+wooden+deck+maintenance%2C+cedar+deck+cleaning%2C+cedar+deck+sealing%2C+clean+a+deck%2C+clean+a+wood+deck%2C+clean+cedar+siding%2C+clean+composite+decking%2C+clean+deck+mildew%2C+clean+decking%2C+clean+decks%2C+clean+the+deck%2C+clean+your+deck%2C+cleaning+and+staining+a+deck%2C+cleaning+decking%2C+cleaning+decks%2C+cleaning+wood+decking%2C+cleaning+wood+fence%2C+cleaning+wood+siding%2C+deck+cleaning+staining%2C+deck+maintenance%2C+deck+maintenance+service%2C+deck+sanding%2C+deck+seal%2C+deck+sealing%2C+deck+washing%2C+decking+cleaners%2C+decking+cleaning%2C+decking+protection%2C+decking+seal%2C+decking+stain%2C+decking+stain+remover%2C+decking+stains%2C+decks+cleaning%2C+exterior+wood+decks%2C+fence+wash%2C+furniture+maintenance%2C+hard+wood+deck+preserving%2C+ipe+deck+power-washing%2C+ipe+deck+sealing%2C+ipe+deck+staining%2C+ipe+decking+maintenance%2C+ipe+hardwood+decking%2C+new+deck+treatment%2C+painting+cedar+deck%2C+painting+the+deck%2C+patio+deck+paint%2C+power+cleaning%2C+power+wash+deck%2C+power+wash+siding%2C+power+washing+decks%2C+preservation+siding%2C+preserving+decking%2C+pressure+wash+decking%2C+pressure+wash+siding%2C+protecting+deck%2C+protecting+decking%2C+refinishing+a+wood+deck%2C+seal+deck%2C+sealing+a+cedar+deck%2C+sealing+composite+decking%2C+sealing+decking%2C+sealing+your+deck%2C+shingle+treatment%2C+siding+preservation%2C+siding+preserving%2C+siding+protection%2C+stain+new+deck%2C+washing+decks%2C+wood+deck+preservation%2C+wood+fence+cleaning%2C+wood+siding+restoration%2C+wooden+deck%2C+wooden+shingles%2C+cleaning+composite+decks%2C+deck+restoring%2C+deck+treatments%2C+siding+washing%2C+stain+decks%2C+washing+siding%2C+cleaning+a+cedar+deck%2C+redwood+deck+maintenance%2C+cleaning+mahogany+deck+deck+preservative%2C+deck+refinishing%2C+deck+restoration%2C+deck+restore%2C+decking+restoration%2C+refinishing+a+deck%2C+refinishing+deck%2C+wooden+decking%2C+cleaning+ipe+decking%2C+deck+cleaning%2C+deck+stain+remover%2C+restore+wood+deck%2C+resurface+deck%2C+sealing+a+new+deck%2C+wood+deck+treatment%2C+cleaning+a+composite+deck%2C+deck+refurbishing%2C+how+to+stain+a+fence%2C+wash+stain+deck%2C+waterproofing+deck%2C+wooden+deck+sealer%2C+cedar+shingles+maintenance%2C+deck+cleaning+services%2C+deck+preservation%2C+patio+deck%2C+when+to+seal+a+deck%2C+wood+deck+coating%2C+cleaning+composite+decking%2C+deck+finish%2C+deck+power-washing%2C+deck+wash%2C+ipe+deck+cleaning%2C+pool+deck+refinishing%2C+power+washing+deck%2C+shingle+cleaning%2C+teak+deck+cleaning%2C+wash+deck%2C+waterproof+deck%2C+coating+deck%2C+deck+covering%2C+outdoor+decks%2C+wood+deck+preservative%2C+deck+rail%2C+deck+stains%2C+decking%2C+decking+boards%2C+decking+paint%2C+exterior+deck+stain%2C+ipe+decking%2C+patio+decking%2C+restoring+decking%2C+stain+wooden+deck%2C+cleaning+shingles%2C+deck+companies%2C+deck+staining+companies%2C+decking+cleaner%2C+redwood+siding%2C+wooden+deck+restoration%2C+wooden+decks%2C+cedar+deck+staining%2C+cedar+decking%2C+cedar+siding+cleaning%2C+clean+deck%2C+clean+wood%2C+clean+wood+furniture%2C+cleaning+a+wood+deck%2C+cleaning+cedar+siding%2C+cleaning+patio%2C+cleaning+siding%2C+cleaning+wood+decks%2C+cleaning+wood+furniture%2C+deck+clean%2C+deck+ipe%2C+deck+stain%2C+deck+staining%2C+deck+staining+and+sealing%2C+deck+staining+business%2C+deck+staining+sealing+deck+staining+services%2C+deck+staining+specialists%2C+deck+stains+sealers%2C+deck+wood+stain%2C+decking+staining%2C+decks%2C+decks+staining%2C+exterior+wood+staining%2C+exterior+wood+treatment%2C+fence+staining%2C+hard+wood+deck+maintenance%2C+hard+wood+deck+power-washing%2C+hard+wood+deck+sealing%2C+hard+wood+deck+staining%2C+house+wash%2C+ipe+deck%2C+ipe+wood+decks%2C+maintenance+of+wood%2C+maintenance+wood%2C+new+deck+staining%2C+patio+cleaning%2C+power+wash+decks%2C+power+wash+wood+siding%2C+power+washing+siding%2C+power+washing+wood+deck%2C+pressure+wash+wood+siding%2C+pressure+washing+siding%2C+pressure+washing+wood%2C+pressure+washing+wood+deck%2C+pressure+washing+wood+decks%2C+pressure+washing+wood+siding%2C+refinishing+wood+decks%2C+restoring+a+deck%2C+seal+wood+deck%2C+sealing+a+deck+sealing+a+wood+deck%2C+shingle+siding%2C+siding+maintenance%2C+siding+power-washing%2C+siding+sealing%2C+siding+staining%2C+siding+wash%2C+staining+a+cedar+deck%2C+staining+a+wood+deck%2C+staining+and+sealing+a+deck%2C+staining+decking%2C+staining+decks%2C+staining+the+deck%2C+staining+wood+decks%2C+staining+wood+fence%2C+staining+your+deck%2C+wash+siding%2C+washing+a+wood+deck%2C+waterproof+decking%2C+wood+deck+care%2C+wood+deck+clean%2C+wood+deck+cleaning%2C+wood+deck+finish%2C+wood+deck+painting%2C+wood+deck+protection%2C+wood+deck+staining%2C+wood+fence+maintenance%2C+wood+maintenance%2C+wood+preservative%2C+wood+preservatives%2C+wood+protection%2C+wood+restoring%2C+wood+sealing%2C+wood+siding+cleaner%2C+wood+siding+maintenance%2C+wood+siding+preserving%2C+wood+siding+restoring%2C+wood+siding+sealing%2C+wood+siding+stain%2C+wood+siding+staining%2C+wood+washing%2C+wooden+shingle%2C+cedar+deck+refinishing%2C+clean+deck+pressure+washer%2C+cleaning+and+sealing+a+deck%2C+cleaning+pool+decks%2C+deck+cleaning+sealing%2C+deck+fencing%2C+deck+furniture%2C+deck+pressure+washing%2C+deck+rails%2C+deck+refinish%2C+decking+composite%2C+decking+furniture%2C+decking+treatment%2C+decking+wood%2C+decks+and+porches%2C+exterior+cleaning%2C+fence+wood%2C+ipe+wood+deck%2C+new+deck+sealing%2C+outdoor+fencing%2C+painting+a+deck%2C+patio+decks%2C+pressure+washing+deck%2C+red+cedar+decking%2C+redwood+decking%2C+refinish+deck%2C+seal+cedar+deck%2C+stain+and+seal+deck%2C+waterproofing+a+deck%2C+wood+deck+coatings%2C+wood+deck+maintenance%2C+wood+deck+restoration%2C+wood+deck+resurfacing%2C+wood+deck+waterproofing%2C+wood+decking%2C+wood+decks%2C+wood+siding+power-washing%2C+wooden+deck+coatings%2C+wooden+shingle+siding%2C+wooden+siding%2C+deck+cleaning+and+staining%2C+deck+railing%2C+decking+maintenance%2C+decking+sealant%2C+decking+sealer%2C+fence%2C+how+to+clean+siding%2C+powerwash%2C+pressure+washing+decks%2C+redwood+deck+furniture%2C+restoration+wood%2C+seal+a+deck%2C+shingles+siding%2C+stain+a+deck%2C+wood+deck+refinishing+wood+deck+sealing%2C+wood+deck+waterproofing+products%2C+wood+shingles%2C+wood+siding%2C+wood+sidings%2C+deck+cleaning+and+sealing%2C+deck+cleaning+business%2C+deck+finishes%2C+deck+railings%2C+decking+rails%2C+exterior+siding%2C+exterior+wood+decking%2C+fences%2C+power+wash%2C+pressure+wash%2C+pressure+wash+service%2C+pressure+washer+service%2C+pressure+washing+houses%2C+red+wood+decking%2C+redwood+deck+finish%2C+redwood+decks%2C+restaining+a+deck%2C+sealing+wood+decks%2C+wood+shingle+siding%2C+cedar+deck+maintenance%2C+deck+patio+furniture%2C+deck+stains+and+sealers%2C+decking+fencing%2C+decks+and+patios%2C+exterior+siding+wood%2C+exterior+wood+siding%2C+fencing%2C+high+pressure+cleaning%2C+home+exterior+siding%2C+patio+deck+furniture%2C+patios+and+decks%2C+power+washer%2C+power+washing+companies%2C+pressure+washer+business%2C+pressure+washing+company%2C+pressure+washing+home%2C+redwood+deck%2C+staining+a+fence%2C+wood+exterior+siding%2C+wood+shingles+siding%2C+wood+siding+exterior%2C+high+pressure+washers%2C+power+washing%2C+power+washing+a+deck%2C+power+washing+company%2C+power+washing+services%2C+pressure+wash+decks%2C+pressure+washing+business%2C+pressure+washing+service%2C+pressure+washing+services%2C+pressure+washer+services%2C+cleaning+a+deck%2C+deck+cleaning+company%2C+high+pressure+washing%2C+house+pressure+washing%2C+pressure+washing%2C+pressure+washing+house%2C+residential+pressure+washing%2C+deck+cleaning+companies%2C+deck+power+washing+and+sealing%2C+staining+a+deck%2C+pressure+washing+companies%2C+restore+a+deck%2C+pressure+washing+a+deck%2C+pressure+wash+deck%2C+clean+siding%2C+cleaning+wood%2C+deck+wood%2C+staining+cedar+siding+wood+cleaning%2C+wood+deck';
var metaContents  = 'CAL+PRESERVING+is+a+California+licensed+contractor+with+24+years+of+experience+delivering+the+highest+quality+of+service+to+the+San+Francisco+Bay+Area.+CAL+PRESERVING+specializes+in+restoring%2C+preserving+%26+maintaining+of+all+exterior+wooden+surfaces+such+as%3A+decks%2C+siding%2C+railings%2C+fences%2C+trellises+%2C+arbors%2C+furniture+%26+more.+Call+CAL+PRESERVING+now+for+a+free+evaluation+and+estimate+at+1-866-350-9663.+%22We+won%27t+take+a+dime+until+the+work+is+done+and+you+are+happy%21%22';
theSitetree.getById = function(id, ar) {
	if (typeof(ar) == 'undefined'){
		ar = this;
	}
	for (var i=0; i < ar.length; i++) {
		if (ar[i][POS_ID] == id){
			return ar[i];
		}
		if (ar[i][POS_CHILDS].length > 0) {
			var result=this.getById(id, ar[i][POS_CHILDS]);
			if (result != null){
				return result;
			}
		}
	}
	return null;
};

theSitetree.getParentById = function(id, ar) {
	if (typeof(ar) == 'undefined'){
		ar = this;
	}
	for (var i=0; i < ar.length; i++) {
		for (var j = 0; j < ar[i][POS_CHILDS].length; j++) {
			if (ar[i][POS_CHILDS][j][POS_ID] == id) {
				// child found
				return ar[i];
			}
			var result=this.getParentById(id, ar[i][POS_CHILDS]);
			if (result != null){
				return result;
			}
		}
	}
	return null;
};

theSitetree.getName = function(id) {
	var elem = this.getById(id);
	if (elem != null){
		return elem[POS_NAME];
	}
	return null;
};

theSitetree.getNavigationText = function(id) {
	var elem = this.getById(id);
	if (elem != null){
		return elem[POS_NAVIGATIONTEXT];
	}
	return null;
};

theSitetree.getHREF = function(id) {
	var elem = this.getById(id);
	if (elem != null){
		return elem[POS_HREF];
	}
	return null;
};

theSitetree.getIsNavigation = function(id) {
	var elem = this.getById(id);
	if (elem != null){
		return elem[POS_ISNAVIGATION];
	}
	return null;
};

theSitetree.getTemplateName = function(id, lastTemplateName, ar) {
	if (typeof(lastTemplateName) == 'undefined'){
		lastTemplateName = this.topTemplateName;
	}
	if (typeof(ar) == 'undefined'){
		ar = this;
	}
	for (var i=0; i < ar.length; i++) {
		var actTemplateName = ar[i][POS_TEMPLATENAME];
		if (actTemplateName == ''){
			actTemplateName = lastTemplateName;
		}
		if (ar[i][POS_ID] == id) {
			return actTemplateName;
		}
		if (ar[i][POS_CHILDS].length > 0) {
			var result=this.getTemplateName(id, actTemplateName, ar[i][POS_CHILDS]);
			if (result != null){
				return result;
			}
		}
	}
	return null;
};

theSitetree.getByXx = function(lookup, xx, ar) {
    if (typeof(ar) == 'undefined'){
    	ar = this;
    }
    for (var i=0; i < ar.length; i++) {
        if (ar[i][xx] == lookup){
        	return ar[i];
        }
        if (ar[i][POS_CHILDS].length > 0) {
        	var result=this.getByXx(lookup, xx, ar[i][POS_CHILDS]);
            if (result != null){
                return result;
               }
        }
    }
    return null;
};

function gotoPage(lookup) {
	if(__path_prefix__ == "/servlet/CMServeRES" && typeof (changePage) == 'function'){
		changePage(lookup);
		return;
	}
	var page = theSitetree.getHREF(lookup);
	if (!page) {
		var testFor = [ POS_NAME, POS_NAVIGATIONTEXT ];
		for (var i=0 ; i < testFor.length ; i++) {
			var p = theSitetree.getByXx(lookup, testFor[i]);
			if (p != null) {
				page = p[POS_HREF];
				break;
			}
		}
	}
	document.location.href = (new URL(__path_prefix__ + page, true, true)).toString();
};

