
function getHTTPObject() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xhr = false;
			}
		}
	}
	return xhr;
}


function addLoadEvent(myfunc)
{
	if(window.addEventListener)
		window.addEventListener('load', myfunc, false);
	else if(window.attachEvent)
		window.attachEvent('onload', myfunc);
}

//function addLoadEvent(func) {
//
//	var browserName=navigator.appName; // Get the Browser Name 
//
//	var oldonload = window.onload;
//	if (typeof window.onload != 'function') {
//		window.onload = func;
//	} else {
//		window.onload = function() {
//			if (oldonload) {
//				oldonload();
//			}
//			func();
//		}
//	}
//	
//}

function HTMLStack() {
	var a = [100];
	var i = 0;
	this.pushHTML = function(html) {
		i = i+1;
		a[i] = html;
	};
	this.popHTML = function() {
		rtnHTML = a[i];
		i = i-1;
		return rtnHTML;
	};
	this.peekHTML = function() {
		return a[i];
	};
}

function showhomepic(imageid) {

	runSlidesNow = false;	/* Disable Automatic Image Changes */

	if (document.getElementById("img_main_image")) {

		var objHTTP = getHTTPObject();

		if (!objHTTP) {
			return false;
		}

		//objHTTP.onreadystatechange = function() {
		//		changehomepic(objHTTP, imageid);
		//	};
		
		objHTTP.open('GET', "xmlhttp_getimageinfo.asp?id=" + imageid, false);
		objHTTP.send(null);

		if (objHTTP.status == 200) {
			changehomepic(objHTTP, imageid);
		}

		return true;

	} else {

		return false;

	}

}

function changehomepic(objHTTP, imageid) {

	var saveThumbSrc

	runSlidesNow = false;	/* Disable Automatic Image Changes */

	if (objHTTP.readyState == 4) {

		if (objHTTP.status == 200 || objHTTP.status == 304) {
	
			if (!objHTTP.responseText == '') {

				var strResults = objHTTP.responseText;
				var arrResults = strResults.split("\t");

				imgelement = document.getElementById("img_main_image");
				imglink = document.getElementById("a_main_image_link");
				morelink = document.getElementById("a_morelikethis");
				nextlink = document.getElementById("a_shownext");
				prevlink = document.getElementById("a_showprev");

				if (imgelement.filters) { //if browser supports IE filters and it is defined on the object
					if (imgelement.filters[0]) {
						imgelement.filters[0].apply();
						imgelement.src=arrResults[0];
						imgelement.filters[0].play()
					} else {
						imgelement.src=arrResults[0];
					}
				} else {
					imgelement.setAttribute("src", arrResults[0]);
				}

				document.title = arrResults[1];

				nextImageID = arrResults[5]  /* Load Global Var */
				prevImageID = arrResults[6]  /* Load Global Var */
				currentImageID = arrResults[7]  /* Load Global Var */
				firstImageID = arrResults[8]  /* Load Global Var */
				
				if (arrResults[5] != '0') {
					imgelement.setAttribute("alt", "Click for previous photo");
					imglink.setAttribute("href", "default.asp?i=" + arrResults[5]);
					imglink.onclick = function() {if(showhomepic(arrResults[5])){return false}else{return true};} ;
				} else {
					imgelement.setAttribute("alt", "This is the first photo in the gallery\rClick to display the most recent photo");
					imglink.setAttribute("href", "default.asp");
					imglink.onclick = "";
				}

				imgelement = document.getElementById("td_main_image_desc");

				if (window.IsDBMaintMode) {
					if (IsDBMaintMode) {
						imgelement.innerHTML = '<a href="" class="homeimagenavlink" title="Click to maintain this item\'s data..." onclick="ShowImageDataForm(' + arrResults[7] + ');return false">' + arrResults[1] + '</a>&nbsp;&nbsp;&nbsp;' + arrResults[2];
					} else {
						imgelement.innerHTML = arrResults[1] + '&nbsp;&nbsp;&nbsp;' + arrResults[2];
					}
				} else {
					imgelement.innerHTML = arrResults[1] + '&nbsp;&nbsp;&nbsp;' + arrResults[2];
				}

				imgelement = document.getElementById("td_main_image_links");

				if (!arrResults[3] == '') {
					morelink.onclick = "" ;
					morelink.setAttribute("href", escape(arrResults[3]));
					if (!arrResults[11] == '') {
						morelink.innerHTML = arrResults[11];
					} else {
						morelink.innerHTML = "More Like This";
					}
				} else {
					morelink.onclick = function() {return false;} ;
					morelink.setAttribute("href", "");
					morelink.innerHTML = "";
					morelink.className = "homeimagenavlink";
				}

				if (arrResults[5] != 0) {
						if(nextlink) {
								nextlink.onclick = function() {if(showhomepic(arrResults[5])){return false}else{return true};} ;
								nextlink.setAttribute("href", "default.asp?i=" + arrResults[5]);
								//if(nextlink.innerHTML == '') {nextlink.innerHTML = '<img src="images/navright.jpg">';}
								if(nextlink.innerHTML == '') {nextlink.innerHTML = 'Prev&nbsp;&gt;&gt;';}
						}
				} else {
						if(nextlink) {
								nextlink.onclick = "" ;
								nextlink.setAttribute("href", "");
								nextlink.innerHTML = "";
						}
				}

				if (arrResults[6] != 0) {
						if(prevlink) {
								prevlink.onclick = function() {if(showhomepic(arrResults[6])){return false}else{return true};} ;
								prevlink.setAttribute("href", "default.asp?i=" + arrResults[6]);
								//if(prevlink.innerHTML == '') {prevlink.innerHTML = '<img src="images/navleft.jpg">';}
								if(prevlink.innerHTML == '') {prevlink.innerHTML = '&lt;&lt;&nbsp;Next';}
						}
				} else {
						if(prevlink) {
								prevlink.onclick = "" ;
								prevlink.setAttribute("href", "");
								prevlink.innerHTML = "";
						}
				}

//				resetThumbBorders();
//
//				thumblink =  document.getElementById("a_thumb_"+ imageid);
//				thumbimage =  document.getElementById("img_thumb_"+ imageid);
//				if (thumbimage || thumblink) {
//					if (thumbimage.className=='th108') {
//						hw = 'height="104" width="104"';
//					}else{
//						hw = 'height="68" width="68"';
//					}
//					thumblink.innerHTML = '<img ' + hw + ' alt="' + thumbimage.alt + '" id="' + thumbimage.id + '" class="' + thumbimage.className + '" src="' + thumbimage.src + '" bgcolor="#CCCCCC" />'
//				}

				if (window.scrollTo) {window.scrollTo(0,0)};

				runSlidesNow = true;	/* Enable Automatic Image Changes */
				slideCountDown = slideIntervalSeconds;
				return true;

			}

		}

	}

	return false;
	
}

function changepagebody(newHTML) {
	if (document.getElementById("pagebody1")) {
		document.getElementById("pagebody1").innerHTML = newHTML;
	}
}

function savepagebody() {
	if (document.getElementById("pagebody1")) {
		SavedPageBody = document.getElementById("pagebody1").innerHTML;
	}
}

function showCommentForm() {

	if (document.getElementById("td_right_bar_1")) {

		igHS.pushHTML(document.getElementById("a_CommentOpen").outerHTML);		/* Save Comment Link HTML */
		document.getElementById("a_CommentOpen").outerHTML = '<span id="a_CommentOpen" style="color:gray">Comments</span>';
		
		newHTML = '<a id="a_CommentClose" href="comments.asp?a=close" onClick="if (closeCommentForm()){return false}else{return true}">Close</a>'
		document.getElementById("td_imagegallery_hidden").innerHTML = newHTML;

		document.getElementById("td_imagegallery_container").style.display='none';	/* Hide Gallery */
		document.getElementById("td_imagegallery_hidden").style.display='block';		/* Show Form */

		return true;

	}
}

function closeCommentForm() {

	if (document.getElementById("td_imagegallery")) {

		document.getElementById("td_imagegallery_container").style.display='block';	/* Show Gallery */
		document.getElementById("td_imagegallery_hidden").style.display='none';	/* Hide Form */

		document.getElementById("a_CommentOpen").outerHTML = igHS.popHTML();

		return true;

	}
}

function showexampleprint(ImageFileName) {
	var bodyHTML
	if (document.getElementById("pagebody1")) {
		if (ImageFileName == '') {ImageFileName = 'images/example_print_1.jpg';}
		bodyHTML = '<center>Example Print<br>'
		bodyHTML = bodyHTML + '<a href="prints.asp" onclick="if(changepagebody){changepagebody(SavedPageBody);return false}else{return true}"><img alt="example print; click to hide" src="' + ImageFileName + '" /></a><br>'

		if (ImageFileName == 'images/example_print_1.jpg') {
			bodyHTML = bodyHTML + '1&nbsp;&nbsp';
		} else {
			bodyHTML = bodyHTML + '<a href="images/example_print_1.jpg" onclick="showexampleprint(\'images/example_print_1.jpg\');return false">1</a>&nbsp;&nbsp;';
		}

		if (ImageFileName == 'images/example_print_2.jpg') {
			bodyHTML = bodyHTML + '2&nbsp;&nbsp';
		} else {
			bodyHTML = bodyHTML + '<a href="images/example_print_2.jpg" onclick="showexampleprint(\'images/example_print_2.jpg\');return false">2</a>&nbsp;&nbsp;';
		}

		if (ImageFileName == 'images/example_print_3.jpg') {
			bodyHTML = bodyHTML + '3&nbsp;&nbsp';
		} else {
			bodyHTML = bodyHTML + '<a href="images/example_print_3.jpg" onclick="showexampleprint(\'images/example_print_3.jpg\');return false">3</a>&nbsp;&nbsp;';
		}

		if (ImageFileName == 'images/example_print_4.jpg') {
			bodyHTML = bodyHTML + '4&nbsp;&nbsp';
		} else {
			bodyHTML = bodyHTML + '<a href="images/example_print_4.jpg" onclick="showexampleprint(\'images/example_print_4.jpg\');return false">4</a>&nbsp;&nbsp;';
		}

		bodyHTML = bodyHTML + '&nbsp;&nbsp;<a href="prints.asp" onclick="if(changepagebody){changepagebody(SavedPageBody);return false}else{return true}">Hide Example Print</a>'
		bodyHTML = bodyHTML + '<p>(Actual prints are signed.)</p>&nbsp;</center>'
		changepagebody(bodyHTML);
		return true;
	} else {
		return false;
	}
}

function prepThumbLinks() {
	var Links = document.getElementsByTagName("a");
	for (var i=0; i<Links.length; i++) {
		if (Links[i].id.indexOf('a_thumb_') == 0) {
			imgTagID = 'img_thumb_' + Links[i].id.substr(8)
			Links[i].onclick = function() {
				if(showhomepic(this.id.substr(8))){return false}else{return true};
			} ;
		}
	}
}

function CheckSlideChange() {
	
	if (runSlides && runSlidesNow) {
	
		slideCountDown = slideCountDown - 5;
	
		if(slideCountDown <= 0) {

			if (nextImageID != 0) {
				showhomepic(nextImageID);
			} else {
				if (firstImageID != 0) {
					showhomepic(firstImageID);
				}
			}

			slideCountDown = slideIntervalSeconds;
			runSlidesNow = true;
			
		}
		
	}

}

function resetThumbBorders() {
	var images = document.getElementsByTagName("img");
	for (var i=0; i<images.length; i++) {
		if (images[i].id.indexOf('img_thumb_') == 0) {
			if (images[i].className=='th108') {
				images[i].height=108;
				images[i].width=108;
			} else {
				images[i].height=72;
				images[i].width=72;
			}
		}
	}
}

//--------------------------------------------------------------------------

function JS_ltrim(str)
{
  re=/^ +/;
  var newstr=str.replace(re, "");
  return(newstr);
}

function JS_rtrim(str)
{
  re=/ +$/;
  var newstr=str.replace(re, "");
  return(newstr);
}

function JS_trim(str)
{
  var newstr=JS_ltrim(str);
  return(JS_rtrim(newstr));
}

function JS_IsNumeric(sText)
{
   var ValidChars = "0123456789.-";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

// Page Scope Variables

var SavedPageBody = '';
var igHS = new HTMLStack(); /* HTML Stack */
var firstImageID = 0; /* First Image ID to Display Today  */
var nextImageID = 0; /* Image ID After Currently Displayed  */
var prevImageID = 0; /* Image ID Prior to Currently Displayed */
var currentImageID = 0; /* Image ID Prior to Currently Displayed */
var runSlides = true; /* Boolean - Change or Don't Change Images Automatically (Ever) - Switched on by Default.asp */
var runSlidesNow = true; /* Boolean - Change or Don't Change Images Automatically (Right Now) */
var slideIntervalSeconds = 180; /* Use this to Set the Number of Seconds Between Slide Changes - In Multiples of 5 (e.g. 5, 10, 15, 20, etc. */
var slideCountDown = slideIntervalSeconds; /* Begin Countdown for Next Slide Change */

addLoadEvent(prepThumbLinks);

//window.setInterval("CheckSlideChange()", 5000);	/* 5 seconds */

