var dragsort = ToolMan.dragsort()
var junkdrawer = ToolMan.junkdrawer()

function startup(){
		makeExistingListImagesAvailable();
		updateListItems();
		templateset();
		dragsort.makeListSortable(document.getElementById("boxes"),saveOrder);
			if (location.search != ""){
				var x = location.search.substr(1).split(";");
				for (var i=0; i<x.length; i++){
					var y = x[i].split("=");
					if(y[0] == "message") alert (unescape(y[1]));
				}
			}
		buildImageSet();
}

function isInteger(s){
	var n = trim(s);
	return n.length > 0 && !(/[^0-9]/).test(n);
}


var Obj;
function ToolTip(obj,con,x,y){
	obj = document.getElementById("thumbnailtable");
	Obj=document.getElementById('Pop');
	Obj.innerHTML=con;
//	Obj.style.left=zxcPos(obj)[0]-100+'px';
//	Obj.style.top=zxcPos(obj)[1]+50+'px';
	Obj.style.visibility='visible';
//	alert(zxcPos(obj)[0]+" "+zxcPos(obj)[1]+" "+zxcPos(obj)[2]+" "+zxcPos(obj)[3]);
}

function Hide(){
 Obj.style.visibility='hidden';
}

function zxcPos(zxcobj){
 zxclft=zxcobj.offsetLeft;
 zxctop=zxcobj.offsetTop;

 while(zxcobj.offsetParent!=null){
  zxcpar=zxcobj.offsetParent;
 // zxclft+=zxcpar.offsetLeft;
  zxctop+=zxcpar.offsetTop;
  zxcobj=zxcpar;
 }
/*
 if (op5) {
	xPos = zxcobj.style.pixelWidth;
	yPos = zxcobj.style.pixelHeight;
 } else {	
 	xPos = zxcobj.offsetWidth;
 	yPos = zxcobj.offsetHeight;
 }
 return [zxclft,zxctop,zxcwide,zxchigh];
*/
 return [zxclft,zxctop];
}

			function makeExistingListImagesAvailable(){
				if(document.getElementById("imagelist").value != ""){
					url = "js/project_functions.php?available_images=" + document.getElementById("imagelist").value;
					if (window.XMLHttpRequest) { // Non-IE browsers
					  reqAvail = new XMLHttpRequest();
					  reqAvail.onreadystatechange = targetDivAvail;
					  try {
						reqAvail.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  reqAvail.send(null);
					} else if (window.ActiveXObject) { // IE
					  reqAvail = new ActiveXObject("Microsoft.XMLHTTP");
					  if (reqAvail) {
						reqAvail.onreadystatechange = targetDivAvail;
						reqAvail.open("GET", url, true);
						reqAvail.send();
				
					  }
					}
				}
			}

			function targetDivAvail() {  // send folder contents to page
				if (reqAvail.readyState == 4) { // Complete
				  if (reqAvail.status == 200) { // OK response
					  document.getElementById("available_images").value = reqAvail.responseText;
				  } else {
				  }
				}
			} 

			function addEntireFolder(folder) {  // select a folder and display it's contents
//				var folder= document.forms[0].folderselection.value
			    alert("Depending on how many photos are loading, this may take a moment.\n\nPlease be patient.\n ");
				if(folder=="0" || !folder) folder="unsorted";
				url = "js/project_functions.php?addfolder=" + folder;
				if (window.XMLHttpRequest) { // Non-IE browsers
				  reqAEF = new XMLHttpRequest();
				  reqAEF.onreadystatechange = targetDiv7;
				  try {
					reqAEF.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  reqAEF.send(null);
				} else if (window.ActiveXObject) { // IE
				  reqAEF = new ActiveXObject("Microsoft.XMLHTTP");
				  if (reqAEF) {
					reqAEF.onreadystatechange = targetDiv7;
					reqAEF.open("GET", url, true);
					reqAEF.send();
			
				  }
				}
			}

			function targetDiv7() {  // send folder contents to page
				if (reqAEF.readyState == 4) { // Complete
					  if (reqAEF.status == 200) { // OK response
					  	  imagesdisplay(reqAEF.responseText);
						  var added_images = reqAEF.responseText.split("|");
						  var qty = added_images.length;
						  for(i=1; i<qty; i++){
//						  	imagedisplay(added_images[i],"noprompt");
						  }
//						  document.getElementById("imagearray").innerHTML = req.responseText;
//						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder)
					  } else {
//						  document.getElementById("imagearray").innerHTML = req.statusText;
					  }
				}
			} 

			function imageset(s) {  // select a folder and display it's contents
				var folder= document.forms[0].folderselection.value
				url = "js/project_functions.php?folder=" + folder
				if (window.XMLHttpRequest) { // Non-IE browsers
				  req = new XMLHttpRequest();
				  req.onreadystatechange = targetDiv;
				  try {
					req.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  req.send(null);
				} else if (window.ActiveXObject) { // IE
				  req = new ActiveXObject("Microsoft.XMLHTTP");
				  if (req) {
					req.onreadystatechange = targetDiv;
					req.open("GET", url, true);
					req.send();
			
				  }
				}
			}

			function targetDiv() {  // send folder contents to page
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
						  document.getElementById("imagearray").innerHTML = req.responseText;
						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder)
					  } else {
						  document.getElementById("imagearray").innerHTML = req.statusText;
					  }
				}
			} 

			function styleset(s){
				current = document.forms[0].templateselection.value
				url = "js/project_functions.php?templatestyles=" + current
				if (window.XMLHttpRequest) { // Non-IE browsers
				  req = new XMLHttpRequest();
				  req.onreadystatechange = targetDivStyles;
				  try {
					req.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  req.send(null);
				} else if (window.ActiveXObject) { // IE
				  req = new ActiveXObject("Microsoft.XMLHTTP");
				  if (req) {
					req.onreadystatechange = targetDivStyles;
					req.open("GET", url, true);
					req.send();
			
				  }
				}
			}

			function targetDivStyles() {  // send folder contents to page
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
						  document.getElementById("templatestyles").innerHTML = req.responseText;
//						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder)
					  } else {
						  document.getElementById("templatestyles").innerHTML = req.statusText;
					  }
				}
			} 

			function templateset(s) {  // select a folder and display it's contents
				current = document.forms[0].package_selection.value
				url = "js/project_functions.php?packageselection=" + current
				if (window.XMLHttpRequest) { // Non-IE browsers
				  req = new XMLHttpRequest();
				  req.onreadystatechange = targetDiv5;
				  try {
					req.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  req.send(null);
				} else if (window.ActiveXObject) { // IE
				  req = new ActiveXObject("Microsoft.XMLHTTP");
				  if (req) {
					req.onreadystatechange = targetDiv5;
					req.open("GET", url, true);
					req.send();
			
				  }
				}
			}
			
			function templateDescription(s){
				document.getElementById("templatemouseover").innerHTML = s
			}

			function templateset2(s) {  // select a folder and display it's contents
				url = "js/project_functions.php?packageselection=" + s
				document.forms[0].templateselection.value = s
				if (window.XMLHttpRequest) { // Non-IE browsers
				  req = new XMLHttpRequest();
				  req.onreadystatechange = targetDiv5;
				  try {
					req.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  req.send(null);
				} else if (window.ActiveXObject) { // IE
				  req = new ActiveXObject("Microsoft.XMLHTTP");
				  if (req) {
					req.onreadystatechange = targetDiv5;
					req.open("GET", url, true);
					req.send();
			
				  }
				}
			}

			function targetDiv5() {  // send folder contents to page
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
					  	  var packages_info = req.responseText.split("||");
						  document.forms[0].package_info.value = packages_info[0];
						  document.forms[0].next_package_selection.value = packages_info[1];
						  document.forms[0].previous_package_selection.value = packages_info[3];
						  document.forms[0].next_package_info.value = packages_info[2];
						  updateListItems()
						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder)
					  } else {
						  document.forms[0].package_info.value = req.statusText;
					  }
				}
			} 


			function imagesdisplay(imageid) {

					// build current list array
					var imagelist = document.forms[0].imagelist.value;
					var image_array = imagelist.split("|");
					
					// build adding list array
					var addedimage_array = imageid.split("|");
					var p = 1;

					// rebuild image list, replacing empty image slots with new images
					var new_imagelist = "";
					for(i=1;i<image_array.length;i++){
						var add = image_array[i];
						if(image_array[i] == "" && p < addedimage_array.length){
							var add = addedimage_array[p];
							var p = p + 1;
						}
						var new_imagelist = new_imagelist + "|" + add;
					}
					
					// add any remaining new images to image list
					if(p < addedimage_array.length){
						for(i=p;i<addedimage_array.length;i++){
							var new_imagelist = new_imagelist + "|" + addedimage_array[i];
						}
					}

					// replace existing imagelist with rebuilt list
					var imagelist = new_imagelist;
								
						if(document.forms[0].package_info.value != "") imagelist = applyTemplate(imagelist);
						document.forms[0].imagelist.value = imagelist;
						updateListItems();
/*						url = "js/project_functions.php?image=" + imagelist;
						if (window.XMLHttpRequest) { // Non-IE browsers
						  req = new XMLHttpRequest();
						  req.onreadystatechange = targetDiv2;
						  try {
							req.open("GET", url, true);
						  } catch (e) {
							alert(e);
						  }
						  req.send(null);
						} else if (window.ActiveXObject) { // IE
						  req = new ActiveXObject("Microsoft.XMLHTTP");
						  if (req) {
							req.onreadystatechange = targetDiv2;
							req.open("GET", url, true);
							req.send();
					
						  }
						}
*/			}

			function imagedisplay(imageid,noprompt) {
					var imagelist = document.forms[0].imagelist.value;
					var imagearray = imagelist.split("|");
					var imagecount = imagearray.length;
					
					if(imageid=='this'){
						imageid = document.getElementById("titlecopy").value;
						document.getElementById("titlecopy").value = "";
						if(imageid == ""){
							alert("Please enter title text.");
						}else{
							alert("The title \"" + imageid + "\" has been added to the end of your project.");
						}
					}
					
					
					if(noprompt){
						var add=true
					}else{
						for(i=1;i<imagecount;i++){ if(imagearray[i] == imageid) var exists=true }
						if(exists){		var add = confirm('This slide has already been added.  Do you want to add it again?'); }
						else{			var add=true }
					}
					
					if(imageid == "") var add = false;
					
					if(add){
						
						var image_array = imagelist.split("|");		
						var emptyspot = "no";
						for(i=1;i<image_array.length;i++){
							if(emptyspot == "no" && image_array[i] == ""){ var emptyspot = i; } 
						}

						if(emptyspot == "no" || !isInteger(imageid)){
							var	imagelist = imagelist + "|" + imageid;
						}else{
							var new_image_list = "";
							for(i=1;i<image_array.length;i++){
								if(emptyspot == i){
									new_image_list = new_image_list + "|" + imageid;
								}else{
									new_image_list = new_image_list + "|" + image_array[i];
								}
							}
							var imagelist = new_image_list
						}
					
//						imagelist = imagelist + "|" + imageid
						if(document.forms[0].package_info.value != "") imagelist = applyTemplate(imagelist);
						document.forms[0].imagelist.value = imagelist
						updateListItems();
					}
			}

			function titleedit(imageid) {
				var answer=prompt("Please enter new title text.");
//				var answer=answer.replace("'","&#39");
				if(answer){
					var imagelist = document.forms[0].imagelist.value;
					var imagearray = imagelist.split("|");
					var imagecount = imagearray.length
					var rebuild = ""
					for(i=1;i<imagecount;i++){
							if(i == imageid){
								rebuild += "|" + answer
							}else{
								rebuild += "|" + imagearray[i]
							}
					}
					if(document.forms[0].package_info.value != "") rebuild = applyTemplate(rebuild);
					document.forms[0].imagelist.value = rebuild
					updateListItems();
/*					url = "js/project_functions.php?image=" + rebuild
					if (window.XMLHttpRequest) { // Non-IE browsers
					  req = new XMLHttpRequest();
					  req.onreadystatechange = targetDiv6;
					  try {
						req.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  req.send(null);
					} else if (window.ActiveXObject) { // IE
					  req = new ActiveXObject("Microsoft.XMLHTTP");
					  if (req) {
						req.onreadystatechange = targetDiv6;
						req.open("GET", url, true);
						req.send();
				
					  }
					}
*/				}
			}

			function imageremove(position) {
			
				var c = confirm('Are you sure you want to remove this slide?');
				
				if(c){
					var imagelist = document.forms[0].imagelist.value;
					var imagearray = imagelist.split("|");
					var imagecount = imagearray.length
					var rebuild = ""
					for(i=1;i<imagecount;i++){
							if( !(i == position) ) rebuild += "|" + imagearray[i]
					}
					if(document.forms[0].package_info.value != "") rebuild = applyTemplate(rebuild);
					document.forms[0].imagelist.value = rebuild;
					updateListItems();
/*					url = "js/project_functions.php?image=" + rebuild
					if (window.XMLHttpRequest) { // Non-IE browsers
					  req = new XMLHttpRequest();
					  req.onreadystatechange = targetDiv6;
					  try {
						req.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  req.send(null);
					} else if (window.ActiveXObject) { // IE
					  req = new ActiveXObject("Microsoft.XMLHTTP");
					  if (req) {
						req.onreadystatechange = targetDiv6;
						req.open("GET", url, true);
						req.send();
				
					  }
					}
*/				}
			}

			function targetDiv6() {
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
						  document.getElementById("selectedimage").innerHTML = req.responseText;
						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder);
						  document.form[0].titlechange.focus();
					  } else {
						  document.getElementById("selectedimage").innerHTML = req.statusText;
					  }
				}
			} 

			function targetDiv2() {
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
						  document.getElementById("selectedimage").innerHTML = req.responseText;
						  runStats();
						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder);
					  } else {
						  document.getElementById("selectedimage").innerHTML = req.statusText;
					  }
				}
			} 


			function isInteger(s) {
				return (s.toString().search(/^-?[0-9]+$/) == 0);
			}

			function runStats(){
				var imagelist = document.forms[0].imagelist.value;
				var image_array = imagelist.split("|");
				var template = document.forms[0].package_info.value;
				var template_array = template.split("|");
				var template_name = template_array[0];
				var template_images = parseFloat(template_array[1]);
				var template_titles = parseFloat(template_array[3]);
				
				var next_template = document.forms[0].next_package_info.value;
				var next_template_array = next_template.split("|");
				var next_template_images = parseFloat(next_template_array[1]);
				var next_template_titles = parseFloat(next_template_array[3]);
				
				if(!template_images) template_images = "-";
				if(!template_titles) template_titles = "-";
				var image_images = 0;
				var image_titles = 0;
				for(i=1;i<image_array.length;i++){
					if(isInteger(image_array[i]) || image_array[i] == ""){
						if(image_array[i] != "") image_images++;
					}else{
						image_titles++;
					}
				
				}
				if(template_array[2] == "no"){
					if(image_images>template_images){ image_images=template_images; }
					var image_limit = template_images;
				}else{
					var image_limit = "-";
				}
				if(template_array[4] == "no"){
					if(image_titles>template_titles){ image_titles=template_titles; }
					var title_limit = template_titles;
				}else{
					var title_limit = "-";
				}
				
				var extra_images = 0;
				var image_cost = 0;
				if(image_images>template_images) var extra_images = image_images-template_images;
				var image_cost = image_cost + (extra_images * document.getElementById("imagecost").value);
				
				var extra_titles = 0;
				var title_cost = 0;
				if(image_titles>template_titles) var extra_titles = image_titles-template_titles;
				var title_cost = title_cost + (extra_titles * document.getElementById("titlecost").value);
				
				var current_cost = parseFloat(template_array[6]) + image_cost + title_cost;
				
				var boldout = "";
				if(current_cost > parseFloat(next_template_array[6])){ var boldout = " style=\"font-weight:bold;color:red;\" "; var upgradeAlert =  true;}
				
				var tablename = "Value Watch";
				var tablestart = "<table class=\"stats\" style=\"font-size:10pt;\"><tr class=\"stats\"><td colspan=\"5\" align=\"center\"><b>"+tablename+"</b></td></tr>";
				var tableheaders = "<tr><td width=\"120px\">&nbsp;</td><td align=\"right\"  width=\"70\">Images</td><td align=\"right\" width=\"50\">Titles</td><td align=\"right\" width=\"50\">DVDs</td><td align=\"right\" width=\"50\">Price</td></tr>";
				var nextpackage = "<tr><td>" + next_template_array[0] + "</td><td align=\"right\">" + next_template_images + "</td><td align=\"right\">" + next_template_titles + "</td><td align=\"right\">" + next_template_array[5]+ "</td><td align=\"right\">$" + next_template_array[6] + "</td></tr>";
				var currentcontents = "<tr"+boldout+"><td>Current Project</td><td align=\"right\">" + image_images + "</td><td align=\"right\">" + image_titles + "</td><td align=\"right\">" + template_array[5] + "</td><td align=\"right\">$" + current_cost + "</td></tr>";
				var currentpackage = "<tr><td>" + template_array[0] + "</td><td align=\"right\">" + template_images + "</td><td align=\"right\">" + template_titles + "</td><td align=\"right\">" + template_array[5] + "</td><td align=\"right\">$" + template_array[6] + "</td></tr>";
				var tableend = "<tr><td colspan=\"5\" align=\"right\"><a href=\"javascript:downgrade();\" id=\"order_button3\">Move Down</a>&nbsp;&nbsp;<a href=\"javascript:upgrade();\" id=\"order_button2\">Upgrade</a></td></tr></table><span id=\"lighter\">extra image = $" + document.getElementById("imagecost").value + " | extra title = $" + document.getElementById("titlecost").value + "</span>";
				var comments = tablestart + tableheaders + nextpackage + currentcontents + currentpackage + tableend;

			    document.getElementById("orderstats").innerHTML = comments;
				var alertText = "Based on your current project, you might save money upgrading to the " + next_template_array[0] + ".\n\nSee the '"+tablename+"' box above for more information.";
				if(upgradeAlert) alert(alertText);
			}
			
			function upgrade(){
				document.forms[0].previous_package_selection.value = document.forms[0].package_selection.value;
				document.forms[0].package_selection.value = document.forms[0].next_package_selection.value;
				templateset();				
			}

			function downgrade(){
				document.forms[0].package_selection.value = document.forms[0].previous_package_selection.value;
				templateset();				
			}

			function  applyTemplate(build){
				imagelist = build;
				var template = document.forms[0].package_info.value;
				var image_array = imagelist.split("|");
				var image_array_length =  image_array.length;
				var template_array = template.split("|");
			    document.getElementById("package_description").innerHTML = template_array[0] + " ";
				var template_array_length = template_array.length;
				template_images = parseFloat(template_array[1]);
				template_titles = parseFloat(template_array[3]);
				tiles = template_images+template_titles;
				var last_image = 1;
				var last_string = 1;
				var rebuild = "";
				var template_sequence = "";
				if(build == ""){
					for(i=1;i<=tiles;i++){ // build template sequence
						set='false';
						for(t=1;t<=template_titles;t++){
							var position = 6 + t;
							if(template_array[position] == i){
								template_sequence = template_sequence + "|" + template_array[6 + template_titles + t];
								set='true';
							}
						}
						if(set == 'false') template_sequence = template_sequence + "|image";
					}
					template_sequence_array = template_sequence.split("|");
					for(i=1;i<=tiles;i++){
						value="";
						if(template_sequence_array[i] == "image"){ // image tile
							stopvalue="";
							for(t=last_image;t<image_array.length;t++){
								if(isInteger(image_array[t]) && !stopvalue){
									value=image_array[t];
									last_image=t+1;
									stopvalue=true;
								}
							}
						}else{ // title tile
							stopvalue="";
							for(t=last_string;t<image_array.length;t++){
								if(image_array[t] && !isInteger(image_array[t]) && !stopvalue){
									value=image_array[t];
									last_string=t+1;
									stopvalue=true;
								}
							}
							if(!stopvalue){
								last_string=image_array.length
								value=template_sequence_array[i];
							}
						}
						rebuild = rebuild + "|" + value
					}

					if(template_array[2] == "yes"){
						for(i=last_image;i<image_array.length;i++){
							if(isInteger(image_array[i])){
								value=image_array[i]
								rebuild = rebuild + "|" + value 
							}
						}
					}
					document.getElementById("imagelist").value = rebuild;
					document.getElementById("titleaddition").innerHTML = '<span id="headerspan">Add a Title</span><br /><br /><input type="text" name="titlecopy" id="titlecopy"> <a href="javascript:imagedisplay(\'this\');" id="order_button">Add</a></span>';
					runStats();
					return rebuild;
				}else{
					document.getElementById("titleaddition").innerHTML = '<span id="headerspan">Add a Title</span><br /><br /><input type="text" name="titlecopy" id="titlecopy"> <a href="javascript:imagedisplay(\'this\');" id="order_button">Add</a></span>';
					runStats();
					return build;
				}
			}

			function buildImageSet(s){
				if(!s) var s = document.getElementById("imagesource");
				var imageset = s.value;
				if(imageset=='memorybank'){
					displayFolders();
				}else{
					document.getElementById("foldermenu").innerHTML = '<input type="hidden" name="folderselection" id="folderselection" value="">';
				}
				document.getElementById("imagearray").innerHTML = "<div id=\"sets\"><span id=\"headerspan\">Add Pictures</span><br /><br /><b>Loading Images...</b><br /><br /></div>";
				url = "js/project_functions.php?feature=buildImageSet&source=" + imageset;
				if (window.XMLHttpRequest) { // Non-IE browsers
				  reqbis = new XMLHttpRequest();
				  reqbis.onreadystatechange = targetDivBIS;
				  try {
					reqbis.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  reqbis.send(null);
				} else if (window.ActiveXObject) { // IE
				  reqbis= new ActiveXObject("Microsoft.XMLHTTP");
				  if (reqbis) {
					reqbis.onreadystatechange = targetDivBIS;
					reqbis.open("GET", url, true);
					reqbis.send();
			
				  }
				}
			}

			function targetDivBIS() {  // send folder contents to page
				if (reqbis.readyState == 4) { // Complete
					  if (reqbis.status == 200) { // OK response
						  var image_info = reqbis.responseText.split("||");
						  document.getElementById("available_images").value = document.getElementById("available_images").value + image_info[0];
						  document.getElementById("imagearray").innerHTML = image_info[1];
						  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder);
					  } else {
						  document.getElementById("imagearray").innerHTML = reqbis.statusText;
					  }
				}
			} 

			function buildFolderImageSet(s){
				url = "js/project_functions.php?feature=buildImageSet&source=memorybank&folder=" + s.value;
				if (window.XMLHttpRequest) { // Non-IE browsers
				  req = new XMLHttpRequest();
				  req.onreadystatechange = targetDiv;
				  try {
					req.open("GET", url, true);
				  } catch (e) {
					alert(e);
				  }
				  req.send(null);
				} else if (window.ActiveXObject) { // IE
				  req = new ActiveXObject("Microsoft.XMLHTTP");
				  if (req) {
					req.onreadystatechange = targetDiv;
					req.open("GET", url, true);
					req.send();
			
				  }
				}
			}

			function updateListItems() {
					var imagelist = document.forms[0].imagelist.value;
					var build = imagelist;
					if(document.forms[0].package_info.value != "") build = applyTemplate(build);

					var array_build = "<ul id=\"boxes\">";
					var project_array = build.split("|");
					var avail_images = document.getElementById("available_images").value.split("|");
					var image_ct = 1;	
					var found = "no";

					for(i=1;i<project_array.length;i++){
						if(project_array[i] == "" ){
								var array_build = array_build + "<li class=\"boxes_image\" id=\""+i+"\"><br />Add Image "+image_ct+"</li>";
								var image_ct = image_ct+1;
						}else if(isInteger(project_array[i])){
								for(t=1;t<avail_images.length;t++){
									if( (avail_images[t] == project_array[i]) && found == "no"){
										var array_build = array_build + "<li class=\"boxes_image\" id=\""+i+"\"><img src=\""+avail_images[t+1]+"\" /><br  clear=\"all\" /><a id=\"order_button2\" href=\"javascript:imageremove('"+i+"');\">remove</a></li>";
										var found = "yes";
									}
								}
								var found = "no";
								var image_ct = image_ct+1;
						}else{
								var array_build = array_build + "<li class=\"boxes_title\" id=\""+i+"\"><br />"+project_array[i]+"<br /><br clear=\"all\" /><a id=\"order_button2\" href=\"javascript:titleedit('"+i+"');\">edit</a><a id=\"order_button2\" href=\"javascript:imageremove('"+i+"');\">remove</a></li>";
						}
					}
					var array_build = array_build + "</ul>";
				  document.getElementById("selectedimage").innerHTML = array_build;
				  runStats();
				  dragsort.makeListSortable(document.getElementById("boxes"),saveOrder);

/*					
					url = "js/project_functions.php?image=" + build;
					if (window.XMLHttpRequest) { // Non-IE browsers
					  req = new XMLHttpRequest();
					  req.onreadystatechange = targetDiv2;
					  try {
						req.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  req.send(null);
					} else if (window.ActiveXObject) { // IE
					  req = new ActiveXObject("Microsoft.XMLHTTP");
					  if (req) {
						req.onreadystatechange = targetDiv2;
						req.open("GET", url, true);
						req.send();
				
					  }
					}
*/			}

			function updateList(sequence) {
					var imagelist = document.forms[0].imagelist.value;
					if(document.forms[0].package_info.value != "") imagelist = applyTemplate(imagelist);
					url = "js/project_functions.php?image=" + imagelist + "&sequence=" + sequence;
					if (window.XMLHttpRequest) { // Non-IE browsers
					  req = new XMLHttpRequest();
					  req.onreadystatechange = targetDiv3;
					  try {
						req.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  req.send(null);
					} else if (window.ActiveXObject) { // IE
					  req = new ActiveXObject("Microsoft.XMLHTTP");
					  if (req) {
						req.onreadystatechange = targetDiv3;
						req.open("GET", url, true);

						req.send();
				
					  }
					}
			}
			
			function targetDiv3() {
				if (req.readyState == 4) { // Complete
					  if (req.status == 200) { // OK response
						  document.forms[0].imagelist.value = req.responseText;
					  		updateListItems()
					  } else {
						  document.forms[0].imagelist.value = req.statusText;
					  }
				}
			} 
			
			function displayFolders(){
					url = "js/project_functions.php?feature=displayFolders";
					if (window.XMLHttpRequest) { // Non-IE browsers
					  req2 = new XMLHttpRequest();
					  req2.onreadystatechange = targetDiv12;
					  try {
						req2.open("GET", url, true);
					  } catch (e) {
						alert(e);
					  }
					  req2.send(null);
					} else if (window.ActiveXObject) { // IE
					  req2 = new ActiveXObject("Microsoft.XMLHTTP");
					  if (req2) {
						req2.onreadystatechange = targetDiv12;
						req2.open("GET", url, true);
						req2.send();
				
					  }
					}				
			}

			function targetDiv12() {
				if (req2.readyState == 4) { // Complete
					  if (req2.status == 200) { // OK response
						  document.getElementById("foldermenu").innerHTML = req2.responseText;
					  } else {
						  document.getElementById("foldermenu").innerHTML = req2.statucText;
					  }
				}
			} 





function confirm_save()
{
	/*if ( dont_ask == false )
	{
		input_box=confirm("Would you like to save?");
		if (input_box==true)
		{ 
			junkdrawer.inspectListOrder(\'boxes\');
		}
	}*/
}
		
function getAnchorPosition(anchorname) {
        // This function will return an Object with x and y properties
        var useWindow=false;
        var coordinates=new Object();
        var x=0,y=0;
        // Browser capability sniffing
        var use_gebi=false, use_css=false, use_layers=false;
        if (document.getElementById) { use_gebi=true; }
        else if (document.all) { use_css=true; }
        else if (document.layers) { use_layers=true; }
        // Logic to find position
        if (use_gebi && document.all) {
                x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
                y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
                }
        else if (use_gebi) {
                var o=document.getElementById(anchorname);
                x=AnchorPosition_getPageOffsetLeft(o);
                y=AnchorPosition_getPageOffsetTop(o);
                }
        else if (use_css) {
                x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
                y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
                }
        else if (use_layers) {
                var found=0;
                for (var i=0; i<document.anchors.length; i++) {
                        if (document.anchors[i].name==anchorname) { found=1; break; }
                        }
                if (found==0) {
                        coordinates.x=0; coordinates.y=0; return coordinates;
                        }
                x=document.anchors[i].x;
                y=document.anchors[i].y;
                }
        else {
                coordinates.x=0; coordinates.y=0; return coordinates;
                }
        //coordinates.x=x;
        //coordinates.y=y;
        coordinates=y;
        return coordinates;
        }

// getAnchorWindowPosition(anchorname)
//   This function returns an object having .x and .y properties which are the coordinates
//   of the named anchor, relative to the window
function getAnchorWindowPosition(anchorname) {
        var coordinates=getAnchorPosition(anchorname);
        var x=0;
        var y=0;
        if (document.getElementById) {
                if (isNaN(window.screenX)) {
                        x=coordinates.x-document.body.scrollLeft+window.screenLeft;
                        y=coordinates.y-document.body.scrollTop+window.screenTop;
                        }
                else {
                        x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
                        y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
                        }
                }
        else if (document.all) {
                x=coordinates.x-document.body.scrollLeft+window.screenLeft;
                y=coordinates.y-document.body.scrollTop+window.screenTop;
                }
        else if (document.layers) {
                x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
                y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
                }
        coordinates.x=x;
        coordinates.y=y;
        return coordinates;
        }

// Functions for IE to get position of an object
function AnchorPosition_getPageOffsetLeft (el) {
        var ol=el.offsetLeft;
        while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
        return ol;
        }
function AnchorPosition_getWindowOffsetLeft (el) {
        return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
        }       
function AnchorPosition_getPageOffsetTop (el) {
        var ot=el.offsetTop;
        while((el=el.offsetParent) != null) { ot += el.offsetTop; }
        return ot;
        }
function AnchorPosition_getWindowOffsetTop (el) {
        return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
        }

	/*function verticalOnly(item) {
		item.toolManDragGroup.verticalOnly()
		}
	function speak(id, what) {
		var element = document.getElementById(id);
		element.innerHTML = \'Clicked \' + what;
	}
	*/
	function saveOrder(item) {
		var group = item.toolManDragGroup
		var list = group.element.parentNode
		var id = list.getAttribute("id")
		if (id == null) return
		group.register('dragend', function() {
			ToolMan.cookies().set("list-" + id, 
					junkdrawer.serializeList(list), 365)
		})
	}

function placeOrder(){

	var confirmation = checkImageCount();
	if(confirmation > 0){ var imageConfirm = confirm("You have room for " + confirmation + " more images. Would you like to place an order any way?"); }
	else{ var imageConfirm = true; }
	
	if(imageConfirm){
		var confirmation = checkGenericTitles();
		if(!confirmation) var confirmation = confirm("One or more titles has generic text.\n\nClick OK to use generic text.\nClick CANCEL to make changes.\n ");
		if(confirmation){
			document.getElementById("available_images").value = "";
			document.forms[0].projectorder.click();
		}
	}
}

function saveProject(){
	document.getElementById("available_images").value = "";
	document.forms[0].saveproject.click();
}

function saveProject(){
	document.getElementById("available_images").value = "";
	document.forms[0].saveproject.click();
}

function deleteProject(){
	document.forms[0].deleteproject.click();
}

function exitProject(){
	var confirmation = confirm("If you exit without saving, all projress will be lost?\n\nDo you want to exit now?")
	if(confirmation == true){
		document.getElementById("available_images").value = "";
		document.forms[0].exitProject.click();
	}
}

function checkImageCount(){

	var imagelist = document.forms[0].imagelist.value
	var image_array = imagelist.split("|")
	var template = document.forms[0].package_info.value
	var template_array = template.split("|")
	var template_images = parseFloat(template_array[1])
	if(!template_images) return 0;
	var image_images = 0
	for(i=1;i<image_array.length;i++){
		if(isInteger(image_array[i])) image_images++
	}
	return template_images-image_images

}

function checkGenericTitles(){

				var contents = document.forms[0].imagelist.value;
				var content_array = contents.split("|");

				var template = document.forms[0].package_info.value
				var template_array = template.split("|")
				var template_images = parseFloat(template_array[1])
				var template_titles = parseFloat(template_array[3])
				var tiles = template_images+template_titles
				for(i=1;i<=content_array.length;i++){
					for(t=1;t<=template_titles;t++){
						var position = 4 + t;
						if( (template_array[4 + template_titles + t]) == (content_array[i]) ) return false;
					}
				}
				return true;
}


function couponInfo(){
	url = "js/project_functions.php?feature=couponLegit&code=" + document.getElementById("couponcode").value
	if (window.XMLHttpRequest) { // Non-IE browsers
	  reqc = new XMLHttpRequest();
	  reqc.onreadystatechange = targetDivCoupon;
	  try {
		reqc.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  reqc.send(null);
	} else if (window.ActiveXObject) { // IE
	  reqc = new ActiveXObject("Microsoft.XMLHTTP");
	  if (reqc) {
		reqc.onreadystatechange = targetDivCoupon;
		reqc.open("GET", url, true);
		reqc.send();

	  }
	}				
}

function targetDivCoupon() {
	if (reqc.readyState == 4) { // Complete
	  if (reqc.status == 200) { // OK response
		  document.getElementById("couponstatus").innerHTML = reqc.responseText;
	  } else {
		  document.getElementById("couponstatus").innerHTML = reqc.statucText;
	  }
	}
} 


