var photos = new Array();
var index = 0;
var toenails = new Array();
var lastthumb = "thumb0";
var curindex = 0;

function composeEmailLink(linktext, username, domain, suffix)
{
    if (linktext == '')
	linktext = username + '@' + domain + '.' + suffix;
    document.write('<a href="mailto:' + username + '@' + domain + '.' + suffix + '">' + linktext + '</a>');
}

function preloadImages()
{
	if (document.images)
	{
		for (i=0; i< photos.length; i++)
		{
    		photos[i]["js_thumb_image"] = new Image();
            photos[i]["js_thumb_image"].src = photos[i].src;
            if (photos[i]["toe_src"])
            {
        		photos[i]["js_toe_image"] = new Image();
                photos[i]["js_toe_image"].src = photos[i].toe_src;
            }
		}
    }    
}

function rotateImage()
{
    index++;
    document.getElementById("img_rotate").src = photos[toenails[index % toenails.length]].src;
}

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/Firefox
    obj.style.MozOpacity = opacity / 100;

    // Safari 1.2, newer Firefox, Mozilla, CSS3
    obj.style.opacity = opacity / 100;
}

function fadeIn(objId, opacity)
{
	if (document.getElementById)
   {
   	obj = document.getElementById(objId);
		if (opacity <= 100)
		{
			setOpacity(obj, opacity);
			opacity += 5;
			window.setTimeout("fadeIn('" + objId + "'," + opacity + ")", 20);
		}
		else
		{
			opacity = 100;
			if (index % toenails.length == 0)
	      	window.setTimeout("fadeOut('" + objId + "'," + opacity + ")", 5000);
	    	else
	      	window.setTimeout("fadeOut('" + objId + "'," + opacity + ")", 5000);
		}
	}
}

function fadeOut(objId, opacity)
{
	if (document.getElementById)
   {
   	obj = document.getElementById(objId);
		if (opacity >= 0)
		{
	   	setOpacity(obj, opacity);
	    	opacity -= 5;
	    	window.setTimeout("fadeOut('" + objId + "'," + opacity + ")", 20);
		}
		else
		{
			opacity = 0;
	    	rotateImage();
	    	window.setTimeout("fadeIn('" + objId + "'," + opacity + ")", 20);
		}
   }
}

function setToe(photo_index)
{
    curindex = photo_index;
    var image_text = photos[curindex]["title"];
    if (photos[curindex]["description"] && photos[curindex]["description"] != '')
        image_text += ":";

    document.getElementById("toeshot").src = photos[curindex]["toe_src"]
    document.getElementById("title").innerHTML = image_text;
    document.getElementById("description").innerHTML = photos[curindex]["description"];

    var curthumb = "thumb" + photo_index;
    document.getElementById(curthumb).style.border = "2px solid black";
    document.getElementById(lastthumb).style.border = "2px solid white";
    lastthumb = curthumb;

    updateNavigation();
}

function updateNavigation()
{
    var previous = document.getElementById("previous");
    var next = document.getElementById("next");
    if (curindex == 0)
    {
	    previous.style.color = "rgb(128, 128, 128)";
	    previous.innerHTML = "Previous";

	    next.style.color = "black";
	    next.innerHTML = '<a href="javascript:void(0);" onclick="setToe(1); return false;">Next</a>';
    }
    else if (curindex == photos.length-1)
    {
	    previous.style.color = "black";
	    previous.innerHTML = '<a href="javascript:void(0);" onclick="setToe(' + (curindex-1) + '); return false;">Previous</a>';

	    next.style.color = "rgb(128, 128, 128)";
	    next.innerHTML = "Next";
    }
    else
    {
	    previous.style.color = "black";
	    previous.innerHTML = '<a href="javascript:void(0);" onclick="setToe(' + (curindex-1) + '); return false;">Previous</a>';
	    
	    next.style.color = "black";
	    next.innerHTML = '<a href="javascript:void(0);" onclick="setToe(' + (curindex+1) + '); return false;">Next</a>';
    }
    document.getElementById("pindex").innerHTML = curindex+1;
}

function writeThumbnails()
{
    for (var i=0; i< photos.length; i++)
    {
        if (i == 0)
    	{
    	    $('thumbview').innerHTML += '<div id="thumb0" style="border: 2px solid black;" onmouseover="divMouseOver(0);" onmouseout="divMouseOut(0);"><a href="javascript:void(0);" onclick="setToe(0);"><span></span><img src="' + photos[0]["src"] + '"><br />1) ' + photos[0]["title"] + '</a></div>';
    	}
    	else
    	{
        	$('thumbview').innerHTML += '<div id="thumb' + i + '" onmouseover="divMouseOver(' + i + ');" onmouseout="divMouseOut(' + i + ');"><a href="javascript:void(0);" onclick="setToe(' + i + '); return false;"><span></span><img src="' + photos[i]["src"] + '"><br />' + (i+1) + ') ' + photos[i]["title"] + '</a></div>';	
    	}
    }
}

function divMouseOver(i)
{
    if (i == curindex)
        return;
    var thumb = document.getElementById('thumb' + i);
    thumb.style.border = '2px solid rgb(200, 200, 200)';
}
function divMouseOut(i)
{
    if (i == curindex)
        return;
    var thumb = document.getElementById('thumb' + i);
    thumb.style.border = '2px solid white';
}
function showFullSizeImage()
{
    var nwidth = photos[curindex]["width"] + 30;
    var nheight = photos[curindex]["height"] + 30;
    if (nwidth > 800)
        nwidth = 800;
    if (nheight > 600)
        nheight = 600;
    window.open("/cgi-bin/image?type=property&form=original&id=" + photos[curindex]["image_id"], "", "width=" + nwidth + ",height=" + nheight );
}

function setupSlideshow()
{
    for (var i=0, z=photos.length; i< z; ++i)
    {
        photos[i].src = "/cgi-bin/image?type=property&form=toe&id=" + photos[i].image_id;
        if (photos[i].iis)
            toenails.push(photos[i].position - 1);
    }
    preloadImages();
    if (photos.length)
        window.setTimeout("fadeOut('img_rotate', 100)", 5000);        
}
function setupThumbnails()
{
    for (var i=0, z=photos.length; i< z; ++i)
    {
        photos[i].src = "/cgi-bin/image?type=property&form=thumb&id=" + photos[i].image_id;
        photos[i].toe_src = "/cgi-bin/image?type=property&form=toe&id=" + photos[i].image_id;
    }
        
    preloadImages();
    if (photos.length)
        writeThumbnails();    
}


var map;
var geocoder;

function load_map(latitude, longitude, marker_text) {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
        var loc = new GLatLng(latitude, longitude);
    map.setCenter(loc, 13);
    
    var marker = new GMarker(loc);
    map.addOverlay(marker);
    marker.openInfoWindowHtml(marker_text);
        }
    window.onunload = function() { GUnload(); }
}

