var currentlyBusy=0

// ********************* Global and Initial CLASSES AND FUNCTIONS ********************************
var loadedTags
var sortOptions
var ownerOptions
var groupTransport
var xmlPostable
var selectedImageItems
var yupIE
var viewIconImage
var infoIconImage
var downloadIconImage
function initializeObjects() {
sortOptions=new Array()
ownerOptions=new Array()
selectedImageItems=new Array()
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Date Uploaded")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Image Owner")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Relevance")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Security Level")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Image File Size")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Image Title")
sortOptions[sortOptions.length]=new LoadedOption(sortOptions.length,sortOptions.length+1,"Image Category")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"Search All Images")
if (memId>0 && memId!=53) {
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"SEARCH All Shared by OTHERS")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"SEARCH all MY Images")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"SHOW ALL Shared By OTHERS")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"SHOW all MY images")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All My SHARED")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All My NON-SHARED")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All My NON-TAGGED")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All My GRABBED")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All My FAVORITED")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All MY SHARED W/NO TAG")
ownerOptions[ownerOptions.length]=new LoadedOption(ownerOptions.length,ownerOptions.length+1,"All MY Active Hot Shots")
}

		addAllToSourceList(sortOptions,"sortOrderSourceList")
		addAllToSourceList(ownerOptions,"imageOwnerSourceList")
		
 viewIconImage=new Image()
 infoIconImage=new Image()
downloadIconImage=new Image()

viewIconImage.src="http://easygome.com/icons/zoomicon4.gif"
infoIconImage.src="http://easygome.com/icons/infoicon3.gif"
downloadIconImage.src="http://easygome.com/icons/imagedownloadicontiny.gif"





		if (document.all) {
		yupIE=1
		}

}


// ********************* OBJECTS CLASSES AND FUNCTIONS ********************************
function LoadedKeywords (pIndex,pId,pLabel) {
	this.index=pIndex
	this.id=pId
	this.label=pLabel
	this.selectState=0
	this.addToList=addToList
}

function LoadedOption (pIndex,pId,pLabel) {
	this.index=pIndex
	this.id=pId
	this.label=pLabel
	this.selectState=0
	this.addToList=addToList
}


function selectedKeywords (pIndex,pId,pLabel,pCount) {
	this.index=pIndex
	this.id=pId
	this.Label=pLabel
	this.Count=pCount
}

function oImage(pIndex,pImageId,pImageExtension,pKeyCount,pImageTitle,pDescritpion,pImageOwner,pSize) {
	this.index=pIndex
	this.dommId="img" + pIndex
	this.selectedDommId="selImg" + pImageId + "N" + pIndex
	this.selectedLinkNodeId="selLinkNode" + pImageId + "S" + pIndex
	this.selectState=0
	this.imageId=pImageId
	this.title=pImageTitle
	this.owner=pImageOwner
	this.ext=pImageExtension
	this.score=pKeyCount
	this.size=pSize
	this.description=pDescritpion
	this.thumbUrl="/imgsXXX/imgLarge" + pImageId + "." + pImageExtension
	this.selectUrl="/imgsXXX/imgSmall" + pImageId + "." + pImageExtension
	this.imageUrl="/imgsXXX/imgLarge" + pImageId + "." + pImageExtension
	this.makeThumb=makeThumb
	this.makeSelectedThumb=makeSelectedThumb
	// this.createImageGroup=createImageGroup
}

function getItemIndexByItemId(pItemArray,pItemId) {
	var i
	var returnIndex=0
	for (i=0;i<pItemArray.length;i++) {
		if (pItemArray[i].id==pItemId) {
			returnIndex= i
		}	
	}
	return returnIndex
}

function getItemIndexByImageId(pItemArray,pItemId) {
	var i
	var returnIndex=0
	for (i=0;i<pItemArray.length;i++) {
		if (pItemArray[i].imageId==pItemId) {
			returnIndex= i
		}	
	}
	return returnIndex
}

function isPicSelected(pImageId) {
	var i
	var isSelected=false
	var returnIndex=0
	if (selectedImageItems) {
	for (i=0;i<selectedImageItems.length;i++) {
		if (selectedImageItems[i].imageId==pImageId) {
			isSelected=true
		}	
	}
	}
	return isSelected
}

function isPicLoaded(pImageId) {
	var i
	var isSelected=false
	var returnIndex=0
	if (arImages) {
	for (i=0;i<arImages.length;i++) {
		if (arImages[i].imageId==pImageId) {
			isSelected=true
		}	
	}
	}
	return isSelected
}
function getListLabels(pSourceListName) {
	var source=document.getElementById(pSourceListName);
	var labelList=""
 	for(var i=(source.options.length - 1); i >= 0; i--) {
		if (labelList!="") {
			labelList=labelList + ","
		}
			labelList=labelList + source.options[i].text
	}
	return labelList
}

function getListValues(pSourceListName) {
	var source=document.getElementById(pSourceListName);
	var valueList=""
 	for(var i=(source.options.length - 1); i >= 0; i--) {
		if (valueList!="") {
			valueList=valueList + ","
		}
			valueList=valueList + source.options[i].value
	}
	return valueList
}

function getImageIds(pItemArray) {
	var source=document.getElementById(pItemArray);
	var valueList=""
	var i
 	for(i=0;i<pItemArray.length;i++) {
		if (valueList!="") {
			valueList=valueList + ","
		}
			valueList=valueList + pItemArray[i].imageId
	}
	return valueList
}

// ********************* AJAX FUNCTIONS SCRIPT ********************************

function GetXmlHttpObject(handler)
{
var objXmlHttp=null

if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera")
return
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"
}
try
{
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e)
{
 alert("Error. Scripting for ActiveX might be disabled")
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}

var statsHTTP

function loadSubKeywordSet() {
		if (listOpRunning==0) {
	listOpRunning=1

	showKeyBusy()
   var kwId=loadedTags[document.getElementById("keywordSourceList").value].id

	var url="../inc/getsubdividedtags.asp?ti=" + kwId
statsHTTP=GetXmlHttpObject(parseNewSubTagSet)
statsHTTP.open("GET", url , true)
statsHTTP.send(null)
}
}

function loadKeywordSet(pSearchText) {
showKeyBusy()
lastLookupText=pSearchText
	var url="../inc/ajGetNewTagSet.asp?kw=" + pSearchText
statsHTTP=GetXmlHttpObject(parseNewTagSet)
statsHTTP.open("GET", url , true)
statsHTTP.send(null)

}

function parseNewSubTagSet() {
if (statsHTTP.readyState==4 || statsHTTP.readyState=="complete") {
clearOptionList("keywordSourceList")
	var strData
	strData=statsHTTP.responseText
	var tagData=strData.split("----")
	var tagCount=tagData.length
	var ki
	loadedTags=null
	loadedTags=new Array()
	if (tagCount==0)  {
		var mainData="No tags returned"
	} else {
		for (ki=0;ki<tagData.length;ki++) {
			loadedTags[loadedTags.length]=new LoadedKeywords(loadedTags.length,tagData[ki].split("@@@")[0],tagData[ki].split("@@@")[1])
		}
		clearOptionList("keywordSourceList")
		addAllToSourceList(loadedTags,"keywordSourceList")
	}
	listOpRunning=0
	currentlyBusy=0
	showKeyBusyOff()
}
}


function parseNewTagSet() {
if (statsHTTP.readyState==4 || statsHTTP.readyState=="complete") {
clearOptionList("keywordSourceList")
	var strData
	strData=statsHTTP.responseText
	var tagData=strData.split("----")
	var tagCount=tagData.length
	var ki
	loadedTags=null
	loadedTags=new Array()
	if (tagCount==0)  {
		var mainData="No tags returned"
	} else {
		for (ki=0;ki<tagData.length;ki++) {
			loadedTags[loadedTags.length]=new LoadedKeywords(loadedTags.length,tagData[ki].split("@@@")[0],tagData[ki].split("@@@")[1])
		}
		clearOptionList("keywordSourceList")
		addAllToSourceList(loadedTags,"keywordSourceList")
	}
	listOpRunning=0
	currentlyBusy=0
	showKeyBusyOff()
	checkTagSearchInput()
	
}
}

function getImages(pPage) {
	if (currentlyBusy==0) {
			currentLoadAmount=0;
	currentlyBusy=1
	}
	clearAllParent(document.getElementById("resultImagesHolder"))
	showImagesBusy()
	// removeAllResultItems()
	
	var tagIds
	var sortId=document.getElementById("sortOrderSourceList").value
	var ownerId=document.getElementById("imageOwnerSourceList").value
	if (ownerId<5) {
	tagIds="0," + getListValues("keywordTargetList")
	} else {
	tagIds=""
	}
	var requestedPage=pPage
	var returnCount=document.getElementById("returnCountList").value
		var txtUrl="http://easygome.com/inc/ajgetsearchifierimageshs.asp?rc=" + returnCount + "&cp=" + requestedPage + "&tids=" + tagIds + "&slevel=" + sLevel + "&ownId=" + ownerId + "&memId=" + memId + "&sortid=" + sortId
        groupTransport=GetXmlHttpObject(proccessImageGroup)
        groupTransport.open("GET", txtUrl , true)
        groupTransport.send(null)
		}

var arImages
function proccessImageGroup() {
    if (groupTransport.readyState==4 || groupTransport.readyState=="complete") {
	showImagesBusyOff()
    var strResponse=groupTransport.responseText
	 arImages=null
	arImages=new Array()
	var fullResponse=strResponse

	var totalCount=fullResponse.split("&&&&&")[0]
		var currentPage=fullResponse.split("&&&&&")[1]
		var itemSection=fullResponse.split("&&&&&")[2]
	var arImageData=itemSection.split("####")
	var i
	for (i=0;i<arImageData.length;i++) {
		arImages[arImages.length]=new oImage(arImages.length,arImageData[i].split("@@@")[0],arImageData[i].split("@@@")[1],arImageData[i].split("@@@")[2],arImageData[i].split("@@@")[5],arImageData[i].split("@@@")[6],arImageData[i].split("@@@")[8],arImageData[i].split("@@@")[9])
	}
		//var returnCount=document.getElementById("returnCountList").value
		var returnCount=arImages.length
		curNumberPerPage=returnCount
	outputMessage("resultMessageBox","Found: <b>" + totalCount + "</b>")
	outputMessage("loadMessageBox","Loaded: <b>0</b> of <b>" + returnCount + "</b>")
	mBox=document.getElementById("loadMessageBox")
	outputImageGroup("resultImagesHolder")
	makePagingLinks(currentPage,returnCount,totalCount)
	currentlyBusy=0
	
}
}
var currentLoadAmount=0
var curNumberPerPage=0
var logoRemoved=false
var lastPageBoxId="pagingLinks"
function makePagingLinks(pCurrentPage,pReturnCount,pTotalCount) {
var totalCount=pTotalCount
var pageCount=Math.round(totalCount/pReturnCount,0)
var currentPage=pCurrentPage
if (currentPage>pageCount) {
	currentPage=pageCount
	}
	if (currentPage<1) {
		currentPage=1
	}
	if (pageCount<1) {
	pageCount=1
	}
	var i
	var currentPagingBox=document.getElementById(lastPageBoxId)
	var linkHolder=document.getElementById("linkHolder")
	var newId="pageLinkHolder" + totalCount

						var newBox=document.createElement("DIV");
						newBox.className="pageLinkHolderBox"
						newBox.id=newId

	for (i=1;i<(pageCount+1);i++) {
	newBox.appendChild(makeSinglePageLink(currentPage,pageCount,i))
	}
	linkHolder.replaceChild(newBox,currentPagingBox)
	lastPageBoxId=newId
	
}

function makeSinglePageLink(pCurrentPage,pPageCount,pI) {
	var linkClass=""
	if (pCurrentPage==pI) {
	linkClass="currentPageLinkClass"
	} else {
	linkClass="pageLinkClass"
	}
	
	 var pageLink = document.createElement("a");
	pageLink.href = "javascript:void(0)"
	pageLink.id="pageLink" + pI
	pageLink.className=linkClass
	// thumbLink.setAttribute("title",pObject.title)
							pageLink.onclick=function(){ 
								getImages(pI)
						 } 
						 pageLink.onmouseover=function() {
						 ddrivetip("Load results for page" + pI, 300);
							}
							pageLink.onmouseout=function(){
								hideddrivetip()
							}
linkText = document.createTextNode(pI);
	pageLink.appendChild(linkText)
	return pageLink

}

function clearAllParent(pParent) {
var container=pParent
 if (container.childNodes.length>0) {
 	for (i=0;i<container.childNodes.length;i++) {
			container.removeChild(container.childNodes[i])
	}
	container.innerHTML=""
}

}
function outputImageGroup(pContainer) {

var container=document.getElementById(pContainer)
 if (container.childNodes.length>0) {
 	for (i=0;i<container.childNodes.length;i++) {
			container.removeChild(container.childNodes[i])
	}
}

container.innerHTML=""
// container.innerHTML="Click on any thumbnail image to view it's original size<br>"
var i
for (i=0;i<arImages.length;i++) {
	if (isPicSelected(arImages[i].imageId)==false) {
container.appendChild(arImages[i].makeThumb())
} else {
arImages[i].selectState=1
}
}
	//initLightbox()
}


function addImageToSelectedBox(pItemIndex) {
	if (currentlyBusy==0) {
	currentlyBusy=1
var sourceItem=arImages[pItemIndex]
var tempDomId=sourceItem.dommId
if (!selectedImageItems) {
selectedImageItems=new Array()
}
var itemSourceNode=document.getElementById("resultThumbContainer" + pItemIndex)
var targImageHolder=document.getElementById("heldImageHolder")
selectedImageItems[selectedImageItems.length]=new oImage(selectedImageItems.length,sourceItem.imageId,sourceItem.ext,sourceItem.score,sourceItem.title,sourceItem.description,sourceItem.owner)
var newItemObject=selectedImageItems[selectedImageItems.length-1]
document.getElementById("resultImagesHolder").removeChild(itemSourceNode)
sourceItem.selectState=1
		 if (targImageHolder.hasChildNodes()) {
			targImageHolder.insertBefore(newItemObject.makeSelectedThumb(),targImageHolder.firstChild)
			// targImageHolder.appendChild(newItemObject.makeSelectedThumb())
		} else {
			targImageHolder.appendChild(newItemObject.makeSelectedThumb())
		}
		currentlyBusy=0
			outputMessage("heldImageStatCell","Selected Images: " + selectedImageItems.length)	
		}				 
}


function removeImageFromSelectedBox(theImgId) {
	if (currentlyBusy==0) {
	currentlyBusy=1
var arrayItemIndex=getItemIndexByImageId(selectedImageItems,theImgId)
var tempItem=selectedImageItems[arrayItemIndex]
var tempSelectedItemNode=document.getElementById(tempItem.selectedLinkNodeId)
var imgObj=arImages[getItemIndexByImageId(arImages,tempItem.imageId)]
imgObj=selectState=0
document.getElementById("heldImageHolder").removeChild(tempSelectedItemNode)
selectedImageItems.splice(arrayItemIndex,1)
	currentlyBusy=0
	outputMessage("heldImageStatCell","Selected Images: " + selectedImageItems.length)
	
}
}

function toScopinator() {
var idList= getImageIds(selectedImageItems)
window.location="http://easygome.com/photo-sharing/scopinator-photo-manager.asp?lsl=" + idList
}

function toTagifier() {
var idList= getImageIds(selectedImageItems)
window.location="http://easygome.com/photo-sharing/image-tagifier.asp?lst=" + idList
}

function toScopeScraper() {
var idList= getImageIds(selectedImageItems)
window.location="http://easygome.com/photo-sharing/picture-scraper.asp?lst="  + idList
}

function toProfiler() {
var idList=getImageIds(selectedImageItems)
var startImage=idList.split(",")[0]
window.location="http://easygome.com/photo-sharing/image-profile.asp?timgid=" + startImage + "&lts="  + idList
}

function addToPostList(){
showImagesBusy()
 outputMessage("resultMessageBox","Action: <b>Making selected images postable.</b>")
 var idList= getImageIds(selectedImageItems)
    var scopeList=idList.split(",").join(",,")
	// alert(scopeList)
var txtUrl="../inc/ajmakescopespostable.asp?scopeList=" + scopeList

        groupTransport=GetXmlHttpObject(toPostListResponse)
        groupTransport.open("GET", txtUrl , true)
        groupTransport.send(null)
}

  function toPostListResponse() {
  
      if (groupTransport.readyState==4 || groupTransport.readyState=="complete")
{
  var rt=groupTransport.responseText
 outputMessage("resultMessageBox","Success: <b>Selected images are now postable.</b>")
    showImagesBusyOff()
  }
  }
  
// ********************* UI FUNCTIONS SCRIPT ********************************

function pressThumbDown(pIndex) {
	var tempImg=document.getElementById("askerThumbLink" + pIndex)
	tempImg.className="thumbPressStyle"
}

function pressThumbUp(pIndex) {
	var tempImg=document.getElementById("askerThumbLink" + pIndex)
	tempImg.className="resultThumbLink"
}


function makeThumb() {


						var theId=this.imageId
						var theDomId=this.dommId
						var thumbContainer=document.createElement("DIV");
						thumbContainer.className="resultThumbContainer"
						thumbContainer.id="resultThumbContainer" + this.index
						var theTitle=this.title
							thumbContainer.appendChild(makeViewIcon(theDomId,theId))
							thumbContainer.appendChild(makeDownloadIcon(theDomId,theId,0))
							thumbContainer.appendChild(makeInfoIcon(theDomId,theId,theTitle))
							thumbContainer.appendChild(makeResultLink(this))
							
							// imagedownloadicontiny.gif
							// imageinfoicon.png
							// viewlargeicon.jpg
						return thumbContainer
			}
			
		var mBox
		
function makeResultLink(pObject) {

var thumbIndex=pObject.index
var img = document.createElement('IMG');
img.className="askerThumb"
img.id=pObject.dommId
var tempId=pObject.dommId
 img.onload=function() {
		// this.className="askerThumb";
		this.style.visibility="visible"
		//document.getElementById("askerThumbLink" + pObject.index).appendChild(this)
		currentLoadAmount=currentLoadAmount+1;
		var cTxt="";
		if (currentLoadAmount==curNumberPerPage) {
		cTxt="Loaded: <b>All</b>"
		} else {
		cTxt="Loaded: <b>" + currentLoadAmount + "</b> of <b>" + curNumberPerPage + "</b>";
		}
		mBox.innerHTML=cTxt
}

// if (yupIE==1) {
// setTimeout("document.getElementById('" + pObject.dommId + "').src='" + pObject.selectUrl + "';",100)
// } else {
img.setAttribute('src', pObject.selectUrl)
// }
// img.setAttribute('alt', "loading")
 var thumbLink = document.createElement("a");
						thumbLink.href="javascript:void(0)"
						thumbLink.id="askerThumbLink" + pObject.index
						thumbLink.className="resultThumbLink"
						thumbLink.setAttribute("title",pObject.title)
						var theId=pObject.imageId
						var theDomId=pObject.dommId
						var theIndex=pObject.index
						thumbLink.onclick=function(){ 
								addImageToSelectedBox(theIndex);
						 } 
						 						thumbLink.onmousedown=function(){ 
								pressThumbDown(theIndex);
						 } 
						 
						 						thumbLink.onmouseup=function(){ 
								pressThumbUp(theIndex);
						 } 
				thumbLink.onmouseover=function() {
						 ddrivetip("Click here to select and hold this image.", 300);
							}
				thumbLink.onmouseout=function(){
								hideddrivetip()
							}

						 						 thumbLink.appendChild(img)
									//			 img=null
										 
return thumbLink
}
function makeViewIcon(pDomId,pId) {
// create icon
var viewImage = document.createElement('IMG');
viewImage.setAttribute('src', viewIconImage.src);
viewImage.setAttribute('border', '0');
viewImage.className="iconClass"
// create link
var viewLargeLink = document.createElement("a");
						// thumbLink.setAttribute("rel", "lightbox");
						viewLargeLink.href="javascript:void(0)"
						viewLargeLink.id="askerThumbViewIcon" + pDomId
						viewLargeLink.className="thumbViewIcon"
						viewLargeLink.setAttribute("title","View Large Image Link")
						var theId=this.imageId
						viewLargeLink.onclick=function(){ 
								viewImageLarge(pId);
						 } 
				viewLargeLink.onmouseover=function() {
						 ddrivetip("Click here to view this image full size.", 300);
							}
				viewLargeLink.onmouseout=function(){
								hideddrivetip()
							}
viewLargeLink.appendChild(viewImage)
return viewLargeLink
}

function makeDownloadIcon(pDomId,pId,pLevel) {
// create icon
var downloadImage = document.createElement('IMG');
downloadImage.setAttribute('src', downloadIconImage.src);
downloadImage.setAttribute('border', '0');
downloadImage.className="iconClass"
// create link
var downloadLink = document.createElement("a");
						downloadLink.href = "http://easygome.com/getsecureimagelarge.asp?iid=" + pId + "&sss=" + pLevel
						downloadLink.setAttribute("target","downloadFrame")
						downloadLink.id="thumbDownloadIcon" + pDomId
						downloadLink.className="thumbDownloadIcon"
						downloadLink.setAttribute("title","Download Large Image")
					downloadLink.onmouseover=function() {
						 ddrivetip("Click here to download this image - original size.", 300);
							}
					downloadLink.onmouseout=function(){
								hideddrivetip()
							}
downloadLink.appendChild(downloadImage)
return downloadLink

}
function showDriveTip() {
ddrivetip('More info will be in this tip box soon.', 300);
}
function makeInfoIcon(pDomId,pId,pTitle) {
// create icon
var infoImage
infoImage = document.createElement('IMG');
infoImage.setAttribute('src', infoIconImage.src);
infoImage.setAttribute('border', '0');
infoImage.className="iconClass"
// create link
var infoLink = document.createElement("a");
						// thumbLink.setAttribute("rel", "lightbox");
						infoLink.href="javascript:void(0)"
						infoLink.id="thumbInfoIcon" + pDomId
						infoLink.className="thumbInfoIcon"
					//	infoLink.setAttribute("title","View Image Details")
					var tTitle=pTitle
					if (tTitle.length>50) {
						tTitle=tTitle.substring(0,50)
						}
						infoLink.onclick=function(){ 
								loadModelPage("http://easygome.com/photo-sharing/portable-image-editor.asp?si=" + pId,tTitle,650,500)
						 } 
						 infoLink.onmouseover=function() {
						 ddrivetip("Click to view details information about this image.", 300);
							}
							infoLink.onmouseout=function(){
								hideddrivetip()
							}
infoLink.appendChild(infoImage)
return infoLink
}	
function makeSelectedThumb() {

						var thumbContainer=document.createElement("SPAN");
						thumbContainer.className="selectedThumbContainer"
						thumbContainer.id=this.selectedLinkNodeId
							thumbContainer.appendChild(makeSelectedLink(this))
							return thumbContainer
			}
			

function makeSelectedLink(pObject) {

var img = document.createElement('IMG');
img.setAttribute('src', pObject.selectUrl);
img.className="selectedItemImage"
img.id=this.selectedDommId
 var thumbLink = document.createElement("a");
						// thumbLink.setAttribute("rel", "lightbox");
						thumbLink.href = "javascript:void(0)"
						thumbLink.id="selectedThumbLink" + pObject.index
						thumbLink.className="selectedThumbLink"
						thumbLink.setAttribute("title",pObject.title)
						var theId=pObject.imageId
						var theDomId=pObject.dommId
						var theIndex=pObject.index
						thumbLink.onclick=function(){ 
								removeImageFromSelectedBox(theId);
						 } 
						thumbLink.onmousedown=function(){ 
								pressThumbDown(theIndex);
						 } 
						 
					thumbLink.onmouseup=function(){ 
								pressThumbUp(theIndex);
						 } 
						thumbLink.onmouseover=function() {
						 ddrivetip("Click to remove this held image.", 300);
							}
							thumbLink.onmouseout=function(){
								hideddrivetip()
							}
						 thumbLink.appendChild(img)
return thumbLink
}

function viewImageLarge(imgId) {
var str="http://easygome.com/imgs/imgLarge" + imgId + ".jpg"
showLightbox(str,"BDBP image viewer:") 
// showLightbox(objHref,objTitle)
}
function downloadLargeImage() {
window.open('http://easygome.com/getsecureimagelarge.asp?iid=" & pImageIndex & "&sss=" & securityLevel & "');
}
function addAllToSourceList(pObjectArray,pListName) {

	var i
	for (i=0;i<pObjectArray.length;i++) {
		if (pObjectArray[i].selectState==0) {
	pObjectArray[i].addToList(pListName,pObjectArray[i].index,pObjectArray[i].label)
	}
	
	}

}


function addMatchingToList(pObjectArray,pListName,pMatchText) {

	var i
//	alert(pObjectArray.length)
	var mText=pMatchText.toUpperCase()
	for (i=0;i<pObjectArray.length;i++) {
	var tempText=pObjectArray[i].label.toUpperCase()
	//. alert("searching for:" + mText)
	// alert("keyword:" + tempText)
	if (pObjectArray[i].selectState!=2) {
	if (tempText.indexOf(mText)==0) {
	//pObjectArray[i].addToList(pListName,pObjectArray[i].index,pObjectArray[i].label)
	pObjectArray[i].selectState=0
	} else {
	// if (pObjectArray[i].selectState<1) {
	// pObjectArray[i].selectState=5
	pObjectArray[i].selectState=1
	// }
	}
	}
	}
}
var listOpRunning=0
function clearKeywordTargetList() {
var pTargetListName="keywordSourceList"
var pSourceListName="keywordTargetList"
	var pItemArray=loadedTags
	
  var source=document.getElementById(pSourceListName);
  for(var i=(source.options.length - 1); i >= 0; i--) {
			var tempItem=pItemArray[getItemIndexByItemId(pItemArray,source.options[i].value)]
			source.options[i]=null;
			tempItem.selectState=0
  }
  clearOptionList(pTargetListName)
  addAllToSourceList(pItemArray,pTargetListName)


}
function addToList(pListName,pItemValue,pItemLabel) {
		var selList=document.getElementById(pListName)
		selList.options[selList.options.length]=new Option(pItemLabel,pItemValue)
		}
		
		function clearOptionList(pListName) {
	var i
	var tList=document.getElementById(pListName)
	for (i=(tList.options.length-1);i>=0;i--) {
		tList.options[i]=null
	}
}

function addSelectedItems(pItemArray,pSourceListName,pTargetListName) {
  var source=document.getElementById(pSourceListName);
  for(var i=(source.options.length - 1); i >= 0; i--) {
    if(source.options[i].selected){
			var tempItem=pItemArray[source.options[i].value]
			tempItem.addToList(pTargetListName,tempItem.id,tempItem.label)
			source.options[i]=null;
			tempItem.selectState=2
			}
  }
}

function checkForSubLinkToggle() {
	  var source=document.getElementById("keywordSourceList");
	  var somethingSelected=false
  for(var i=(source.options.length - 1); i >= 0; i--) {
    if(source.options[i].selected){
		somethingSelected=true
			}
  }
  if (somethingSelected==true) {
  	document.getElementById("loadSubLink").style.display="block"
  } else {
  	document.getElementById("loadSubLink").style.display="none"
  }
  return
}
var listOpRunning=0
function removeSelectedItems(pItemArray,pSourceListName,pTargetListName) {
	listOpRunning=1
  var source=document.getElementById(pSourceListName);
  for(var i=(source.options.length - 1); i >= 0; i--) {
    if(source.options[i].selected){
			var tempItem=pItemArray[getItemIndexByItemId(pItemArray,source.options[i].value)]
			source.options[i]=null;
			tempItem.selectState=0
			}
  }
  clearOptionList(pTargetListName)
  addAllToSourceList(pItemArray,pTargetListName)
  listOpRunning=0
}
function getSelectedKeywordsList() {
	var i
	var selList=""
	var source=document.getElementById("keywordTargetList");
	for (i=0;i<source.options.length;i++) {
	if (selList!="") {
	selList+="@@"
	}
	selList+=source.options[i].value + "--" + source.options[i].text
	}
	return selList
}
function removeAllHeldItems() {
var i
	if (selectedImageItems) {
	for (i=0;i<selectedImageItems.length;i++) {
		var tempImageId=selectedImageItems[i].imageId
		if (arImages) {
			if (isPicLoaded(tempImageId)) {
				arImages[getItemIndexByImageId(arImages,tempImageId)].selectState=0
			}
		}
	document.getElementById("heldImageHolder").removeChild(document.getElementById(selectedImageItems[i].selectedLinkNodeId))
	}
	selectedImageItems=null
	}
}

function removeAllResultItems() {
var i
	if (arImages) {
	for (i=0;i<arImages.length;i++) {
		var tempImageId=arImages[i].imageId
	//document.getElementById("heldImageHolder").removeChild(document.getElementById(arImages[i].selectedLinkNodeId))
	var itemSourceNode=document.getElementById("resultThumbContainer" + arImages[i].index)
	if (itemSourceNode) {
	document.getElementById("resultImagesHolder").removeChild(itemSourceNode)
	}
	}
	arImages=null
	}
}

var lastLookupText=""
var lastTagSearchValue=""		
function checkTagSearchInput() {
var lastTextCount
var sText
var inLoadedSet=false
var letterCount

var lastLookupTextLength
if (lastLookupText) {
lastLookupTextLength=lastLookupText.length
} else {
lastLookupTextLength=0
}

	if (listOpRunning==0) {
	// document.pageForm.tagSearchInput.disabled=true;
	listOpRunning=1
	// alert(lastTagSearchValue)
	if (lastTagSearchValue!="") {
		lastTextCount=lastTagSearchValue.length
	} else {
	lastTextCount=0
	}
	
sText=document.getElementById("tagSearchInput").value.toUpperCase()

if (sText.length>0) {
letterCount=sText.length
} else {
letterCount=0
}

if (letterCount>0) {
	letterCount=sText.length
	if (lastLookupTextLength>0) {

	if (lastLookupText==sText.substring(0,lastLookupTextLength)) {
		inLoadedSet=true
	}
}
	if (inLoadedSet && loadedTags != null) {
	filterLoadedTags(loadedTags,"keywordSourceList",sText)
	} else {
	if (letterCount>lastTextCount) {
		if (letterCount==1 || loadedTags == null) {
		loadKeywordSet(sText)
		}else{
		filterLoadedTags(loadedTags,"keywordSourceList",sText)
		}
	} else {
		
		if (sText.toUpperCase().indexOf(lastTagSearchValue.toUpperCase())>=0 && loadedTags!=null) {
			filterLoadedTags(loadedTags,"keywordSourceList",sText)
		} else {
			loadKeywordSet(sText)
		}
	
	}
	}
	if (lastTextCount>0) {
	lastTagSearchValue=sText
	}
} else {
	clearOptionList("keywordSourceList")
	listOpRunning=0
}

lastTagSearchValue=sText
	//document.pageForm.tagSearchInput.disabled=false;
}
}

function filterLoadedTags(pObjectArray,pListName,pMatchText) {
clearOptionList("keywordSourceList")
addMatchingToList(pObjectArray,pListName,pMatchText)
		addAllToSourceList(pObjectArray,"keywordSourceList")
		listOpRunning=0
}
var docwidth
var docheight
var scroll_top
var scroll_left


function sizeSections() {
// --

getHW()
getWindowData()
var hRemove
if (document.all) {
hRemove=40
} else{
hRemove=2
}
 document.getElementById("mainPageTable").style.height=Math.round(getBrowHeight()*.99-hRemove,0) + "px"
//document.getElementById("titleContainerCell").style.height=Math.round(docheight*.06,0) + "px"
// document.getElementById("keywordContainerCell").style.height=Math.round(docheight*.05,0) + "px"
// document.getElementById("sortOrderContainerCell").style.height=Math.round(docheight*.05,0) + "px"
// document.getElementById("imageOwnerContainerCell").style.height=Math.round(docheight*.05,0) + "px"

document.getElementById("imageHolderContainerCell").style.height="140px"
document.getElementById("heldImageHolderCell").style.height="120px"
document.getElementById("resultImagesHolder").style.height=(getBrowHeight()-280-hRemove) + "px"
document.getElementById("heldImageHolder").style.width=Math.round(docwidth*.98,0) + "px"
}
// unility UI funcitons
   function getBrowHeight() {
   	var browserHeight
      if( typeof( window.innerHeight ) == 'number' ) {
  
          browserHeight = window.innerHeight;
   
      } else {
  
          browserHeight = document.documentElement.clientHeight;
 		
      }
	  return browserHeight
	  }
function checkForDissable(pValue) {
	var objText=document.getElementById("tagSearchInput")
	var objDrop=document.getElementById("keywordSourceList")
	if (objDrop) {
	if (pValue>2) {
	objText.style.visibility="hidden"
	objDrop.style.visibility="hidden"
	} else {
	objText.style.visibility="visible"
	objDrop.style.visibility="visible"
	}
}
}
function getWindowData(){ //get window data
	var ie=document.all && !window.opera
	var domclientWidth=document.documentElement && parseInt(document.documentElement.clientWidth) || 100000 //Preliminary doc width in non IE browsers
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
	scroll_top=(ie)? standardbody.scrollTop : window.pageYOffset
	scroll_left=(ie)? standardbody.scrollLeft : window.pageXOffset
	docwidth=(ie)? standardbody.clientWidth : (/Safari/i.test(navigator.userAgent))? window.innerWidth : Math.min(domclientWidth, window.innerWidth-16)
	docheight=(ie)? standardbody.clientHeight: window.innerHeight
}
var heightB
var widthB
function getHW() {
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth)
	{
	if (screen.width) {
		w=screen.width
		h=screen.height
	} else {
		//strict mode
		if(!(document.documentElement.clientWidth == 0))
		{
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	}
	//w3c
	else
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	heightB=h
	widthB=w
//	return {width:w,height:h};
}
function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function URLencode(sStr) {
    return escape(sStr)
       .replace(/\+/g, '%2B')
          .replace(/\"/g,'%22')
             .replace(/\'/g, '%27')
				.replace(/\//g, '%2F');
  }

function showKeyBusy() {
	var container=document.getElementById("selectBackDiv")
	var busyObject=document.getElementById("keywordBusyBox")
	showBusy(busyObject,container,80,50)
}
function showKeyBusyOff() {
	var busyObject=document.getElementById("keywordBusyBox")
	hideBusy(busyObject)
}
function showImagesBusy() {
	var container=document.getElementById("resultImagesHolder")
	var busyObject=document.getElementById("imagesBusyBox")
	showBusy(busyObject,container,20,75)
}
function showImagesBusyOff() {
	var busyObject=document.getElementById("imagesBusyBox")
	hideBusy(busyObject)
	return
}
function showBusy(pObject,pContainer,pYoffset,pXoffset) {

	var yCont=yPos(pContainer)
	var xCont= xPos(pContainer)
		
	pObject.style.top=parseInt(yCont + pYoffset) + "px"
	pObject.style.left=parseInt(xCont + pXoffset) + "px"
	
	pObject.style.display="block"
}


function xPos(obj) {
var x = obj.offsetLeft
while (obj = obj.offsetParent) x += obj.offsetLeft
return x
}

function yPos(obj) {
var x = obj.offsetTop
while (obj = obj.offsetParent) x += obj.offsetTop
return x
}

function hideBusy(pObject) {
	pObject.style.display="none"

}

