/*
######################################################################
# Functions in this file are explicitly for the use of FileLabs ONLY #
# Copyright 2006 FileLabs, Troy Ward, Adam Mahnk, Brian Sykes        #
# Fusion-Tec Entertainment, All Rights Reserved                      #
######################################################################
*/
<!--
// Brian Sykes WYSIWYG editor
function addArticleCode(t){ 
	//crappy browser sniffer 
	var isFF = false; 
	var textSelected = false; 
	if(navigator.userAgent.toLowerCase().indexOf("firefox") > 0){ 
		isFF = true; 
	} 
	var myArea = document.cpform.comment;
	var begin,selection,end; 
	if (isFF == true){ 
		if (myArea.selectionStart!= undefined) {  
			begin = myArea.value.substr(0, myArea.selectionStart);  
			selection = myArea.value.substr(myArea.selectionStart, myArea.selectionEnd - myArea.selectionStart);  
			end = myArea.value.substr(myArea.selectionEnd); 
			if (selection.length > 0){ 
				textSelected = true; 
			} 
		} 
	}else{ 
		if (window.getSelection){ 
			selection = window.getSelection(); 
		}else if (document.getSelection){ 
			selection = document.getSelection(); 
		}else if (document.selection){ 
			selection = document.selection.createRange().text; 
		} 
		var startPos = myArea.value.indexOf(selection); 
		if (startPos!= 0){ 
			var endPos = myArea.value.indexOf(selection) + selection.length; 
			begin = myArea.value.substr(0,startPos); 
			end = myArea.value.substr(endPos, myArea.value.length); 
			textSelected = true; 
		} 
	} 
	if(textSelected == true){ 
		switch (t){ 
			case "bold":
				startTag = "[b]";
				endTag = "[/b]";
				break;
			
			case "italic":
				startTag = "[i]";
				endTag = "[/i]";
				break;
			
			case "underline":
				startTag = "[u]";
				endTag = "[/u]";
				break;
			case "quote":
				startTag = "[quote]";
				endTag = "[/quote]";
				break;
		}
		myArea.value = begin + startTag + selection + endTag + end;
		myArea.focus();
	}else{
		var currentText = null;
		currentText = myArea.value;
		switch (t) {
			case 'bold':
				if (document.cpform.boldit.value=='B') {
					currentText = currentText + '[b]';
					document.cpform.boldit.value = 'B*';
					break;
				} else if (document.cpform.boldit.value=='B*') {
					currentText = currentText + '[/b]';
					document.cpform.boldit.value = 'B';
					break;
				}
			case 'italic':
				if (document.cpform.italic.value=='I') {
					currentText = currentText + '[i]';
					document.cpform.italic.value = 'I*';
					break;
				} else if (document.cpform.italic.value=='I*') {
					currentText = currentText + '[/i]';
					document.cpform.italic.value = 'I';
					break;
				}
			case 'underline':
				if (document.cpform.underline.value=='U') {
					currentText = currentText + '[u]';
					document.cpform.underline.value = 'U*';
					break;
				} else if (document.cpform.underline.value=='U*') {
					currentText = currentText + '[/u]';
					document.cpform.underline.value = 'U';
					break;
				}
			case 'quote':
				if (document.cpform.quote.value=='Quote') {
					currentText = currentText + '[quote]';
					document.cpform.quote.value = 'Quote*';
					break;
				} else if (document.cpform.quote.value=='Quote*') {
					currentText = currentText + '[/quote]';
					document.cpform.quote.value = 'Quote';
					break;
				}
		}
		myArea.value = currentText;
		myArea.focus();
		return true;
	}
}

function DropDownMenu(entered) {
	with(entered) {
		ref=options[selectedIndex].value;
		splitcharacter=ref.lastIndexOf(":");
	
		if(splitcharacter!=-1) {
			loc=ref.substring(0,splitcharacter);
			target=ref.substring(splitcharacter+1,1000).toLowerCase();
		} else {
			loc=ref;
			target="_self";
		};
	
		lowloc=loc.toLowerCase();
	
		if(lowloc == "false") {
			return;
		}
	
		if(target=="_self") {
			document.location=loc;
		} else {
			if(target=="_top") {
				top.location=loc;
			} else {
				if(target=="_blank") {
					window.open(loc);
				} else {
					if(target=="_parent") {
						parent.location=loc;
					} else {
						parent.frames[target].location=loc;
					};
				}
			}
		}
	}
}

function addurl() {
	var url = prompt("Please enter the URL of your link:", "http://");
	var currentText = null;
	if(url == "http://" || url == "") {
		currentText = document.cpform.comment.value;
		currentText = currentText + "";
	} else if(url == null) {
		currentText = document.cpform.comment.value;
		currentText = currentText + "";
	} else {
		var addtext = prompt("Please enter text to display as link. Leave blank for url");
		if(addtext == null || addtext == "") {
			currentText = document.cpform.comment.value;
			currentText = currentText + "[url=" + url + "]" + url + "[/url]";
		} else {
			currentText = document.cpform.comment.value;
			currentText = currentText + "[url=" + url + "]" + addtext + "[/url]";
		}
	}
	document.cpform.comment.value = currentText; 
}

function ConfirmCancel() {
	if(confirm("Are you sure you want to clear the comment box?")) {
		document.cpform.reset();
	}
	return true;
}

function logout() {
	ht = document.getElementsByTagName("html");
	ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
	if(confirm("Are you sure you want to logout?")) {
		window.location = "http://filelabs.net/logout.php";
		return true;
	} else {
		ht[0].style.filter = "";
		return false;
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function upld(){
        var btn = document.getElementById('sbmtbtn');
        btn.value='       Uploading...       ';
        btn.disabled = true;
		return true;
}

function enableField() {
	if(document.folders.delete_agree.checked == true) {
		document.folders.delete_folder.disabled = false;
		alert("Deleting a folder will also remove all files within it!");
	} else {
		document.folders.delete_folder.disabled = true;
	}
}

function enableField2() {
	if(document.folders.rename_agree.checked == true) {
		document.folders.rename_folder.disabled = false;
		document.folders.rename_folder_to.disabled = false;
	} else {
		document.folders.rename_folder.disabled = true;
		document.folders.rename_folder_to.disabled = true;
	}
}

function enableField3() {
	if(document.folders.password_agree.checked == true) {
		document.folders.password_folder.disabled = false;
		document.folders.password_folder_to.disabled = false;
	} else {
		document.folders.password_folder.disabled = true;
		document.folders.password_folder_to.disabled = true;
	}
}

function IsEmpty(aTextField) { 
	if((aTextField.value.length==0) || (aTextField.value==null)) { 
		return true; 
    } else {
		return false;
	} 
}

function NoGo(form1) { 
	if(IsEmpty(form1.comment)) {
		alert('Please enter a comment!') 
        form1.comment.focus(); 
        return false; 
     }
	 return true; 
}

function sf(user, quote) {
	var comment = document.getElementById('comment');
	var currentText = null;
	var linebreak = "";
	currentText = comment.value;
	if(currentText != "") {
		var linebreak = "\n";
	}
	comment.value = currentText + linebreak + "[quote=" + user + "]" + quote + "[/quote]";
	return true;
	comment.focus();
}

function checkfile() {
	var file = document.getElementById('userfile1');
	if(!file.value) {
		alert('Please select a file to upload!') 
		file.focus(); 
		return false;
	}
	return true; 
}

function switch_multi() {
	for(i=2;i<=20;i++) {
		ii=document.getElementById('file_'+i);
		jj=document.getElementById('_multi');
		switch_button = document.getElementById('switch');
		if (ii.style.display == 'none') {
			ii.style.display = 'block';
			jj.value = '1';
			switch_button.value='Just 1 file';
		} else {
			ii.style.display = 'none';
			jj.value = '0';
			switch_button.value='More Files?';
		}
	}
}

function switch_multi2() {
	for(i=1;i<=4;i++) {
		ii=document.getElementById('text_'+i);
		jj=document.getElementById('_drop');
		if (ii.style.display == 'none') {
			ii.style.display = 'block';
		} else {
			ii.style.display = 'none';
		}
	}
}

var pickerField = null;
var clicked = false;
function showPicker(colorField) {
      var picker = document.getElementById("color_picker");
      var element = document.getElementById("colorsample-" + colorField);
      pickerField = colorField;
      picker.style.top = getTopOffset(element);
      picker.style.left = getLeftOffset(element) + 20;
      picker.style.display = '';
      document.onmouseup = hidePicker;
}

function hidePicker() {
      if (clicked) {
        document.onmouseup = '';
      }
      var picker = document.getElementById("color_picker");
      pickerField = null;
      picker.style.display = 'none';
      clicked = false;
}

function deletefile(user_id, file) {
	confirmed = confirm("Are you sure you want to delete " + file + "?");
	if(confirmed) {
		window.location = "directory.php?id=" + user_id + "&file=" + file + "&delete=file";
	}
}

function deletecomment(id, comment_id) {
	confirmed = confirm("Are you sure you want to remove this comment?");
	if(confirmed) {
		window.location = "directory.php?id=" + id + "&delete=comment&comm_id=" + comment_id + "";
	}
}

function deletecomment_file(id, comment_id, place) {
	confirmed = confirm("Are you sure you want to remove this comment?");
	if(confirmed) {
		window.location = "mirrors.php?file=" + id + "&delete=comment&comm_id=" + comment_id + "&place=" + place + "";
	}
}

/*=======================================================
                         AJAX
=======================================================*/
function lock(url, id, value) {
	var xmlHttp
	xmlHttp = GetXmlHttpObject()
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
    	return
    }
	
	xmlHttp.onreadystatechange = stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

	function stateChanged() {
		if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") {
			document.getElementById("get_status" + value + "").innerHTML = xmlHttp.responseText 
			var objDiv = document.getElementById("get_status" + value + "");
			objDiv.scrollTop = objDiv.scrollHeight;
		}
	}
	
	function GetXmlHttpObject() { 
		var objXMLHttp=null
		if(window.XMLHttpRequest) {
			objXMLHttp=new XMLHttpRequest()
		} else if(window.ActiveXObject) {
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp
	}
}

function unlock(url, id, value) {
	var xmlHttp
	xmlHttp = GetXmlHttpObject()
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
    	return
    }
	
	xmlHttp.onreadystatechange = stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

	function stateChanged() {
		if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") {
			document.getElementById("get_status" + value + "").innerHTML = xmlHttp.responseText 
			var objDiv = document.getElementById("get_status" + value + "");
			objDiv.scrollTop = objDiv.scrollHeight;
		}
	}
	
	function GetXmlHttpObject() { 
		var objXMLHttp=null
		if(window.XMLHttpRequest) {
			objXMLHttp=new XMLHttpRequest()
		} else if(window.ActiveXObject) {
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp
	}
}
/* END AJAX ========================================== */

function toggle_view(id, mode) {
	window.location = "directory.php?id=" + id + "&action=" + mode + "";
}

function download_file(file) {
	window.location = "mirrors.php?file=" + file + "";
}

function report_piracy(file) {
	popup = window.open("my.php?file=" + file + "&action=report_file", "popup");
	popup.close();
	alert("" + file + " reported.");
}

function mature_content(file) {
	popup = window.open("my.php?file=" + file + "&action=report_mature", "popup");
	popup.close();
	alert("" + file + " reported as mature content.");
}

function getlinks(file, server, mime) {
	window.location = "links.php?file="+ file +"";
}

function deletefile(action) {
	if(confirm("Are you sure you want to delete this file?")) {
		window.location = "" + action + "";
	}
}

function stripHTML() {
	var re= /<\S[^><]*>/g
	for(i = 0; i < arguments.length; i++) {
		arguments[i].value=arguments[i].value.replace(re, "");
	}
}

function un_check() {
	document.file.selectall.onclick = un_check;
	for(var i = 0; i < document.file.elements.length; i++) {
		var e = document.file.elements[i];
		if((e.name != 'allbox') && (e.type == 'checkbox')) {
			e.checked = document.file.selectall.checked;
		}
	}
}

// Check / Uncheck
var checkflag = "false";
function check(field) {
 var i;
 if(eval(field[0].checked)) {
  for(i=0;i<field.length;i++)
    field[i].checked=true;
  return "Uncheck All";
 } else { 
   for(i=0;i<field.length;i++)
     field[i].checked=false;
   return "Check All";
 } 
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300');");
}

// Following created by Eric @ Thinkstew.com
function preview_image(image, evt) {
	document.getElementById("trail").innerHTML=("<table width='540' height='30' bgcolor='#FAFAFA'><tr><td>"+ image +"</td></tr></table>");
	document.getElementById("trail").style.display="";
	document.getElementById("trail").style.position="absolute";
	document.getElementById("trail").style.left=(evt.pageX?evt.pageX:evt.clientX) +50;
	document.getElementById("trail").style.top=(evt.pageY?evt.pageY:evt.clientY);
}

function no_preview() {
	document.getElementById("trail").style.display="none";
}

// AJAX BY TROY WOOOOOOOOOOOO
/*#########################*\
|* File Spy                #*|
\*#########################*/
function update_board(url) { 
	var xmlHttp
	xmlHttp = GetXmlHttpObject()
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
    	return
    }
	
	xmlHttp.onreadystatechange = stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

	function stateChanged() { 
		if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") { 
			document.getElementById("get_text").innerHTML=xmlHttp.responseText 
			var objDiv = document.getElementById("get_text");
			objDiv.scrollTop = objDiv.scrollHeight;
		} 
	}
	
	function GetXmlHttpObject() { 
		var objXMLHttp=null
		if(window.XMLHttpRequest) {
			objXMLHttp=new XMLHttpRequest()
		} else if(window.ActiveXObject) {
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp
	}
}

/*#########################*\
|* Tab Browser            #*|
\*#########################*/
function update_tab(url) { 
	var xmlHttp
	xmlHttp = GetXmlHttpObject()
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
    	return
    }
	
	xmlHttp.onreadystatechange = stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

	function stateChanged() { 
		if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") { 
			document.getElementById("update_tab").innerHTML=xmlHttp.responseText 
			var objDiv = document.getElementById("update_tab");
			objDiv.scrollTop = objDiv.scrollHeight;
		} 
	}
	
	function GetXmlHttpObject() { 
		var objXMLHttp=null
		if(window.XMLHttpRequest) {
			objXMLHttp=new XMLHttpRequest()
		} else if(window.ActiveXObject) {
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp
	}
}

/*#########################*\
|* Quick Name Change      #*|
\*#########################*/
function update_name(url, str, value) {
	var xmlHttp
	xmlHttp = GetXmlHttpObject()
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
    	return
    }
	
	xmlHttp.onreadystatechange = stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

	function stateChanged() {
		if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") {
			document.getElementById("get_text" + value + "").innerHTML = xmlHttp.responseText 
			var objDiv = document.getElementById("get_text" + value + "");
			objDiv.scrollTop = objDiv.scrollHeight;
		}
	}
	
	function GetXmlHttpObject() { 
		var objXMLHttp=null
		if(window.XMLHttpRequest) {
			objXMLHttp=new XMLHttpRequest()
		} else if(window.ActiveXObject) {
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp
	}
}

function getFormValues(fobj,valFunc) {
	var str = "";
    var valueArr = null;
    var val = "";
    var cmd = "";
    for(var i = 0;i < fobj.elements.length;i++) {
    	switch(fobj.elements[i].type) {
	   		case "text":
			if(valFunc) {
				//use single quotes for argument so that the value of
				//fobj.elements[i].value is treated as a string not a literal
				cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
				val = eval(cmd)
			}
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
			break;
		}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}

var xmlReq = null;;

function sub(f) {
	var file = 'run_update_name.php'
	var str = getFormValues(f,"validate");
	xmlReq = getXML(file,str);
}

function getXML(file,str) {
	var doc = null
	if (typeof window.ActiveXObject != 'undefined' ) {
		doc = new ActiveXObject("Microsoft.XMLHTTP");
		doc.onreadystatechange = displayState;
	} else {
		doc = new XMLHttpRequest();
		doc.onload = displayState;
	}
	doc.open("POST", file, true);
	doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	doc.send(str);
	return doc;
}
// Thats all folks... -->
