var el;
var currentPicIndex = 0;
var thumbCount;
var thispage;
var pages = new Hash(); //caching hash
var intervalId;

function preloadImage(el, src) {
	new Ajax.Request(src,
	{
		method:'get',
		onSuccess: function(transport, src){
		},
		onFailure: function(src){ 
			loadingImages.unset(src);
		}
	});
}

function displayImage(src) {
	src = parseInt(src);
	$('bigOne').src="/images/"+thispage.template+"/"+thispage.images[src];
	currentPicIndex = src;
}

function displayPage(loc, noFades) {
//display "loading"
	if (loc == 'journal')
	{
		document.location.href="/journal/";
		clearInterval(intervalId);
	} else if (pages[loc])
	{
		drawPage(pages[loc]);
	} else {
		new Ajax.Request("/" + loc + "?json",
		{
			method:'get',
			onSuccess: function(transport){
				var json = transport.responseText.evalJSON(true);
				//fadeOut content
				//load images
				//load content
				thispage = json;
				pages[thispage.location] = thispage;
				drawPage(thispage);
			},
			onFailure: function(){
				document.location.hash = "#/"+thispage.location;
				displayPage("weddings", true);
				//intervalId = setInterval(watchHist, 100); 
				//window.alert('Something went wrong...'); 
			}
		});
	}
}

function drawPage(page) {
		thispage = page;
		thispage.location = page.location;
		thispage.title = page.title; 

		replaceNavImages(page.location);
		intervalId = setInterval(watchHist, 100);
		try {
			document.getElementsByName('slideshow')[0].showAlbum(thispage.location);
		} catch(e) {
			document.getElementsByName('slideshow')[0].src="/images/slideshow.swf?album="+thispage.location;
		} finally {
		
		}
//		$('ieHist').src="/"+page.location+"?iframe";

		$('contentText').className = page.template;
		if (page.ownHandler) {
			$('contentText').innerHTML = page.generatedContent;		
		} else {
			$('contentText').innerHTML = page.content;
		}
		$('contentTextFooter').innerHTML = page.footerContent;
//		location = '#'+page.location;
		if (page.title.length > 0) {
			document.title = "Three Words by James Day - "+page.title+" - Inspired Wedding and Portrait Photography";
		} else {
			document.title = "Three Words by James Day - Inspired Wedding and Portrait Photography";
		}

		if (page.location == '')
		{
			$('logo').src="/images/logo-large.gif";
			$('contentContainer').style.backgroundColor = "#FFFFFF";
			$('bottomHr').style.display = 'none';
		} else {
			$('logo').src="/images/logo-small.gif";
			$('contentContainer').style.backgroundColor = "#EBE7DF";
			$('bottomHr').style.display = 'block';
		}
		
		//apply changes
		//update history
		//fadeIn content

		//update images
		if (page.images == null) {
			$('gallery').style.display = 'none';
		} else {
			$('gallery').style.display = 'block';
			/*$('thumbnails').innerHTML = "";
			
			$('bigOne').style.display = 'block';
			for (var i = 0; i < page.images.size(); i++) {
				if (i == 0) {
					$('bigOne').src = "/images/"+page.template+"/"+page.images[i];
					currentPicIndex = 0;
				}
				var newElA = document.createElement("a");
				newElA.href="javascript:displayImage('"+i+"')";
				var newElImg = document.createElement("img");
				newElImg.src="/images/thumbnails/"+page.template+"/"+page.images[i]+"";
				$('thumbnails').appendChild(newElA);
				newElA.appendChild(newElImg);
			}*/
		}
                if (thispage.location == 'about') {
                        try {
                                document.getElementsByName('audio')[0].playSpeech();
                        } finally {
                        }
                }
		
		if (thispage.location == 'about') {
			jQuery(function() {
				// bind to the comment form
				jQuery('#commentform').bind('submit', ajax_comments.onsubmit);
			});
		}

}

function currentPageLocation() {
	return thispage.location;
}

function changeNavLinks(ela) {
//	window.alert("Blah "+ela.tagName);
	if (ela.tagName=='A') {
//		window.alert("yaya "+ela.childElements()[0].id);
		if ((ela.childElements()[0].id != "") && (ela.childElements()[0].id != "journal"))
		{
			ela.href="#/"+ela.childElements()[0].id;
		}
	} else {
//		window.alert(ela.childElements());
		for (var i = 0; i < ela.childElements().size(); i++) {
			changeNavLinks(ela.childElements()[i]);
		}
	}
}

function changeThumbLinks(ela) {
/*
//	window.alert("Blah "+ela.tagName);
	if (ela.tagName=='A') {
//		window.alert("hi1");
		ela.href = "javascript:displayImage('"+thumbCount+"');";
		thumbCount++;
	} else {
//		window.alert(ela.childElements());
		for (var i = 0; i < ela.childElements().size(); i++) {
			changeThumbLinks(ela.childElements()[i]);
		}
	}
*/
}

function nextPic() {
	if (currentPicIndex < thispage.images.size() - 1)
	{
		currentPicIndex++;
	} else {
		currentPicIndex = 0;
	}
	$('bigOne').src = "/images/"+thispage.template+"/"+thispage.images[currentPicIndex];
	$('thumbnails').scrollLeft = Math.floor(currentPicIndex /9) * 603;

}

function next() {
	$('thumbnails').scrollLeft += 603;
}

function prev() {
	$('thumbnails').scrollLeft -= 603;
}

//oldLocation = "/<?php echo $page->location; ?>";
function watchHist() {
	if ((location.hash) && (location.hash != '#')) {
		var newLocation;
		newLocation = location.hash.split('#/')[1];
		if( (newLocation !== thispage.location) && (newLocation !== undefined)) {
//			$('ieHist').src="/"+newLocation+"?iframe";
			displayPage(newLocation, true);
			clearInterval(intervalId);
/*		} else {
			var currentLocation = window.frames['ieHist'].document.body.innerHTML.stripTags().strip();
			if (currentLocation != thispage.location) {
				window.alert(currentLocation+thispage.location);
		//		$('ieHist').src="/"+currentLocation+"?iframe";
				displayPage(currentLocation, true);
			}
*/
		}
	
	}
}
intervalId = setInterval(watchHist, 100);

function init3w() {
//	window.alert("hi");
	thumbCount = 0;
	changeNavLinks($('nav'));
//	changeThumbLinks($('thumbnails'));
	$('logoLink').href="#/weddings";
//	$('bigOneLink').href="javascript:nextPic();";
//	$('thumbnails').style.overflowX = "hidden";
//	$('thumbNav').style.display = "block";
}

function replaceNavImages(activeLink) {
	var names = Array("weddings","portraits","about","videos","engage");
	names.each(function(linkname) {
		document.getElementsByName(linkname)[0].src="/images/"+linkname+".gif";
		document.getElementsByName(linkname)[0].oSrc="/images/"+linkname+".gif";
	});

	document.getElementsByName(activeLink)[0].src="/images/"+activeLink+"_f2.gif";
	document.getElementsByName(activeLink)[0].oSrc="/images/"+activeLink+"_f2.gif";
}


//FIREWORKDS CODE
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
