function id(v) { return( document.getElementById(v) ); }
var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new window.createRequest()},
	function () {return new createXMLHTTPObject()},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XmlDom")},
	function () {return new ActiveXObject("MSXML2.DOMDocument")},
	function () {return new ActiveXObject("MSXML2.DOMDocument.2.0")},
	function () {return new ActiveXObject("MSXML2.DOMDocument.3.0")},
	function () {return new ActiveXObject("MSXML2.DOMDocument.4.0")},
	function () {return new ActiveXObject("MSXML2.DOMDocument.5.0")}
];
function getXhttp ( ){
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
function getResponseXml(xmlUrl) {
	var xmlHttp = getXhttp();
	xmlHttp.open("GET", xmlUrl, false);
	xmlHttp.send(null);
	return xmlHttp.responseText;
}
function urlencode(str) {
	str = escape(str);
	str = str.replace('+', '%2B');
	str = str.replace('%20', '+');
	str = str.replace('*', '%2A');
	str = str.replace('/', '%2F');
	str = str.replace('@', '%40');
	return str;
}
function addnew(){
	var a = id('more');
	var c = document.createElement('span');
	
	var p=document.createElement('P');
	p.appendChild(document.createTextNode('Image File: '));
	
	var i=document.createElement('INPUT');
	i.type='file';
	i.name='file[]';
	p.appendChild(i);
	
	p.appendChild(document.createElement('BR'));
	
	var s=document.createElement('SPAN');
	if(showhidden==true){
		s.style.display='';
	}else{
		s.className='hiddenoption';
	}
	s.appendChild(document.createTextNode('Image Description: '));
	s.appendChild(document.createElement('BR'));
	var t=document.createElement('TEXTAREA');
	t.name='descs[]';
	t.cols='45';
	t.rows='2';
	t.onchange=function(){if(this.value.length>500){this.value=this.value.substr(0,500);}};
	s.appendChild(t);
	p.appendChild(s);
	
	p.appendChild(document.createElement('BR'));
	
	s=document.createElement('SPAN');
	if(showhidden==true){
		s.style.display='';
	}else{
		s.className='hiddenoption';
	}
	s.appendChild(document.createTextNode('Image Tags (Space separated, 10 at most): '));
	i=document.createElement('INPUT');
	i.type='text';
	i.name='tags[]';
	i.size='15';
	s.appendChild(i);
	p.appendChild(s);
	
	c.appendChild(p);
	a.appendChild(c);
	addnewurl();
}
function addnewurl(){
	var a = id('moreurl');
	var c = document.createElement('span');
	
	var p=document.createElement('P');
	p.appendChild(document.createTextNode('Image URL: '));
	
	var i=document.createElement('INPUT');
	i.type='text';
	i.name='urls[]';
	p.appendChild(i);
	
	p.appendChild(document.createElement('BR'));
	
	var s=document.createElement('SPAN');
	hiddenAfterLoad[hiddenAfterLoad.length-1]=s;
	if(showhidden==true){
		s.style.display='';
	}else{
		s.className='hiddenoption';
	}
	s.appendChild(document.createTextNode('Image Description: '));
	s.appendChild(document.createElement('BR'));
	var t=document.createElement('TEXTAREA');
	t.name='urldescs[]';
	t.cols='45';
	t.rows='2';
	t.onchange=function(){if(this.value.length>500){this.value=this.value.substr(0,500);}};
	s.appendChild(t);
	p.appendChild(s);
	
	p.appendChild(document.createElement('BR'));
	
	s=document.createElement('SPAN');
	if(showhidden==true){
		s.style.display='';
	}else{
		s.className='hiddenoption';
	}
	s.appendChild(document.createTextNode('Image Tags (Space separated, 10 at most): '));
	i=document.createElement('INPUT');
	i.type='text';
	i.name='urltags[]';
	i.size='15';
	s.appendChild(i);
	p.appendChild(s);
	
	c.appendChild(p);
	a.appendChild(c);
}
function $(v) { return(id(v)); }
function hidebox() { setdisplay('none'); after(); }
function showbox() {  before(); setdisplay('block'); }
function setdisplay(o) {
	$('overlay').style.display=o;
	$('box').style.display=o;
}
function before() {
	if(self.pageYOffset){
		yPos=self.pageYOffset;
	}else if(document.documentElement && document.documentElement.scrollTop){
		yPos=document.documentElement.scrollTop;
	}else if(document.body){
		yPos=document.body.scrollTop;
	}
	window.scrollTo(0,0);
	document.getElementsByTagName('body')[0].style.overflow='hidden';
}
function after() {
	window.scrollTo(0,yPos);
	document.getElementsByTagName('body')[0].style.overflow='auto';
	$('frame').src='';
}
function hideid(o) { $(o).style.display='none'; }
function showid(o) { $(o).style.display=''; }
var yPos=null;

function ffiles() {
	id('galleryform').style.display='none';
	id('urlform').style.display='none';
	id('imageform').style.display='';
	id('twitterform').style.display='none';
	id('radiofile').checked='checked';
	id('radiourl').checked=false;
	id('radiogallery').checked=false;
	id('radiotwitter').checked=false;
}
function furl() {
	id('galleryform').style.display='none';
	id('urlform').style.display='';
	id('imageform').style.display='none';
	id('twitterform').style.display='none';
	id('radiofile').checked=false;
	id('radiourl').checked='checked';
	id('radiogallery').checked=false;
	id('radiotwitter').checked=false;
}
function fgallery() {
	id('galleryform').style.display='';
	id('urlform').style.display='none';
	id('imageform').style.display='';
	id('twitterform').style.display='none';
	id('radiofile').checked=false;
	id('radiourl').checked=false;
	id('radiogallery').checked='checked';
	id('radiotwitter').checked=false;
}
function ftwitter() {
	id('galleryform').style.display='none';
	id('urlform').style.display='none';
	id('imageform').style.display='none';
	id('twitterform').style.display='';
	id('radiofile').checked=false;
	id('radiourl').checked=false;
	id('radiogallery').checked=false;
	id('radiotwitter').checked='checked';
}
function checkGallery(){
	var cgal=urlencode(id('gallery').value);
	if(getResponseXml('ajax.php?do=gallerycheck&gallery='+cgal)=='1'){
		alert('Gallery name is OK');
	}else{
		alert('GALLERY NAME ALREADY IN USE');
	}
}
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
var showhidden=false;
var hiddenAfterLoad={};
function showHiddenOptions(){
	showhidden=true;
	var i=getElementsByClass('hiddenoption');
	for(var n=0;n<i.length;n++){
		if(i[n]==null){continue;}
		i[n].style.display='';
		i[n].className='';
	}
	i=hiddenAfterLoad;
	for(n=0;n<i.length;n++){
		if(i[n]==null){continue;}
		i[n].style.display='';
		i[n].className='';
	}
}