function small_progress() { 
	return '<img src="images/circle_progress.gif" style="border:none;margin:2px;" />';
}

var Fat = {
	make_hex : function (r,g,b) 
	{
		r = r.toString(16); if (r.length == 1) r = '0' + r;
		g = g.toString(16); if (g.length == 1) g = '0' + g;
		b = b.toString(16); if (b.length == 1) b = '0' + b;
		return "#" + r + g + b;
	},
	fade_all : function ()
	{		
		var a = document.getElementsByTagName("*");
		for (var i = 0; i < a.length; i++) 
		{
			var o = a[i];
			var r = /fade-?(\w{3,6})?/.exec(o.className);
			if (r)
			{
				if (!r[1]) r[1] = "";
				if (o.id) Fat.fade_element(o.id,null,null,"#"+r[1]);
			}
		}
	},
	fade_element : function (id, fps, duration, from, to) 
	{
		if (!fps) fps = 30;
		if (!duration) duration = 3000;
		if (!from || from=="#") from = "#FF0000";
		if (!to) to = this.get_bgcolor(id);
		
		var frames = Math.round(fps * (duration / 1000));
		var interval = duration / frames;
		var delay = interval;
		var frame = 0;
		
		if (from.length < 7) from += from.substr(1,3);
		if (to.length < 7) to += to.substr(1,3);
		
		var rf = parseInt(from.substr(1,2),16);
		var gf = parseInt(from.substr(3,2),16);
		var bf = parseInt(from.substr(5,2),16);
		var rt = parseInt(to.substr(1,2),16);
		var gt = parseInt(to.substr(3,2),16);
		var bt = parseInt(to.substr(5,2),16);
		
		var r,g,b,h;
		while (frame < frames)
		{
			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
			h = this.make_hex(r,g,b);
		
			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);

			frame++;
			delay = interval * frame; 
		}
		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
	},
	set_bgcolor : function (id, c)
	{
		var o = document.getElementById(id);
		o.style.backgroundColor = c;
	},
	get_bgcolor : function (id)
	{
		var o = document.getElementById(id);
		while(o)
		{
			var c;
			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
			if (o.currentStyle) c = o.currentStyle.backgroundColor;
			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
			o = o.parentNode;
		}
		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
		return c;
	}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function pleaseConfirm() {
	if (confirm("Please confirm or cancel this action?")) {return true;}
	else {return false;}
}
function deleteCatWarn() {
	if (confirm("WARNING: Deleting this category will also delete all FAQ's within this category. Click OK to delete this category or Cancel to end this action.")) {return true;}
	else {return false;}
}
function toggleDisplay(objectID) {
	var object = document.getElementById(objectID);
	state = object.style.display;
	if (state == 'none')
		object.style.display = 'block';
	else if (state != 'none')
		object.style.display = 'none'; 
}
function toggleOn(objectID) {
	var object = document.getElementById(objectID);
	object.style.display = 'block';
}
function toggleOff(objectID) {
	var object = document.getElementById(objectID);
	object.style.display = 'none';
}
function setDisplay(objectID,state) {
	var object = document.getElementById(objectID);
	object.style.display = state;
}
function toggleDescription() {
	var v = document.getElementById("b").value;
	if (v == "Show Description") {
		v = "Hide Description";
	} else {
		v = "Show Description";
	}
	document.getElementById("b").value = v;
}		
function toggleText(id, t1, t2) {
	var v = document.getElementById(id).value;
	if (v == t1) {
		v = t2;
	} else {
		v = t1;
	}
	document.getElementById(id).value = v;
}	
function addclientform() {
	document.add_home.add_client_button.disabled = true;
	toggleOn("addclient");
}

function cancel_client() {
	toggleOff("addclient");
	document.add_home.add_client_button.disabled = false;
	document.add_home.client_username.value="";
	document.add_home.client_password.value="";
}

function insert_client() {
	toggleOff("addclient");
	document.add_home.add_client_button.disabled = false;	
	x_insert_client(document.add_home.client_firstname.value, document.add_home.client_lastname.value, document.add_home.client_phone.value, document.add_home.client_email.value, document.add_home.client_username.value, document.add_home.client_password.value, insert_client_cb);
}
function insert_client_cb(z) {
	var x = document.add_home.client.options.length;
	var name = z.substring(0, z.indexOf("|"));
	var id = z.substring(z.indexOf("|")+1, z.lastIndexOf("|"));
	z = z.substring(z.lastIndexOf("|")+1, z.length);
	document.add_home.client.options[x] = new Option(name, id);
	document.add_home.client.options[x].selected = true;
	document.getElementById("addclientmsg").innerHTML = z;
	document.add_home.client_firstname.value="";
	document.add_home.client_lastname.value="";
	document.add_home.client_phone.value="";
	document.add_home.client_password.value="";
	document.add_home.client_email.value="";
	document.add_home.client_username.value="";
	toggleOn("addclientmsg");
	toggleOff("editchangesmsg");
	toggleOff("fpeditchangesmsg");
	Fat.fade_all();
}

function load_logo_into_parent(image, image_name) {
	parent.document.getElementById("image_preview").innerHTML = image;
	parent.document.getElementById("plan_name").innerHTML = "<br />"+image_name;
	parent.document.upload_link.uploaded_image.value = image_name;
}
function load_news_photo_into_parent(image, image_name) {
	parent.document.getElementById("image_preview").innerHTML = image;
	parent.document.getElementById("plan_name").innerHTML = "<br />"+image_name;
	parent.document.upload_news.uploaded_image.value = image_name;
}
function load_gallery_image_into_parent(image, image_name) {
	parent.document.getElementById("image_preview").innerHTML = image;
	parent.document.getElementById("plan_name").innerHTML = "<br />"+image_name;
	parent.document.add_photo.uploaded_image.value = image_name;
}
function load_new_homephoto_into_parent(image, image_name) {
	parent.document.getElementById("image_preview").innerHTML = image+editphotobutton(image_name)+"<br />"+organizebutton("uploaded_images");
	current = parent.document.getElementById("photos").innerHTML;
	ref = "<a href='#' onMouseOver='changethisimage(\""+image_name+"\")'>"+image_name.substring(4)+"</a>";
	parent.document.getElementById("photos").innerHTML = current+"<br />"+ref;
	i = parent.document.add_home.uploaded_images.value;
	parent.document.add_home.uploaded_images.value = i+"|"+image_name;
}
function organize(div) {
	if (div == "uploaded_images") var type = 1; else type = 2;
	var l = document.getElementById(div).value;
	var x = 40 + countInstances(l, "|") * 40;
	window.open("organize_photos.php?type="+type+"&images="+l, '', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=360,height='+x+',left = 200,top = 175');
}
function organized(image_string, type) {
	x_organized(image_string, type, organized_cb);
}
function organized_cb(z) {
	var parts = z.split("?");
	var type = parts[0];
	if (type == 1) {
		document.getElementById("photos").innerHTML = parts[1];
		document.getElementById("uploaded_images").value = parts[2];
	} else {
		document.getElementById("fps").innerHTML = parts[1];
		document.getElementById("uploaded_fp").value = parts[2];
	}
}
function countInstances(string, word) {
  var substrings = string.split(word);
  return substrings.length - 1;
}
function addAfp(v, i) {
	if (v > 0) {	
		var o = document.getElementById("other_fp");
		adjustOptionBox(o, i);
		x_addAfp(v, addAfp_cb);
	}
}
function addAphoto(v, i) {
	if (v > 0) {	
		var o = document.getElementById("other_photo");
		adjustOptionBox(o, i);
		x_addAphoto(v, addAphoto_cb);
	}
}
function addAfp_cb(z) {
	parts = z.split("|");
	var image = parts[0];
	var image_name = parts[1];
	document.getElementById("fp_preview").innerHTML = image+editfpbutton(image_name)+"<br />"+organizebutton("uploaded_fp");
	current = document.getElementById("fps").innerHTML;
	ref = "<a href='#' onMouseOver='changethisfp(\""+image_name+"\")'>"+image_name.substring(4)+"</a>";
	document.getElementById("fps").innerHTML = current+"<br />"+ref;
	i = document.add_home.uploaded_fp.value;
	document.add_home.uploaded_fp.value = i+"|"+image_name;
}
function addAphoto_cb(z) {
	parts = z.split("|");
	var image = parts[0];
	var image_name = parts[1];
	document.getElementById("image_preview").innerHTML = image+editphotobutton(image_name)+"<br />"+organizebutton("uploaded_images");
	current = document.getElementById("photos").innerHTML;
	ref = "<a href='#' onMouseOver='changethisimage(\""+image_name+"\")'>"+image_name.substring(4)+"</a>";
	document.getElementById("photos").innerHTML = current+"<br />"+ref;
	i = document.add_home.uploaded_images.value;
	document.add_home.uploaded_images.value = i+"|"+image_name;
}
function load_new_fp_into_parent(image, image_name) {
	parent.document.getElementById("fp_preview").innerHTML = image+editfpbutton(image_name)+"<br />"+organizebutton("uploaded_fp");
	current = parent.document.getElementById("fps").innerHTML;
	ref = "<a href='#' onMouseOver='changethisfp(\""+image_name+"\")'>"+image_name.substring(4)+"</a>";
	parent.document.getElementById("fps").innerHTML = current+"<br />"+ref;
	i = parent.document.add_home.uploaded_fp.value;
	parent.document.add_home.uploaded_fp.value = i+"|"+image_name;
}
function changethisimage(image) {
	document.getElementById("image_preview").innerHTML = "<img src='../photo_gallery/thumbnails/" + image + "' />"+editphotobutton(image)+"<br />"+organizebutton("uploaded_images");
}
function changethisfp(image) {
	document.getElementById("fp_preview").innerHTML = "<img src='../photo_gallery/thumbnails/" + image + "' />"+editfpbutton(image)+"<br />"+organizebutton("uploaded_fp");
}
function editphotobutton(image) {
	return "<input type='button' value='Edit Image' onClick='editimagedetails(\""+image+"\")' />";
}
function organizebutton(thediv) {
//	return "<input type='button' value='Organize' onClick='organize(\"uploaded_images\")' />";
	return "<input type='button' value='Organize' onClick='organize(\""+thediv+"\")' />";
}
function editfpbutton(image) {
	return "<input type='button' value='Edit Image' onClick='editfpdetails(\""+image+"\")' />";
}
function delete_an_image(image, type, js, div, hidden_value, preview) {
	x_delete_an_image(image, type, js, div, hidden_value, preview, delete_an_image_cb);
}
function delete_an_image_cb(z) {
	q = z.split("][");
	var div = q[0];
	var div_value = q[2];
	var preview = q[4];
	var hidden = q[1];
	var hidden_value = q[3];
	document.getElementById(preview).innerHTML = "";
	document.getElementById(div).innerHTML = div_value;
	document.getElementById(hidden).value = hidden_value;
	 
}
function editimagedetails(image) {
	document.getElementById("editchangesmsg").innerHTML = "";
	client = URLencode(document.add_home.client.value);
	category = document.add_home.home_category.value;
	home_name = URLencode(document.add_home.home_name.value);
	main = document.add_home.main.value;
	home_id = document.add_home.home_id.value;
	var theString = "image="+image+"&home_id="+home_id+"&main="+main+"&home_name="+home_name+"&client="+client+"&category="+category+"&type=1";
	window.open("editimage.php?"+theString, '', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=660,height=300,left = 200,top = 175');
}
function editfpdetails(image) {
	document.getElementById("fpeditchangesmsg").innerHTML = "";
	client = document.add_home.client.value;
	category = document.add_home.home_category.value;
	window.open("editimage.php?type=2&image="+image+"&client="+client+"&category="+category, '', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=660,height=300,left = 200,top = 175');
}
function fadeout(divToFade) {
	toggleOff("addclientmsg");
	toggleOff("editchangesmsg");
	toggleOff("fpeditchangesmsg");
	toggleOn(divToFade);
	Fat.fade_all();
}
function removehomephoto(image) {
	if (pleaseConfirm()) {
		delete_an_image(image, 1, "changethisimage", "photos", "uploaded_images", "image_preview");
	}
}
function removefp(image) {
	if (pleaseConfirm()) {
		delete_an_image(image, 2, "changethisfp", "fps", "uploaded_fp", "fp_preview");
	}
}
function removehomephoto2(image) {
	delete_an_image(image, 1, "changethisimage2", "photos2", "uploaded_images2", "image_preview2");
}
function removehomef_p(image) {
	delete_an_image(image, 2, "changethisf_p", "f_p", "uploaded_f_p", "f_p_preview");
}
function removehomef_p2(image) {
	delete_an_image(image, 2, "changethisf_p2", "f_p2", "uploaded_f_p2", "f_p_preview2");	
}
function removehomee(image) {
	delete_an_image(image, 3, "changethise", "e", "uploaded_e", "e_preview");
}
function removehomee2(image) {
	delete_an_image(image, 3, "changethise2", "e2", "uploaded_e2", "e_preview2");
}
function load_file_into_parent(f, f_name, f_size) {
	parent.document.getElementById("file_preview").innerHTML = f+" ("+f_size+")";
	parent.document.getElementById("file_name").innerHTML = f_name;
	parent.document.upload_lit.uploaded_file.value = f_name;
}
function insert_fp(floorplan) {
	x_insert_fp(floorplan, insert_fp_cb);
}
function insert_fp_cb(z) { 
alert(z);
	document.add_homeforsale.plan_id.value = z;
}
function removeplan() {
	document.getElementById("image_preview").innerHTML = "";
	document.getElementById("plan_name").innerHTML = "";
	document.getElementById("delete_plan").style.display = 'none';
	document.add_homeforsale.uploaded_image.value = "";
	document.add_homeforsale.plan_id.value = "";
}
function removenewplan() {
	document.getElementById("image_preview").innerHTML = "";
	document.getElementById("plan_name").innerHTML = "";
	document.getElementById("delete_plan").style.display = 'none';
	document.add_plan.uploaded_image.value = "";	
}
function removenewphoto() {
	document.getElementById("image_preview").innerHTML = "";
	document.getElementById("photo_name").innerHTML = "";
	document.getElementById("delete_photo").style.display = 'none';
	document.add_photo.uploaded_image.value = "";	
}
function removenewc_i() {
	document.getElementById("image_preview").innerHTML = "";
	document.getElementById("c_i").innerHTML = "";
	document.getElementById("delete_c_i").style.display = 'none';
	document.community.uploaded_image.value = "";	
}
function selectallagents() {
	var state = document.upload_lit.allagents.checked;
	var field = document.getElementById("alltheagents");
	for (i = 0; i < field.length; i++) {
		field[i].selected = state;
	}	
}
function checkmasteragent(master) {
	var field = document.getElementById("alltheagents");
	for (i = 0; i < field.length; i++) {
		if (field[i].selected == false) {
			master.checked = false;
			return;
		}
	}
	master.checked = true;
}
function checkmaster(value, master) {
	if (value.checked == false) master.checked = false;
}
function checkallboxes() {
	field = document.add_agent;
	for (i = 0; i < field.length; i++) {
		field[i].checked = true ;
	}
}
function addnewcat(cat, type) {
	if (cat.length == 0) return;
	x_addnewcat(cat, type, addnewcat_cb);
}		
function addnewcat_cb(z) {
	window.location.reload(true);
}
function changecat(cat, orig_cat, id) {
	if (cat == orig_cat) return;
	x_changecat(cat, id, changecat_cb);
}
function changecat_cb(z) {
	window.location.reload(true);
}
function checkcats(cat, orig_cat, i) {
	if (cat == orig_cat) 
		document.getElementById("changebutton_"+i).disabled = true;
	else 
		document.getElementById("changebutton_"+i).disabled = false;
}
function deletecat(id) {
	if (pleaseConfirm()) {
		x_deletecat(id, deletecat_cb);
	} else {
		return;
	}
}
function deletecat_cb(z) {
	window.location.reload(true);
}
function URLencode(sStr) {
    return escape(sStr).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');
}
function getmapquest() {
	url = "http://www.mapquest.com/maps/map.adp?address=";
	url += URLencode(document.add_home.home_address.value) + "&city=";
	url += URLencode(document.add_home.home_city.value) + "&state=";
	url += URLencode(document.add_home.home_state.value) + "&zipcode=";
	url += URLencode(document.add_home.home_zip.value);
	document.add_home.home_maplink.value = url;
	document.getElementById("viewthemap").innerHTML = "<br /><a href='"+url+"' target='_blank'>View Map</a>";
	toggleOn("viewthemap");
}
function checkForClient(v) {
	if (v > 0) toggleOn("client"); else toggleOff("client");
}
function adjustOptionBox(o, i) {
	for (var j = i; j < o.length-1; j++) {
		o[j].text = o[j+1].text;
		o[j].value = o[j+1].value;	
	}	
	o[o.length-1].text = "";
	o[o.length-1].value = "";
	o.length = o.length - 1;
	if (o.length == 1) o.disabled = true; else o.selectedIndex = 0;
}
function checkType() {
	var x = document.add_photo["type"][0].checked;
	var y = document.add_photo["type"][1].checked;
	if (x == false && y == false) {
		alert("Please select the type of image");
		return;
	} 
	if (y && document.add_photo.home_category.value == -1) {
		alert("Please select the Home Category for this floorplan");
		return;
	}
	if (document.add_photo.uploaded_image.value == "") {
		alert("No image uploaded.");
		return;
	}
	document.add_photo.submit();
}
function build_feature_list(i) {
	var s = document.getElementById("feature");
	if (s[i].value < 0) return;	
	document.getElementById("fname").innerHTML = s[i].text;
	document.getElementById("currentf").value = s[i].value;
	x_build_feature_list(s[i].value, build_feature_list_cb);
}
function build_feature_list_cb(z) {
	var s = document.getElementById("feature");
	s.length = 1;
	o = z.split("}");	
	for (i = 0; i < o.length-1; i++) {
		newo = o[i].split("|");
		s[i+1] = new Option(newo[1], newo[0]);
	}	
}
function setFeatured() {
	x_setFeatured(document.getElementById("currentf").value, setFeatured_cb);	
}
function setFeatured_cb(z) {
	document.getElementById("fmsg").innerHTML = z;
	Fat.fade_all();
}
function zipcode_lookup(zip) {
	x_zipcode_lookup(zip, zipcode_lookup_cb);
}
function zipcode_lookup_cb(z) {
	a = z.split(":");
	document.add_home.home_city.value = a[0];
	document.add_home.home_state.options[a[1]].selected = true;		
}
function fillSpecs(v) {
	x_fillSpecs(v, fillSpecs_cb);
}
function fillSpecs_cb(z) {
	document.add_home.home_specs.value = z;
}
function selectCategories(v) {
	x_selectCategories(v, selectCategories_cb);
}
function selectCategories_cb(z) {
	document.add_photo.home_category.value = z;
}
function sendemail(e, f, l, u, p) {
	x_sendemail(e, f, l, u, p, sendemail_cb);
}
function sendemail_cb(z) {
	text = document.getElementById("sendemailmsg").innerHTML;
	document.getElementById("sendemailmsg").innerHTML = text + " "+z;
	Fat.fade_all();
}
function translate(text) {	
	if (text.indexOf("<a>") > 0 || text.indexOf("<A>") > 0) {
		var url = prompt("Enter the URL:", "http://");
		if (url) {
			text = text.replace(/\<a\>/gi, "[A]");
			document.getElementById("specs").value = text;
			var target = confirm("Open link in new window?\nChoose 'Yes' or 'OK' to open link in a new browser window, or 'Cancel' or 'No' to open the link in the same window.");
			if (target) t = "target='_blank'"; else t = "";
			text = text.replace(/\[A\]/g, "<a href='"+url+"' "+t+">");
			document.getElementById("specs").value = text;
		}	
	} 
	text = text.replace(/\<B\>/g, "<b>");
	text = text.replace(/\<\/B\>/g, "</b>");
	text = text.replace(/\<I\>/g, "<em>");
	text = text.replace(/\<\/I\>/g, "</em>");
	text = text.replace(/\n\n/g, "</p><p>");
	text = text.replace(/\n/g, "<br>");
	text = text.replace(/\<\/a\>/g, "</a>");
	text = text.replace(/\<\/A\>/g, "</A>");
	preview(text);
}
function preview(text, theDiv) {
	document.getElementById("specs-preview").innerHTML = text;
}
function help(text) {
	document.getElementById("help-cell").innerHTML = text;
}

