var browser;

var list_areas;
var list_comments;
var list_image_numbers;

arr_images = new Array();
imageObj = new Image();

var prev_area = "front";
var current_area = "front";
var current_image;

var newpos1;
var newpos2;

var area_move_ac = 0;
var img_move_ac = 0;

// start website

function init_ws()
{
	//document.getElementById('innerc').style.height = 465 + document.getElementById('comments').offsetHeight;
	
	
}

// update links on menu bar

function update_menu_bar(areaname)
{
	arr_areas = list_areas.split(",");

	var str_links
	str_links = "";

	for (x=0; x < 10; x++){
		
		chk_area = arr_areas[x];

		if(chk_area==areaname) {
			this_class = "smallsel";
		} else {
			this_class = "small";
		}
		
		str_links = str_links + "<a class=\"" + this_class + "\" href=\"javascript:move_to_area('" + chk_area + "');\">" + convert_path_to_name(chk_area) + "</a><br>";
	}
	document.getElementById('slidertext').innerHTML = str_links;
}

function get_comments(areaname)
{
	var this_comments;
	arr_areas = list_areas.split(",");
	arr_comments = list_comments.split("#");

	for (x=0; x < 10; x++){

		test_area = arr_areas[x];

		if(test_area == areaname) {

			this_comments = arr_comments[x];
			break;
		}
	}
	return this_comments
}

function show_image(imgnumber)
{
	if(imgnumber == current_image) {
		return;
	}
	if(img_move_ac == 1) {
		return;
	}
	img_move_ac = 1;

	var str_img = "images/" + current_area + "/" + imgnumber + ".jpg";

	// determine which is new image box and change hidden image

	if(document.getElementById('img1').offsetLeft > 20) {

		document.getElementById('imgf1').src = str_img;

	} else {

		document.getElementById('imgf2').src = str_img;
	}

	// rebuild img ctrl box links y'all

	document.getElementById('imgctrlboxtext').innerHTML = build_img_ctrl_text(imgnumber);

	// slide images across

	slide_images();

	current_image = imgnumber;
}

function hide_text()
{
	fade_out('titleboxtext', 100);
}

function show_text()
{
	fade_in('titleboxtext', 0);
}

function show_ctrl()
{
	fade_in_c('imgctrlboxtext', 0);
}

function show_ctrl_front()
{
	//setOpacity(document.getElementById('imgctrlbox'), 0);
	fade_in_d('imgctrlbox', 0, 60);
	//setOpacity(document.getElementById('titlebox'), 0);
	fade_in_d('titlebox', 0, 60);
	
	fade_in_d('arrow3', 0, 100);
}

function hide_ctrl_front()
{
	fade_out_c('imgctrlbox', 60)
	fade_out_c('titlebox', 60)
	fade_out_c('arrow3', 100)
	
}

function fade_in_d(objId,opacity,req_opacity)
{
	if (document.getElementById) {
		obj = document.getElementById(objId);		
		obj.style.visibility = 'visible';
		if (opacity < req_opacity) {
			setOpacity(obj, opacity);
			opacity += 10;
			if(opacity >= 0) {
	
			}
			window.setTimeout("fade_in_d('"+objId+"',"+opacity+","+req_opacity+")", 2);
		}
	}
}

function fade_in_c(objId,opacity)
{
	if (document.getElementById) {
		obj = document.getElementById(objId);		
		obj.style.visibility = 'visible';
		if (opacity < 100) {
			setOpacity(obj, opacity);
			opacity += 10;
			if(opacity >= 0) {
	
			}
			window.setTimeout("fade_in_c('"+objId+"',"+opacity+")", 2);
		}
	}
}

function fade_out_c(objId,opacity)
{
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity > 0) {
			setOpacity(obj, opacity);
			opacity -= 10;
			if(opacity <= 0) {
				obj.style.visibility = 'hidden';
			}
			window.setTimeout("fade_out_c('"+objId+"',"+opacity+")", 2);
		}
	}
}

function fade_out(objId,opacity)
{
	if (document.getElementById) {
		obj = document.getElementById(objId);
		obj2 = document.getElementById('commentstext');
		obj3 = document.getElementById('imgctrlboxtext');

		if (opacity > 0) {
			setOpacity(obj, opacity);
			setOpacity(obj2, opacity);
			setOpacity(obj3, opacity);

			opacity -= 10;
			if(opacity <= 0) {

				obj.style.visibility = 'hidden';
				obj2.style.visibility = 'hidden';
				obj3.style.visibility = 'hidden';

				// set up text boxes whilst invisible

				document.getElementById('titleboxtext').innerHTML = "<h1>" + convert_path_to_name(current_area) + "</h1>";
				document.getElementById('comments').innerHTML = get_comments(current_area);
				document.getElementById('commentstext').innerHTML = get_comments(current_area);
				
				// extend border
				
				document.getElementById('imgctrlboxtext').innerHTML = build_img_ctrl_text(1);
				
				var offVal = 465;
				if(browser=="IE") offVal = 485;
				
				if(current_area=="front") {
					document.getElementById('innerc').style.height = offVal
					document.getElementById('comments').style.visibility = 'hidden';
				} else {
					document.getElementById('innerc').style.height = offVal + document.getElementById('comments').offsetHeight;
					document.getElementById('comments').style.visibility = 'visible';
				}
				document.getElementById('sitecontainer').style.top = (-1) * (document.getElementById('innerc').offsetHeight / 2) - 25;
				
				document.getElementById('imgctrlbox').style.width = 13 + document.getElementById('imgctrlboxtext').offsetWidth;
				document.getElementById('imgctrlbox').style.left = 700 - document.getElementById('imgctrlbox').offsetWidth;
				document.getElementById('imgctrlboxtext').style.left = 8 + document.getElementById('imgctrlbox').offsetLeft;
				
				
			}

			window.setTimeout("fade_out('"+objId+"',"+opacity+")", 2);
		}
	}
}

function get_num_images(areaname)
{
	arr_img_numbers = list_image_numbers.split(",");
	for (x = 0; x < arr_img_numbers.length; x++)
	{
		arr_area = arr_img_numbers[x].split(":");
		if(arr_area[0]==areaname) {
			n = arr_area[1];
			break;
		}
	}
	return n;
}

function build_img_ctrl_text(selected_img)
{
	n = get_num_images(current_area);
	
	var str_img_links = "";

	var this_img;
	var this_class;

	for (x = 0; x < n; x++)
	{
		this_img = x + 1;
		
		if(this_img==selected_img) {
			this_class = "imgsel";
		} else {
			this_class = "imglink";
		}
		
		str_img_links = str_img_links + "<a class='" + this_class + "' href='javascript:show_image(" + this_img + ");'>" + this_img + "&nbsp;</a>";
	}
	return str_img_links;
}

function fade_in(objId,opacity)
{
	if (document.getElementById) {
		obj = document.getElementById(objId);
		obj2 = document.getElementById('commentstext');

		obj.style.visibility = 'visible';
		obj2.style.visibility = 'visible';

		if (opacity < 100) {
			setOpacity(obj, opacity);
			setOpacity(obj2, opacity);

			opacity += 10;
			if(opacity >= 0) {

				
			}

			window.setTimeout("fade_in('"+objId+"',"+opacity+")", 2);
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;

	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";

	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;

	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;

	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

// move to new area of the house

function move_to_area(areaname)
{
	// if already in this area, exit

	if(current_area == areaname) {

		return;
	}
	if(area_move_ac == 1) {
		return;			// move already in progress
	}
	area_move_ac = 1;
	
	prev_area = current_area;
	current_area = areaname;

	// update menu bar

	update_menu_bar(areaname);

	// hide text

	hide_text();
	
	if(current_area=="front") {
		hide_ctrl_front();
	}

	// determine which is new image box and change hidden image

	current_image = 1;

	if(document.getElementById('img1').offsetLeft > 20) {

		document.getElementById('imgf1').src = "images/" + areaname + "/1.jpg";

	} else {

		document.getElementById('imgf2').src = "images/" + areaname + "/1.jpg";	
	}

	//document.getElementById('imgfx3').src = "images/" + areaname + "/3.jpg";

	// preload images

	var fp;
	do
	{
		fp = allImagesLoaded();
	} while (fp != 1);
	
	n = get_num_images(current_area);
	for (x = 0; x < n; x++)
	{
		document.getElementById("imgfx" + (x + 1)).src = "images/" + areaname + "/" + (x + 1) + ".jpg";
	}
	


	// slide images across

	slide_images("showtext");
	
	
	
}

// preload first image for each area

function preload_images()
{
	// create list of folders

	var arr_areas = list_areas.split(",");

	// preload initial images

	var n = -1;
	for (x=0; x < 10; x++){

		var str_path = "images/" + arr_areas[x] + "/1.jpg";
		n = n + 1;
		//arr_images[n] = new Image();
		arr_images[n] = str_path;
	}
	for(x = 0; x < 10; x++) {

		imageObj.src=arr_images[x];

	}
}

// convert folder name to area name

function convert_path_to_name(this_area)
{
	var new_name = toUpper(this_area.replace("_", " "));
	
	if(new_name=="Additional Suites") new_name = "Family Suite";
	if(new_name=="Pool Area") new_name = "Swimming Pool";
	if(new_name=="Utilities") new_name = "Utilities and Stores";
	if(new_name=="Guest Suite") new_name = "Guest Suites";
	
	return new_name;
}

function toUpper(mystring) {
var sp = mystring.split(' ');
var wl=0;
var f ,r;
var word = new Array();
for (i = 0 ; i < sp.length ; i ++ ) {
f = sp[i].substring(0,1).toUpperCase();
r = sp[i].substring(1);
word[i] = f+r;
}
newstring = word.join(' ');

return newstring;
}


function allImagesLoaded() {

	// return variable
	var imagesloaded = 1;

	// All images are saved in an array called document.images. Very usefull
	var images = document.images;
	// Loop through all the images
	for (var i = 0;i<images.length;i++)
	{
		// If the image isnt loaded we set the return varible to 0



		if(images[i].complete == false) {
			imagesloaded = 0;
			break;
		}
		//if(images[i].width > 7) {
		//	imagesloaded = 0;
		//	break;
		//}
	}
	// This will return 0 if one or more images are not loaded and 1 if all images are loaded.
	return imagesloaded;
}


// slide main image horizontally

function slide_images(op_args)
{
	// get current position of img1 and img2

	var imgstart1 = document.getElementById('img1').offsetLeft;
	newpos1 = imgstart1 - 700;
	var imgstart2 = document.getElementById('img2').offsetLeft;
	newpos2 = imgstart2 - 700;

	do_slide(op_args);
}

function do_slide(op_args)
{
	var c_left1 = document.getElementById('img1').offsetLeft;
	var c_left2 = document.getElementById('img2').offsetLeft;

	c_left1 = c_left1 - 60;
	c_left2 = c_left2 - 60;

	if(c_left1 <= newpos1) {

		document.getElementById('img1').style.left = newpos1;
		document.getElementById('img2').style.left = newpos2;

		if(newpos1 < 0) {
			document.getElementById('img1').style.left = 700;
		} else {
			document.getElementById('img2').style.left = 700;
		}
		
		if(op_args == "showtext") {
		
			if(current_area!="front") {
				show_text();
				show_ctrl();
			}
			//alert(prev_area);
			if(prev_area=="front") {
				show_ctrl_front();
			}
			
			close_all();
		}

		area_move_ac = 0;
		img_move_ac = 0;
		
		return;
	}
	document.getElementById('img1').style.left = c_left1;
	document.getElementById('img2').style.left = c_left2;

	t = setTimeout("do_slide('" + op_args + "')", 1);
}
