// .-==================================================================
// .	FusionBB Version 2.2
// .
// .	Created August 20, 2003 by InteractivePHP
// .
// .	All scripts and files used by this program
// .	are copyright InteractivePHP, Inc
// .	For discussion, bug reports and updates
// .	visit http://www.FusionBB.com
// .
// .	You may not redistribute this program in any form, without
// .	express written permisson from InteractivePHP.
// .
// .	WARNING: If you modify any scripts within FusionBB
// .	you will be unable to obtain official support.
// .	Modify at your own risk!
// .
// .	FusionBB Copyright 2003-2010, InteractivePHP, Inc
// .-==================================================================
// .	$Date: 2008/08/16 01:35:50 $	$Author: couch $
// .	$RCSfile: fusionbb_main.js,v $	$Revision: 1.22 $
// .-==================================================================
// .	File Description:
// .		Main Javascript used by FusionBB
// .-==================================================================

function breakFrame(){
	if (top.location != location) {
		top.location.href = document.location.href ;
	}
}

function loadShoutBox(url) {
	if (document.getElementById('shoutbox')) {
		document.getElementById('shoutbox').src=url;
	}
}

function setCookie(name, value) {
	var date = new Date();
	var expire = date.getTime();
	expire += 1000 * cookieexpire;
	date.setTime(expire);
	document.cookie = cookieprefix + name + "=" + escape(value) + "; expires=" + date.toGMTString() + "; path=" + cookiepath + "; domain=" + cookiedomain;
}

function toggleDisplay(id) {
	var cat = document.getElementById("cat-" + id);
	cname = 'cat-'+id;
	var name = 'img-' + id;
	if (cat.style.display != "") {
		cat.style.display="";
		document.images[name].src = collapse.src;
		setCookie(cname, 1);
	}
	else {
		cat.style.display = "none";
		document.images[name].src = expand.src;
		setCookie(cname, 0);
	}
}

function toggleSection(id) {
	var cat = document.getElementById("section-" + id);
	cname = 'section-'+id;
	var name = 'img-' + id;
	if (cat.style.display != "") {
		cat.style.display="";
		document.images[name].src = collapse.src;
	}
	else {
		cat.style.display = "none";
		document.images[name].src = expand.src;
	}
}

function toggleDiv(id,flagit) {
	if (flagit=="1"){
		if (document.layers){
			document.layers[''+id+''].visibility = "show";
		}
		else if (document.all){
			document.all[''+id+''].style.visibility = "visible";
		}
		else{
			if (document.getElementById){
				document.getElementById(''+id+'').style.visibility = "visible";
			}
		}
	}
	else{
		if (flagit=="0"){
			if (document.layers){
				document.layers[''+id+''].visibility = "hide";
			}
			else if (document.all){
				document.all[''+id+''].style.visibility = "hidden";
			}
			else{
				if (document.getElementById){
					document.getElementById(''+id+'').style.visibility = "hidden";
				}
			}
		}
	}
}

function doToggle(action,id,total) {
	if ((document.getElementById && !document.all) || (document.all) || (document.all && window.opera)) {
		if (action == 'all') {
			for (var i = 0; i <= total; i++) {
				var pid = document.getElementById('pid'+i);
				if (pid) {
					pid.checked = pid.checked ? false : true;
				}
			}
		} else if (action == 'check' || action == 'click') {
			var pid = document.getElementById('pid'+id);
			if (pid) {
				if (action == 'click') {
					pid.checked = pid.checked ? false : true;
				}
			}
		}
	}
}

function doToggle2(action,id,total,var_name) {
	if ((document.getElementById && !document.all) || (document.all) || (document.all && window.opera)) {
		var test = document.getElementsByTagName('input');
		for (var i = 1; i <= test.length + 1; i++) {
			if(test[i] != 'undefined' &&  test[i] != null && test[i] != ''){
				for(var j = 1; j <= total; j++){
					if(test[i].name == var_name +"[" +j + "]" ){
						var new_var_name = document.getElementById(var_name +"[" +j + "]");
						if (action == 'click' || action == 'all') {
							if (new_var_name) {
								new_var_name.checked = new_var_name.checked ? false : true;
							}
						}
					}
				}
			}
		}
	}
}

function QuickReply(id) {
	var cat = document.getElementById("section-1");
	var name = 'img-1';
	obj = document.post;
	obj.pid.value = document.getElementById('pid-' + id).innerHTML;

	if (cat.style.display != "") {
		cat.style.display="";
		document.images[name].src = collapse.src;
	}
}

function unread_pt(text,sess,fullurl) {
	if (confirm(text)) { // Take them to the Private Topic Page
		window.location=""+fullurl+"/listpt.php?"+sess;
	}
}


var lastid = '';
var gotclick = 0;
function toggleClick() {
	if (gotclick == 1) {
		gotclick = 0;
	}
	else {
		gotclick = 1;
	}
}

function hideCheck() {
	if (lastid != '' && lastid != null && gotclick == 1) {
		document.getElementById(lastid).style.visibility = "hidden";
		lastid = '';
		gotclick = 0;
	}
}

function showCheck(id) {
	if (lastid != id && gotclick == 1) {
		document.getElementById(lastid).style.visibility = "hidden";
		lastid = id;
		document.getElementById(id).style.visibility = "visible";
	}
}
function showMenu(id) {
	if (lastid != id) {
		if (lastid != '' && lastid != null) {
			document.getElementById(lastid).style.visibility = "hidden";
		}
		lastid = id;
		gotclick = 1;
		document.getElementById(id).style.visibility = "visible";
	}
	else {
		lastid = '';
		gotclick = 0;
		document.getElementById(id).style.visibility = "hidden";
	}
}

function showHide(id,sbar) {
	var obj = document.getElementById(id);
	if (obj) {
		if (obj.style.display == "") {
			obj.style.display = "none";
			if(sbar == 1){
				setCookie('sbar', 'none');
			}
		}
		else {
			obj.style.display = "";
			if(sbar == 1){
				setCookie('sbar', ';');
			}
		}
	}
}
document.onmousedown = hideCheck;

var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

// open hidden layer
function mopen(id){	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose(){
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime(){
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime(){
	if(closetimer)	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
	} else {
		countfield.value = maxlimit - field.value.length;
	}
}

function changeFlag(id,img,url) {
   imageURL = url + img;
   document.getElementById(id).style.backgroundImage = imageURL == 'none' ? 'none' : 'url(' + imageURL + ')';

}   

function do_confirm(text,f) {
	var answer = 0;
	for (var i=0;i<f.confirm.length;i++) {
		if(f.confirm[i].checked == true) {
			answer = f.confirm[i].value;
		}
	}
	if (answer==1) {
		input_box=confirm(text);
		if (input_box==true) {
			f.submit();
		}
	}

}


var xmlHttp

function sendForm(action,url) {
    if (action == 1) {
		document.form.action = url;
	}
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
    }
  }
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function sndReq(url,divtag,cal_str) {
	var req = GetXmlHttpObject();
	req.open('GET', url+'?cal_str/'+cal_str, true);
	req.onreadystatechange = function(){
		if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				// Text returned FROM the PHP script
				var response = req.responseText;
				if(response) {
					if(response.indexOf('|' != -1)) {
						var new_response = '';
						update = response.split('|');
						for (var i=0; i < update.length; i++){
							if ( i > 0 ){
								new_response =  new_response + "<br />";
							}
							new_response =  new_response + update[i];
						}
						response =  new_response;
					}
					// UPDATE ajaxTest content
					document.getElementById(divhandler.divtag).innerHTML = response;
				}
			} else {
				alert("There was a problem while using XMLHTTP:\n" + req.statusText);
			}
		}
	}
	var divhandler = new handleDivTag(null);
	divhandler.divtag = divtag;
	req.send(null);
	if(url != '' && divtag != ''){
		setTimeout('sndReq(\''+url+'\',\''+divtag+'\',\''+cal_str+'\')', 10000);
	}
}

function handleDivTag(divtag){
	var divtag;
	return divtag;
}

function insert_panel(url,str,div){ 
	xmlHttp=GetXmlHttpObject();
	var url=url;
	var div=div;
	var panel_args = new Object();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	if(str != null && str != '' && typeof(str)!="undefined"){
		var str = str;
		if(str.indexOf('|' != -1) || str.indexOf('/' != -1)) {
			update = str.split('|');
			for (var i=0; i < update.length; i++){
				if(update[i].indexOf('/' != -1)) {
					update2 = update[i].split('/');
					update_key = update2[0];
					update_value = update2[1];
					panel_args[update_key] = update_value;
				}
			}
		}
		else{
			panel_args.str =  str;
		}
	}
	if(panel_args['ranked_post_id'] != null && panel_args['ranked_post_id'] != ''){
		var formname = 'fbbform'+panel_args['ranked_post_id'];
		var forms = document.getElementsByTagName("form");
		var myForm = null;
		for (var i = 0; i < forms.length; i++) {
			if (forms[i].name == formname) {
				myForm = forms[i];
				break;
			}
		}
		if (myForm != null) {
			var whole_form_fields = document.forms[myForm.name];
		}
	}
	else{
		var whole_form_fields = document.fbbform;
	}
	if(whole_form_fields != null && whole_form_fields != '' && typeof(whole_form_fields) != "undefined"){
		for(var i=0; i < whole_form_fields.elements.length; i++){
			whole_form_name = whole_form_fields.elements[i].name;
			if(whole_form_fields.elements[i].type == 'radio'){
				var types = document.getElementsByName(whole_form_name);
				for(var j=0; j < types.length; j++){
					if(types[j].checked){
						var whole_form_value = types[j].value;
					}
				}
			}
			else if(whole_form_fields.elements[i].type == 'checkbox'){
				var check = document.getElementsByName(whole_form_name);
				var whole_form_value = 0;
				if(check.checked){
					var whole_form_value = 1;
				}
			}
			else{
				var whole_form_value = '';
				if(document.getElementById(whole_form_name)){
					var whole_form_value = document.getElementById(whole_form_name).value;
				}
			}
			panel_args[whole_form_name] = whole_form_value;
		}
	}
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			if(document.getElementById(div)){
				document.getElementById(div).innerHTML=xmlHttp.responseText;
			}
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	xmlHttp.send("args=" + escape(JSON.stringify(panel_args)));
	if(panel_args['ranked_post_id'] != null && panel_args['ranked_post_id'] != ''){
		if(panel_args['process'+panel_args['ranked_post_id']] == 'approve' || panel_args['process'+panel_args['ranked_post_id']] == 'reject'){
		     window.setTimeout('window.location="listpt.php"; ',10000);
		}
	}
	else{
		if(panel_args['process'+panel_args['ranked_post_id']] == 'approve' || panel_args['process'+panel_args['ranked_post_id']] == 'reject'){
		     window.setTimeout('window.location="listpt.php"; ',10000);
		}
	}
}

function checkExpire () {
	var gotChecks = false;
	var expire = document.getElementById('expire');
	var inputs = expire.getElementsByTagName('input');
	for (var x = 0; x < inputs.length; x++) {
		var inputnode = inputs[x];
		if (inputnode.type == 'checkbox' && inputnode.checked) {
			gotChecks = true;
		}
	}
	if (gotChecks) {
		if (confirm('Are you sure you want to expire the selected topics?')) {
			document.expire.submit();
		}
	} else {
		alert('You need to select some topics first!');
	}
}
