
function getRealPos(e, which) {
	var pos = 0;
	while( e != null ) {
		var ofs = e["offset" + which];
		pos += ofs;
		e = e.offsetParent;
	}
	return pos;
}

var selanim = null;

function gallery_closerowform() {
	if( selanim != null ) {
		selanim.className = "";
	}
	selanim = null;

	var f = document.getElementById("rowform");
	if( f != null ) {
		f.parentNode.removeChild(f);
	}
}

function gallery_rowform(i, r) {
	var s = document.getElementById("anim"+i);
	if( s == selanim ) {
		gallery_closerowform();
		return null;
	}

	gallery_closerowform();

	s.className = "selanim";
	selanim = s;

	var f = document.createElement("tr");
	f.id = "rowform";
	var c = document.createElement("td");
	c.colSpan = "3";
	f.appendChild(c);

	r = document.getElementById("row"+r);
	r.parentNode.insertBefore(f, r.nextSibling);
	return c;
}

function gallery_closedivform() {
	var n;
	for( n = 1; n <= 3; n++ ) {
		var f = document.getElementById("gallerydivform"+n);
		if( f != null ) {
			f.parentNode.removeChild(f);
		}
	}
}

function gallery_divform(n) {
	var f = document.getElementById("gallerydivform"+n);
	if( f != null ) {
		gallery_closedivform();
		return null;
	}
	gallery_closedivform();

	f = document.createElement("div");
	f.id = "gallerydivform"+n;
	f.className = "gallerydivform";
	var d = document.getElementById("gallerychange");
	d.appendChild(f);

	return f;
}

function gallery_change(i, b, r) {
	var f, t;
	if( r == null ) {
		f = gallery_divform(1);
		t = "gallerydivform1";
	} else {
		f = gallery_rowform(i, r);
		t = "rowform";
	}
	if( f == null ) return;
	t = "gallery_iframe('"+t+"')";

	var h =
		'<div id="galleryedit">\n' +
		'\t<form method="get" action="edit.php" name="buttonsform" id="buttonsform">\n' +
		'\t\t<input type="hidden" name="i" value="'+i+'">\n' +
		'\t\t<input type="hidden" name="a" value="">\n';
	if( b & 1 ) {
		h +=
			'\t\t<input type="button" value="Move to Top" onclick="a.value=\'mt\';submit()">\n' +
			'\t\t<input type="button" value="Move Up" onclick="a.value=\'mu\';submit()">\n' +
			'\t\t<input type="button" value="Move Down" onclick="a.value=\'md\';submit()">\n' +
			'\t\t<input type="button" value="Move to Bottom" onclick="a.value=\'mb\';submit()">\n';
	}
	h +=
		'\t\t<input type="button" value="Delete" onclick="a.value=\'d\';'+t+'">\n' +
		'\t\t<input type="button" value="Edit Description" onclick="a.value=\'e\';'+t+'">\n';
	if( b & 2 ) {
		h +=
			'\t\t<input type="button" value="Unflag" onclick="a.value=\'u\';'+t+'">\n';
	}
	h +=
		'\t</form>\n' +
		'</div>\n';
	f.innerHTML = h;
}

function gallery_links(i) {
	var f = gallery_divform(2);
	if( f == null ) return;

	if( document.getElementById("galleryiframe") == null ) {
		f.innerHTML += '<iframe name="galleryiframe" id="galleryiframe" src="links.php?i='+i+'" width="642" height="150" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" allowtransparency="yes"></iframe>';
	} else {
		gallery_closeform();
	}
}

function gallery_blog(i) {
	var f = gallery_divform(3);
	if( f == null ) return;

	if( document.getElementById("galleryiframe") == null ) {
		f.innerHTML += '<iframe name="galleryiframe" id="galleryiframe" src="blog.php?i='+i+'" width="642" height="163" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" allowtransparency="yes"></iframe>';
	} else {
		gallery_closeform();
	}
}

function gallery_iframe(i) {
	var f = document.getElementById(i);
	if( i == "rowform" ) f = f.firstChild;

	if( document.getElementById("galleryiframe") == null ) {
		f.innerHTML += '<iframe name="galleryiframe" id="galleryiframe" src="" width="642" height="22" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" allowtransparency="yes"></iframe>';

		var b = document.getElementById("buttonsform");
		b.target = "galleryiframe";
		b.submit();
	} else {
		gallery_closeform();
	}

	var e = document.getElementById("galleryedit");
	f.removeChild(e);
}

function gallery_iframeheight(h) {
	var i = document.getElementById("galleryiframe");
	i.height = h;
}

function gallery_closeform() {
	gallery_closerowform();
	gallery_closedivform();
}

function gallery_refresh() {
	window.location.href = window.location.href;
}

function gallery_ajax(u,c) {
	var r = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP");
	if( r == null ) return;
	r.open("GET", u, true);
	r.onreadystatechange = function() {
		if( r.readyState == 4 && r.status == 200 ) {
			c(r.responseText);
		}
	}
	r.send('');
}

function gallery_flagcallback(t) {
	if( t.length > 0 ) {
		window.alert(t);
	}
}

function gallery_flag(e,i,c) {
	e = e.parentNode;
	e.parentNode.removeChild(e);

	var u = "flag.php?i="+i;
	if( c != null ) u += "&c="+c;
	gallery_ajax(u, gallery_flagcallback);
}

var rateid = '', rating = 0, rateshow = 0, ratetimeout = 0;
function gallery_rateshow() {
	var i, r = rating;
	for( i = 1; i <= 5; i++ ) {
		var s = document.getElementById("star"+i);
		var t = r >= 10 ? 10 : r;
		r -= t;
		if( rateshow >= 0 ) {
			t = i > rateshow ? '0' : 'do';
		}
		t = "http://www.morpheussoftware.net/img/rate"+t+"-a.png";
		if( s.src != t ) {
			s.src = t;
		}
	}
}

function gallery_ratehover(n) {
	rateshow = n;
	if( ratetimeout != 0 ) {
		window.clearTimeout(ratetimeout);
		ratetimeout = 0;
	}
	if( n < 0 ) {
		ratetimeout = window.setTimeout("gallery_rateshow()", 50);
	} else {
		gallery_rateshow();
	}
}

function gallery_ratedo(n) {
	window.location.href = "rate.php?i="+rateid+"&r="+n;
}

var copiedtimeout = 0;
function gallery_clearcopymsg() {
	var c = document.getElementById('gallerycopy');
	if( c != null ) {
		c.parentNode.removeChild(c);
	}
	if( copiedtimeout != 0 ) {
		window.clearTimeout(copiedtimeout);
		copiedtimeout = 0;
	}
}

function gallery_copy(e) {
	e.select();
	var r = null;
	if( e.createTextRange ) {
		r = e.createTextRange();
	}
	if( r && r.execCommand ) {
		r.execCommand("Copy")
	} else {
		if( !document.getElementById('flashcopy') ) {
			var d = document.createElement('div');
			d.id = 'flashcopy';
			document.body.appendChild(d);
		}
		document.getElementById('flashcopy').innerHTML = '<embed type="application/x-shockwave-flash" src="clipboard.swf" flashvars="clipboard='+encodeURIComponent(e.value)+'" width="0" height="0"></embed>';
	}

	gallery_clearcopymsg();

	var c = document.createElement('div');
	c.id = 'gallerycopy';
	c.className = 'gallerycopy';
	c.innerHTML = 'Copied';
	c.style.top = (getRealPos(e, 'Top') - 1) + 'px';
	document.body.appendChild(c);
	c.style.left = (getRealPos(e, 'Left') + e.offsetWidth - c.offsetWidth - 2) + 'px';

	copiedtimeout = window.setTimeout("gallery_clearcopymsg()", 1000);
}
