var dynamicContent_ajaxObjects = new Array(); 
var jsCache = new Array();
var enableCache = true; 

function ajax_loadContent(divId, pathToFile)
{
	if (pathToFile != '' && pathToFile != 'blank.php' && pathToFile != 'blank.php')
	{
		// remove rand if present
		if (pathToFile.indexOf('&rand=') != -1)
		{
			pathToFile = pathToFile.substr(0, pathToFile.indexOf('&rand='));
		}
		
		if (pathToFile.indexOf('sitelet/') == -1)
		{
			pathToFile = '/' + pathToFile + '&rand=' + new Date().getTime();
		}else{
			//. from sitlet DONT append the forwad /
			pathToFile = pathToFile + '&rand=' + new Date().getTime();
		}
		//prompt('', divId + ' ' + pathToFile);
		
	  if(enableCache && jsCache[pathToFile]){
	    document.getElementById(divId).innerHTML = jsCache[pathToFile];
	    return;
	  }
	  var ajaxIndex = dynamicContent_ajaxObjects.length;
	  document.getElementById(divId).innerHTML = '<img src="/lib/indicator_loading.gif" border="0" style="border:0px;"><br/>loading...';
	  dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	  dynamicContent_ajaxObjects[ajaxIndex].requestFile = pathToFile;
	
	  dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,pathToFile); };  
	  dynamicContent_ajaxObjects[ajaxIndex].runAJAX();  
  }else{
  	document.getElementById(divId).innerHTML = '&nbsp;';
  }
} 

function ajax_showContent(divId,ajaxIndex,pathToFile)
{
  document.getElementById(divId).innerHTML =
    dynamicContent_ajaxObjects[ajaxIndex].response;
  if(enableCache){
    jsCache[pathToFile] = 
    dynamicContent_ajaxObjects[ajaxIndex].response;
  }
  dynamicContent_ajaxObjects[ajaxIndex] = false;
}

/* Ross Crawford Code */
var gAJAXurl
var gInlineAJAXurl
function nada()
{
	// NADA!
}

//. *********************************************************************************
// for feature boxes
function changeclass()
{
	selectedElement = arguments[0];
	numElements = arguments[1];
	baseName = selectedElement.id.substr(0, (selectedElement.id.lastIndexOf('_')+1))

	for (c=1; c <= numElements; c++)
	{
		document.getElementById(baseName + c).className = '';
	}
	
	selectedElement.className = 'selected';
}
//. *********************************************************************************
function getLeftPos(popW, popH)
{
	w = screen.availWidth;
	h = screen.availHeight;
	var leftPos = (w-popW)/2
	var topPos = (h-popH)/2 - (h*0.1);
	
	return Array(leftPos,topPos);
}
//. *********************************************************************************
function show_layer(divID, ajaxURL, popW, popH, Xpos, Ypos)
{
	if (Xpos == '' || Ypos == '')
	{
		aryPos = getLeftPos(popW, popH);
		Xpos = aryPos[0];
		Ypos = aryPos[1];
	}
	Xpos = (screen.availWidth/2) - (popW/2);
	Ypos = 0;
	if (divID.toLowerCase() == 'modmessages') { divID_ajax = divID + '_content'; }else{ divID_ajax = divID; }
	
	if ( (gAJAXurl == ajaxURL && document.getElementById(divID).style.display == 'block') || ajaxURL.indexOf('blank.php') != -1 )
	{
		document.getElementById(divID).style.display = 'none';
		ajax_loadContent(divID_ajax, 'blank.php');
	}else{
		document.getElementById(divID).style.position = 'absolute';
		document.getElementById(divID).style.zindex = 100;
		document.getElementById(divID).style.width = popW;
		document.getElementById(divID).style.height = popH;
		if (Xpos.toString().indexOf('%') == -1) { Xpos = Xpos + 'px'; }
		if (Ypos.toString().indexOf('%') == -1) { Ypos = Ypos + 'px'; }
		document.getElementById(divID).style.left = Xpos;
		document.getElementById(divID).style.top = Ypos;
		
		ajaxURL = ajaxURL.replace(/.php/gi, '');
		ajaxURL = ajaxURL.replace(/\?/gi, '&');
		ajaxURL = ajaxURL.replace(_SITELETURL, _SITELETPATH);
		
		window.open('popup.php?template='+ajaxURL, '', 'width='+popW+',height='+popH+',status=yes,toolbars=no,resizable=yes,scrollbars=yes');
		// load AJAX Content
		/*ajax_loadContent(divID_ajax, ajaxURL);
		gAJAXurl = ajaxURL;
		document.getElementById(divID).style.display = 'block';*/
	}
}
//. *********************************************************************************
function show_fixed_layer(divID, ajaxURL, popW, popH)
{
	if ( (document.getElementById(divID).style.display == 'block') )
	{
		document.getElementById(divID).style.display = 'none';
		ajax_loadContent(divID, 'blank.php');
	}else{
		document.getElementById(divID).style.width = popW;
		document.getElementById(divID).style.height = popH;
		// load AJAX Content
		ajax_loadContent(divID, ajaxURL);
		document.getElementById(divID).style.display = 'block';
	}
}
//. *********************************************************************************
function setjoin(theform, ajaxtarget, prefix, table, recordID, divID)
{
	theform = document.forms[arguments[0]];
	querystring = '';
	for(c = 0; c < theform.elements.length; c++)
	{
		if (theform.elements[c].id.indexOf(prefix) > -1)
		{
			querystring += theform.elements[c].id + '=' + theform.elements[c].value + '&';
		}
	}
	ajaxURL = 'ajax/' + ajaxtarget + '?prefix=' + prefix + '&table=' + table + '&' + querystring.substr(0, (querystring.length-1)) + '&id=' + recordID;
	ajax_loadContent(divID, ajaxURL);
}
//. *********************************************************************************
function populateFiltersField(formname, formID)
{
	document.forms[formname].elements[formID + '_filters'].value = '';
	for (c = 0; c < document.forms[formname].elements.length; c++)
	{
		if (document.forms[formname].elements[c].name.indexOf('src') != -1 && document.forms[formname].elements[c].name.indexOf('extras_') == -1 && document.forms[formname].elements[c].value != '')
		{
			if (document.forms[formname].elements[c].name.indexOf('_from') != -1 || document.forms[formname].elements[c].name.indexOf('_to') != -1)
			{
				if (document.forms[formname].elements[c].name.indexOf('_from') != -1)
				{//.from
					fieldname = document.forms[formname].elements[c].name.substr(0, (document.forms[formname].elements[c].name.length - '_from'.length) );
				}else{
				//.to
					fieldname = document.forms[formname].elements[c].name.substr(0, (document.forms[formname].elements[c].name.length - '_to'.length) );
				}
				fieldname = fieldname.substr(3);
			}else{
				fieldname = document.forms[formname].elements[c].name.substr(3);
			}
			document.forms[formname].elements[formID + '_filters'].value += fieldname + ',' + document.forms[formname].elements[c].value + ',' + document.forms[formname].elements['extras_' + document.forms[formname].elements[c].name.substr(3)].value + '|';
		}
	}
	//. test for withmentiontypes
	//. show circ and aev
	if (document.forms[formname].elements['tmp_withmentiontypes'])
	{
		for (i=0; i < document.forms[formname].elements['tmp_withmentiontypes'].length; i++)
		{
			if (document.forms[formname].elements['tmp_withmentiontypes'][i].checked)
			{
				document.forms[formname].elements['theform_search_ADDURLVARS'].value = '&withmentiontypes=' + document.forms[formname].elements['tmp_withmentiontypes'][i].value;
				document.forms[formname].elements['tmp_withmentiontypes'].value = document.forms[formname].elements['tmp_withmentiontypes'][i].value;
			}
		}
		
		if (document.forms[formname].elements['tmp_withmentiontypes'].value == 'true')
		{
			//. user wants the circ and aev values so get the year date range
			var startyear = document.forms[formname].elements['srcdatepublished_from'].value.split('/');
			var endyear = document.forms[formname].elements['srcdatepublished_to'].value.split('/');
			startyear = startyear[2];
			endyear = endyear[2];
			yearrange = '';
			
			for (i=startyear; i <= endyear; i++ )
			{
				yearrange += ',' + i;
			}
			document.forms[formname].elements['theform_search_ADDURLVARS'].value += '&year=' + yearrange.substr(1);
		}else{
			//. test for dates entered
			if (document.forms[formname].elements['srcdatepublished_from'].value != '')
			{
				var startyear = document.forms[formname].elements['srcdatepublished_from'].value.split('/');
				startyear = startyear[2];
			}else{
				var startyear = null;
			}
			if (document.forms[formname].elements['srcdatepublished_to'].value != '')
			{
				var endyear = document.forms[formname].elements['srcdatepublished_to'].value.split('/');
				endyear = endyear[2];
			}else{
				var endyear = null;
			}
			
			if (endyear == null)
			{
				endyear = startyear
			}
			
			yearrange = '';
			
			for (i=startyear; i <= endyear; i++ )
			{
				yearrange += ',' + i;
			}
			document.forms[formname].elements['theform_search_ADDURLVARS'].value += '&year=' + yearrange.substr(1);
		}
	}
	//.alert(document.forms[formname].elements['tmp_withmentiontypes'].value)
	//.alert(document.forms[formname].elements[formID + '_filters'].value)
	//.document.forms[formname].submit();
}
/* Ross Crawford Code */