var baseurl=''
// See at bottom for Important path information 
// domready function handles all special tweakage that occurs once page is loaded.
function domready(thisbaseurl){
	baseurl=thisbaseurl+baseCAD;
	// Insert div to use for popups
	var newa = new Element ( 'div' , {'id':pj_zoom,'class' : pj_zoom,'style' : 'display:none'});
	newa.injectAfter('footer');
	$(pj_zoom).setOpacity('0')
	// Custom manipulation for joomla TOC and intra-page likns in multipate articles.
	pj_jo_pagelinks()
	// Create CAD linkages for items that need them
	pj_make_all_cad()
	// Create thumb/preview enlargement for items that need them
	pj_make_all_enlarge()
	// Wake up the idrop test image if it's required
	try {$("idroptest").innerHTML=idroptest()} catch (e) {}
	// Initialise Selector
	var pj_sel=0
	$$('[class*=pj_0F]').each(function() {if(pj_sel==0) {pj_sel=1;initselector(0);initselector(0);}})
}

function ________Joomla_Article_Manipulation() {}
// Custom manipulation for joomla TOC and intra-page likns in multipate articles.
function pj_jo_pagelinks() {
	// If a multi-page article, scan the page links and add intra-page navigation for desired anchors
	// 1. Remove previous intra-page
	$$(pj_a_ip).remove;
	// 2. Check for intrapage links to anchors that aren't on this page!
	$$('a[href*=#]').each(function(link){
		wl0 = ''+window.location;
		wl0 = wl0.split('#')[0]
		wl = wl0.split('?')[0]
		desanch = $(link).href.replace(wl,'').split('%20').join(' ')
		var fndanch=0
		// 3. handle case where an anchor that should be on this page isn't
		if (desanch.substring(0,1)=='#') {
			desanchx = desanch.substring(1,10000)
			$$('a').each(function(link2){
				if (desanchx == $(link2).name) {fndanch=1}
			})
			if (fndanch == 0 ) {
				$(link).href=wl.split('?')[0]+'?showall=1#'+desanchx
			}
		}
		// 4. handle case where the anchor is found on the page, but the link is pointing wrong
		if (wl != wl0 && desanch.substring(0,1)=='#' && fndanch==1) {
			desanch = desanchx.substring(1,10000)
			$(link).href=wl0+'#'+desanchx
		}
	})
	// 5. Scan links in table of contents
	$$(pj_a_ai).each(function(link){
		// 6. If this toclink is the currently selected one, add entries for all qualifying anchors found on the page
		if(pj_intrapage(link)>-1) {pj_makeintrapage(link)}
		// 7. If there is a replacement title for the table of contents insert it here
		if($(link).href.indexOf('&limitstart')<0&&$(link).href.indexOf('&showall')<0&&$(link).href.indexOf('?start=')<0&&$(link).href.indexOf('?showall=')<0) {
			$$(pj_rt).each(function(link2){
				repltitle = $(link2).content.split(pj_rtds)
				if (repltitle.length >1) {$(link).setText(repltitle[1])}
			})
		}
	});
}
function pj_intrapage(link) {
//Identify which page of article we are on
var str = ''+ window.location
str = str.split('#')[0]
if ($(link).href.split('%3A').join(':')==str.split('%3A').join(':')) {return 1} else{return -1}
}
function pj_makeintrapage(link) {
	var str = ''+ window.location
	str = str.split('#')[0]
	var cnt=1
	var nmlst = new Array();
	var hrlst = new Array();
	$$('a[name*=+]').each(function(link2){
		if($(link2).getProperty('name')) {
			hrlst[cnt] = $(link2).getProperty('name')
			nmlst[cnt] = hrlst[cnt].split('+').join('')
			if (cnt >1 ) {var newa = new Element ( 'a' , {'href' : str+'#','style' : 'float:right;', 'class' : 'b2t'}).setText('Back to Top');
			newa.injectAfter(link2);}
			cnt+=1
		}
	});
	for (n=nmlst.length-1;n>0;n--) {
		var newa = new Element ( 'a' , {'href' : str+'#'+hrlst[n] ,'class' :pj_ip}).setText(nmlst[n]);
		newa.injectAfter(link);
	}
}

function ________CAD_Handling() {}

function pj_make_all_cad() {
// Create CAD linkages for items that need them
	//eraseCookie("PrefCad")
	PrefCad=readCookie("PrefCad");
	if (!PrefCad){PrefCad='dwg'};
	var CADcnt=0;
	$$('img[src*='+baseCTRL+']').each(function(link){
		$(link).setStyle('cursor','pointer');
		pj_insert_cad(link,PrefCad);
		CADcnt +=1;
	});
	if (CADcnt>0&&!$('pj_CADzoom')){
		// Insert div to use for popups
		insczoom()
	}
}
function insczoom() {
// Insert div to use for popups
	var newa = new Element ( 'div' , {'id':'pj_CADzoom','class' : 'pj_CADzoom','style' : 'display:none'});
	newa.injectAfter('footer');
	$('pj_CADzoom').setOpacity('0');
	// Insert Selector content into this popup
	$('pj_CADzoom').innerHTML='<table bgcolor="#ffffff"><tr><td></td></tr></table>'
	// need to sort out the issue with relative urls here!!
	makeRequest(baseurl+'CADzoom.html','detail','ra2','pj_CADzoom');
}
function pj_insert_cad(that,PrefCad) {
	x = $(that).src
	y = x.split(baseCTRL)
	if(!$(that).getProperty('title')) {$(that).setProperty('title','Click the image for a larger preview and options for file downloads');		}
	$(that).addEvent('click', function(event){
		event = new Event(event);
		pj_cadpop(this.src)
	});
	$(that).setStyle('display','block')
	var newa = new Element ( 'div',{'class':pj_cad1});
	newa.injectAfter($(that),'top');		
	newa.adopt($(that))
	for (j=nCADS;j>=1;j--) {
		z = y.join(baseCAD+tlCAD[j].ext+'/')		
		if (tlCAD[j].ext =='pdf' || tlCAD[j].ext == PrefCad) {
			if (tlCAD[j].ext =='pdf') {
				var newa = new Element ( 'a' , {'href' : 'javascript:pj_cadpop("'+ x + '")' , 'class' : 'pj_icons pj_more'}).setText('CAD Files...');
				newa.innerHTML=newa.innerHTML+'<br>'	
				newa.injectAfter($(that),'top');
			}
			if (tlCAD[j].ext.indexOf('xml')>-1&&tlCAD[j].ext == PrefCad) {
				// insert idrop control
				zz = z.split(baseext).join('')
				zz= y.join(baseCAD+tlCAD[j].extd+'/').split(baseext).join('')
				var newa = new Element ('span');
				newa.innerHTML=pj_ins_idr(zz,200,45,noidropicon,noidrophtml,idrcid,tlCAD[j].desc)
				newa.injectAfter($(that),'top');
			}
			else {
				var newa = new Element ( 'a' , {'href' : z.split(baseext).join('.'+tlCAD[j].ext) , 'class' : tlCAD[j].cls}).setText(tlCAD[j].desc);
				newa.injectAfter($(that),'top');
			}

		}
	}
$$('a.icons').setStyle('width','100px')
}

var toggle=0

function pj_cadpop(that){
	pj_cadthis = that;
	y = that.split(baseCTRL)
	z = y.join(baseCAD+'data'+'/')		
	z = z.split(baseext).join('.xml')
	pj_i=1;makeRequest(z,'detail','ra1')
}
function pj_ins_idr(i_file,i_width,i_height,i_icon,i_url,idrcid,desc) {
// inserts idrop activex resource files
	var exttxt = '';
	axo = true;
	if (axo) {
		exttxt += '\n<object classid="' + idrcid + '" width="' + i_width + 'px" height="' + i_height + 'px">\n';
		exttxt += '  <param name="background" value="/_CADstuff/i/white.gif">\n';
		exttxt += '  <param name="proxyrect" value="0,0, ' + i_width + ', ' + i_height + '">\n';
		exttxt += '  <param name="griprect" value="0, 0, ' + i_width + ', ' + i_height + '">\n';
		exttxt += '  <param name="package" value="' + i_file + '.xml"/>\n';
		exttxt += '  <param name="validate" value="1">\n';
		exttxt += '  <a href="' + i_url + '">\n    <img src="' + i_icon + '" Title="This `i-drop` control is presently disabled -Click to find out more" width="' + i_width + '" height="' + i_height + '" >\n</a>';
//		exttxt += '  <a class="pj_icons pj_xml" Title="This `i-drop` control is presently disabled -Click for help" href="' + i_url + '"><img src="http://localhost:6060/images/stories/details/sealguard/sgb02%20deck%20gutter%20waste.gif">'+desc+'\n\n</a>\n';
		exttxt += '</object>\n';
	}
	else {
//		exttxt += '  <a class="pj_icons pj_xml" Title="This `i-drop` control is presently disabled -Click for help" href="' + i_url + '">'+desc+'\n\n</a>\n';
		exttxt += '  <a class="pj_icons pj_xml" href="' + i_url + '">\n<img src="' + i_icon + '" Title="This `i-drop` control is presently disabled -Click to find out more" width="' + i_width + '" height="' + i_height + '" >\n</a>\n';
	}
	return exttxt;
}
function pj_prefcad(pj_i,prefcad) {
	createCookie('PrefCad',prefcad,90);selector(pj_i,1)
}
function pj_make_all_enlarge() {
// Create thumb/preview enlargement for items that need them
	$$('img[src*='+baseTHMB+']').each(function(link){
		$(link).setStyle('cursor','pointer');
		if(!$(link).getProperty('title')) {$(link).setProperty('title','Click the image to enlarge');}
		$(link).addEvent('click', function(event){
			event = new Event(event);
			pj_enlarge(this.src)
		});
	});
}
function pj_enlarge(that){
$(pj_zoom).setStyle('display', '')
$(pj_zoom).setStyle('top', window.getScrollTop()+30)
xx1=parseInt($(pj_zoom).getStyle('width').replace('px',''))/2
xx2=parseInt(window.getWidth())/2
yy1=parseInt($(pj_zoom).getStyle('height').replace('px',''))/2
yy2=parseInt(window.getHeight())/2
$(pj_zoom).setStyle('left', xx2-xx1-10)
$(pj_zoom).setOpacity('95')

var aa = new Fx.Style(pj_zoom, {transition: Fx.Transitions.Elastic.easeOut});
	var czFX = new Fx.Slide(pj_zoom,{mode:'horizontal'})
	czFX.hide().slideIn();
	x = that
	y = x.split(baseTHMB)
	newIH = '<div class="' + pj_cad2 + '"><div>'
	newIH +='<a style="float:right;text-align:right;padding-top: 0px;" class="' + pj_quit + ' '+ pj_cad3 +'" onClick="mySlide = new Fx.Slide(\''+pj_zoom+'\').show().slideOut(\'horizontal\');$(\''+pj_zoom+'\').setStyle(\'left\', window.getScrollLeft());">Close</a>'
	newIH += '</span><br><img src="'
	z = y.join(basePREV)		
	newIH += z
	newIH += '" style="cursor:pointer" title="Click Image to Close Window" onClick="mySlide = new Fx.Slide(\''+pj_zoom+'\').show().slideOut(\'horizontal\');$(\''+pj_zoom+'\').setStyle(\'left\', window.getScrollLeft());"></div>'
	newIH +='</div>'
	$(pj_zoom).innerHTML=newIH
}

function unzoom() {
//$('pj_CADzoom').setStyle('display','none')
mySlide = new Fx.Slide('pj_CADzoom').show().slideOut('horizontal');
$('pj_CADzoom').setStyle('left', window.getScrollLeft());
}
function idroptest(){
/*newih = '<object  name="idrop" classid="clsid:21E0CB95-1198-4945-A3D2-4BF804295F78" width="232" height="40">'
newih += '	<div name="background" value="/_CADstuff/i/idropon.gif" class="mceItemParam"></div>'
newih += '	<div name="proxyrect" value="0,0, 0, 0" class="mceItemParam"></div>'
newih += '	<div name="griprect" value="0, 0, 0, 0" class="mceItemParam"></div>'
newih += '	<div name="package" value="/_CADstuff/i/check_idrop.xml" class="mceItemParam"></div>'
newih += '	<div name="validate" value="1" class="mceItemParam"></div>'
newih += '	<img src="/_CADstuff/i/idropoff.gif" ilo-full-src="/_CADstuff/i/idropoff.gif" height="40" width="232" />'
newih += '</object>'
*/
newih = '<object name="idrop" classid="clsid:21E0CB95-1198-4945-A3D2-4BF804295F78" width="232" height="40">'
newih += '              <param name="background" value="/_CADstuff/i/idropon.gif">'
newih += '              <param name="proxyrect" value="0,0, 0, 0">'
newih += '              <param name="griprect" value="0, 0, 0, 0">'
newih += '              <param name="package" value="/_CADstuff/i/check_idrop.xml"/>'
newih += '              <param name="validate" value="1">'
newih += '              <img src="/_CADstuff/i/idropoff.gif" width="232" height="40">'
newih += ' </object>'
			
return newih
}

function ________Selector() {}

var OA= new Array();
var FA= new Array();
var RA= new Array();
var FC = new Array();
var RC = new Array();
function initselector(pj_i,isSolo) {
// add ie5/ie6 hover support 
//	if (!window.XMLHttpRequest) {
hoverclass('td[class*=pj_'+pj_i+'F]');
//}
	// array for this instance
	OA[pj_i]=[]
	RA[pj_i]=[]
	OA[pj_i] = new Array();
	OA[pj_i].res =new Array();
	RA[pj_i]= new Array();
	var Rc = 0;
	$$('[class*=pj_'+pj_i+'R]').each(function(R) {
		//populate array for records
		RA[pj_i][Rc] = $(R).id.split('?')[1];
		RA[pj_i][Rc].idx = $(R).id
		Rc += 1;
	})
	FA[pj_i]= new Array();
	var pj__Fhid = new Array();
	
	var Fc = 0;
	var rar = '';

	$$('[class*=pj_'+pj_i+'F]').each(function(F) {
		//wipe any prior settings
		$(F).removeClass('pj_'+pj_i+'Fhid')
		$(F).removeClass('pj_'+pj_i+'Fdis')
		$(F).removeClass('pj_'+pj_i+'Fsel')
		$(F).removeClass('pj_'+pj_i+'Fssel')

		//populate array for filters
		FA[pj_i][Fc] = $(F).id.split('?')[1];
		OA[pj_i][Fc] = new Array();
		OA[pj_i][Fc].idx = $(F).id
		OA[pj_i][Fc].cls = $(F).getProperty('class')
		OA[pj_i][Fc].stat = 0
		// establish which instance this element belongs to
		var Fcls = $(F).getProperty('class').split(' ')[0];
		if (!pj__Fhid[Fcls]) {pj__Fhid[Fcls]=0}
		// keep count of valid records for this selector
		vr = 0;
		// now cycle every record to populate OA
		Rc = 0;
		$$('[class*=pj_'+pj_i+'R]').each(function(R) {
			if (Fc ==0 ) {OA[pj_i].res[Rc]=$(R).id}
			OA[pj_i][Fc][Rc] = FR(FA[pj_i][Fc],RA[pj_i][Rc])
			vr += OA[pj_i][Fc][Rc]
			Rc +=1;
		})
		// hide filter element if there are no records for it
		// can be enabled per instance in css

		if(vr==0) {
			$(F).addClass('pj_'+pj_i+'Fhid');
		}
		else {
			pj__Fhid[Fcls]+=1;
		}
		rar += OA[pj_i][Fc] + '\n';
		// Add click events for filter elements
		$(F).removeEvents()
		// Double Click on element disables everything else and turns this on.
		$(F).addEvent('dblclick', function(event){
			event = new Event(event);
					// Turn off other filter elements in all instances
					$$('[class*=pj_'+pj_i+'F]').removeClass('pj_'+pj_i+'Fsel');
					// Turn this filter element on
					$(this).addClass('pj_'+pj_i+'Fsel');
				selector(pj_i,isSolo,Fc,1);
			
		})
		$(F).addEvent('click', function(event){
			event = new Event(event);
			// Ignore click on disabled filter element
			if (!$(this).hasClass('pj_'+pj_i+'Fdis')) {
				if ($(this).hasClass('pj_'+pj_i+'Fsel')) {
					$(this).removeClass('pj_'+pj_i+'Fsel');
					//OA[pj_i][Fc].stat=0;
				} else {
					// Turn off other filter elements in this instance
					$$('[class*='+Fcls+']').removeClass('pj_'+pj_i+'Fsel');
					// Turn this filter element on
					$(this).addClass('pj_'+pj_i+'Fsel');
					//OA[pj_i][Fc].stat=1;
				}
				selector(pj_i,isSolo,Fc);
			}
		})
		Fc +=1;
		
	})
	FC[pj_i]=Fc
	RC[pj_i]=Rc
	$$('[class*=pj__'+pj_i+'F]').each(function(F) {
		// option to totally hide filter instance if there is only one selector valid in it
		var Fcls = $(F).getProperty('class').split(' ')[0];
		F_cls = Fcls.replace('__','_');
		//alert(pj__Fhid[F_cls]+'-'+Fcls)
		if (pj__Fhid[F_cls]<=1) {$(F).addClass('pj__'+pj_i+'Fhid')} else {$(F).removeClass('pj__'+pj_i+'Fhid')}
	})
}
function selector(pj_i,isSolo,Fct,Dbl,forceon,forcewhat) {
	// isSolo indicates special CAD mode
	// This means additional actions to insert replace images and preferred CAD links
	// First matching reults is the winner unless forceon and forcewhat are specified
	//alert(readCookie("PrefCad"))
	PrefCad=readCookie("PrefCad");
	if (!PrefCad){PrefCad='dwg'};
	fm = -1;
	if (forceon==2) {
		for (Rc=0;Rc<RC[pj_i];Rc++) {
			if (OA[pj_i].res[Rc]==forcewhat) {
				break;
			}
		}
	}
	for(Fc=0;Fc<FC[pj_i];Fc++) {
		$(OA[pj_i][Fc].idx).addClass('pj_'+pj_i+'Fdis')
		$(OA[pj_i][Fc].idx).removeClass('pj_'+pj_i+'Fssel')
		if (forceon==2) {
			if (OA[pj_i][Fc][Rc] ==1) {$(OA[pj_i][Fc].idx).addClass('pj_'+pj_i+'Fsel')} else {$(OA[pj_i][Fc].idx).removeClass('pj_'+pj_i+'Fsel')}
		}
		if ($(OA[pj_i][Fc].idx).hasClass('pj_'+pj_i+'Fsel')) {
			OA[pj_i][Fc].stat = 1;
		} else {
			OA[pj_i][Fc].stat = -1;
		}
		//alert(OA[pj_i][Fc].stat)
	}
	var rar = ''
	// Select all result elements and use these to build result array
	for (Rc=0;Rc<RC[pj_i];Rc++) {
		var Rdis = 0;
		//Now select EVERY filter element to see if it's selected
		for (Fc=0;Fc<FC[pj_i];Fc++) {
			// Any enabled selector that doesn't match will disable this result
			if (OA[pj_i][Fc].stat==1&&OA[pj_i][Fc][Rc]!=1) {Rdis = 1;}
			//if (OA[pj_i][Fc].stat==1&&OA[pj_i][Fc][Rc]!=1) {Rdis = 1;}
			if (OA[pj_i][Fc][Rc]==1) {
				var Fdis = 0;
				for (FFc=0;FFc<FC[pj_i];FFc++) {
					if (OA[pj_i][Fc].cls!=OA[pj_i][FFc].cls&&OA[pj_i][FFc].stat==1) {
						rar +=OA[pj_i][Fc].cls+'|'+OA[pj_i][FFc].cls
						if (OA[pj_i][FFc][Rc]!=1) {
							Fdis=1;
						}
					}
				}
				if (Fdis==0){$(OA[pj_i][Fc].idx).removeClass('pj_'+pj_i+'Fdis')}
			}
		}
		// If result disabled apply class to show it's disabled
		//alert(Rdis)
		Rdis ==0 ? $(OA[pj_i].res[Rc]).removeClass('pj_'+pj_i+'Rdis'): $(OA[pj_i].res[Rc]).addClass('pj_'+pj_i+'Rdis');
		Rdis ==0 && fm==-1 && !forceon? fm=Rc : fm=fm;
		if(forceon && forcewhat == OA[pj_i].res[Rc]) {alert(OA[pj_i].res[Rc]) ;fm=Rc} else{fm=fm;}
	}
	if (isSolo==1 && fm != -1) {
		y = pj_cadthis.split(baseCTRL)
		//use first matching result to insert replacement images and CAD links
		fmp = RA[pj_i][fm].split('&')
		var imgsrc = y[0]+baseCTRLPOP;
		for (n=0;n<fmp.length;n++) {
			// loop to find imgsrc attribute for this thing
			//if (fmp[n].substring(0,7) == 'imgsrc=') {imgsrc=fmp[n].substring(7,10000);}
			if (fmp[n].substring(0,8) == 'relname=') {imgsrc+=decodeURIComponent(fmp[n]).substring(8,10000)+baseextPOP;}
		}
		$$('[class*=pj_'+pj_i+'I]').each(
			function(that){
				$(that).setAttribute('src',imgsrc)
				$(that).setAttribute('Title','Click Image to Close Window')
				$(that).setStyle('cursor','pointer')
	$(that).addEvent('click', function(event){
		event = new Event(event);
		unzoom();
	})
				
			}
			)
		//hide all other results
		for(Fc=0;Fc<FC[pj_i];Fc++) {
			if(OA[pj_i][Fc][fm]==1&&!$(OA[pj_i][Fc].idx).hasClass('pj_'+pj_i+'Fsel')) {$(OA[pj_i][Fc].idx).addClass('pj_'+pj_i+'Fssel')}
		}
		for (Rc=0;Rc<RC[pj_i];Rc++) {
			if (Rc==fm) {
				$(OA[pj_i].res[Rc]).removeClass('pj_'+pj_i+'Rdis')
				y = imgsrc.split(baseCTRLPOP)
				for (j=nCADS;j>=1;j--) {
					z = y.join(baseCAD+tlCAD[j].ext+'/')
					if (tlCAD[j].ext =='pdf' || tlCAD[j].ext == PrefCad) {
						newih = '<a href="'+ z.split(baseextPOP).join('.'+tlCAD[j].ext) + '" class ="'+ tlCAD[j].cls+'"' + '>'+tlCAD[j].desc+'</a>'
						if (tlCAD[j].ext =='pdf') {
							
							$$('[class=pj_'+pj_i+'L1]').each(function(that){$(that).innerHTML=newih;})
		//					$$('[name=pj_'+pj_i+'L1]').each(function(that){$(that).href=z.split(baseextPOP).join('.'+tlCAD[j].ext)})
						} 
						else {
							if (tlCAD[j].ext.indexOf('xml')>-1) {
								// insert idrop control
								zz = z.split(baseextPOP).join('')
								//alert(y)
								//alert(zz)
								zz= y.join(baseCAD+tlCAD[j].extd+'/').split(baseextPOP).join('')
								
								$$('[class=pj_'+pj_i+'L2]').each(function(that){$(that).innerHTML=pj_ins_idr(zz,200,45,noidropicon,noidrophtml,idrcid,tlCAD[j].desc);})
	//							$$('[name=pj_'+pj_i+'L1]').each(function(that){$(that).href=z.split(baseextPOP).join('.'+tlCAD[j].ext)})
							}
							else {
								$$('[class=pj_'+pj_i+'L2]').each(function(that){$(that).innerHTML=newih})
//								$$('[name=pj_'+pj_i+'L1]').each(function(that){$(that).href=z.split(baseextPOP).join('.'+tlCAD[j].ext)})
							}
						}
					}
				}
			}
			else {
				if($(OA[pj_i].res[Rc]).id.split('?')[1]!=$(OA[pj_i].res[fm]).id.split('?')[1]) {$(OA[pj_i].res[Rc]).addClass('pj_'+pj_i+'Rdis')}
			}
		}
	}

}
function FR(Fval,Rval) {
	// Evaluate a Result against a Filter
	// Parse Rval and Fval as comma delimited array (both are multivalue)
	RvalA = Rval.split('&');
	FvalA = Fval.split('&');
	AllOK = 1;
	for (m=0;m<FvalA.length;m++) {
		FvalB = FvalA[m].split('=');
		ThisOK = 0;
		Recloop:
		for (n=0;n<RvalA.length;n++) {
			RvalB = RvalA[n].split('=');
			if (RvalB[0]==FvalB[0]) {
				RvalC = RvalB[1].split(',');
				for (o=0;o<RvalC.length;o++) {
					if (RvalC[o] == FvalB[1]) {ThisOK = 1;
					break Recloop;
					}
				}
			}
		}
		if (ThisOK != 1) {AllOK = 0;}
	}
	return AllOK
}

function gotx1() {
	// This function handles ajax call to populate result set for selector
	var newih = '\n';
	for (a=0;a<ra1.length;a++) {
	newih +='<span id="res1'+a+'?'+ra1[a].qstr.split('&amp;').join('&')+'" class="pj_'+pj_i+'R">'+decodeURIComponent(ra1[a].title)+' <br>'+decodeURIComponent(ra1[a].prod)+'</span>\n';
	}
	$('pj_1_results').innerHTML=newih
	initselector(pj_i,1);
	selector(pj_i,1,-1,0,0);
	
	$('pj_CADzoom').setStyle('display', '')
	$('pj_CADzoom').setStyle('top', window.getScrollTop()+10)
	xx1=parseInt($('pj_CADzoom').getStyle('width').replace('px',''))/2
	xx2=parseInt(window.getWidth())/2
	yy1=parseInt($('pj_CADzoom').getStyle('height').replace('px',''))/2
	yy2=parseInt(window.getHeight())/2

	$('pj_CADzoom').setStyle('left', xx2-xx1-10)
var czFX = new Fx.Slide('pj_CADzoom',{mode:'horizontal'})
	czFX.hide().slideIn();
	$('pj_CADzoom').setOpacity('95')
	var aa = new Fx.Style('pj_CADzoom', {transition: Fx.Transitions.Elastic.easeOut});
	//$('prefcadselect').setProperty('onChange','pj_prefcad(1,this.value)');
	$('prefcadselect').addEvent('click', function(event){
		event = new Event(event);
		pj_prefcad(1,this.value)
	})
}

function gotx2() {
	// This function handles ajax call to populate result set for selector
	// ! This is for the gallery!
	//pj_i='0'pj_i='0'
	var newih = '\n';
	insczoom()
	for (a=0;a<ra2.length;a++) {
		if (ra2[a].publish==null||ra2[a].publish==1) {
			// display title
			newih +='<span id="res0'+a+'?'+ra2[a].qstr.split('&amp;').join('&')+'" class="pj_'+pj_i+'R">'+decodeURIComponent(ra2[a].title)+' - '+decodeURIComponent(ra2[a].prod);
			// display image
			newih +='<br><img src="../_CADstuff/gif/'+decodeURIComponent(ra2[a].relname)+'.gif"></span>\n';
			newih +='</span>\n';
/*			thisid = 'res0'+a+'?'+ra2[a].qstr.split('&amp;').join('&')
			thisidi= 'res0'+a
			var newa = new Element ( 'span' , {'id':thisid,'class' : 'pj_'+pj_i+'R'}).setText(decodeURIComponent(ra2[a].title)+' - '+decodeURIComponent(ra2[a].prod));
			var newb = new Element ( 'img' , {'id:':thisidi, 'src':'../_CADstuff/gif/'+decodeURIComponent(ra2[a].relname)+'.gif'});
			newa.injectBefore('results');
			newb.injectInside(thisid);*/
			}
	}
	$('results').innerHTML=newih
	//alert('bill')
	initselector(0,0);
	if(FC[0]) {
		$(OA[pj_i][0].idx).addClass('pj_'+pj_i+'Fsel');
		selector(0,0,1)
	}
	baseCTRL= '_CADstuff/gif/';
	pj_make_all_cad()
}

function ________Browser_Tweaks() {}

function hoverclass(eltype) {
	// Add events to all elements of type eltype to emulate hover event for ie5/ie6
	$$(eltype).addEvent('mouseover', function(event){
		var Fcls = $(this).getProperty('class').split(' ')[0];
		event = new Event(event);
		$(this).addClass(Fcls.substring(0,Fcls.length-1)+'__hover');
	})
	$$(eltype).addEvent('mouseout', function(event){
		var Fcls = $(this).getProperty('class').split(' ')[0];
		event = new Event(event);
		$(this).removeClass(Fcls.substring(0,Fcls.length-1)+'__hover');
	})
}

function ________Cookies() {}
// Cookie handling functions
// Acknowledgement: from http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}

function ________Initialise_constants() {}
//Stuff here that initializes
// Set classes to be used for icons and popup stuff (see css)
	var pj_zoom = 'pj_zoom';
	var pj_icon = 'pj_icons pj_';
	// class used for intrapage links
	var pj_ip = 'pj_intrapage';
	var pj_a_ip = 'a[class=' + pj_ip + ']';
	// class that identifies Article Index Page Links
	var pj_a_ai = 'a[class=toclink]';
	var pj_quit = pj_icon + 'quitt';
	var pj_cad1 = 'pj_cad1';
	var pj_cad2 = 'pj_cad2';
	var pj_cad3 = 'pj_cad3';
	// metadata that holds replacement title, and delimiting string used
	var pj_rt = 'meta[name*=description]';
	var pj_rtds = '++';
//CAD Links
	var tlCAD = new Array();
	var nCADS = 8;
	for (nn=1;nn<=nCADS;nn++) {tlCAD[nn]= new Array();					}
	tlCAD[1].ext='pdf';
	tlCAD[1].cls=pj_icon + 'pdf';
	tlCAD[1].desc='Acrobat PDF';
	tlCAD[2].ext='dwg';
	tlCAD[2].cls=pj_icon + 'dwg';
	tlCAD[2].desc='AutoCAD DWG';
	tlCAD[3].ext='dxf';
	tlCAD[3].cls=pj_icon + 'dxf';
	tlCAD[3].desc='AutoCAD DXF';
	tlCAD[4].ext='mod';
	tlCAD[4].cls=pj_icon + 'mod';
	tlCAD[4].desc='ArchiCAD MOD';
	tlCAD[5].ext='mcd';
	tlCAD[5].cls=pj_icon + 'mcd';
	tlCAD[5].desc='Vectorworks MCD';
	tlCAD[6].ext='rfa';
	tlCAD[6].cls=pj_icon + 'rvt';
	tlCAD[6].desc='Revit RFA';

	
	// Idrop temporarily disabled
	tlCAD[7].ext='xmldwg';
	tlCAD[7].cls=pj_icon + 'xml';
	tlCAD[7].desc='iDrop DWG';
	tlCAD[7].extd='i/dwgx';
	tlCAD[8].ext='xmlrfa';
	tlCAD[8].cls=pj_icon + 'xml';
	tlCAD[8].desc='iDrop Revit';
	tlCAD[8].extd='i/rfax';
	
	var axo = false;
	var idrcid="clsid:21E0CB95-1198-4945-A3D2-4BF804295F78";
	if (window.ActiveXObject) {
		axo = true;
		// check browser version for 64 bit idrop
		var appVersionName = navigator.appVersion;
		if(appVersionName.indexOf ("x64") != -1 ) {
			//clsid for 64-bit control
			idrcid="clsid:32290CD1-D585-4803-AF20-F16E20FF377A";
		}
	}
function ________Path_Infomation() {}
	//Important path information stored here
	var baseCAD= '_CADstuff/';
	var baseCTRLPOP= '_CADstuff/jpg/';
	var baseCTRL= 'images/stories/details/';
	var basePREV= 'images/stories/preview/';
	var baseTHMB= 'images/stories/thumb/';
	var baseext = '.gif';
	var baseextPOP = '.jpg';
	var prevCTRL =baseCAD+ 'jpg/';
	var prevext = '.jpg';
	var noidropicon='/_CADstuff/i/icon.gif';
	var noidrophtml='noidrop.html';
	var noidrophtml='../cad-resources?start=1';
	var pj_i = 0
	var pj_cadthis = '';

function ________Temporary() {}

function toProperCase(s)
{
  return s.toLowerCase().replace(/^(.)|\s(.)/g, 
          function($1) { return $1.toUpperCase(); });
}