// JavaScript Document
<!--

function getHTTPObject() {
	var xhr = false;
	if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	} else if (window.XMLHttpRequest) {
		try {
			xhr = new XMLHttpRequest();
		} catch(e) {
			xhr = false;
		}
	}
	return xhr;
}

function loadProject(id, pid) {
	var request = getHTTPObject();
	
	var url = "http://www.candacecrowe.com/assets/scripts/load_project.php";
	var params = "cid="+id+"&sample="+pid;
	request.open("POST", url, true);
	
	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	request.setRequestHeader("Content-length", params.length);
	request.setRequestHeader("Connection", "close");
		
	if (request) {
		var gallery = document.getElementById("gallerycontainer");
		loader = document.getElementById("loadimg");
		
		var imgholder = document.getElementById("imgholder");
		var oldimage = document.getElementById("projectimage");
		var imgheight = oldimage.offsetHeight;
		
		var desctext = document.getElementById("desc");
		// empty old description
		desctext.innerHTML = "";
		
		var sublinks = document.getElementById("sublinks");
		if(document.getElementById("urlholder")){
			var urlholder = document.getElementById("urlholder");
		}
		
		request.onreadystatechange = function() {
			if(request.readyState == 1) { 
				loader.style.display = "block"; 
				loader.style.height = imgheight+"px";
				oldimage.style.visibility = "hidden";
			}
			if(request.readyState == 2) {
				loader.style.display = "block"; 
				loader.style.height = imgheight+"px";
				oldimage.style.visibility = "hidden";
			}
			if(request.readyState == 3) {
				loader.style.display = "block"; 
				loader.style.height = imgheight+"px";
				oldimage.style.visibility = "hidden";
			}
			if(request.readyState == 4) {
				if (request.status == 200) {
					var response = request.responseText;
					if(response){
						// split the vars
						var data = response.split("*#*#*#*");
						for(var i=0; i<data.length; i++){
							var temp = data[i].split("*****");
							if(temp[0] == "pagetitle"){ document.title = temp[1]; }
							if(temp[0] == "newimg"){ 
								var newimg = temp[1];
							}
							if(temp[0] == "title"){ var newtitle = temp[1]; }
							if(temp[0] == "desc"){ var newdesc = temp[1]; }
							if(temp[0] == "linkcounter"){ var counter = temp[1]; }
							if(temp[0] == "url"){ 
								if(temp[1].length > 1){
									var newurl = temp[1]; 
								}
							}
						}
						
						desctext.innerHTML = newdesc;
						
						// sub links
						if(counter > 1){
							if(sublinks){
								sublinks.parentNode.removeChild(sublinks);
							}
							sublinks = document.createElement("p");
							sublinks.setAttribute("id","sublinks");
							sublinks.setAttribute("class","right sample_link");
							var str = document.createElement("strong");
							var str_text = document.createTextNode("view more: ");
							str.appendChild(str_text);
							sublinks.appendChild(str);
							str.setAttribute("class","bluetext");
							
							for(var i=1; i<=counter; i++){
								var newlink = document.createElement("a");
								newlink.setAttribute("href","?cid="+id+"&sample="+i);
								var linktext = document.createTextNode(" " + i + " ");
								if(i == pid){
									var spanselect = document.createElement("span");
									spanselect.setAttribute("class","selected");
									spanselect.appendChild(linktext);
									newlink.appendChild(spanselect);
								}else{
									newlink.appendChild(linktext);
								}
								sublinks.appendChild(newlink);
							
							}
							// insertAfter();
							imgholder.parentNode.insertBefore(sublinks,imgholder);
						}else {
							if(sublinks){
								sublinks.parentNode.removeChild(sublinks);
							}
						}
												
						// update url link
						if(urlholder){
							urlholder.parentNode.removeChild(urlholder);
						}
						
						if(newurl){
							// create url node
							var url = document.createElement("p");
							url.setAttribute("id","urlholder");
							url.setAttribute("class","right sample_link");
							
							var url_str = document.createElement("strong");
							var url_span = document.createElement("span");
							url_span.setAttribute("class","bluetext");
							var span_text = document.createTextNode("\u00a0\u00BB\u00a0\u00a0"); // \u00BB == unicode for &raquo;
							
							var u_link = document.createElement("a");
							if(newurl.substr(0,7) != "http://"){
								newurl = "http://"+newurl;
							}
							u_link.setAttribute("href",newurl);
							u_link.setAttribute("target","_blank");
							var u_text = document.createTextNode("launch website");
							
							u_link.appendChild(u_text);
							url_span.appendChild(span_text);
							url_str.appendChild(u_link);
							url_str.appendChild(url_span);
							url.appendChild(url_str);
							insertAfter(url,imgholder);
						}
						
						// remove the old image
						imgholder.removeChild(oldimage);
						
						// replace image
						newimage = document.createElement("img");
						newimage.setAttribute("src",newimg);
						newimage.setAttribute("alt",newtitle);
						newimage.setAttribute("id","projectimage");
						var isadded = imgholder.insertBefore(newimage,loader);
						if(isadded){
							imageInterval = setInterval("isImageLoaded()",500);
						}
						projectSubLinks();
					}
				}
			}
		};
		
		request.send(params);
		// request.open("GET", "assets/scripts/load_project.php?cid="+id+"&sample="+pid, true);
		// request.send(null);
	}
}

var loader;
var newimage;
var imageInterval;

function isImageLoaded(){
	if(newimage.complete){
		clearInterval(imageInterval);
		loader.style.display = "none";
	}
}

function removeAllChildren(ele){
	if ( ele.hasChildNodes() )
	{
		while ( ele.childNodes.length >= 1 )
		{
			ele.removeChild( ele.firstChild );       
		} 
	}
}

function updateEleNode(target, data){
		removeAllChildren(target);
		target.appendChild(data);
	// check that the target node is, in fact, a text node
	if(target.firstChild.nodeType == 3){
	}else{
		return false;
	}
}

function prepareLinks(links){
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			projectLoadLinks(this);
			return false;
		}
	}
}

function projectLoadLinks(links){
			var id = null;
			var pid = null;
			var mylink = links.getAttribute("href");
			mylink = mylink.split("?");
			if(mydata = mylink[1].split("&")){
				var data1 = mydata[0];
			}else{
				var data1 = mydata;	
			}
			data1 = data1.split("=");
			if(data1[0] == "cid"){
				id = data1[1];
			}else {
				pid = data1[1];
			}
			if(mydata[1]){
				var data2 = mydata[1];
				data2 = data2.split("=");
				if(data2[0] == "cid"){
					id = data2[1];
				}else {
					pid = data2[1];
				}
			}
			if(pid == null){ pid = 1; }
			loadProject(id, pid);
			return false;	
}

function projectSubLinks(){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("sublinks")) return false;
	var gallery = document.getElementById("sublinks");
	var links = gallery.getElementsByTagName("a");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			projectLoadLinks(this);
			return false;
		}
	}
	return false;
}

function prepareThumbs(){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("folio_nav")) return false;
	
	var thumbs = document.getElementById("folio_nav");
	var links = thumbs.getElementsByTagName("a");
	prepareLinks(links);
}

addLoadEvent(prepareThumbs);
addLoadEvent(projectSubLinks);
//-->