/* ============================================================================================================== \
	Copyright Myfrogbag.com 2008, All rights reserved

	Beta release v0.3
\ ============================================================================================================== */

// Following are JS functions to be used frequently in HEAD tags
/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid) {
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
	try {
		page_request = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){
		try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){}
		}	
	}
	else
	return false
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid)
	}
	if (bustcachevar) //if bust caching of external page
		bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
		page_request.open('GET', url+bustcacheparameter, true)
		page_request.send(null)
	}
			
	function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
		document.getElementById(containerid).innerHTML=page_request.responseText
	}
			
	function loadobjs(){
		if (!document.getElementById)
			return
		for (i=0; i<arguments.length; i++){
			var file=arguments[i]
			var fileref=""
			if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
				if (file.indexOf(".js")!=-1){ //If object is a js file
				fileref=document.createElement('script')
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1){ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects+=file+" " //Remember this object as being already added to page
		}
	}
}

function changesorting(s, o)
{
	updatefilelist('sort='+s+o);
}
	
function updatenotice()
{
	//var notice = document.getElementById('innernotice');
	//notice.innerHTML = ""
	ajaxpage('?notice=1', 'noticetext')
	animatedcollapse.show(['noticetext'])
}

var prevpage = 0;
function showpage(page)
{
	if (page == prevpage)
	{
		animatedcollapse.hide(['noticetext2'])
		prevpage = 0;
	} else {
		prevpage = page;
		ajaxpage(page, 'innernotice2')
		animatedcollapse.show(['noticetext2'])
	}
}

function gohome()
{
	prevpage = 0;
	animatedcollapse.hide(['options'])
	animatedcollapse.hide(['noticetext'])
	animatedcollapse.hide(['noticetext2'])
	animatedcollapse.hide(['footer'])
	scroll(0,0)
}

function updn(file)
{
	// first ask for confirmation
	var answer = confirm("Are you sure you want to delete "+file+"?")
	if (answer){
		// go ahead and hide the row (makes it look faster)
		var divname = "row_"+file;
		var ele = document.getElementById(divname);
		ele.style.display = "none"; 
		
		// Now delete the file by updating the file list
		ajaxpage("?filelist=1&delete="+file, 'filelist');
		updatenotice()
	}
}

function updatefilelist(path)
{
	path = "?filelist=1&"+path;
	ajaxpage(path, 'filelist');
	animatedcollapse.show(['filelist']);
}

function sleep(millis) 
{
	var date = new Date();
	var curDate = null;
	
	do { curDate = new Date(); } 
	while(curDate-date < millis);
}

function resetsubs() 
{
	//var inhtm = "<br>Working...<br><br>"
	var optionsusername3 = document.getElementById('optionsusername3');
	var optionsemail3 = document.getElementById('optionsemail3');
	var optionspassword3 = document.getElementById('optionspassword3');
	optionsusername3.innerHTML = "<br>Working...<br><br>";
	optionsemail3.innerHTML = "<br>Working...<br><br>";
	optionspassword3.innerHTML = "<br>Working...<br><br>";
	animatedcollapse.show(['optionsusername2']);
	animatedcollapse.show(['optionsemail2']);
	animatedcollapse.show(['optionspassword2']);
	animatedcollapse.hide(['optionsusername3']);
	animatedcollapse.hide(['optionsemail3']);
	animatedcollapse.hide(['optionspassword3']);
}

function resetsubs2() 
{
	animatedcollapse.show(['optionsusername2'])
	animatedcollapse.show(['optionsemail2'])
	animatedcollapse.show(['optionspassword2'])
	animatedcollapse.hide(['optionsusername3'])
	animatedcollapse.hide(['optionsemail3'])
	animatedcollapse.hide(['optionspassword3'])
}

function upload_complete(name,size,type,ft,dir)
{
	updatefilelist('?filelist=1');
	updatenotice();
	animatedcollapse.show(['header']);
}

function thumbs()
{
	var thumbs = document.getElementById('thm');
	if(thumbs.checked == true) {
		updatefilelist('thm=1');		
	} else {
		updatefilelist('thm=0');
	}
	scroll(0,0);
}

function secure()
{
	var security = document.getElementById('security');
	var imgPreload = new Image();
	if(security.checked == true) {
		imgPreload.src = "?security=1";			
	} else {
		imgPreload.src = "?security=0";
	}
}

function optimization()
{
	var optimize = document.getElementById('optimize');
	var imgPreload = new Image();
	if(optimize.checked == true) {
		imgPreload.src = "?optimize=1";			
	} else {
		imgPreload.src = "?optimize=0";
	}
}

function SelectAll(element)
{
	element.focus();
	element.select();
}

function ValidateLength(element) //This doesn't work in all browsers unfortunately (not working in chrome yet).
{
	//element.size = element.value.length + 3;
	//document.login.element.setAttribute("size", element.value.length + 3);
	if (element.value.length < 26) {
		element.setAttribute("size", element.value.length + 3);
		//element.focus();
	}
}

function InsertSWF(file,divtag) 
{
	var nfo = new SWFObject(file, divtag, "320", "200", 9, "#FFFFFF");
	nfo.addParam('allowScriptAccess', 'never');
	nfo.addParam('quality', 'medium');
	nfo.addParam("scale", "ShowAll");
	nfo.addParam('wmode', 'transparent');
	nfo.write(divtag);	
}

function HideSWF(divtag) 
{
	divtag.innerHTML='';
}

function submitpassreset()
{
	var div = document.getElementById('regbutton');
	div.style.display = "none";
	var prusername = document.getElementById('prusername');
	var primage = document.getElementById('primage');
	ajaxpage('_php/passreset.php?prusername='+prusername.value+'&primage='+primage.value, 'innernotice2')
}

function submitpassreset2()
{
	var div = document.getElementById('regbutton');
	div.style.display = "none";
	var pr2password = document.getElementById('pr2password');
	var pr2password2 = document.getElementById('pr2password2');
	ajaxpage('_php/passreset2.php?pr2password='+pr2password.value+'&pr2password2='+pr2password2.value, 'innernotice2')
}

function submitregistration()
{
	var div = document.getElementById('regbutton');
	div.style.display = "none";
	var rusername = document.getElementById('rusername');
	var remail = document.getElementById('remail');
	var rpassword = document.getElementById('rpassword');
	var rpassword2 = document.getElementById('rpassword2');
	var rimage = document.getElementById('rimage');
	ajaxpage('_php/register.php?rusername='+rusername.value+'&remail='+remail.value+'&rpassword='+rpassword.value+'&rpassword2='+rpassword2.value+'&rimage='+rimage.value, 'innernotice2')
}