var gstype_id = 0;
var gimage_id;

function updateFloorplanSizes(stype_id)	{
	gstype_id = stype_id;
	clickNewImage()
}

function clickNewElevation(image_id)	{
	gimage_id = image_id;
	image_index = get_index(gimage_id);
	clickNewImage()
}

function clickNewImage() {
// alert("clickNewImage:" + image_id);
	var scroll = false;
	requestNewImage(gimage_id, gstype_id, scroll)
}

function requestNewImage(image_id, stype_id, scroll) {
	showit("loading");
	frames[0].colorImage(image_id);
	var oXmlHttp = zXmlHttp.createRequest();
	oXmlHttp.open("get", "elevation_info.php?image_id="+image_id+"&stype_id="+stype_id, true);
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				saveResult(oXmlHttp.responseText, image_id, scroll);
			} else {
				saveResult("An error occurred: " + oXmlHttp.statusText);
			}
		}            
	};
	oXmlHttp.send(null);        
}

function updateInterest(image_id, add, type, pc) {
	var divImage;
	var idtext = "addremovemessage";
	if (pc > 0)	{
		idtext += pc;
	}
	divImage = document.getElementById(idtext);
	divImage.innerHTML = "updating......"; 
	var oXmlHttp2 = zXmlHttp.createRequest();
	oXmlHttp2.open("get", "update_interest.php?image_id="+image_id+"&add="+add+"&type="+type, true);
	oXmlHttp2.onreadystatechange = function () {
		if (oXmlHttp2.readyState == 4) {
			if (oXmlHttp2.status == 200) {
				saveResult2(oXmlHttp2.responseText, pc);
			} else {
				saveResult2("An error occurred: " + oXmlHttp2.statusText, pc);
			}
		}            
	};
	oXmlHttp2.send(null);        
}
        
function saveResult(sMessage, image_id, scroll) {
// alert("scroll " + scroll);
	var mresults = sMessage.split("####");
	var results = mresults[0].split("::::");
	var divImage;
	// first do elevation
	divImage = document.getElementById("imageinfo");
	divImage.innerHTML = results[0]; 
	divImage = document.getElementById("imagetext");
	divImage.innerHTML = results[1]; 
	divImage = document.getElementById("imageinterest");
	divImage.innerHTML = results[2]; 
	divImage = document.getElementById("addremovemessage");
	divImage.innerHTML = ""; 
	// now do floorplans
	divImage = document.getElementById("floorplanshtml");
	divImage.innerHTML = mresults[1]; 
	hideit("loading");
	if (scroll)		{
// alert("scroll to " + image_id);
		frames[0].scrollImage(image_id);
	}
}

function saveResult2(sMessage, pc) {
	var divImage;
	var idtext = "addremovemessage";
	if (pc > 0)	{
		idtext += pc;
	}
// alert("ID:"+idtext);
	divImage = document.getElementById(idtext);
	divImage.innerHTML = sMessage; 
}

function reload(htype, stype)  {
// alert(ptype+":"+htype+":"+stype);
  destination = "floorplans.php?htype_id=" + htype + "&stype_id=" + stype;
  window.location.href = destination;
}

var image_array = new Array();
var image_index = 0;
var slideshow_active = false;
var mode;
function navigate(where)	{
	var scroll = true;
	if(image_array.length == 0)	{
		requestNewImage( 0, gstype_id, scroll);
		return;
	}
	if (where == 1)	{
		image_index++;
		if (image_index >= image_array.length)	{
			image_index = 0;
		}
	}
	else if (where == -1)	{
		image_index--;
		if (image_index < 0)	{
			image_index = image_array.length - 1;
		}
	}
	else if (where == 0)	{
		image_index = 0;
	}
	else if (where == 2)	{
		image_index = image_array.length - 1;
	}
	requestNewImage(image_array[image_index], gstype_id, scroll);
}

function toggle_slideshow(type)	{
	if (slideshow_active == true)	{
		slideshow_active = false;
		mode=0;
	}
	else	{
		slideshow_active = true;
		mode=1;
		play_slideshow(type);
	}
}

function play_slideshow(type)	{
	if (slideshow_active)	{
		navigate(+1, type)
		setTimeout("play_slideshow(" + type + ");", 3000);
	}
	else	{
		return;
	}
}

function get_index(image_id)  {
  for (var ix = 0; ix < image_array.length; ix++)  {
    if (image_array[ix] == image_id)  {
      return ix;
    }
  }
  return 0;
}

function addElevation(id)  {
//  alert ("Add Elevation Id " + id);
  updateInterest(id, 1, "el", 0);
}

function removeElevation(id)  {
//  alert ("Remove Elevation Id " + id);
  updateInterest(id, 0, "el", 0);
}

function addPlan(id, pc)  {
//  alert ("Add Elevation Id " + id);
  updateInterest(id, 1, "fp", pc);
}

function removePlan(id, pc)  {
//  alert ("Remove Elevation Id " + id);
  updateInterest(id, 0, "fp", pc);
}
