// INITIAL FUNCTIONS
function IsNumeric(strString) {
   if(!strString) return;
   var strValidChars = '0123456789.-$';
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
function multiSort(ar,index) {
	if (ar.length == 0) return ar;
	var temp = new Array();
	var orderedindex = 18;
	for(i=0;i<ar.length;i++) {
		if (ar[i][12] == 1 ) temp.push(Array(ar[i][index],i,1,ar[i][orderedindex])); //sponsored entry
		else temp.push(Array(ar[i][index],i,0,ar[i][orderedindex]));
	}
	if(!IsNumeric(temp[0][0])) {
		temp.sort(charOrdA);
	}
	else temp.sort(sortFunction);
	var returnArray = new Array();
	for(n=0;n<temp.length;n++) {
		returnArray.push(ar[temp[n][1]]);
	}
	initialload = false;
	return returnArray;
}

function sortFunction(a,b) {
	if (a[2] ==1 && b[2] ==1 ) return 0; //both sponsored
	if (a[2] == 1) return -1; // a is sponsored entry
	if (b[2] == 1) return 1; // b sponsored.

if(initialload)
{
	// ordered:
	if(a[3]!=0 && b[3]==0) return -1;
	else if (b[3]!=0 && a[3]==0) return 1;
	else if (a[3]!=0 && b[3]!=0) return a[3]-b[3]
}	
	// sort prices correctly.
	a[0] = a[0].toString();
	b[0] = b[0].toString();
	a[0] = Number(a[0].replace('$',''));
	b[0] = Number(b[0].replace('$',''));
	return a[0]-b[0];
}

function charOrdA(a, b) {
	if (a[2] ==1 && b[2] ==1 ) return 0; //both sponsored
	if (a[2] == 1) return -1; // a is sponsored entry
	if (b[2] == 1) return 1; // b sponsored.

if (initialload)
{	
	// ordered:
	if(a[3]!=0 && b[3]==0) return -1;
	else if (b[3]!=0 && a[3]==0) return 1;
	else if (a[3]!=0 && b[3]!=0) return a[3]-b[3]
}
	
	a[0] = a[0].toLowerCase(); b[0] = b[0].toLowerCase();
	if (a[0]>b[0]) return 1;
	if (a[0] <b[0]) return -1;
	return 0; 
}
function datalistnav(listtotal,minlist,maxlist,datalistvar,functionset,displaytype) {
   minlist = parseFloat(minlist);
   // GET ACTIVE PAGE
   var activepage = Math.ceil((minlist+maxlist)/maxlist);
   var addentrybutton = entrybutton(datalistvar);
   // CREATE PAGE LIST
   var pagelist='';
   var newmin='';
   for (i=1;i<=Math.ceil(listtotal/maxlist);i++) {
      if (activepage==i) {
		 pagelist += '<u><b>'+i+'</b></u> ';
	  } else {
		 newmin = (i*maxlist)-maxlist;
		 toppage=Math.ceil(listtotal/maxlist);
		 if (Math.ceil(listtotal/maxlist) >= 15) {
			if (i==1 || i==2 ||i==(toppage-1) || i==(toppage) || i==(activepage+1) || i==(activepage-1)) {
			   if (i==(activepage-1) && 1!=(activepage-1)) {
			      pagelist += ".. ";   
			   }
			   pagelist += '<a href="javascript:'+functionset+'('+newmin+',\''+datalistvar+'\','+displaytype+');scrollTo(0,0);">'+i+'</a> ';
			   if (i==(activepage+1) && toppage!=(activepage+1) && 3!=(activepage+2)) {
			      pagelist = pagelist+".. ";   
			   }
			   if (2==i && activepage==1){
				  pagelist = pagelist+".. ";      
			   }
			}
		 } else {
	        pagelist += '<a href="javascript:'+functionset+'('+newmin+',\''+datalistvar+'\','+displaytype+');scrollTo(0,0);">'+i+'</a> ';
		 }
	  }
   }
   // CREATE BACK / NEXT BUTTONS
   var backbutton='';
   var backmin='';
   if (activepage!=1) {
	  backmin=minlist-maxlist;
	  if (backmin<0) {
		 backmin=0;  
	  }
      backbutton='<a href="javascript:'+functionset+'('+backmin+',\''+datalistvar+'\','+displaytype+');scrollTo(0,0);"><img src="/goodirector/contentdirector/pages/directory/images/navarrow_left.gif" border="0"> Back </a>';     
   }
   var nextbutton=''
   var nextmin='';
   var showingtop=minlist+maxlist;
   if ((activepage*maxlist)<listtotal) {
	  nextmin=(activepage*maxlist);
      nextbutton='<a href="javascript:'+functionset+'('+nextmin+',\''+datalistvar+'\','+displaytype+');scrollTo(0,0);"> Next <img src="/goodirector/contentdirector/pages/directory/images/navarrow_right.gif" border="0"></a>';  
   } else {
	  showingtop=listtotal;   
   }
   // DISPLAY TYPE
   var dis_select1 = '';
   var dis_select2 = '';
   if (!displaytype || displaytype==0) {
      dis_select1 = 'checked="checked"';   
   } else {
	  dis_select2 = 'checked="checked"';   
   }
   // SORT INDEX
   var sortindex=document.getElementById(datalistvar+'_view').value;
   if (sortindex=='1,1') { var sortindex1='selected="selected"'; } else { var sortindex1=''; }
   if (sortindex=='1,2') { var sortindex2='selected="selected"'; } else { var sortindex2=''; }
   if (sortindex=='4,1') { var sortindex3='selected="selected"'; } else { var sortindex3=''; }
   if (sortindex=='4,2') { var sortindex4='selected="selected"'; } else { var sortindex4=''; }

   var showing='';
   var sortdd='';
   var showdd='';
   var dirview='';
   	   if (pagesListArray.length!=0) { 
	      sortdd='Sort <span id="dir_sortdd"></span>';
		  showdd='&nbsp;&nbsp;&nbsp;&nbsp;Show '+createpagenumdd(datalistvar,minlist,displaytype);
	   }
	   if(document.getElementById('dir_view_change').value==1) dirview='<span class="spacer">&nbsp;</span><input type="radio" id="displaytyper1" name="displaytyper" value="0" '+dis_select1+' onclick="displayPagesList(\''+minlist+'\',\''+datalistvar+'\',0)"><span class="radiotext">List</span><input type="radio" id="displaytyper2" name="displaytyper" value="1" '+dis_select2+' onclick="displayPagesList(\''+minlist+'\',\''+datalistvar+'\',1)"><span class="radiotext">Grid</span>';
	   if(document.getElementById('dir_view_showing').value==1) showing='<span class="spacer">&nbsp;</span>Showing: '+(minlist+1)+'-'+(showingtop)+' of '+listtotal+'<span class="spacer">&nbsp;</span>';
   //var showing2='<span>Showing: '+(minlist+1)+'-'+(showingtop)+' of '+listtotal+'</span><span class="spacer">&nbsp;</span>';
   
   // CHECK NAV
   var topnav=showing+backbutton+pagelist+nextbutton;
   var btmnav=showing+backbutton+pagelist+nextbutton;
   var pagenav=document.getElementById('dir_view_pagenav').value;
   if(pagenav==1) btmnav='';
   if(pagenav==2) topnav='';
   
   document.getElementById(datalistvar+'_listnav').innerHTML = '<div id="dir_topnavbar" name="dir_topnavbar">'+addentrybutton+sortdd+showdd+dirview+topnav+'</div><div style="clear:both"></div>';	
   document.getElementById(datalistvar+'_listnav2').innerHTML = btmnav;
}
function createpagenumdd(datalistvar,minlist,displaytype) {
   var optionset="";
   var vals=["10","15","25","50","100"];
   for(i=0;i<vals.length;i++) {
	  if(vals[i]==document.getElementById('dir_pagenum').value) selected='selected="selected"';
	  else selected="";
      optionset+="<option value='"+vals[i]+"'"+selected+">"+vals[i]+"</option>";
   }
   return('<select name="pagepernum" id="pagepernum" onchange="numperpage(this.value,'+minlist+',\''+datalistvar+'\')"><option></option>'+optionset+'</select>');
}
function createsortdd(datalistvar,minlist,displaytype,firstdata) {
   var optionset='<option value=\'0\'>-select one-</option>';
   var optionset1='';
   if(firstdata) var name = firstdata.split(',');
   else return;
   var sortindex=document.getElementById('dir_sortdata').value;
   if(!sortindex&&name[1]) sortindex=name[1]+',1';
   
   if(document.getElementById('dirsearch')&&document.getElementById('dirsearch').value!="") optionset+="<option value='sea'>Relevance</option>"; 
   
   // NAME / COMPANY
   if (name[0]) {
	  optionset+="<option value='"+name[1]+",1'>"+name[0]+" A-Z</option>"; 
      optionset+="<option value='"+name[1]+",2'>"+name[0]+" Z-A</option>"; 
   }
   
   // RATING
   var showcomments = document.getElementById('dir_view_comments').value; 
   if (showcomments==1) {
	  optionset+="<option value='20,1'>Rating Low to High</option>";
	  optionset+="<option value='20,2'>Rating High to Low</option>";
   }
   
   if(document.getElementById('dir_sortdd')) document.getElementById('dir_sortdd').innerHTML='<select name="sortselect" id="sortselect" onchange="sortPages(this.value,'+minlist+',this,\''+datalistvar+'\','+displaytype+',1)">'+optionset1+optionset+'</select>';
   else return;
   
   s=document.getElementById('sortselect');
   v=sortindex;
   for ( var i = 0; i < s.options.length; i++ ) {
        if ( s.options[i].value == v ) {
            s.options[i].selected = true;
            return;
        }
    }
}
function headertitle(datalistvar,rev) {
   var header = document.getElementById(datalistvar+'_header').value;
   if(rev) {
	   if (header==0) {
		  headerset=fieldlabels[1];   
	   } else if (header==1) {
		  headerset=fieldlabels[2]; 
	   }

   } else {
	   if (header==0) {
		  headerset=fieldlabels[0];   
	   } else if (header==1) {
		  headerset=fieldlabels[1]; 
	   }
   }
   return(headerset);
}
// LOAD DATA

// PAGES --------------------------------------------------------------------------------------------------------------------------------------]
var pagesHeaderArray = Array(',0','Company,1',',0');
var pagesListArray = Array();
var curPages = 0;
var dir_labels_ord;
var fieldlabels=Array();
var sortpos1;
initialload = true;
function updatePagesList() {
    pagesListArray = Array();
	resetPagesHeader();
	goojax_load_data('shoppingcart_data.php','shoppingcartdisplay=10');
}
function displayPagesList(minPages,datalistvar,displaytype,dirsea) {	
	var dir_labels_ord_ar=dir_labels_ord.split(String.fromCharCode(28));
	var dir_show = document.getElementById(datalistvar+'_dir_show').value.split(',');
	var sidebarhide = document.getElementById(datalistvar+'_view').value;
	var viewlabels = document.getElementById(datalistvar+'_dir_view_labels').value;
	var showmap = document.getElementById('dir_view_showmap').value;
	var showcomments = document.getElementById('dir_view_comments').value;
	var dir_pagedescription_above = document.getElementById(datalistvar+'_dir_pagedescription_above').value;
	var dir_pagedescription_below = document.getElementById(datalistvar+'_dir_pagedescription_below').value;
	var gridcol = 1;
	var gridcolnum = document.getElementById('dir_gridnum').value;
	var coords="";
	var coord_data;
	var coordindex=0;
	var firstdata;
	var maxPagesDisplay=parseFloat(document.getElementById('dir_pagenum').value);
	var layout= document.getElementById(datalistvar+'_layout').value; 
	if (sidebarhide!=2 && layout==2) { 
		gridcolnum=3; // if we have side nav and a sidebar, only 3 columns will fit.   
	}
	else if (sidebarhide==2 && layout==1) { //top nav and no sidebar, 5 columns
	 gridcolnum=5;
	}
	
	// MIN PAGES
	var pageid = document.getElementById('page_id').value;
	goo_createCookie('goo_dir_minpage_'+pageid,minPages);
	
	var imagesize = document.getElementById(datalistvar+'_imagesize').value;
	if (document.getElementById('displaytyper1')) {
	   if (document.getElementById('displaytyper1').checked) {
	      displaytype = 0;   
	   }
	   if (document.getElementById('displaytyper2').checked) {
		  displaytype = 1;
	   }
	}
	if (!displaytype) {
	   displaytype=0;	
	}
	// DISPLAY TABLE CLASS
	if (displaytype==0) {
	   displaytableclass = 'goo_directory_result_table';	
	}
	if (displaytype==1) {
	   displaytableclass = 'goo_directory_result_table_grid';
	   imagesize="sm";
	}
	minPages = parseFloat(minPages);
	if(minPages >= pagesListArray.length) minPages = 0;
	curPages = minPages;
	var newHTML = "";
	var sidebartop = "";
	folderid = document.getElementById(datalistvar+'_foldernav').value;
	if (sidebarhide==3) {
	   sidebartop += '<div id="goo_directory_result_filters">'+goo_directory_sidebar(3,datalistvar,displaytype,1)+'</div><div style="clear: both;"></div>';
	}
	if (sidebarhide==0||sidebarhide==1||showmap==1) {
	   newHTML += '<div id="goo_directory_result_sidebar">';
	   if(showmap==1) newHTML += '<div id="goo_directory_result_map_wrapper"><div id="goo_directory_result_map"></div></div>';
	   if(sidebarhide==0||sidebarhide==1) newHTML +='<div id="goo_directory_result_filters">'+goo_directory_sidebar(3,datalistvar,displaytype)+'</div>';
	   newHTML += '</div>';
	}
	
	// ENTRIES
	newHTML += '<div id="goo_directory_entries">';

	
	// LIST HEADER
	if (displaytype==0) {
		//newHTML += '<table id="'+displaytableclass+'" cellspacing="0" cellpadding="0">';
	}
	if (displaytype==0 && pagesListArray.length>0) {
       newHTML += '<tr class="header-row">';
	   for(n=0;n<pagesHeaderArray.length;n++) {
	      var arrow = '';
		  var headarr = pagesHeaderArray[n].split(",");
		     if(headarr[1] == "0") { 
                   arrow = '<img border="0" style="margin-left:3px;" src="/goodirector/contentdirector/pages/directory/images/sortarrow_down.gif">';  
                   headclass = "toprow";
                   mouseoutset = "listshade1.jpg";
		     } else if(headarr[1] == "1") {
                   arrow = '<img border="0" style="margin-left:3px;" src="/goodirector/contentdirector/pages/directory/images/sortarrow_down.gif">'; 
                   headclass = "toprowon"; 
                   mouseoutset = "listshade1_on.jpg";
		     } else if(headarr[1] == "2") {
                   arrow = '<img border="0" style="margin-left:3px;" src="/goodirector/contentdirector/pages/directory/images/sortarrow_up_on.gif">';  headclass = "listtopon";
				   headclass = "toprowon"; 
                   mouseoutset = "listshade1_on.jpg";
                }	
		     if (n==0) {
		      //var checkboxset = '<td class="bodytext-white toprow"><input class="goodatalistcheckbox" name="'+datalistvar+'_selectallck" type="checkbox" id="'+datalistvar+'_selectallck" onclick="selectallitems(1,\''+datalistvar+'\')" value=""/></td>';
			  var checkboxset = '<td class="bodytext-white toprow"></td>';
		   } else {
		      var checkboxset = '';	
		   }
		   // CORRECT HEADER
		   if (n==1) {
		      headarr[0]=headertitle(datalistvar);   
		   }
		   if (displaytype==0) {
		     //newHTML += checkboxset+'<td nowrap="nowrap" class="bodytext-white '+headclass+'" onmouseover="this.style.className=\'toprow\';" onmouseout="" onclick="sortPages('+n+','+minPages+',this,\''+datalistvar+'\','+displaytype+')" >'+headarr[0]+' '+arrow+'</td>';
		  }
	   }
	   newHTML += '</tr>';
	}
	if (displaytype==1) {
	   //newHTML += '<table id="goo_directory_result_table_grid" cellpadding="0" cellspacing="0"><tr>';	
	}
	
	for(i=minPages,j=1;i<minPages+maxPagesDisplay;i++,j++) {
		datadis=Array();
		datadis_index=Array();
		if(i >= pagesListArray.length) break;
		var newClass = i%2 == 0 ? '' : 'listrow';
		var highlighted = '';
		//highlight sponsored entries.
		if (pagesListArray[i][12] == 1) {
			newClass += ' goo_directory_result_sponsored '; 
			highlighted = ' goo_directory_result_sponsored '; 
		}
		var tdonclick = 'onclick="checkrowbox(\''+datalistvar+'_'+j+'\',\''+newClass+'\',\''+datalistvar+'_row'+j+'\')"';
		var tdclass = 'class="goo_directory_result_title listrows1"';
	//	var imgspot = '<div class="goothmimgbox_hid"></div>';
		
		
		
		// ------------------------
		
		var imgspot = '';
		// crop images if requested
		var dir_imagesize = document.getElementById(datalistvar+'_dir_imagesize').value; //whether crop is enabled.
		var dir_largeimage = document.getElementById(datalistvar+'_imagesize').value; //size
		var dir_imagecrop = document.getElementById(datalistvar+'_dir_imagecrop').value; // flag to pick crop location.
		
		if (dir_largeimage==0) {
	       var imagesize="tmb";
	   } else if (dir_largeimage==1) {
		   var imagesize="sm";
	   }
		
		var imgspot_class = 'goo_directory_result_'+imagesize+'view ';
		if (displaytype==0) {
			if (dir_largeimage==1) imgspot_class='goo_directory_result_tmbview_grid'; // large images.
		}
		var imgspot_crop_class = '';
		var imgspot_html = '';
		
		if (pagesListArray[i][1]) {
		   var imgfile=pagesListArray[i][1].split(',');
		   if (imgfile[1]==1) { // attached image
		
		if (dir_imagesize==1){ //crop images
			if (dir_imagecrop==0){ // center
				imgspot_crop_class=" goothmimgbox_crop_center";
			}else if (dir_imagecrop==1){ // top left
			imgspot_crop_class=" goothmimgbox_crop_topleft";
			}else if (dir_imagecrop==2){ // top right
				imgspot_crop_class=" goothmimgbox_crop_topright";
			}else if (dir_imagecrop==3){ // bottom left
		 		imgspot_crop_class=" goothmimgbox_crop_bottomleft";
			}else if (dir_imagecrop==4){ // bottom right
		 	imgspot_crop_class=	" goothmimgbox_crop_bottomright";
			}
			else { // top center
			imgspot_crop_class=	" goothmimgbox_crop_topcenter";
			}
			
			
			
			if (displaytype==0) imgspot_html = '<div style="background-image:url(/user_images/'+imagesize+'_'+imgfile[0]+')" class="'+imgspot_class+imgspot_crop_class+'"></div>'; // list view.
			if (displaytype==1) imgspot_html = '<div style="background-image:url(/user_images/'+imagesize+'_'+imgfile[0]+')" class="'+imgspot_class+imgspot_crop_class+'"></div>'; // grid view.
		}
		else { // original dimension images.
			var alttext = pagesListArray[i][2].replace(/"/g, '\'');
			
			if (displaytype==1) imgspot_html = '<div id="dir_imgspot" style="margin:0 0 10px 0;"><img src="/user_images/'+imagesize+'_'+imgfile[0]+'" alt="'+alttext.substring(0,29)+'" width="150" border="0" ></div>'; // grid view.
			else imgspot_html = '<div id="dir_imgspot" style="margin:0 0 10px 0;"><img src="/user_images/'+imagesize+'_'+imgfile[0]+'" alt="'+alttext.substring(0,29)+'" border="0"></div>';
		}
		
		
		// CORRECT IMAGES
		   
			  if (displaytype<=1) { 
			     imgspot += '<a href="javascript:gooimagebox_open(\''+imgfile[0]+'\',\''+escape(escape(pagesListArray[i][2]))+'\',550)" title="'+pagesListArray[i][2].replace(/"/g, '\'')+'">'+imgspot_html+'</a>';
			  }
		//	  else if (displaytype==1) { 
		//	     imgspot += '<a href="javascript:gooimagebox_open(\''+imgfile[0]+'\',\''+escape(escape(pagesListArray[i][2]))+'\',475)">'+imgspot_html+'</a>';
		//	  }
			else {
				imgspot = '<div class="goothmimgbox_hid"></div>';
			}
		
		} // end attached image
		else if (imgfile[1]==2) { // attached file
		   var iconfile = "file_icon_sm.gif";
		   var tempfilename = imgfile[0].toLowerCase();
		   if (tempfilename.lastIndexOf(".pdf") == tempfilename.length-4) iconfile = "pdf_icon_sm.gif"; // if the file is a .pdf
			  var imgspot = '<a href="/user_files/'+imgfile[0]+'" target="_blank"><div style="background-image:url(/goodirector/contentdirector/pages/directory/images/'+iconfile+')" class="goo_directory_result_tmbview"></div></a>';
		   }
		}
		
		
		// --------------------
		
		// CORRECT IMAGES
		/*
		if (pagesListArray[i][1]) {
		   var imgfile=pagesListArray[i][1].split(',');
		   if (imgfile[1]==1) {      
			  if (displaytype==0) { // list view
			     var imgspot = '<a href="javascript:gooimagebox_open(\''+imgfile[0]+'\',\''+escape(escape(pagesListArray[i][2]))+'\',375)"><div style="background-image:url(/user_images/'+imagesize+'_'+imgfile[0]+')" class="goo_directory_result_'+imagesize+'view"></div></a>';
			  }
			  if (displaytype==1) { // grid view
			     var imgspot = '<a href="javascript:gooimagebox_open(\''+imgfile[0]+'\',\''+escape(escape(pagesListArray[i][2]))+'\',375)"><div style="background-image:url(/user_images/sm_'+imgfile[0]+')" class="goo_directory_result_tmbview_grid"></div></a>';
			  }
		   } else if (imgfile[1]==2) { // attached file
		   var iconfile = "file_icon_sm.gif";
		   var tempfilename = imgfile[0].toLowerCase();
		   if (tempfilename.lastIndexOf(".pdf") == tempfilename.length-4) iconfile = "pdf_icon_sm.gif"; // if the file is a .pdf
			  var imgspot = '<a href="/user_files/'+imgfile[0]+'" target="_blank"><div style="background-image:url(/goodirector/contentdirector/pages/directory/images/'+iconfile+')" class="goo_directory_result_tmbview"></div></a>';
		   }
		}
		
		*/
		
		// PROCESS COORDINATES
		coord_data="";
		atarget="";
		if(pagesListArray[i][19]&&showmap==1) {
			coords += coordindex+","+pagesListArray[i][19]+",d|";
			var letter = String.fromCharCode("A".charCodeAt(0) + coordindex);
			coord_data="<a href=\"javascript:coords_click("+coordindex+")\"><img src=\"http://maps.google.com/mapfiles/marker" + letter + ".png\" width=\"15px\" border=\"0\"></a>";
			atarget='<a name="map' + letter + '"></a>';
			coordindex++;
		}
		
		// CHECK SORT POSITION DATA
		if(!pagesListArray[i][sortpos1]) pagesListArray[i][sortpos1]=" ";
		
		var iteminfo='<h2>';
		// SET ITEM INFO
		if (pagesListArray[i][2])
		{
			// Name
			var viewinfo="";
			if(viewlabels==1) viewinfo+=fieldlabels[0]+"|*|";
			viewinfo+=pagesListArray[i][2];
			datadis[dir_labels_ord_ar[0]]=viewinfo;
			datadis_index[dir_labels_ord_ar[0]]=2;
		}
		if (pagesListArray[i][17])
		{
			// Company
			var viewinfo="";
			if(viewlabels==1) viewinfo+=fieldlabels[1]+"|*|";
			viewinfo+=pagesListArray[i][17];
			datadis[dir_labels_ord_ar[1]]=viewinfo;
			datadis_index[dir_labels_ord_ar[1]]=17;
		}
		if (dir_show[0]==1)
		{
			var viewinfo="";
			//address1
			if (pagesListArray[i][4]) {
			   if(viewlabels==1) viewinfo+=fieldlabels[2]+"|*|";
			   viewinfo+=pagesListArray[i][4];
			}
			datadis[dir_labels_ord_ar[2]]=viewinfo;
			datadis_index[dir_labels_ord_ar[2]]=4;
		}
		
		if (dir_show[1]==1)
		{
		var viewinfo="";
		//address2
		if (pagesListArray[i][15]) {
		   if(viewlabels==1) viewinfo+=fieldlabels[3]+"|*|";
		   viewinfo+=pagesListArray[i][15];	
		}
		datadis[dir_labels_ord_ar[3]]=viewinfo;
		datadis_index[dir_labels_ord_ar[3]]=15;
		}
		
		if (dir_show[2]==1)
		{		
			var viewinfo="";
			//city
			if (pagesListArray[i][5]) {
			   if(viewlabels==1) viewinfo+=fieldlabels[4]+"|*|";
			   viewinfo+=pagesListArray[i][5];
			}
			datadis[dir_labels_ord_ar[4]]=viewinfo;
			datadis_index[dir_labels_ord_ar[4]]=5;
		}
		
		if (dir_show[3]==1)
		{
		var viewinfo="";
		// state
		if (pagesListArray[i][6]) {
		if (pagesListArray[i][5]&&viewlabels!=1) {	
		   	viewinfo=pagesListArray[i][6];
		}
		else { 
		   if(viewlabels==1) viewinfo+=fieldlabels[5]+"|*|";
		   viewinfo+=pagesListArray[i][6];
		}
		}
		datadis[dir_labels_ord_ar[5]]=viewinfo;
		datadis_index[dir_labels_ord_ar[5]]=6;
		
	}
	if (dir_show[4]==1)
	{
		var viewinfo="";
		// zipcode
		if (pagesListArray[i][7]) {
			if (pagesListArray[i][6]&&viewlabels!=1) {	
			   viewinfo=" "+pagesListArray[i][7]+"</h2>";	}
			else {
				if(viewlabels==1) viewinfo+=fieldlabels[6]+"|*|";
				viewinfo+=pagesListArray[i][7];
			}
			datadis[dir_labels_ord_ar[6]]=viewinfo;
			datadis_index[dir_labels_ord_ar[6]]=7;
			}
		}
		
		if (dir_show[5]==1)
		{
			var viewinfo="";
			// country
			if (pagesListArray[i][3]) {
		       if(viewlabels==1) viewinfo+=fieldlabels[7]+"|*|";
		       viewinfo+=pagesListArray[i][3];	
			}	
			datadis[dir_labels_ord_ar[7]]=viewinfo;
			datadis_index[dir_labels_ord_ar[7]]=3;
		}
		
		if (dir_show[6]==1)
		{
			var viewinfo="";
			//phone
			if (pagesListArray[i][8]) {
			   if(viewlabels==1) viewinfo+=fieldlabels[8]+"|*|";
			   viewinfo+=pagesListArray[i][8];	
			}
			datadis[dir_labels_ord_ar[8]]=viewinfo;
			datadis_index[dir_labels_ord_ar[8]]=8;
		}
		
		if (dir_show[7]==1)
		{
			var viewinfo="";
			//fax
			if (pagesListArray[i][16]) {
		       if(viewlabels==1) viewinfo+=fieldlabels[9]+"|*|";
		       viewinfo+=pagesListArray[i][16];	
			}
			datadis[dir_labels_ord_ar[9]]=viewinfo;
			datadis_index[dir_labels_ord_ar[9]]=16;
		}
		
		if (dir_show[8]==1)
		{
		// email
		if (pagesListArray[i][13]&&!document.getElementById('dir_view_email').value) {
			iteminfo+="<h2>";
		    if(viewlabels==1) iteminfo+=fieldlabels[12]+": ";
		    iteminfo+="<a href=\"mailto:"+pagesListArray[i][13]+"\">"+pagesListArray[i][13]+"</a></h2>";
		}}
		
		if (dir_show[9]==1)
		{
		// website
		if (pagesListArray[i][14]) {
			if (!displaytype || displaytype==0) {
			   iteminfo+='<h2>';
		       if(viewlabels==1) iteminfo+=fieldlabels[13]+": ";
		       iteminfo+='<a href="http://'+pagesListArray[i][14]+'" target="_blank">'+pagesListArray[i][14]+'</a></h2>';
			} else {
			   iteminfo+='<h2>';
		       if(viewlabels==1) iteminfo+=fieldlabels[13]+": ";
		       iteminfo+='<a href="http://'+pagesListArray[i][14]+'" target="_blank">Visit Website</a></h2>';
			}
		}}
		
		//entry id
		if (dir_show[10]==1) {
		   iteminfo+="<h2>";
		   iteminfo+=fieldlabels[14]+": ";
		   iteminfo+=pagesListArray[i][0]+"</h2>";	
		}
		
		//Categories
		if (dir_show[11]==1) {
		   var viewinfo="";
			if (pagesListArray[i][9]) {
		       if(viewlabels==1) viewinfo+=fieldlabels[10]+"|*|";
		       viewinfo+=pagesListArray[i][9].replace(",",", ");	
			}
			datadis[dir_labels_ord_ar[10]]=viewinfo;
			datadis_index[dir_labels_ord_ar[10]]=9;
		}
		//Sub Categories
		if (dir_show[12]==1) {
		   var viewinfo="";
			if (pagesListArray[i][11]) {
		       if(viewlabels==1) viewinfo+=fieldlabels[11]+"|*|";
		       viewinfo+=pagesListArray[i][11].replace(",",", ");	
			}
			datadis[dir_labels_ord_ar[11]]=viewinfo;
			datadis_index[dir_labels_ord_ar[11]]=11;
		}
		//Description
		if (dir_show[13]==1) {
			if (pagesListArray[i][22]) {	
			   iteminfo+="<h2>";
		   	   iteminfo+=pagesListArray[i][22]+"</h2>";
			}
		}
		
		iteminfo+='</h2>';
		
		// SET MORE DETAILS BASED ON PERMISSIONS
		if(document.getElementById('dir_userpost_view').value==1&&!document.getElementById('dir_userid').value) {
		   var moredetails='<h2><a href="javascript:openeditdialog(\'\',\'\',\'\',8,\'/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/\',\'\',\'\',\'\')">&#187; More Details</a></h2>';
		   var headerhref='<a href="javascript:openeditdialog(\'\',\'\',\'\',8,\'/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/\',\'\',\'\',\'\')">';
		} else {
		   var moredetails='<h2><a href="/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">&#187; More Details</a></h2>';
		   var headerhref='<a href="/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">';
		}
		
		// PREPARE DATA
		var itemdata="";
		var spot1=1;
		var datatitle="";
		for (j=1;j<=datadis.length;j++) {
			if(!datadis[j]) continue;
			if (datadis[j]&&spot1==1) {
				datatitle=datadis[j].split("|*|");
				itemdata+='<h1>'+headerhref+datatitle[(datatitle.length-1)]+'</a></h1>';
				spot1=0;
				firstdata=fieldlabels[j]+","+datadis_index[j];
			} else if (datadis[j]) itemdata+='<h2>'+datadis[j].replace('|*|',': ')+'</h2>';	
		}
		// SETUP RATINGS
		if(showcomments==1) {
			var avgrating=pagesListArray[i][20].split(".");
			if(avgrating[1]) var rating=Math.round(pagesListArray[i][20]);
			var rating=pagesListArray[i][20];
			var starimg_pos=rating*40;
			var ratinghtml='<div style="background: url(/goodirector/blog/stars.png) 0 -'+starimg_pos+'px no-repeat;width:103px;height:20px;"></div>';
			
			if(pagesListArray[i][21]) reviews='<h2>'+pagesListArray[i][21]+' Reviews</h2>';
			else reviews="";
			
			var reviewdata=ratinghtml+'<h2>'+pagesListArray[i][20]+' out of 5</h2>'+reviews+'<br>';
		} else {
			var reviewdata="";	
		}
		
		// DISPLAY TYPE 
		if (!displaytype || displaytype==0) {
		   //newHTML += '<tr id="'+datalistvar+'_row'+j+'" class="'+newClass+'"><td width="7" '+tdclass+' nowrap="nowrap"></td><td '+tdclass+' width="10%" style="word-wrap:break-word; overflow:hidden" valign="top">'+imgspot+'</td><td width="100%" '+tdonclick+' '+tdclass+'><h2>';
		   //newHTML += itemdata+iteminfo+'</h2></td><td '+tdclass+' align="right" nowrap="nowrap" width="100" valign="top"><h2><a href="/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/"><span class="goorowspace2"></span>&#187; More Details</a></h2></td></tr>';
		   newHTML += '<div id="goo_directory_row">'+atarget+'<div id="goo_directory_row_img">'+imgspot+coord_data+'</div><div id="goo_directory_row_l">'+itemdata+iteminfo+'</div><div id="goo_directory_row_r">'+reviewdata+moredetails+'</div><br CLEAR="both"></div>';
		} else {
		   //newHTML += '<td width="25%" valign="top" class="'+highlighted+'">'+imgspot;
		   //newHTML += '<h2>'+itemdata+iteminfo+'</h2><h2><a href="/directory/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/"><span class="goorowspace2"></span>&#187; More Details</a></h2></td>';
		   if (gridcol==1) {
		      newHTML += '<div id="goo_directory_grid_row" name="goo_directory_grid_row">'; 
			  gridcol=1;
		   }
		   newHTML += '<div id="goo_directory_grid_box">'+atarget+'<div id="goo_directory_grid_img">'+imgspot+coord_data+'</div><div id="goo_directory_grid_l">'+itemdata+iteminfo+'</div><div id="goo_directory_grid_r">'+reviewdata+moredetails+'</div><br CLEAR="both"></div>';
		   if (gridcol==gridcolnum) {
		      newHTML += '<div style="clear: both;"></div></div>'; 
			  gridcol=1;
		   } else {
		      gridcol = gridcol+1;
		   }
		}
	}
	// CORRECT GRID TABLE
	gridcol = gridcol-1;
	if (gridcol==0) {
	   gridcol=4;   
	}
	if (displaytype==1 && gridcol<gridcolnum) {
	   for (k=gridcol;k<gridcolnum;k++) {
          newHTML += '<td width="25%">&nbsp;</td>';   
	   }
	   newHTML += '</tr>';
	}
	var totaldisplayed=j-1;
	if(i == minPages) {
		newHTML += '<tr class="'+newClass+'"><td width="100%" colspan="4" class="bodytext-white" style="padding:15px 0 15px 0;" nowrap="nowrap"><h1>There are no items in this category</h1></td></tr>';
	}
	//newHTML += '<tr><td colspan="5" class="bodytext-white listtop" width="100%">Total Items: '+pagesListArray.length+'</td></tr>';
	if (displaytype==0) {
	   //newHTML += '</table>';
	}
	if (displaytype==1) {
	   newHTML += '</table>';	
	}
	
	
	newHTML += '<br CLEAR="both">';
	// SETUP LIST HEADER
	
	var addentrybutton = entrybutton(datalistvar);
	
	// Title
	var toppagedescription = '<div id="goo_directory_description_above">'+dir_pagedescription_above+'</div>';
	
	
	// ENTRIES CLOSE
	newHTML += '</div>';
	newHTML += '<br CLEAR="both">';

	
	newHTML = '<div id="goo_directory_wrapper"><input type="hidden" id="minpagesvar" name="minpagesvar" value="'+minPages+'">'+toppagedescription+sidebartop+'<div id="goo_directory_navtop"><span class="last" id="'+datalistvar+'_listnav"></span></div>'+newHTML+'<div id="goo_directory_navbottom"><span class="last" id="'+datalistvar+'_listnav2"></span></div></div>';
	
	// Title
	newHTML += '<div id="goo_directory_description_below">'+dir_pagedescription_below+'</div>';
	
	document.getElementById('pagesList').innerHTML = newHTML;
	datalistnav(pagesListArray.length,minPages,maxPagesDisplay,datalistvar,'displayPagesList',displaytype);
	goo_directory_map(coords);
	createsortdd(datalistvar,minPages,displaytype,firstdata);
	layout_adjust();
		
		if(document.getElementById('dir_siteid').value==1701) {
		jQuery(function() {
					jQuery('#goo_directory_result_sidebar').jScroll({ top : 20, speed : 2000 });
				});
		}
		$(function() {
		$( "#slider3").slider({
			range: true,
			min: 0,
			max: 500,
			values: [ 75, 300 ],
			slide: function( event, ui ) {
				//$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
			}
		});
		//$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
			//" - $" + $( "#slider-range" ).slider( "values", 1 ) );
	});   
}

(function($){$.fn.jScroll=function(e){var f=$.extend({},$.fn.jScroll.defaults,e);return this.each(function(){var a=$(this);var b=$(window);var c=new location(a);b.scroll(function(){a.stop().animate(c.getMargin(b),f.speed)})});function location(d){this.min=d.offset().top;this.originalMargin=parseInt(d.css("margin-top"),10)||0;this.getMargin=function(a){var b=d.parent().height()-d.outerHeight();var c=this.originalMargin;if(a.scrollTop()>=this.min)c=c+f.top+a.scrollTop()-this.min;if(c>b)c=b;return({"marginTop":c+'px'})}}};$.fn.jScroll.defaults={speed:"slow",top:10}})(jQuery);

function entrybutton(datalistvar)
{
	var buttonstring = '';
	if(document.getElementById('dir_view_postbutton').value) var buttext=document.getElementById('dir_view_postbutton').value;
	else var buttext="Post Entry";
	if (document.getElementById(datalistvar+'_userpostentry').value ==1)
	{
		buttonstring += "<div id=\"dir_addentrybutton\" class=\"userpostentry\"><a class=\"userpostentry\" href=\"javascript:openeditdialog(\'\',\'\',\'\',1,\'\',\'\',\'\',\'\')\">"+buttext+"</a></div>";
	}
	return buttonstring;
}

function sortPages(index,minPages,cell,datalistvar,displaytype,direction) {
	// CHECK SEARCH
	if(index=="sea") {
		dirsearchsubmit(datalistvar);
		return;	
	}
	if(!index||index==0) return;
	minPages = parseFloat(minPages);
	var dirhold='';
	var indexset='';
	if (direction) {
	   indexset = index;
	   indexar = index.split(',');
	   index = parseFloat(indexar[0]);
	   dirhold = indexar[1];
	} else {
	   index = parseFloat(index);
	}
	var sortpages_order=1;
	if(pagesListArray.length < 1) return;
	pagesListArray = multiSort(pagesListArray,index);
	if(dirhold==2) pagesListArray.reverse();
	document.getElementById(datalistvar+'_sortpagesvar').value = index+","+sortpages_order;
	document.getElementById('dir_sortdata').value = indexset;
	displayPagesList(minPages,datalistvar);
}
function numperpage(num,minPages,datalistvar) {
	minPages = parseFloat(minPages);
	document.getElementById('dir_pagenum').value=num;
	displayPagesList(0,datalistvar);
}
function filterPages(datalistvar,minpagesvar) {
   pagesListArray = pagesListArrayTemp;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
      if (pagesListArray[i][7] == 1 && document.getElementById('show_pages').checked) {
	     pagesListArrayNew[j] = pagesListArray[i];  
		 j=j+1;
	  }
	  if (pagesListArray[i][7] == 3 && document.getElementById('show_products').checked) {
	     pagesListArrayNew[j] = pagesListArray[i];
		 j=j+1;
	  }
	  if (pagesListArray[i][7] == 4 && document.getElementById('show_images').checked) {
	     pagesListArrayNew[j] = pagesListArray[i];
		 j=j+1;
	  }
	  if (pagesListArray[i][7] == 5 && document.getElementById('show_files').checked) {
	     pagesListArrayNew[j] = pagesListArray[i];
		 j=j+1;
	  }
   }
   if (!minpagesvar) {
	   minpagesvar=0;   
   }
   pagesListArray = pagesListArrayNew;
   displayPagesList(minpagesvar,datalistvar);
}
function goo_directory_sidebar_reset(datalistvar) {
   initialload = true;
   var pageid = document.getElementById('page_id').value;
   document.getElementById('dir_tempindex').value="";
   goo_eraseCookie('goo_dir_filter_str_'+pageid);
   goo_eraseCookie('goo_dir_filter_id_'+pageid);
   goo_eraseCookie('goo_dir_alpha_filter_str_'+pageid);
   goo_eraseCookie('goo_dir_minpage_'+pageid);
   goo_eraseCookie('goo_dir_searchstr_'+pageid);
   pagesListArray = pagesListArrayTemp;
   pagesListArray = multiSort(pagesListArray,sortpos1);
   if(document.getElementById('dirsearch')) document.getElementById('dirsearch').value="";
   displayPagesList(0,datalistvar);
}
function goo_directory_sidebar(contenttype,datalistvar) {
   var htmldata = '';
   // GET SHOW DATA
   var sidebar_show = document.getElementById(datalistvar+'_show').value.split(',');
      htmldata += "<div id='goo_sm_dir'><span id='dirPage'></span></div>";
   var featured = document.getElementById(datalistvar+'_featured').value;
   var pageid = document.getElementById('page_id').value;
   if (featured) {
	  var featuredar=featured.split(String.fromCharCode(28));
      htmldata += "<div id='goo_directory_result_sidebar_featured'>";
	  htmldata += "<h1>Featured Entries:</h1>";
	  htmldata += "<ul>";
	  for (i=0;i<featuredar.length;i++) {
		 featuredarsub=featuredar[i].split('||');
	     htmldata += "<li><h3><a href='/directory/"+pageid+"/"+featuredarsub[1]+"/'>"+featuredarsub[0]+"</a></h3></li>";  
	  }
	  htmldata+="</ul>";
	  htmldata+="</div>";
	  }

   var dss = document.getElementById(datalistvar+'_dirsearchstring').value;
   if (dss=='') dss = "Search Directory";
   //htmldata += "<div style='clear:both;'>&nbsp;</div>";
   if (document.getElementById(datalistvar+'_sidesearch').value==1)htmldata +="<div class=\"dirsearch\"><input id=\"dirsearch\" class=\"search_field\" type=\"text\" name=\"dirsearchr\" value=\""+dss+"\" onclick=\"javascript:if(this.value=='Search Directory')this.value='';\" onkeydown=\"if (event.keyCode == 13) dirsearchsubmit('"+datalistvar+"');\" /><a class=\"dirsearch\" href=\"javascript:dirsearchsubmit('"+datalistvar+"');\">Search</a></div><div style=\"clear:both\"></div>";
	htmldata +=  "<h1>Filter Results (<a href='javascript:goo_directory_sidebar_reset(\""+datalistvar+"\");'>reset</a>):</h1>"; //side search box.

   // http://jqueryui.com/demos/slider/#range
   // BACK TO TOP
   //htmldata += "<h2><a href='javascript:goo_directory_sidebar_reset(\""+datalistvar+"\");'>Reset</a></h2>";
   // ALPHA
   var alphashow = document.getElementById(datalistvar+'_alphashow').value;
   if (alphashow==1)
	{
   htmldata+="<div id='goo_alpha'>";
   htmldata+=sidebarDisplayAlpha(datalistvar);
   htmldata+="</div><div style='clear:both;'></div>";
	}
   // CATEGORY
   var category = sidebarDisplay(9,datalistvar,1,'',1);
   if (category&&sidebar_show[0]) {
	  htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
  	  htmldata += "<h2>"+fieldlabels[10]+"</h2>";  
	  htmldata += category;
	  htmldata += "</div>";
   }
   // SUB CATEGORY
   var subcategory = sidebarDisplay(11,datalistvar,1);
   if (subcategory&&sidebar_show[1]) {
	  htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
  	  htmldata += "<h2>"+fieldlabels[11]+"</h2>";  
	  htmldata += subcategory;
	  htmldata += "</div>";
   }
   // CITY
   var itemsize = sidebarDisplay(5,datalistvar);
   if (itemsize&&sidebar_show[2]) {
	  htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
	  htmldata += "<h2>"+fieldlabels[4]+"</h2>";  
	  htmldata += itemsize;
	  htmldata += "</div>";
   }
   // STATE
   var itemcolor = sidebarDisplay(6,datalistvar);
   if (itemcolor&&sidebar_show[3]) {
	   htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
	  htmldata += "<h2>"+fieldlabels[5]+"</h2>";  
	  htmldata += itemcolor;
	  htmldata += "</div>";
   }
   // ZIP CODE
   var itemunits = sidebarDisplay(7,datalistvar);
   if (itemunits&&sidebar_show[4]) {
	  htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
	  htmldata += "<h2>"+fieldlabels[6]+"</h2>";  
	  htmldata += itemunits;
	  htmldata += "</div>";
   }
   // COUNTRY
   var itemcountry = sidebarDisplay(3,datalistvar);
   if (itemcountry&&sidebar_show[5]) {
	  htmldata += "<div id=\"goo_directory_result_filters_box\">"; 
	  htmldata += "<h2>"+fieldlabels[7]+"</h2>";  
	  htmldata += itemcountry;
	  htmldata += "</div>";
   }
   return htmldata;	
}

function dirsearchsubmit(datalistvar, searchstring)
{
   // reset the search:
   var pageid = document.getElementById('page_id').value;
   goo_eraseCookie('goo_dir_filter_str_'+pageid);
   goo_eraseCookie('goo_dir_filter_id_'+pageid);
   goo_eraseCookie('goo_dir_alpha_filter_str_'+pageid);
   goo_eraseCookie('goo_dir_minpage_'+pageid);
   pagesListArray = pagesListArrayTemp;

   if(searchstring==null)searchstring = document.getElementById('dirsearch').value;
   pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   var searchweights = [pagesListArray[0].length];
	for (i=0; i < pagesListArray[0].length; i++) searchweights[i]=1; //initialize weights to 1.
   var scores = [pagesListArray.length];
   for (i=0; i<pagesListArray.length; i++)
	{
	 scores[i]=[];
	 scores[i][0]=0;	
	}
	//specify custom weights for fields here:
    
	//
	goo_createCookie('goo_dir_searchstr_'+pageid,searchstring);
	document.getElementById(datalistvar+'_dirsearchstring').value=searchstring;

	// -----------------------------

   for(i=0;i<pagesListArray.length;i++) {
	for (j=0; j<pagesListArray[i].length;j++)
	{
		if (pagesListArray[i][j].toString().toLowerCase().search(searchstring.toLowerCase())!="-1") {
			scores[i][0] += 1*searchweights[j]; // add the score.
			scores[i][1]=i; // keep track of the index into the PLA
		}
	}
}

	function mysort(a,b)
	{
		if (a[0]>b[0]) return -1;	
		if (a[0]<b[0]) return 1;
		return 0;
	}
	scores.sort(mysort);

	for(i=0;i<pagesListArray.length;i++) {
		if(scores[i][0]>0) pagesListArrayNew[i]= pagesListArray[scores[i][1]]; //use the saved PLA index. 
		}

   pagesListArray = pagesListArrayNew;
   displayPagesList(0,datalistvar,'');
   document.getElementById('sortselect').selectedIndex=0;
	
}

function sidebarDisplayAlpha(datalistvar) {
   var rtr='';
   var numchk='';
   itemListArray = pagesListArray;
   sidebarDisplayAlphaar = '';
   sidebarDisplayAlphaar = Array();
   for(i=0,j=0;i<itemListArray.length;i++) {
      alphasp = itemListArray[i][sortpos1].split(',');
	  for (k=0;k<alphasp.length;k++) {
		 sidebarDisplayAlphaar.push(alphasp[k].substring(0,1).replace(' ','').toUpperCase());
		 j=j+1;
	  }
   }
   sidebarDisplayAlphaar=sidebarDisplayAlphaar.unique();
	sidebarDisplayAlphaar=sidebarDisplayAlphaar.sort();
   for (i=0;i<sidebarDisplayAlphaar.length;i++) {
      if (GooIsNumeric(sidebarDisplayAlphaar[i])==true) {
		 if (!numchk) {
		    rtr+="<div class='letter'><a href='javascript:sidebarFilterAlpha(\"#\",\""+datalistvar+"\");'>#</a></div>";
		 }
		 numchk=1;
	  } else if (sidebarDisplayAlphaar[i]) { 
	     rtr+="<div class='letter'><a href='javascript:sidebarFilterAlpha(\""+sidebarDisplayAlphaar[i]+"\",\""+datalistvar+"\");'>"+sidebarDisplayAlphaar[i]+"</a></div>";
	  }
   }
   return rtr;
}
function GooIsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (h = 0; h < strString.length && blnResult == true; h++)
      {
      strChar = strString.charAt(h);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
// Array.unique( strict ) - Remove duplicate values
Array.prototype.unique = function( b ) {
 var a = [], i, l = this.length;
 for( i=0; i<l; i++ ) {
  if( a.indexOf( this[i], 0, b ) < 0 ) { a.push( this[i] ); }
 }
 return a;
};
function wordToUpper(strSentence) {
    return strSentence.toLowerCase().replace(/\b[a-z]/g, convertToUpper);
 
    function convertToUpper() {
        return arguments[0].toUpperCase();
    }
}
function sidebarDisplay(fieldid,datalistvar,spl,rtn,temp) {
   
   if(temp) itemListArray = pagesListArrayTemp;
   else itemListArray = pagesListArray;
   
   sidebarDisplayNew = Array();
   for(i=0,j=0;i<itemListArray.length;i++) {
	  if (!itemListArray[i][fieldid]) { continue; }
	  if (spl) {
		 categorysp = itemListArray[i][fieldid].split(',');
		 for (k=0;k<categorysp.length;k++) {
	        sidebarDisplayNew[j] = wordToUpper(categorysp[k]);
			j=j+1;
	     } 
	  } else {
	     sidebarDisplayNew[j] = wordToUpper(itemListArray[i][fieldid]);
		 j=j+1;
	  }
   }
   if (rtn) {
	  return (sidebarDisplayNew);
   } else {
      return countAppearance(sidebarDisplayNew,fieldid,datalistvar,temp);
   }
}
function sidebarFilterAlpha(stringsea,datalistvar) {
   pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
	  var chkstr=pagesListArray[i][sortpos1].substring(0,1).toUpperCase();
	  if (chkstr.search(stringsea)!="-1") {
	     pagesListArrayNew[j] = pagesListArray[i];  
		 j=j+1;
	  } else if (GooIsNumeric(chkstr)==true&&stringsea=='#') {
		 pagesListArrayNew[j] = pagesListArray[i];  
		 j=j+1; 
	  }
   }
   // SETUP COOKIE
   var pageid = document.getElementById('page_id').value;
   goo_createCookie('goo_dir_alpha_filter_str_'+pageid,stringsea);
   
   pagesListArray = pagesListArrayNew;
   displayPagesList(0,datalistvar);
}
function sidebarFilter(stringsea,fieldid,datalistvar) {
	pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
	  if (pagesListArray[i][fieldid].toLowerCase().search(stringsea.toLowerCase())!="-1") {
	  //if (pagesListArray[i][fieldid] == stringsea) {
	     pagesListArrayNew[j] = pagesListArray[i];  
		 j=j+1;
	  }
   }
   // SETUP COOKIE
   var pageid = document.getElementById('page_id').value;
   goo_createCookie('goo_dir_filter_str_'+pageid,stringsea);
   goo_createCookie('goo_dir_filter_id_'+pageid,fieldid);
   
   pagesListArray = pagesListArrayNew;
   displayPagesList(0,datalistvar);
}

function charsort(a,b)
{
	a = a.toLowerCase(); b = b.toLowerCase();
	if (a>b) return 1;
	if (a <b) return -1;
	return 0;
}

function sidebarFilterTemp(x,y) {
	pagesListArray = pagesListArrayTemp;
	document.getElementById('dir_tempindex').value=x+"|"+y;
}

function countAppearance(myArray,fieldid,datalistvar,temp) {
   // GET FIELD TYPE
   var fieldtype=document.getElementById('dir_labels_type').value.split(",");
   
   if(temp) resetfil="sidebarFilterTemp(this.value,"+fieldid+");";
   else resetfil="";
   var myBlocks = new Object ;
   myArray.sort();
   for( var i=0; i<myArray.length; i++ ) {
	  if(myArray[i]=='') continue;
      var aBlock = myArray[i];
      if( myBlocks.hasOwnProperty( aBlock ) ) {
         myBlocks[aBlock]++ ;
      } else {
         myBlocks[aBlock] = 1 ;
      }
   }

   var str = "";
   var str1 = "";
   var str2 = "";
   var tmax=0;
   var sliderar=Array();
   var sidebar_totals = document.getElementById(datalistvar+'_totals').value;
   str2 = "<h3><select onchange='"+resetfil+"sidebarFilter(this.value,"+fieldid+",\""+datalistvar+"\");'>";
   str2 += "<option value=''>-select one-</option>";
   for( var j in myBlocks ) {
	  // CHECK TYPE
	  var slider=0;
	  if(fieldid==3) {
	  	if(fieldtype[7]==1) {
			 var slider=1;
			 str2="";
			 if(!IsNumeric(j)) continue;  
	  	}
	  }
	  // CHECK INDEX SECTION
	  if(slider) {
		  sliderar.push(j); 
	  } else {
		  var dir_tempindex=document.getElementById('dir_tempindex').value;
		  if (dir_tempindex) {
			  dir_tempindexsp=dir_tempindex.split("|");
			  if(dir_tempindexsp[0]==j&&dir_tempindexsp[1]==fieldid) var sel=' selected="selected" ';
			  else var sel='';
		  }
		  if (sidebar_totals==1) {
			  str1 += "<h3><a href='javascript:"+resetfil+"sidebarFilter(\""+escape(j)+"\","+fieldid+",\""+datalistvar+"\");'>"+j+" ("+myBlocks[j]+")</a></h3>";
			  str2 += "<option value='"+j+"'"+sel+">"+j.substring(0,30)+" ("+myBlocks[j]+")</option>";
		  } else {
			  str1 += "<h3><a href='javascript:"+resetfil+"sidebarFilter(\""+escape(j)+"\","+fieldid+",\""+datalistvar+"\");'>"+j+"</a></h3>";
			  str2 += "<option value='"+j+"'"+sel+">"+j.substring(0,30)+"</option>";
		  }
	  }
	  tmax=tmax+1
   }
   
   if(slider) {
	   sliderar.sort(function(a,b){return a - b})
	   str="<div id=\"slider"+fieldid+"\"></div>";
   } else {
	   str2 += "</select></h3>";
	   if(document.getElementById(datalistvar+'_view').value==3) tmaxset=4;
	   else tmaxset=15;
	   if (tmax>tmaxset) {
		  str=str2;
	   } else {
		  str=str1;   
	   }
   }
   
   if (tmax>500) {
	  return ""; 
   } else {
      return str;
   }

}
// OPEN FUNCTIONS
function openpagedata() {
   goojax_saveformdata('mainform','/goodirector/contentdirector/pages/directory/display_data.php'); 
} 

function dir_displaydata(datalistvar,dir_view,skip) {
   var pageid = document.getElementById('page_id').value;
   
   var filterstr='';
   var filterid='';
   var alphafilterstr='';
   if (goo_readCookie('goo_dir_filter_str_'+pageid)) { filterstr = goo_readCookie('goo_dir_filter_str_'+pageid); }
   if (goo_readCookie('goo_dir_filter_id_'+pageid)) { filterid = goo_readCookie('goo_dir_filter_id_'+pageid); }
   if (goo_readCookie('goo_dir_alpha_filter_str_'+pageid)) { alphafilterstr = goo_readCookie('goo_dir_alpha_filter_str_'+pageid); }
   if (alphafilterstr&&!skip) {
      sidebarFilterAlpha(alphafilterstr,datalistvar,1);
   }
   if (filterstr&&filterid&&!skip) {
	  sidebarFilter(filterstr,filterid,datalistvar,1);
   }

	
   // MIN PAGES
    minPages=0;
	var pageid = document.getElementById('page_id').value;
	if(goo_readCookie('goo_dir_minpage_'+pageid)) {
   		minPages=goo_readCookie('goo_dir_minpage_'+pageid);	
	}
	
    displayPagesList(minPages,datalistvar,dir_view);

	var searchquery = document.getElementById('searchquery').value;	
	var searchqueryc = document.getElementById('searchqueryc').value;
	var searchquerysc = document.getElementById('searchquerysc').value;
   	if(searchqueryc){
	var catlookup = document.getElementById(datalistvar+'_catlookup').value;
	var catlookupar = [];
	var temp = [];
	var catnames = [];
	var catids = [];
	catlookupar = catlookup.split(',');
	
	for (var i=0; i < catlookupar.length; i++)
	{
		temp = catlookupar[i].split('|');
		catids.push(temp[0]);
		catnames.push(temp[1]);
	}
	var thequeryindex;
	for (var i=0; i <catids.length; i++){if (catids[i]==searchqueryc)thequeryindex = i;}
	sidebarFilter(catnames[thequeryindex],9,datalistvar);
	document.getElementById('searchqueryc').value='';
	}
	
	if(searchquerysc){
	var subcatlookup = document.getElementById(datalistvar+'_subcatlookup').value;
	var subcatlookupar = [];
	var temp = [];
	var subcatnames = [];
	var subcatids = [];
	subcatlookupar = subcatlookup.split(',');
	for (var i=0; i < subcatlookupar.length; i++)
	{
		temp = subcatlookupar[i].split('|');
		subcatids.push(temp[0]);
		subcatnames.push(temp[1]);
	}
	var thequeryindex;
	for (var i=0; i <subcatids.length; i++){if (subcatids[i]==searchquerysc)thequeryindex = i;}
	sidebarFilter(subcatnames[thequeryindex],11,datalistvar);
	document.getElementById('searchquerysc').value='';
	}
	
	// CHECK SEARCH COOKIES
	if(searchquery) {
	    document.getElementById('dirsearch').value=searchquery;	
	} else if(goo_readCookie('goo_dir_searchstr_'+pageid)) {
		document.getElementById('dirsearch').value=goo_readCookie('goo_dir_searchstr_'+pageid);	
		searchquery=goo_readCookie('goo_dir_searchstr_'+pageid);	
	}
	
	if (searchquery!=''){dirsearchsubmit(datalistvar, searchquery);}
	
}
// COOKIE FUNCTIONS
function goo_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 goo_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 goo_eraseCookie(name) {
	goo_createCookie(name,"",-1);
}
function entrytabs(tab) {
   // SET ALL TABS TO OFF
   var tabchk='';
   var tabnum=1;
   while(tabchk!=1) {
	  if (!document.getElementById('diatab'+tabnum)) {
	     tabchk=1; 
		 tabnum=tabnum-1;
	  } else {
		 document.getElementById('diatab'+tabnum).style.position='absolute';
		 document.getElementById('diatab'+tabnum).style.left='-10000';
		 document.getElementById('diatab'+tabnum).style.top='-10000';
		 tabnum=tabnum+1;  
	  }
   }
   document.getElementById('diatab'+tab).style.position='';
   document.getElementById('diatab'+tab).style.left='0';
   document.getElementById('diatab'+tab).style.top='0';
   goojax_msg_adjust();
   // ADJUST STEPS 
   if (!document.getElementById('dialog_edit_entry_id').value) {
      var stepdata=document.getElementById('dialog_edit_steps').value.split(",");
      document.getElementById('dialog_edit_steps').value=tab+","+stepdata[1];
	  newentrysteps();
   }
}
function newentrysteps(x) {
   var stepdata=document.getElementById('dialog_edit_steps').value.split(",");
   if (x==1) {
      var step=parseFloat(stepdata[0])+1;   
   } else if (x==2) {
	  var step=parseFloat(stepdata[0])-1;   
   } else {
	  step=parseFloat(stepdata[0]);
   }
   if (step==stepdata[1]) {
	  document.getElementById('savebuttsave').style.position=""; 
	  document.getElementById('savebuttsave').style.left='0';
      document.getElementById('savebuttsave').style.top='0';
	  document.getElementById('savebuttnext').style.position="absolute"; 
	  document.getElementById('savebuttnext').style.left='-10000';
      document.getElementById('savebuttnext').style.top='-10000';
   } else {
	  document.getElementById('savebuttsave').style.position="absolute"; 
	  document.getElementById('savebuttsave').style.left='-10000';
      document.getElementById('savebuttsave').style.top='-10000';
	  document.getElementById('savebuttnext').style.position=""; 
	  document.getElementById('savebuttnext').style.left='0';
      document.getElementById('savebuttnext').style.top='0';
   }
   if (step!=1) {
	   document.getElementById('savebuttback').style.position="";
	   document.getElementById('savebuttback').style.left='0';
       document.getElementById('savebuttback').style.top='0';
   } else { 
       document.getElementById('savebuttback').style.position="absolute";
	   document.getElementById('savebuttback').style.left='-10000';
       document.getElementById('savebuttback').style.top='-10000';
   }
   if (x) entrytabs(step);
   document.getElementById('dialog_edit_steps').value=step+","+stepdata[1];
}
// OPEN FUNCTIONS
function openeditdialog(id,label,listcount,dialogid,dataid,contenttype_name,contenttype,folderid) {
   if(document.getElementById('page_id')) var page_id=document.getElementById('page_id').value;
   else var page_id="";
   goojax_msg_custom('/goodirector/contentdirector/pages/directory/display_data.php','page_id='+page_id+'&datadisplay='+dialogid+'&editid='+dataid+'&contenttype_name='+contenttype_name+'&contenttype='+contenttype+'&folderid='+folderid+'&datalistattr='+id+'|'+label+'|'+listcount);  
}
// SUBMIT FUNCTIONS
function submiteditentry(x) {
	// CHECK REQUIRED VALUES
	var reqfields="";
	var err="";
	var required=document.getElementById('dialog_edit_fieldchk').value.split(",");
	for(i=0;i<=required.length;i++) {
		if(document.getElementById(required[i]+"_err")) {
			document.getElementById(required[i]).style.border="1px solid";
			if(!document.getElementById(required[i]).value) { 
				document.getElementById(required[i]).style.border="3px solid yellow";
				var err=1;
			}
		}
	}
	if(err) entrytabs(1);
    else if (!x) goojax_saveformdata('mainform,dialogform','/goodirector/contentdirector/pages/directory/display_engine.php',1);
	
	if(!err&&x) newentrysteps(1);
}

// ADD LISTS
function addtolist(ddid,listid,limit) {
   var w = document.getElementById(ddid).selectedIndex;
   var selected_text = document.getElementById(ddid).options[w].text;
   var selected_value = document.getElementById(ddid).value;
   
   if (selected_value=="NULL") return;
   
   if (searchlist(selected_value,listid)) return;
   
   var elOptNew = document.createElement('option');
   elOptNew.text = selected_text;
   elOptNew.value = selected_value;
   var elSel = document.getElementById(listid);
   
   if(limit) {
      if(limit<=elSel.length) {
	     alert('You can only add '+limit+' items to the list.  Please remove one if you wish to add another.');
	     return;
	  }
   }

   try {
     elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
   }
   catch(ex) {
     elSel.add(elOptNew); // IE only
   }
}
function removefromlist(listid) {
  var elSel = document.getElementById(listid);
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}
function searchlist(input,listid) {
  var output=document.getElementById(listid).options;
  for(var i=0;i<output.length;i++) {
    if(output[i].value.indexOf(input)==0){
      return true;
    }
  }
}

// MAP FUNCTIONS
if(!dirshowmap) var dirshowmap=0;
if(dirshowmap==1) {
var map;
var bounds;
var gmarkers = [];
var gmarkers_coords = [];
var htmls = [];
var baseIcon = new GIcon();
baseIcon.shadow = "http://maps.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);
}

function sortNumber(a,b) {
	return b - a;
}
function sortNumber2(a,b) {
	return a - b;
}
function coords_click(i){
	//gmarkers[i].openInfoWindowHtml(htmls[i]);
	data=gmarkers_coords[i].split(",")
	map.setCenter(new GLatLng(data[0],data[1]), 0);
	var bounds = new GLatLngBounds( 
					new GLatLng(data[0],data[1]), new GLatLng(data[0],data[1]));
	map.setZoom(13);
}
function formatHtml(blurb, address) {
	return '<div class="blurb">' + blurb + '</div>\n<div class="address">' + address + '</div>';
}
function addMarker(lat, lon, html,index,i){
	if(i==0) {
		gmarkers=[];
		gmarkers_coords=[];	
		htmls=[];
	}
	index=parseFloat(index);
	var letter = String.fromCharCode("A".charCodeAt(0) + index);
	var letterIcon = new GIcon(baseIcon);
	letterIcon.image = "http://maps.google.com/mapfiles/marker" + letter + ".png";
	//return new GMarker(point, {icon:letterIcon});
	
	var marker = new GMarker(new GLatLng(lat, lon), {icon:letterIcon});
	GEvent.addListener(marker, "click", function() {
	  //marker.openInfoWindowHtml(html);
	  window.location='#map'+letter;
	});
	gmarkers.push(marker);
	gmarkers_coords.push(lat+","+lon);
	htmls.push(html);
	return marker;
}

function goo_directory_map(coords) {
	if(!document.getElementById("goo_directory_result_map")) return;
	if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("goo_directory_result_map"));
	geocoder = new GClientGeocoder();
	
	var lats=[];
	var lons=[];
	
	// PLOT POINTS
	var marker;
	var coordsar = coords.split("|");
	for (i=0;i<coordsar.length;i++) {
		// add the points
		if(!coordsar[i]) continue;
		data=coordsar[i].split(",");
		var html = formatHtml("", data[3]);
		marker = addMarker(data[1], data[2], html,data[0],i);	
		map.addOverlay(marker);
		lats.push(data[1]);
		lons.push(data[2]);
	}
	
	// GET BOUNDS
	
	lats.sort(sortNumber);
	lons.sort(sortNumber);
	
	bound1_lat=lats[0];
	bound1_lon=lons[0];
	
	lats.reverse();
	lons.reverse();
	
	bound2_lat=lats[0];
	bound2_lon=lons[0];
	
	
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	
	map.setCenter(new GLatLng(40.0190138,-105.2714139), 0);
	var bounds = new GLatLngBounds( 
					new GLatLng(bound1_lat,bound2_lon), new GLatLng(bound2_lat,bound1_lon));
	//new GLatLng(40.0205, -105.2798278), new GLatLng(40.0175276, -105.263));
	
	//plotPoints();
	//showAddress();
	map.setZoom(map.getBoundsZoomLevel(bounds));
	
	//alert(bound1_lat+","+bound1_lon+" | "+bound2_lat+","+bound2_lon);
	
	//marker = addMarker(40.0205, -105.263, html,0);
	//marker = addMarker(40.0175276, -105.2798278, html,1);
  }	
}

// ON LOAD FUNCTIONS
function dir_reload() {
	goojax_msg_close();
	document.getElementById('addentry').value="";
	goojax_saveformdata('mainform','/goodirector/contentdirector/pages/directory/display_data.php');	
}
function dir_entry_abuse() {
	goojax_msg_close();
	goojax_saveformdata('dialogform','/goodirector/contentdirector/pages/directory/display_engine.php');	
}
function dir_entry_message() {
	// CHECK DATA
	var err=0;
	document.getElementById('dir_message_name_err').innerHTML='';
	if(document.getElementById('dir_message_name').value=="") {
		var err=1;
		document.getElementById('dir_message_name_err').innerHTML='<div id="goo_directory_error">Please type in a name</div>';
	}
	
	document.getElementById('dir_message_email_err').innerHTML='';
	if(document.getElementById('dir_message_email').value=="") {
		var err=1;
		document.getElementById('dir_message_email_err').innerHTML='<div id="goo_directory_error">Please type in a valid email</div>';
	}
	
	document.getElementById('dir_message_msg_err').innerHTML='';
	if(document.getElementById('dir_message_msg').value=="") {
		var err=1;
		document.getElementById('dir_message_msg_err').innerHTML='<div id="goo_directory_error">Please type in a message</div>';
	}
	goojax_msg_adjust();
	if(err) return;
	goojax_msg_close();
	goojax_saveformdata('dialogform','/goodirector/contentdirector/pages/directory/display_engine.php');	
}

function userpost_removeimage(x,y) {
	document.getElementById(x).value="";
	document.getElementById(y).style.backgroundImage="";
	document.getElementById(y).style.display="none";
}

function layout_adjust() {
	var sb_w="";
	if(document.getElementById('goo_directory_result_sidebar')) sb_w = document.getElementById('goo_directory_result_sidebar').offsetWidth;
	var wrapper_w = document.getElementById('goo_directory_wrapper').offsetWidth;
	var entries_w = wrapper_w-sb_w;
	document.getElementById('goo_directory_entries').style.width=entries_w-5;
}

window.onload = function() {
   goojax_saveformdata('mainform','/goodirector/contentdirector/pages/directory/display_data.php');
}
