// INITIAL FUNCTIONS
function IsNumeric(strString) {
   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,reverseit) {
	//alert('multiSort: index is '+index);
	var temp = new Array();
	var orderedindex = 13;
	if (ar.length <= 1) return ar;
	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(!reverseit){
		if (index == 6 )
		{
			temp.sort(dateFunction);
			//alert('date sort!');
		}
		else if(temp[0][0]!=undefined && !IsNumeric(temp[0].toString())) {
			temp.sort(charOrdA);
			//alert('char sort!');
		}
		else {
			//alert('number sort!');
			temp.sort(sortFunction);
		}
	}
	
	if(initialload)temp.sort(sortOrdered);
	temp.sort(sortSponsored);
	
	
	
	var returnArray = new Array();
	for(n=0;n<temp.length;n++) {
		returnArray.push(ar[temp[n][1]]);
	}
	
	if(!reverseit ) initialload = false;
	return returnArray;
}

function sortOrdered(a,b)
{
// ordered:
if(a[3]!=0 && b[3]==0) return -1;
else if (b[3]!=0 && a[3]==0) return 1;
else if (parseInt(a[3]) > parseInt(b[3])) return 1;
else if (parseInt(a[3]) < parseInt(b[3])) return -1;
else return 0;

}

function dateFunction(a,b)
{
	
	var tempa = "";
	var tempb = "";
	tempa = a[0].split('.');
	tempb = b[0].split('.');
	var newa = tempa[2]+tempa[0]+tempa[1];
	var newb = tempb[2]+tempb[0]+tempb[1];
	var ret = parseInt(newa)-parseInt(newb);
	if (ret > 0) return 1;
	if (ret < 0) return -1;
	return 0;
}

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

function sortFunction(a,b) {
	
	if (a[0]>b[0]) return 1;
	if (a[0]<b[0]) return -1;
	return 0;
}

function charOrdA(a, b) {
	
	a[0] = a[0].toLowerCase(); 
	b[0] = b[0].toLowerCase();
	a[0] = a[0].replace(/"/g, '');
	b[0] = b[0].replace(/"/g, '');
	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);
   // CREATE PAGE LIST
   var pagelist='';
   var newmin='';
   if(displaytype!=2){
   for (i=1;i<=Math.ceil(listtotal/maxlist);i++) {
      if (activepage==i) {
		 pagelist += i+' ';
	  } 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/imagegallery/images/navarrow_left.gif" border="0"> Back </a>';     
   }
   var nextbutton=''
   var nextmin='';
   if(displaytype!=2){
   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/imagegallery/images/navarrow_right.gif" border="0"></a>';  
   } else {
	  showingtop=listtotal;   
   }
	}
   // DISPLAY TYPE
   var dis_select1 = '';
   var dis_select2 = '';
   var dis_select3 = '';
   if (!displaytype || displaytype==0) {
      dis_select1 = 'checked="checked"';   
   } else if (displaytype==1) {
	  dis_select2 = 'checked="checked"';   
   }
	else
	{
		dis_select3 = '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=''; }
   // SHOWING SETUP
   var changeview='';
   if (document.getElementById(datalistvar+'_vischange').value ==0) changeview='style="display:none"';
   var seasummary='';
   var showing=seasummary+'Sort <select name="select" id="select" onchange="sortPages(this.value,'+minlist+',this,\''+datalistvar+'\','+displaytype+',1)"><option></option>'+createsortdd(datalistvar)+'</select><span class="spacer">&nbsp;</span><input '+changeview+' type="radio" id="displaytyper1" name="displaytyper" value="0" '+dis_select1+' onclick="displayPagesList(\''+minlist+'\',\''+datalistvar+'\',0)"><span '+changeview+' class="radiotext">List</span><input '+changeview+' type="radio" id="displaytyper2" name="displaytyper" value="1" '+dis_select2+' onclick="displayPagesList(\''+minlist+'\',\''+datalistvar+'\',1)"><span  '+changeview+' class="radiotext">Grid</span><input '+changeview+' type="radio" id="displaytyper3" name="displaytyper" value="2" '+dis_select3+' onclick="displayPagesList(\''+minlist+'\',\''+datalistvar+'\',2)"><span '+changeview+' class="radiotext">Slideshow</span>';
   if(displaytype!=2)showing+='<span class="spacer">&nbsp;</span>	Showing: '+(minlist+1)+'-'+(showingtop)+' of '+listtotal+'<span class="spacer">&nbsp;</span>';
   var showing2='';
   if(displaytype!=2)showing2='<span>Showing: '+(minlist+1)+'-'+(showingtop)+' of '+listtotal+'</span><span class="spacer">&nbsp;</span>';
    
   document.getElementById(datalistvar+'_listnav').innerHTML = showing+backbutton+pagelist+nextbutton;	
   document.getElementById(datalistvar+'_listnav2').innerHTML = showing2+backbutton+pagelist+nextbutton;

	
}
function createsortdd(datalistvar) {
   var optionset='';
   var sortindex=document.getElementById(datalistvar+'_view').value;
   // NAME / COMPANY
   var name = sidebarDisplay(2,datalistvar,0,1);
   if (name) {
	  if (sortindex=="1,1") {
         optionset+="<option value='1,2'>"+headertitle(datalistvar)+" Z-A</option>"; 
	  } else {
		 optionset+="<option value='1,1'>"+headertitle(datalistvar)+" A-Z</option>"  
	  }
   }

   var date = sidebarDisplay(6,datalistvar,0,1);
   if (name) {
	  if (sortindex=="5,1") {
         optionset+="<option value='5,2'>Date New-Old</option>"; 
	  } else {
		 optionset+="<option value='5,1'>Date Old-New</option>"  
	  }
   }	

   // ADDRESS 1
/*
   var add1 = sidebarDisplay(3,datalistvar,0,1);
   if (add1) {
	  if (sortindex=="3,1") {
         optionset+="<option value='3,2'>"+fieldlabels[2]+" Z-A</option>"; 
	  } else {
		 optionset+="<option value='3,1'>"+fieldlabels[2]+" A-Z</option>"  
	  }
   }
   return(optionset);

   // ADDRESS 2
   var add2 = sidebarDisplay(4,datalistvar,0,1);
   if (add2) {
	  if (sortindex=="4,1") {
         optionset+="<option value='4,2'>"+fieldlabels[3]+" Z-A</option>"; 
	  } else {
		 optionset+="<option value='4,1'>"+fieldlabels[3]+" A-Z</option>"  
	  }
   }
*/
   return(optionset);
}
function headertitle(datalistvar) {
   var header = document.getElementById(datalistvar+'_header').value;
   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 maxPagesDisplay = 20;
var curPages = 0;
var fieldlabels=Array();
initialload = true;
function updatePagesList() {
    pagesListArray = Array();
	resetPagesHeader();
	goojax_load_data('shoppingcart_data.php','shoppingcartdisplay=10');
}
function displayPagesList(minPages,datalistvar,displaytype) {	
	
	var toppagedescription = '<div id="goo_imagegallery_description">'+document.getElementById(datalistvar+'_imgal_pagedescription_above').value+'</div>';
	var bottompagedescription = '<div id="goo_imagegallery_description">'+document.getElementById(datalistvar+'_imgal_pagedescription_below').value+'</div>';
		
	var sidebarhide = document.getElementById(datalistvar+'_sidebar').value;
	var gridcol = 1;
	var gridcolnum = 4;
	
	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;
	}
	
	
	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 (document.getElementById('displaytyper3').checked) {
	  	displaytype = 2;
		}
	}

	if (!displaytype) {
	   displaytype=0;	
	}
	
	// DISPLAY TABLE CLASS
	if (displaytype==0) {
	   displaytableclass = 'goo_imagegallery_result_table';	
	}
	if (displaytype==1) {
	   displaytableclass = 'goo_imagegallery_result_table_grid';
	   imagesize="sm";
	}
	minPages = parseFloat(minPages);
	if(minPages >= pagesListArray.length) minPages = 0;
	curPages = minPages;
	var newHTML = "";
	folderid = document.getElementById(datalistvar+'_foldernav').value;
	if (sidebarhide!=2) {
	   newHTML += '<div id="goo_imagegallery_result_sidebar">'+goo_imagegallery_sidebar(3,datalistvar,displaytype)+'</div>';
	}
		
	// 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/imagegallery/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/imagegallery/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/imagegallery/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_imagegallery_result_table_grid" cellpadding="0" cellspacing="0"><tr>';	
	}
	
	var commentsenabled = document.getElementById(datalistvar+'_comments').value;
	var ratecomment = '';
	if (commentsenabled==1) ratecomment= ' - Rate/Comment';
	
	for(i=minPages,j=1;i<minPages+maxPagesDisplay;i++,j++) {
		if(i >= pagesListArray.length) break;
		var newClass = i%2 == 0 ? '' : 'listrow';
		//highlight sponsored entries.
		if (pagesListArray[i][12] == 1 && displaytype!=2) newClass += ' goo_imagegallery_result_sponsored '; 
		var tdonclick = 'onclick="checkrowbox(\''+datalistvar+'_'+j+'\',\''+newClass+'\',\''+datalistvar+'_row'+j+'\')"';
		var tdclass = 'class="goo_imagegallery_result_title listrows1"';
		var imgspot = '';
		// crop images if requested
		var imgal_imagesize = document.getElementById(datalistvar+'_imgal_imagesize').value;
		var imgal_imagecrop = document.getElementById(datalistvar+'_imgal_imagecrop').value;
		var imgspot_class = 'goo_imagegallery_result_'+imagesize+'view ';
		var imgspot_crop_class = '';
		var imgspot_html = '';
		var imgfile=pagesListArray[i][1];
		if (imgal_imagesize==1){ // crop images
			if (imgal_imagecrop==0){ // center
				imgspot_crop_class=" goothmimgbox_crop_center";
			}else if (imgal_imagecrop==1){ // top left
			imgspot_crop_class=" goothmimgbox_crop_topleft";
			}else if (imgal_imagecrop==2){ // top right
				imgspot_crop_class=" goothmimgbox_crop_topright";
			}else if (imgal_imagecrop==3){ // bottom left
		 		imgspot_crop_class=" goothmimgbox_crop_bottomleft";
			}else if (imgal_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+')" class="'+imgspot_class+imgspot_crop_class+'"></div>'; // list view
			if (displaytype==1) imgspot_html = '<div style="background-image:url(/user_images/sm_'+imgfile+')" class="'+imgspot_class+imgspot_crop_class+'"></div>'; // grid view.
		}
		else { // original size images
			//if (displaytype==1) imgspot_html = '<div style="background-image:url(/user_images/sm_'+imgfile+')" class="goo_imagegallery_result_uncropped_grid goothmimgbox_crop_center"></div>'; // grid view.
			//else
			if (displaytype==1) imgspot_html = '<img width="150" src="/user_images/'+imagesize+'_'+imgfile+'" border="0"  alt="'+pagesListArray[i][2].replace(/"/g, '\'')+'" >';
			else imgspot_html = '<img src="/user_images/'+imagesize+'_'+imgfile+'" border="0"  alt="'+pagesListArray[i][2].replace(/"/g, '\'')+'" >';	
		}
		
		
		// CORRECT IMAGES
		   
			  if (displaytype<=1) { 
			     imgspot += '<a href="javascript:gooimagebox_open(\''+imgfile+'\',\''+escape(escape(pagesListArray[i][2]))+'\',700)" title="'+pagesListArray[i][2].replace(/"/g, '\'')+'" >'+imgspot_html+'</a>';
			  }
		//	  else if (displaytype==1) { 
		//	     imgspot += '<a href="javascript:gooimagebox_open(\''+imgfile+'\',\''+escape(escape(pagesListArray[i][2]))+'\',475)">'+imgspot_html+'</a>';
		//	  }
			else {
				imgspot = '<div class="goothmimgbox_hid"></div>';
			}
		
		// SET ITEM INFO
		if(displaytype!=2){
		var iteminfo='';
		
		if (pagesListArray[i][3]) {
		   iteminfo+="<h2>"+pagesListArray[i][3]+"</h2>";	//location
		}

		if (pagesListArray[i][6] && pagesListArray[i][6]!='0000-00-00') {
		   iteminfo+="<h2>"+pagesListArray[i][6]+"</h2>";	
		}
		if (pagesListArray[i][7]) {
		   iteminfo+='<h2>'+pagesListArray[i][7]+"</h2>";	
		}
		if (pagesListArray[i][8]) {
		   iteminfo+="<h2>"+pagesListArray[i][8]+"</h2>";	
		}
	}
	
		// DISPLAY TYPE
		if (!displaytype || displaytype==0) {
		   newHTML += '<tr id="'+datalistvar+'_row'+j+'" class="'+newClass+'"><td width="7" '+tdclass+' nowrap="nowrap"></td><td '+tdclass+' nowrap="nowrap" width="50" valign="top">'+imgspot+'</td><td width="100%" '+tdonclick+' '+tdclass+'><h1><a href="/imagegallery/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">'+pagesListArray[i][2]+'</a></h1>'+iteminfo+'</td><td '+tdclass+' align="right" nowrap="nowrap" width="100" valign="top"><h2><a href="/imagegallery/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">&#187; More Details'+ratecomment+'</a></h2></td></tr>';
		} if(displaytype == 1 ) {
		   newHTML += '<td valign="top" class="'+newClass+'">'+imgspot+'<h1><a href="/imagegallery/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">'+pagesListArray[i][2]+'</a></h1><h2>'+iteminfo+'</h2><h2><a href="/imagegallery/'+pagesListArray[i][10]+'/'+pagesListArray[i][0]+'/">&#187; More Details'+ratecomment+'</a></h2></td>';
		   if (gridcol==gridcolnum) {
		      newHTML += '</tr>'; 
			  gridcol=1;
		   } else {
		      gridcol = gridcol+1;
		   }
		}
	}

if(displaytype==2){
var alphafilterstr = '';

var siteid = document.getElementById(datalistvar+'_siteid').value;
var pageid = document.getElementById(datalistvar+'_pageid').value; 
var ids = '';

var thelimit = 70; //max the slideshow engine can handle .
if (pagesListArray.length < thelimit) thelimit = pagesListArray.length;

for (i=0; i<thelimit; i++)
{
	ids += pagesListArray[i][0]+",";
}
if (goo_readCookie('goo_imgal_alpha_filter_str_'+pageid)) { alphafilterstr = goo_readCookie('goo_imgal_alpha_filter_str_'+pageid); }	
if (alphafilterstr=='#')alphafilterstr=1;
var imgalwidth = "75%";
var imgalheight = '600';
if (sidebarhide==2) {
	imgalwidth="100%";
	imgalheight='700';
}
newHTML +='<form name="mainform" method="post" id="mainform"><div id="goo_imagegallery_slideshow_wrapper" ><iframe src ="/googlobal/smoothgallery/imgalslideengine.php?site_id='+siteid+'&page_id='+pageid+'&alphafilterstr='+alphafilterstr+'&ids='+ids+'" width="'+imgalwidth+'" align="left" height='+imgalheight+' frameborder="0" scrolling="no" allowtransparency="true"></iframe></div></form>';
	
} //slideshow

	
	// CORRECT GRID TABLE
	gridcol = gridcol-1;
	if (gridcol==0) {
	   gridcol=4;   
	}
	if (displaytype==1 && gridcol<gridcolnum) {
	   for (k=gridcol;k<gridcolnum;k++) {
          newHTML += '<td></td>';   
	   }
	   newHTML += '</tr>';
	}
	var totaldisplayed=j-1;
	var newClass = '';
	if(i == minPages) {
		newHTML += '<table id="goo_imagegallery_result_table_grid"><tr class="'+newClass+'"><td width="100%" colspan="4" class="bodytext-white" style="padding:15px 0 15px 0;" nowrap="nowrap"><h1>There are no images in this category</h1></td></tr></table>';
	}
	//newHTML += '<tr><td colspan="5" class="bodytext-white listtop" width="100%">Total Items: '+pagesListArray.length+'</td></tr>';

	   newHTML += '</table>';
	newHTML += '<br CLEAR="both">';
	
	// SETUP LIST HEADER
	newHTML = '<div id="goo_imagegallery_wrapper">'+toppagedescription+'<input type="hidden" id="minpagesvar" name="minpagesvar" value="'+minPages+'"><div id="goo_imagegallery_navtop"><span class="last" id="'+datalistvar+'_listnav"></span></div>'+newHTML+'<div id="goo_imagegallery_navbottom"><span class="last" id="'+datalistvar+'_listnav2"></span></div></div>';

	newHTML += bottompagedescription;


	newSpan = document.createElement('span');
	oldSpan = document.getElementById('pagesList');
	newSpan.id = 'pagesList';
	newSpan.className = oldSpan.className;
	newSpan.innerHTML = newHTML;
	oldSpan.parentNode.replaceChild(newSpan, oldSpan);
	datalistnav(pagesListArray.length,minPages,maxPagesDisplay,datalistvar,'displayPagesList',displaytype);
}
function sortPages(index,minPages,cell,datalistvar,displaytype,direction) {		
	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);
	}

	//alert('sortPages: index is '+index+' direction is '+direction);
	
	var sortpages_order=1;
	var reverseit = 0;
	if(pagesListArray.length < 1) return;
	pagesListArray = multiSort(pagesListArray,index+1);
	for(i=0;i<pagesHeaderArray.length;i++) {
		var headarr = pagesHeaderArray[i].split(",");
		if(i == index) {
			if(headarr[1] == "0" || dirhold == "1") {
				pagesHeaderArray[i] = headarr[0]+',1';
			} else if(headarr[1] == "1" || dirhold == "2") {
				pagesListArray.reverse();
				reverseit = 1;
				pagesHeaderArray[i] = headarr[0]+',2';
				sortpages_order=2;
			} else if(headarr[1] == "2") {
				pagesHeaderArray[i] = headarr[0]+',1';
			}
		} else if (dirhold) {
			if(dirhold == "1") {
			} else if(dirhold == "2") {
				pagesListArray.reverse();
				reverseit = 1;
				sortpages_order=2;
			}
			pagesHeaderArray[i] = headarr[0]+',0';
		} else {
			pagesHeaderArray[i] = headarr[0]+',0';
		}
	}
	// fix sponosored listings after a PLA.reverse();
	if (reverseit == 1) pagesListArray = multiSort(pagesListArray,index+1, reverseit);
	
	document.getElementById(datalistvar+'_sortpagesvar').value = index+","+sortpages_order;
	document.getElementById(datalistvar+'_view').value = indexset;
	displayPagesList(minPages,datalistvar);
}
function filterPages(datalistvar,minpagesvar) {
   pagesListArray = pagesListArrayTemp.slice(0);
   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_imagegallery_sidebar_reset(datalistvar) {
   initialload = true;
   var pageid = document.getElementById('page_id').value;
   goo_eraseCookie('goo_imgal_filter_str_'+pageid);
   goo_eraseCookie('goo_imgal_filter_id_'+pageid);
   goo_eraseCookie('goo_imgal_alpha_filter_str_'+pageid);
   pagesListArray = pagesListArrayTemp.slice(0);
  // pagesListArray = multiSort(pagesListArray,2);
	// restore current sorting.
	//alert(document.getElementById(datalistvar+'_sortpagesvar').value);
  	var currentsort = document.getElementById(datalistvar+'_sortpagesvar').value.split(',');
	if (currentsort=='') {
		//alert('currentsort was unset.');
		currentsort[0]=5;
		currentsort[1]=2;
	}
	pagesListArray = multiSort(pagesListArray,parseInt(currentsort[0])+1);
	if (currentsort[1]==2) {
		//alert('reversing!');
		pagesListArray.reverse();
		pagesListArray = multiSort(pagesListArray,parseInt(currentsort[0])+1, 'reverseit');
	}

   displayPagesList(0,datalistvar);
}
function goo_imagegallery_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_imagegallery_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='/imagegallery/"+pageid+"/"+featuredarsub[1]+"/'>"+featuredarsub[0]+"</a></h3></li>";  
	  }
	  htmldata+="</ul>";
	  htmldata+="</div>";
	  }
   
  var imgalss = document.getElementById(datalistvar+'_imgalsearchstring').value;
   if (imgalss=='') imgalss = "Search Album";
   if (document.getElementById(datalistvar+'_sidesearch').value==1) htmldata += "<div class=\"imgalsearch\"><input id=\"imgalsearch\" class=\"search_field\" type=\"text\" name=\"imgalsearchr\" value=\""+imgalss+"\" onclick=\"javascript:if(this.value=='Search Album')this.value='';\"/><a class=\"imgalsearch\" href=\"javascript:imgalsearchsubmit('"+datalistvar+"');\">Search</a></div>"; //side search box.

htmldata += "<h1>Narrow Album By:</h1>";


   // BACK TO TOP
   htmldata += "<div><h2><a href='javascript:goo_imagegallery_sidebar_reset(\""+datalistvar+"\");'>Show All</a></h2></div>";
   // 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);
   if (category&&sidebar_show[0]) {
  	  htmldata += "<h2>"+fieldlabels[10]+"</h2>";  
	  htmldata += category;
   }
   // SUB CATEGORY
   var subcategory = sidebarDisplay(11,datalistvar,1);
   if (subcategory&&sidebar_show[1]) {
  	  htmldata += "<h2>"+fieldlabels[11]+"</h2>";  
	  htmldata += subcategory;
   }
   //LOCATION
   var location = sidebarDisplay(3,datalistvar,1);
   if (subcategory&&sidebar_show[2]) {
  	  htmldata += "<h2>Location</h2>";  
	  htmldata += location;
   }

   // ARCHIVE
	var archive = sidebarDisplay(6,datalistvar,1);
	if (subcategory&&sidebar_show[3]) {
	htmldata += "<h2>Archive</h2>";  
	htmldata += archive;
	}

   return htmldata;	
}
 

function imgalsearchsubmit(datalistvar, searchstring)
{
   if(searchstring==null)searchstring = document.getElementById('imgalsearch').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:


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

   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);
	
}



function sidebarDisplayAlpha(datalistvar) {
   var rtr='';
   var numchk='';
   itemListArray = pagesListArray;
   sidebarDisplayAlphaar = '';
   sidebarDisplayAlphaar = Array();
   for(i=0,j=0;i<itemListArray.length;i++) {
      alphasp = itemListArray[i][2].split(',');
	  for (k=0;k<alphasp.length;k++) {
		 sidebarDisplayAlphaar.push(alphasp[k].substring(0,1).replace(' ','').toUpperCase());
		 j=j+1;
	  }
   }
   sidebarDisplayAlphaar=sidebarDisplayAlphaar.unique();
   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 sidebarDisplay(fieldid,datalistvar,spl,rtn) {
   itemListArray = pagesListArray;
   sidebarDisplayNew = Array();
   for(i=0,j=0;i<itemListArray.length;i++) {
	  if (!itemListArray[i][fieldid]) { continue; }
	  if (fieldid == 6 ) {
		itemdate = itemListArray[i][6].split('.');
		sidebarDisplayNew[j]=getmonth(itemdate[6])+' '+itemdate[0];
		j=j+1;
		}
	  if (spl) {
		 categorysp = itemListArray[i][fieldid].split(',');
		 for (k=0;k<categorysp.length;k++) {
	        sidebarDisplayNew[j] = categorysp[k];
			j=j+1;
	     } 
	  } else {
	     sidebarDisplayNew[j] = itemListArray[i][fieldid];
		 j=j+1;
	  }
   }
   if (rtn) {
	  return (sidebarDisplayNew);
   } else {
      return countAppearance(sidebarDisplayNew,fieldid,datalistvar);
   }
}
function sidebarFilterAlpha(stringsea,datalistvar) {
   pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
	  var chkstr=pagesListArray[i][2].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_imgal_alpha_filter_str_'+pageid,stringsea);
   
   pagesListArray = pagesListArrayNew;
   displayPagesList(0,datalistvar);
}
function sidebarFilter(stringsea,fieldid,datalistvar,skipload) {
   pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
	  if (pagesListArray[i][fieldid].search(stringsea)!="-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_imgal_filter_str_'+pageid,stringsea);
   goo_createCookie('goo_imgal_filter_id_'+pageid,fieldid);
   
   pagesListArray = pagesListArrayNew;
   if(!skipload) displayPagesList(0,datalistvar);
}
function countAppearance(myArray,fieldid,datalistvar) {
   var myBlocks = new Object ;
   myArray.sort();
   for( var i=0; i<myArray.length; i++ ) {
      var aBlock = myArray[i] ;
      if( myBlocks.hasOwnProperty( aBlock ) ) {
         myBlocks[aBlock]++ ;
      } else {
         myBlocks[aBlock] = 1 ;
      }
   }

   var str = "";
   var str1 = "";
   var str2 = "";
   var tmax=0;
   var sidebar_totals = document.getElementById(datalistvar+'_totals').value;
   str2 = "<h3><select onchange='sidebarFilter(this.value,"+fieldid+",\""+datalistvar+"\")'>";
   str2 += "<option value=''></option>";
   for( var j in myBlocks ) {
	  if (sidebar_totals==1) {
		  str1 += "<h3><a href='javascript:sidebarFilter(\""+escape(j)+"\","+fieldid+",\""+datalistvar+"\")'>"+j+" ("+myBlocks[j]+")</a></h3>";
		  str2 += "<option value='"+j+"'>"+j.substring(0,20)+" ("+myBlocks[j]+")</option>";
	  } else {
		  str1 += "<h3><a href='javascript:sidebarFilter(\""+escape(j)+"\","+fieldid+",\""+datalistvar+"\")'>"+j+"</a></h3>";
		  str2 += "<option value='"+j+"'>"+j.substring(0,20)+"</option>";
	  }
	  tmax=tmax+1
   }
   str2 += "</select></h3>";
   if (tmax>30) {
      str=str2;
   } else {
	  str=str1;   
   }
   if (tmax>500) {
	  return ""; 
   } else {
      return str;
   }
}

function sidebarFilterArchive(stringsea,datalistvar) {
  pagesListArray = pagesListArray;
   pagesListArrayNew = Array();
   for(i=0,j=0;i<pagesListArray.length;i++) {
	var chkstr=itemdate = pagesListArray[i][6].split('.');
	  if (chkstr[0].search(stringsea)!="-1" || chkstr[1].search(stringsea)!="-1") {
	     pagesListArrayNew[j] = pagesListArray[i];  
		 j=j+1;
	  } 
   }
   // SETUP COOKIE
   var pageid = document.getElementById('page_id').value;
   goo_createCookie('goo_blog_alpha_filter_str_'+pageid,stringsea);
   
   pagesListArray = pagesListArrayNew;
   displayPagesList(0,datalistvar);
}


function sidebarDisplayArchive(datalistvar) {
   var rtr='';
   var numchk='';
   itemListArray = pagesListArray;
   sidebarDisplayArchivear = '';
   sidebarDisplayArchivear = Array();
   for(i=0,j=0;i<itemListArray.length;i++) {
    itemdate = itemListArray[i][6].split('.');
	sidebarDisplayArchivear.push(getmonth(itemdate[1])+' '+itemdate[0]); //year
	}

   sidebarDisplayArchivear=sidebarDisplayArchivear.unique();
   for (i=0;i<sidebarDisplayArchivear.length;i++) {
     
	     rtr+="<h3><a href='javascript:sidebarFilterArchive(\""+getNum(sidebarDisplayArchivear[i])+"\",\""+datalistvar+"\");'>"+sidebarDisplayArchivear[i]+"</a></h3>";
   }
   return rtr;
}


function getmonth(num)
{
	if (num==01) return "January";
	if (num==02) return "February";
	if (num==03) return "March";
	if (num==04) return "April";
	if (num==05) return "May";
	if (num==06) return "June";
	if (num==07) return "July";
	if (num==08) return "August";
	if (num==09) return "September";
	if (num==10) return "October";
	if (num==11) return "November";
	if (num==12) return "December";

}

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

function imgal_displaydata(datalistvar,imgal_view,skip) {
   initialload=true;
   var initialsort = document.getElementById(datalistvar+'_initialsort').value;
	
   if(initialsort==0 || initialsort==1)pagesListArray = multiSort(pagesListArray,6); // sort by date
   else pagesListArray = multiSort(pagesListArray,2); // sort alphabetically
   if(initialsort==0 || initialsort==3) {
	initialload=true;
	pagesListArray.reverse();
	}
   // fix sponsored listings after a PLA.reverse();
   pagesListArray = multiSort(pagesListArray,0, "reverseit");

   pagesListArrayTemp = pagesListArray.slice(0); // store initial sort.


   var pageid = document.getElementById('page_id').value;
   var filterstr='';
   var filterid='';
   var alphafilterstr='';
   if (goo_readCookie('goo_imgal_filter_str_'+pageid)) { filterstr = goo_readCookie('goo_imgal_filter_str_'+pageid); }
   if (goo_readCookie('goo_imgal_filter_id_'+pageid)) { filterid = goo_readCookie('goo_imgal_filter_id_'+pageid); }
   if (goo_readCookie('goo_imgal_alpha_filter_str_'+pageid)) { alphafilterstr = goo_readCookie('goo_imgal_alpha_filter_str_'+pageid); }
   if (alphafilterstr&&!skip) {
      sidebarFilterArchive(alphafilterstr,datalistvar,1);
   }
   if (alphafilterstr&&!skip) {
      sidebarFilterAlpha(alphafilterstr,datalistvar,1);
   }
   if (filterstr&&filterid&&!skip) {
	  sidebarFilter(filterstr,filterid,datalistvar,1);
   }
   displayPagesList(0,datalistvar,imgal_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='';
	}
	
	if (searchquery!=''){imgalsearchsubmit(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);
}

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

// GLOBAL:

