var op='single';
var options_single=false;
var options_multi=false;
var options_links=false;
var position=0;
var userfiles=new Array();
var filenames=new Array();
for(var i=0;i<100;i++) {
	userfiles[i]=false;
	filenames[i]='';
}
userfiles[0]=true;
var used=1;
var albumIgnore=false;
var albumPosition=0;
var angleIgnore=false;
var uploading=0;

function fileSelected() {
	var filename=document.getElementById('userfile').value;
	if(!filename) {
		document.getElementById('options').style.display='none';
		return;
	}
	document.getElementById('filename').value=filename;
	document.getElementById('options').style.display='';
	options_single=true;
}

function checkForm() {
	document.getElementById('uploadButton').className='upload uploadHovered';
	var ok=true;
	if(document.getElementById('sort').checked) {
		var album=document.getElementById('album').value;
		if(!album) {
			var album_title=document.getElementById('album_title').value;
			if(!album_title.length)
				ok=false;
		}
	}
	if(document.getElementById('resize').checked) {
		var size=document.getElementById('size').value;
		if(isNaN(size)) {
			document.getElementById('resize_container').style.color='#8B0000';
			ok=false;
		}
		else {
			if(size<16||2560<size) {
				document.getElementById('resize_container').style.color='#8B0000';
				ok=false;
			}
			else
				document.getElementById('resize_container').style.color='#000000';
		}
	}
	else {
		if(!document.getElementById('size').disabled)
			document.getElementById('resize_container').style.color='#000000';
	}
	if(document.getElementById('secure').checked) {
		document.getElementById('preview_size_container').style.color='#000000';
		if(!document.getElementById('password').value.length) {
			document.getElementById('secure_container').style.color='#8B0000';
			ok=false;
		}
		else
			document.getElementById('secure_container').style.color='#000000';
	}
	else {
		if(!document.getElementById('password').disabled)
			document.getElementById('secure_container').style.color='#000000';
		var preview_size=document.getElementById('preview_size').value;
		if(isNaN(preview_size)) {
			document.getElementById('preview_size_container').style.color='#8B0000';
			ok=false;
		}
		else {
			if(preview_size<16||640<preview_size) {
				document.getElementById('preview_size_container').style.color='#8B0000';
				ok=false;
			}
			else
				document.getElementById('preview_size_container').style.color='#000000';
		}
	}
	var quality=document.getElementById('quality').value;
	if(isNaN(quality)) {
		document.getElementById('quality_container').style.color='#8B0000';
		ok=false;
	}
	else {
		if(quality<1||100<quality) {
			document.getElementById('quality_container').style.color='#8B0000';
			ok=false;
		}
		else
			document.getElementById('quality_container').style.color='#000000';
	}
	if(!ok)
		return;
	if(op=='single') {
		for(var i=0;i<100;i++)
			if(userfiles[i])
				document.getElementById('userfile_'+i).parentNode.removeChild(document.getElementById('userfile_'+i));
		document.getElementById('links_list').value='';
	}
	else if(op=='multi') {
		document.getElementById('userfile').parentNode.removeChild(document.getElementById('userfile'));
		document.getElementById('links_list').value='';
	}
	else {
		document.getElementById('userfile').parentNode.removeChild(document.getElementById('userfile'));
		for(var i=0;i<100;i++)
			if(userfiles[i])
				document.getElementById('userfile_'+i).parentNode.removeChild(document.getElementById('userfile_'+i));
	}
	document.getElementById('uploadForm').style.display='none';
	document.getElementById('process').style.display='';
	document.getElementById('uploadForm').submit();
}

function secureClick(obj) {
	if(obj.checked) {
		document.getElementById('preview_size').disabled=true;
		document.getElementById('preview_title').disabled=true;
		document.getElementById('password').disabled=false;
	}
	else {
		document.getElementById('preview_size').disabled=false;
		document.getElementById('preview_title').disabled=false;
		document.getElementById('password').disabled=true;
	}
}

function uploadMenu(menu) {
	document.getElementById('upload_menu_single').className='upload_menu';
	document.getElementById('upload_menu_multi').className='upload_menu';
	document.getElementById('upload_menu_links').className='upload_menu';
	document.getElementById('single').style.display='none';
	document.getElementById('multi').style.display='none';
	document.getElementById('links').style.display='none';
	document.getElementById('upload_menu_'+menu).className='upload_menu_active';
	document.getElementById(menu).style.display='';
	document.getElementById('userfile').style.position='absolute';
	for(var i=0;i<100;i++) {
		if(userfiles[i]==true)
			document.getElementById('userfile_'+i).style.position='absolute';
	}
	if(menu=='single') {
		if(options_single)
			document.getElementById('options').style.display='';
		else
			document.getElementById('options').style.display='none';
	}
	else if(menu=='multi') {
		if(options_multi)
			document.getElementById('options').style.display='';
		else
			document.getElementById('options').style.display='none';
	}
	else if(menu=='links') {
		if(options_links)
			document.getElementById('options').style.display='';
		else
			document.getElementById('options').style.display='none';
	}
	op=menu;
}

function sortClick(obj) {
	if(obj.checked) {
		if(document.getElementById('album').value==0)
			document.getElementById('album_title').disabled=false;
	}
	else {
		document.getElementById('album').disabled=true;
		document.getElementById('album_title').disabled=true;
	}
}

function sortChange(value) {
	if(value>0)
		document.getElementById('album_title').disabled=true;
	else
		document.getElementById('album_title').disabled=false;
}

function fileAdd() {
	for(var i=0;i<100;i++) {
		if(userfiles[i]==false) {
			userfiles[i]=true;
			var temp=document.createElement('input');
			temp.type='file';
			temp.id='userfile_'+i;
			temp.name='userfile_'+i;
			temp.style.marginLeft=marginLeft;
			temp.onchange=function(){var inputName=this.name.split('_');fileSelectedMulti(inputName[1])};
			document.getElementById('file_buttons').appendChild(temp);
			used++;
			added=true;
			break;
		}
	}
}

function fileSelectedMulti(num) {
	document.getElementById('userfiles_list').style.display='';
	filenames[num]=document.getElementById('userfile_'+num).value;
	document.getElementById('userfile_'+num).style.display='none';
	document.getElementById('options').style.display='';
	options_multi=true;
	fileAdd();
	var counter=0;
	for(var i=0;i<100;i++) {
		if(!filenames[i].length)
			continue;
		counter++;
	}
	if(counter<100)
		document.getElementById('file_buttons').className='file_button';
	else
		document.getElementById('file_buttons').className='file_button file_buttonDisabled';
	position=counter-5;
	if(position<0)
		position=0;
	updateFileList();
}

function updateFileList() {
	var counter=0;
	for(var i=0;i<100;i++) {
		if(!userfiles[i])
			continue;
		if(i!=counter) {
			filenames[counter]=filenames[i];
			userfiles[counter]=userfiles[i];
			var userfile_temp=document.getElementById('userfile_'+i);
			userfile_temp.id='userfile_'+counter;
			userfile_temp.name='userfile_'+counter;
			filenames[i]='';
			userfiles[i]=false;
		}
		counter++;
	}
	if(counter<position)
		position=counter-5;
	if(position<0)
		position=0;
	for(i=0;i<5;i++) {
		document.getElementById('filenum_'+i).innerHTML='';
		document.getElementById('filename_'+i).innerHTML='';
		document.getElementById('remove_'+i).className='removeDisabled';
	}
	var temp=0;
	counter=0;
	for(i=0;i<100;i++) {
		if(!filenames[i].length)
			continue;
		if(counter>=position&&counter-position<5) {
			temp=counter+1;
			if(temp<10)
				temp='0'+temp;
			document.getElementById('filenum_'+(counter-position)).innerHTML=temp;
			document.getElementById('filename_'+(counter-position)).innerHTML=filenames[i];
			document.getElementById('remove_'+(counter-position)).className='remove';
		}
		counter++;
		if(counter==position+6)
			break;
	}
	if(position==0)
		document.getElementById('list_up').className='list_upDisabled';
	else
		document.getElementById('list_up').className='list_up';
	if(counter-position<=5)
		document.getElementById('list_down').className='list_downDisabled';
	else
		document.getElementById('list_down').className='list_down';
}

function moveList(inc) {
	if(inc==1)
		document.getElementById('list_down').className='list_down';
	else
		document.getElementById('list_up').className='list_up';
	position+=inc;
	updateFileList();
}

function removeFile(num) {
	document.getElementById('remove_'+num).className='remove';
	var counter=0;
	for(var i=0;i<100;i++) {
		if(!filenames[i].length)
			continue;
		if(counter==position+num) {
			filenames[i]='';
			userfiles[i]=false;
			document.getElementById('userfile_'+i).parentNode.removeChild(document.getElementById('userfile_'+i));
			used--;
			break;
		}
		counter++;
	}
	if(used==99)
		fileAdd();
	if(used==1) {
		document.getElementById('userfiles_list').style.display='none';
		document.getElementById('options').style.display='none';
		options_multi=false;
	}
	updateFileList();
	document.getElementById('file_buttons').className='file_button';
}

function linksChanged(file_list) {
	if(file_list.length) {
		document.getElementById('options').style.display='';
		options_links=true;
	}
	else {
		document.getElementById('options').style.display='none';
		options_links=false;
	}
}

function removeClicked(obj,num) {
	obj.className='removeClicked';
	setTimeout('removeFile('+num+')',100);
}

function listClicked(obj,state) {
	if(state==1)
		obj.className='list_downClicked';
	else
		obj.className='list_upClicked';
	setTimeout('moveList('+state+')',100);
}

function albumSelectClicked() {
	hideAngleSelect();
	if(albumIgnore) {
		albumIgnore=false;
		return;
	}
	if(!document.getElementById('sort').checked)
		return;
	var temp=document.getElementById('albums');
	if(temp.style.display=='none') {
		temp.style.display='';
		document.getElementById('albumSelect').className='albumOpened';
	}
	else {
		temp.style.display='none';
		document.getElementById('albumSelect').className='album';
	}
}

function albumSelected(num) {
	var id=albumPosition+num;
	if(albumValues.length<=id) {
		albumIgnore=true;
		return;
	}
	document.getElementById('album').value=albumValues[id];
	document.getElementById('albums_title').innerHTML=albumTitles[id];
	sortChange(albumValues[id]);
}

function moveAlbumList(state) {
	if(state==1)
		document.getElementById('album_down').className='list_down';
	else
		document.getElementById('album_up').className='list_up';
	albumPosition+=state;
	if(albumPosition)
		document.getElementById('album_up').className='list_up';
	else
		document.getElementById('album_up').className='list_upDisabled';
	if(albumPosition+5>=albumValues.length)
		document.getElementById('album_down').className='list_downDisabled';
	else
		document.getElementById('album_down').className='list_down';
	for(var i=0;i<5;i++) {
		var temp=albumPosition+i;
		if(!temp)
			temp='&nbsp;&nbsp;';
		else if(temp<10)
			temp='0'+temp;
		document.getElementById('albumnum_'+i).innerHTML=temp;
		document.getElementById('album_'+i).innerHTML=albumTitles[albumPosition+i];
	}
}

function albumClicked(obj,state) {
	if(state==1) {
		if(albumPosition+5>=albumValues.length)
			return;
		obj.className='list_downClicked';
	}
	else {
		if(!albumPosition)
			return;
		obj.className='list_upClicked';
	}
	setTimeout('moveAlbumList('+state+')',100);
}

function angleSelectClicked() {
	hideAlbumSelect();
	if(angleIgnore) {
		angleIgnore=false;
		return;
	}
	if(!document.getElementById('rotate').checked)
		return;
	var temp=document.getElementById('angles');
	if(temp.style.display=='none') {
		temp.style.display='';
		document.getElementById('angleSelect').className='angleOpened';
	}
	else {
		temp.style.display='none';
		document.getElementById('angleSelect').className='angle';
	}
}

function hideAlbumSelect() {
	document.getElementById('albums').style.display='none';
	if(document.getElementById('sort').checked)
		document.getElementById('albumSelect').className='album';
	else
		document.getElementById('albumSelect').className='albumDisabled';
}

function hideAngleSelect() {
	document.getElementById('angles').style.display='none';
	if(document.getElementById('rotate').checked)
		document.getElementById('angleSelect').className='angle';
	else
		document.getElementById('angleSelect').className='angleDisabled';
}

function uploadingRefresh() {
	document.getElementById('uploading_'+uploading).className='uploading';
	uploading++;
	if(uploading==25)
		uploading=0;
	var temp=0;
	for(var i=0;i<5;i++) {
		temp=uploading+i;
		if(temp>24)
			temp-=25;
		document.getElementById('uploading_'+temp).className='uploading_red';
	}
}

setInterval('uploadingRefresh()',300);
