var display23 = new Object();
display23['size'] = 'small';
display23['layout'] = 'vertical';
display23['backgroundColor'] = 'white';
display23['borderColor'] = 'black';
display23['photoinfoTaken'] = false;
display23['photoinfoTags'] = false;
display23['photoinfoAlbums'] = false;
display23['photoinfoWords'] = false;
display23['linkToAccount'] = true;
display23['linkText'] = 'See all my photos';


function getImgSrc(photo_id, size) {
    if ( size==undefined || size=="medium" ) size='mblog';
    if ( size=="small" ) size='thumb';
    return("http://www.23hq.com/muntsa/photo/"+photo_id+"/"+size);
}
function getImgLink(photo_id) {
    return("http://www.23hq.com/muntsa/photo/"+photo_id);
}

function getPhotoHTML(photo_id) {
    var ret = "";

    var tip = "";
    var written = false;
    if ( display23.photoinfoTaken ) {
        tip += "<b>Photo taken:</b><br/> " + photos[photo_id].taken_date + ".";
	written = true;
    }
    if ( mode=="advanced" ) {
	if ( display23.photoinfoTags ) {
            var txtTags = "";
            for (tag in photos[photo_id].tags)
                txtTags += tag + ", ";
            if ( txtTags.length ) {
	        if (written) tip += "<br/><br/>";
                tip += "<b>Tags:</b><br/> " + txtTags.substr(0,txtTags.length-2) + ".";
		written = true;
	    }
  	}
        
	if ( display23.photoinfoAlbums ) {
            var txtAlbums = "";
            for (album_id in photos[photo_id].albums)
                txtAlbums += albums[album_id].title + ", ";
            if ( txtAlbums.length ) {
		if (written) tip += "<br/><br/>";
                tip += "<b>Albums:</b><br/> " + txtAlbums.substr(0,txtAlbums.length-2)  + ".<br/><br/>";
		written = true;
	    }
	}
    }

    if ( display23.photoinfoWords && photos[photo_id].words.length ) {
        if (written) tip += "<br/><br/>";
        tip += photos[photo_id].words;
	written = true;
    }
    
    ret += '<a href="' + getImgLink(photo_id) + '" target="23hq">';
    if ( tip.length ) {
        ret += '<img border="0" src="' + getImgSrc(photo_id, display23['size']) + '" onmouseover="showTooltip(\'tip23-' + photo_id + '\', true);" onmouseout="hideTooltip();"/>';
    } else {
        ret += '<img border="0" src="' + getImgSrc(photo_id, display23['size']) + '"/>';
    }
    ret += '</a>';

    if ( tip.length ) {
        if ( display23.layout=="nonstyled" ) {
   	    ret += '<div id="tip23-' + photo_id + '" style="display:none;">'+tip+'</div>';
     	} else {
   	    ret += '<div id="tip23-' + photo_id + '" style="text-align:left; max-width: 300px; display:none; background-color:white; border:1px solid #656563; padding:5px; color:#656563; font-size:11px; line-height:14px;">'+tip+'</div>';
        }
    }


    return(ret);
}

var numberOfPhotos = null;
var photoCount = 0;
var offset = 0;
function jump(distance) {
    offset += distance;
    if (offset<=0) {
        offset = 0;
        document.getElementById('prev23').style.display = 'none';
    } else {
        document.getElementById('prev23').style.display = '';
    }
    if (offset>=photoCount-numberOfPhotos) {
        offset = photoCount-numberOfPhotos;
        document.getElementById('next23').style.display = 'none';
    } else {
        document.getElementById('next23').style.display = '';
    }


    var i = 0;
    var containerIndex = 1;
    for (photo_id in photos) {
        if (i<offset) {i++; continue;}
        if (i>=offset+numberOfPhotos+numberOfPhotos) break;

        if ( i<offset+numberOfPhotos ) {
            document.getElementById('display23content-'+containerIndex).innerHTML = getPhotoHTML(photo_id);
        } else {
	    // preload next images
	    var img = new Image();
	    img.src = getImgSrc(photo_id, display23['size']);
	}



        containerIndex++;
    	i++;
    }
}

function writePhotos(num) {
    numberOfPhotos = num;

    // Count photos
    for (photo_id in photos) {
        photoCount++;
    }

    // Build
    if ( display23.layout=="nonstyled" ) {

    	document.write('<div id="photos23">');
        if ( photoCount>numberOfPhotos ) {
            document.write('<a id="prev23" style="display:none;" href="javascript:jump(-numberOfPhotos);">&laquo;</a> ');
            document.write('<a id="next23" href="javascript:jump(numberOfPhotos);">&raquo;</a> ');
        }
 
        var i = 1;
        for (photo_id in photos) {
            document.write('<span id="display23content-'+i+'">');
            document.write(getPhotoHTML(photo_id));
            document.write('</span>');
      	    i++;
            if (num && i>num) break;
         }


        if ( display23.linkToAccount ) {
	   document.write('<a href="http://www.23hq.com/muntsa">'+display23.linkText+'</a>');
        }
    	document.write('</div>');

    } else {
        var style = "";
        if ( display23.backgroundColor.length ) {
	    style += 'background-color:'+display23.backgroundColor+';';
	}
        if ( display23.borderColor.length ) {
	    style += 'border: 1px solid'+display23.borderColor+';';
	}
    	document.write('<table id="photos23" style="'+style+'">');

        if ( display23.layout=="vertical" ) {
	    // Styled, vertical
            if ( photoCount>numberOfPhotos ) {
                document.write('<tr>');
                document.write('<td width="15" align="left" rowspan="'+numberOfPhotos+'"><a id="prev23" style="font-size:18pt; text-decoration:none; display:none;" href="javascript:jump(-numberOfPhotos);">&laquo;</a></td> ');
                document.write('');        
            }

            var i = 1;
 	    for (photo_id in photos) {
                if ( i>1 || photoCount<=numberOfPhotos ) {
		    document.write('<tr>');
		}

                document.write('<td align="center"><span id="display23content-'+i+'">');
                document.write(getPhotoHTML(photo_id));
                document.write('</span></td>');


                if ( i==1 && photoCount>numberOfPhotos ) {
                    document.write('<td width="15" align="right" rowspan="'+numberOfPhotos+'"><a id="next23" style="font-size:18pt; text-decoration:none;" href="javascript:jump(numberOfPhotos);">&raquo;</a></td></tr>');
                } else {
		    document.write('</tr>');
		}

        	i++;
        	if (num && i>num) break;
    	    }


            if ( display23.linkToAccount ) {
                document.write('<tr><td align="center" colspan="'+ (photoCount>numberOfPhotos ? 3 : 1) +'"><a href="http://www.23hq.com/muntsa">'+display23.linkText+'</a></td></tr>');
    	    }
	} else {
	    // Styled, horizontal
	    document.write('<tr>');
            if ( photoCount>numberOfPhotos ) {
                document.write('<td width="15" align="left"><a id="prev23" style="font-size:18pt; text-decoration:none; display:none;" href="javascript:jump(-numberOfPhotos);">&laquo;</a></td> ');
            }

            var i = 1;
 	    for (photo_id in photos) {
                  document.write('<td align="center"><span id="display23content-'+i+'">');
                  document.write(getPhotoHTML(photo_id));
             	  document.write('</span></td>');
        	  i++;
        	  if (num && i>num) break;
    	    }

            if ( photoCount>numberOfPhotos ) {
                document.write('<td width="15" align="right"><a id="next23" style="font-size:18pt; text-decoration:none;" href="javascript:jump(numberOfPhotos);">&raquo;</a></td> ');
            }
	    document.write('</tr>');

            if ( display23.linkToAccount ) {
                document.write('<tr><td align="center" colspan="'+ (photoCount>numberOfPhotos ? numberOfPhotos+2 : numberOfPhotos) +'"><a href="http://www.23hq.com/muntsa">'+display23.linkText+'</a></td></tr>');
    	    }
        }

    	document.write('</table>');
    }
}
