var offsetfrommouse=[5,5]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 100;	// maximum image size.

if (document.getElementById || document.all){
	document.write('<div id="preview">');
	document.write('</div>');
}

function gettrailobj(){
if (document.getElementById)
return document.getElementById("preview").style
else if (document.all)
return document.all.trailimagid.style
}

function gettrailobjnostyle(){
if (document.getElementById)
return document.getElementById("preview")
else if (document.all)
return document.all.trailimagid
}


function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

// --------------------- //
// PREVIEW POST CONTENTS //
// --------------------- //
function showtrail(title,views,comments,rating,pp1,pp2,height,color){

	if (height > 0){
		currentimageheight = height;
	}

	document.onmousemove=followmouse;

	postHTML = '<div class="preview_container" style="height:' + height + ';border:solid 1px #' + color + '; z-index:999;">';
	postHTML = postHTML + '<table width=100% cellpadding=2 cellspacing=4>';
	postHTML = postHTML + '<tr valign=middle><td><p class="title">' + title + '</p></td></tr>';
	
	if (rating != '') {
		postHTML = postHTML + '<tr valign=middle><td><p class="detail">views: ' + views + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;comments: ' + comments + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;rating: ' + rating + '</p></td></tr>';
	}
	else {
		postHTML = postHTML + '<tr valign=middle><td><p class="detail">views: ' + views + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;comments: ' + comments + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;not yet rated</p></td></tr>';
	}
	
	if (pp1 == '') {
		postHTML = postHTML + '<tr valign=top><td><p class="brief">Be the first to comment on this post.</p></td></tr>';
	}
	if (pp1 != '') {
		postHTML = postHTML + '<tr valign=top><td><p class="brief">' + pp1 + '</p></td></tr>';
	}
	if (pp2 != '') {
		postHTML = postHTML + '<tr valign=top><td><p class="brief">' + pp2 + '</p></td></tr>';
	}
	
	postHTML = postHTML + '</table>';
	postHTML = postHTML + '</div>';
	gettrailobjnostyle().innerHTML = postHTML;

	gettrailobj().visibility="visible";
}


// ------------- //
// PREVIEW IMAGE //
// ------------- //
function showimage(title,image,height,color,views,comments){

	if (height > 0){
		currentimageheight = height;
	}

	document.onmousemove=followmouse;

	postHTML = '<div class="preview_container" style="height:' + height + ';border:solid 1px #' + color + '; z-index:999;">';
	postHTML = postHTML + '<table width=100% cellpadding=2 cellspacing=4>';
	postHTML = postHTML + '<tr valign=middle><td><p class="title" style="text-align:left;">' + title + '</p></td></tr>';
	//postHTML = postHTML + '<tr valign=middle><td><p class="detail" style="text-align:left;">views: ' + views + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;comments: ' + comments + '</p></td></tr>';
	postHTML = postHTML + '<tr valign=middle><td align=center><img src="' + image + '" width="320"></td></tr>';
	postHTML = postHTML + '</table>';
	postHTML = postHTML + '</div>';

	gettrailobjnostyle().innerHTML = postHTML;
	gettrailobj().visibility="visible";
}


// ------------- //
// PREVIEW VIDEO //
// ------------- //
function showvideo(title,filename,ext,color,views,comments){

	document.onmousemove=followmouse;

	postHTML = '<div class="preview_container" style="height:330px;border:solid 1px #' + color + '; z-index:999;">';
	postHTML = postHTML + '<table width=100% cellpadding=2 cellspacing=4>';
	postHTML = postHTML + '<tr valign=middle><td><p class="title" style="text-align:left;">' + title + '</p></td></tr>';
	postHTML = postHTML + '<tr valign=middle><td><p class="detail" style="text-align:left;">views: ' + views + '&nbsp;&nbsp;&middot;&nbsp;&nbsp;comments: ' + comments + '</p></td></tr>';
	postHTML = postHTML + '<tr valign=middle><td align=center>';
	
	if (ext == 'mov') {
		postHTML = postHTML + '<object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" width="320" height="240" codebase="http://www.apple.com/qtactivex/qtplugin.cab" align="absmiddle">';
		postHTML = postHTML + '<param name="src" value="' + filename + '">';
		postHTML = postHTML + '<param name="autoplay" value="true">';
		postHTML = postHTML + '<param name="controller" value="false">';
		postHTML = postHTML + '<embed src="' + filename + '" width="320" height="240" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/" align="absmiddle">';
		postHTML = postHTML + '</embed>';
		postHTML = postHTML + '</object>';
	}

	if (ext == 'wmv') {
		postHTML = postHTML + '<param name="FileName" value="' + filename + '">';
		postHTML = postHTML + '<param name="AutoStart" value="true">';
		postHTML = postHTML + '<param name="ShowControls" value="false">';
		postHTML = postHTML + '<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="' + filename + '" name="MediaPlayer" AutoStart="1" ShowControls="0" width="320" height="240"></embed>';
	}
	
	postHTML = postHTML + '</td></tr>';
	postHTML = postHTML + '</table>';
	postHTML = postHTML + '</div>';

	gettrailobjnostyle().innerHTML = postHTML;
	gettrailobj().visibility="visible";
}


// -------------- //
// PREVIEW AUTHOR //
// -------------- //
function showauthor(name,title,company,image,color){

	document.onmousemove=followmouse;

	postHTML = '<div class="preview_container" style="height:150px;border:solid 1px #' + color + '; z-index:999;">';
	postHTML = postHTML + '<table width=100% cellpadding=2 cellspacing=4>';
	postHTML = postHTML + '<tr valign=middle><td><p class="title" style="text-align:left;">' + name + '</p></td></tr>';
	postHTML = postHTML + '<tr valign=middle><td><p class="detail" style="text-align:left;">' + title + ' (' + company + ')</p></td></tr>';
	postHTML = postHTML + '<tr valign=middle><td align=center><img src="' + image + '" width="320"></td></tr>';
	postHTML = postHTML + '</table>';
	postHTML = postHTML + '</div>';

	gettrailobjnostyle().innerHTML = postHTML;
	gettrailobj().visibility="visible";
}



function hidetrail(){
	gettrailobj().visibility="hidden";
	document.onmousemove="";
	gettrailobj().left="-500px";
	gettrailobjnostyle().innerHTML = "";
}

function followmouse(e){

	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(document.body.offsetHeight, window.innerHeight)


	if (typeof e != "undefined"){
		if (docwidth - e.pageX < 500){
			xcoord = e.pageX - xcoord - 340; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < (currentimageheight + 110)){
			ycoord += e.pageY - Math.max(0,(110 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < 500){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - 340; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (currentimageheight + 110)){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(110 + currentimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
	}

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)

	gettrailobj().left=xcoord+"px"
	gettrailobj().top=ycoord+"px"

}




// ------------ //
// FILE CABINET //
// ------------ //
function fileCabinet(url) {
fileCabinet_req = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
fileCabinet_req = new XMLHttpRequest();
if (fileCabinet_req.overrideMimeType) {
	fileCabinet_req.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
	try {
	fileCabinet_req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		fileCabinet_req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	}
}
if (!fileCabinet_req) {
	alert('Giving up :( Cannot create an XMLHTTP instance');
	return false;
}
	fileCabinet_req.onreadystatechange = fileCabinetload;
	fileCabinet_req.open('GET', url, true);
	fileCabinet_req.send(null);
}
function fileCabinetload() {

if(fileCabinet_req.readyState == 0)
{
 document.getElementById('file_cabinet').innerHTML = "<p class=\"loading_thumbs\">loading</p>";
}
if(fileCabinet_req.readyState == 1)
{
 document.getElementById('file_cabinet').innerHTML = "<p class=\"loading_thumbs\">loading .</p>";
}
if(fileCabinet_req.readyState == 2)
{
 document.getElementById('file_cabinet').innerHTML = "<p class=\"loading_thumbs\">loading . .</p>";
}
if(fileCabinet_req.readyState == 3)
{
 document.getElementById('file_cabinet').innerHTML = "<p class=\"loading_thumbs\">loading . . .</p>";
}

if(fileCabinet_req.readyState == 4) {

	if (fileCabinet_req.status == 200) {
		document.getElementById('file_cabinet').innerHTML = fileCabinet_req.responseText
	} else {
		//alert('There was a problem with the request.');
		document.getElementById('file_cabinet').innerHTML = "<p>dan made an oops somewhere!</p>";
	}

}
}




// -------- //
// COMMENTS //
// -------- //
function postComments(url) {
postComments_req = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
postComments_req = new XMLHttpRequest();
if (postComments_req.overrideMimeType) {
	postComments_req.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
	try {
	postComments_req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		postComments_req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	}
}
if (!postComments_req) {
	alert('Giving up :( Cannot create an XMLHTTP instance');
	return false;
}
	postComments_req.onreadystatechange = postCommentsload;
	postComments_req.open('GET', url, true);
	postComments_req.send(null);
}
function postCommentsload() {

if(postComments_req.readyState == 0)
{
 //document.getElementById('post_comments').innerHTML = "<p class=\"loading_comments\">loading</p>";
}
if(postComments_req.readyState == 1)
{
 //document.getElementById('post_comments').innerHTML = "<p class=\"loading_comments\">loading .</p>";
}
if(postComments_req.readyState == 2)
{
 //document.getElementById('post_comments').innerHTML = "<p class=\"loading_comments\">loading . .</p>";
}
if(postComments_req.readyState == 3)
{
 //document.getElementById('post_comments').innerHTML = "<p class=\"loading_comments\">loading . . .</p>";
}

if(postComments_req.readyState == 4) {

	if (postComments_req.status == 200) {
		document.getElementById('post_comments').innerHTML = postComments_req.responseText
	} else {
		//alert('There was a problem with the request.');
		document.getElementById('post_comments').innerHTML = "<p>dan made an oops somewhere!</p>";
	}

}
}



// ---- //
// WALL //
// ---- //
function dumpContent(url) {
dumpContent_req = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
dumpContent_req = new XMLHttpRequest();
if (dumpContent_req.overrideMimeType) {
	dumpContent_req.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
	try {
	dumpContent_req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		dumpContent_req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	}
}
if (!dumpContent_req) {
	alert('Giving up :( Cannot create an XMLHTTP instance');
	return false;
}
	dumpContent_req.onreadystatechange = dumpContentload;
	dumpContent_req.open('GET', url, true);
	dumpContent_req.send(null);
}
function dumpContentload() {

if(dumpContent_req.readyState < 4)
{
 document.getElementById('display_dump').innerHTML = "<p class=\"loading\">loading content</p>";
}
/*
if(dumpContent_req.readyState == 1)
{
 document.getElementById('display_dump').innerHTML = "<p class=\"loading\">loading .</p>";
}
if(dumpContent_req.readyState == 2)
{
 document.getElementById('display_dump').innerHTML = "<p class=\"loading\">loading . .</p>";
}
if(dumpContent_req.readyState == 3)
{
 document.getElementById('display_dump').innerHTML = "<p class=\"loading\">loading . . .</p>";
}
*/

if(dumpContent_req.readyState == 4) {

	if (dumpContent_req.status == 200) {
		document.getElementById('display_dump').innerHTML = dumpContent_req.responseText
	} else {
		//alert('There was a problem with the request.');
		document.getElementById('display_dump').innerHTML = "<p>dan made an oops somewhere!</p>";
	}

}
}