
var add_site_value = "";
var add_link_value = ""
var ds = 0;

function ajax_log_click( link_id )
{

	//if ( ajax_loaded && use_enhanced_js ) {

	//----------------------------------
	// INIT
	//----------------------------------
	
	var url = ipb_var_base_url+'act=links&mode=logclick&id='+link_id;
	

	/*--------------------------------------------*/
	// Main function to do on request
	// Must be defined first!!
	/*--------------------------------------------*/
	
	do_request_function = function()
	{

		/*if ( ! xmlobj.readystate_ready_and_ok() )
		{
			xmlobj.show_loading();
			return;
		}
		
		xmlobj.hide_loading();*/

	}
	
	//----------------------------------
	// LOAD XML
	//----------------------------------
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange( do_request_function );
	
	xmlobj.process( url, 'POST' );
	
	return false;

	//}

}


function ajaxLinksdbCleaner(data) {

	// Remove | And :::
	return data.replace(/\|/g, "&#124;").replace(/:::/g, "&#58;&#58;&#58;");

}



function ajaxMod( action, item_id, data ) {

	//----------------------------------
	// INIT
	//----------------------------------
	//var data = "";
	
	if (action == "deadsite") {

		if (ds == 0) {
		
			ds = 1;
			
		}
		
		// Add comment
		if (ds == 1) {
		
			action = "staffComments";
			document.getElementById("staff_comment_field_" + item_id).value = "dead site " + document.getElementById("staff_comment_field_" + item_id).value;
		}
		
		// Make Invisible
		else if (ds == 2) {
		
			action = "visible";
			
		}
		
		// Lock
		else if (ds == 3) {
		
			action = "lock";
		
		}
		
	}
	
	if (action == "staffComments") {
	
		data = document.getElementById("staff_comment_field_" + item_id).value;
		document.getElementById("staff_comment_row_saved_" + item_id).innerHTML = "SAVING...";
	
	}
	
	
	else if (action == "loadEdit") {

		toggleElement("edit_row_" + item_id);
		document.getElementById("edit_row_form_" + item_id).innerHTML = "LOADING...";
	
	}
	
	
	else if (action == "makeEdit") {
		
		var rowid = document.getElementById("edit_row_form_" + item_id);
			
		var listitems = rowid.getElementsByTagName("input");
		var data = "";

		var listinput 		= rowid.getElementsByTagName("input");
		var listselect 		= rowid.getElementsByTagName("select");
		var listtextarea 	= rowid.getElementsByTagName("textarea");


		for (i=0; i<listinput.length; i++) {
		
			// Text Input
			if (listinput[i].getAttribute("type") == "text") {
		
				data += listinput[i].getAttribute("name") + "=" + listinput[i].value + ":::"; // listinput[i].getAttribute("value")
				
			}
			
			if (listinput[i].getAttribute("type") == "checkbox") {
			
				data += listinput[i].getAttribute("name") + "=" + listinput[i].checked + ":::";
			
			}
			
			
			if (listinput[i].getAttribute("type") == "radio" && listinput[i].checked == true) {
			
				data += listinput[i].getAttribute("name") + "=" + listinput[i].getAttribute("value") + ":::";
			
			}
			
			
		}
		
		
		for (i=0; i<listselect.length; i++) {
			
			// Selected Input
			//if (listselect[i].getAttribute("type") == "select-multiple") { //  || listselect[i].getAttribute("type") == "select-one"
				
				var temp_selected_array = new Array();
				
				for (var s = 0; s < listselect[i].options.length; s++) {
				 
					if (listselect[i].options[s].selected) {

						temp_selected_array.push(listselect[i].options[s].value);
						
					}
					
				}
				
				var selname = listselect[i].getAttribute("name");
				
				if ( selname.indexOf("[]") != -1) {
				
					selname = selname.substr(0, selname.length-2);
				
				}
							
				data += selname + "=" + temp_selected_array.join(",") + ":::";
			
			//}
		
		}
		
		
		for (i=0; i<listtextarea.length; i++) {
		
			data += listtextarea[i].getAttribute("name") + "=" + ajaxLinksdbCleaner(listtextarea[i].value) + ":::";
		
		}
		
		
		//document.getElementById("edit_row_form_" + item_id).innerHTML += data;
		//return false;
		
		document.getElementById("edit_row_form_" + item_id).innerHTML = "<br><br><span style=\"font-size: 20pt;\"><b>Saving...</b></span><br><br>";
	
	}
	
	/*else if (action == "deleteReport") {
	
		data = document.getElementById("staff_comment_field_" + item_id).value;
	
	}*/

	var url = ipb_var_base_url+'act=links&mode=ajaxmod&id='+item_id+'&ajaxmodaction='+action+'&ajaxmoddata='+escape(data);

	
	/*--------------------------------------------*/
	// Main function to do on request
	// Must be defined first!!
	/*--------------------------------------------*/
	
	do_request_function = function()
	{
		
		if ( xmlobj.xmlhandler.readyState == 4 && xmlobj.xmlhandler.status == 200 ) {
		
			var reply = xmlobj.xmlhandler.responseText;
			
			// Dead Site Multi-Action
			if (ds > 0 && (reply.indexOf("staffcommentsadded") == 0 || reply == "hide" || reply == "lock") ) {
			
				pre_reload(item_id, "Marking As Dead Site, Stage " + ds + " ...Please Wait...");
				
				// Move Onto Next Stage
				ds++;
				ajaxMod("deadsite", item_id);
				
				if (ds >= 3) {
				
					// Done, Kill Script And Reload
					ds = 0;
					ajaxUser( "reload", item_id, "" );
					return;
					
				}
			
			}
			
			//alert(reply);
			
			if (reply == "hide") {
				
				
				pre_reload(item_id, "Making Invisible...");
				
				ajaxUser( "reload", item_id, "" );
				
			
			}
			else if (reply == "show") {
							
				pre_reload(item_id, "Making Visible...");
				
				ajaxUser( "reload", item_id, "" );
		
			}
			
			else if (reply == "lock") {

				pre_reload(item_id, "Locking...");
				
				ajaxUser( "reload", item_id, "" );
				
			}
			
			else if (reply == "unlock") {
						
				pre_reload(item_id, "Unlocking...");
				
				ajaxUser( "reload", item_id, "" );
				
				
			}
			
			
			else if (reply == "rptdel") {
			
				document.getElementById("report_row_cell_" + item_id).innerHTML = "<br><br><span style=\"font-size: 20pt;\"><b>Report Deleted</span><br><br>Reloading...</b>";
				
				//var a = setTimeout("ajaxUser( 'loadReport', " + item_id + " )", 1000);
				
				ajaxUser( "reload", item_id, "" );
			
			}
			
			
			else if (reply.indexOf("ldedit|") == 0) {
			
				document.getElementById("edit_row_form_" + item_id).innerHTML = reply.substr(7);
				
			}
			
			
			else if (reply.indexOf("editok|") == 0) {
			
				document.getElementById("edit_row_form_" + item_id).innerHTML = "<br><br><span style=\"font-size: 20pt;\"><b>Edit Successful</span><br><br>Reloading... (If the entry doesn't automatically reload, please hit F5)</b>";
				
				ajaxUser( "reload", item_id, "" );
			
			}
			
			
			else if (reply.indexOf("editer|") == 0) {
			
				document.getElementById("edit_row_form_" + item_id).innerHTML = "<br><br><span style=\"font-size: 20pt;\"><b>Error</span><br><br>" + reply.substr(7) + "</b>";
			
			}
			
			/*else if (reply.indexOf("reload|") == 0) {
			
				document.getElementById("list_row_" + item_id).innerHTML = reply.substr(7);
			
			
			}*/
			
			
			else if (reply.indexOf("staffcommentsadded") == 0) {
			
				document.getElementById("staff_comment_row_saved_" + item_id).innerHTML = "Staff Comment Saved";
				
			}
			
			
			else {
			
				alert("Error: Action Failed To Complete");
			
			}
			
		}
		
	}
	
	
	//----------------------------------
	// LOAD XML
	//----------------------------------
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange( do_request_function );
	
	xmlobj.process( url, 'POST' );
	
	return false;

}




function ajaxUser( action, item_id, data ) {

	// http://localhost/TestForum6/index.php?act=links&mode=ajaxuser&id=309&ajaxuseraction=ratethis&ajaxuserdata=2
	//----------------------------------
	// INIT
	//----------------------------------
	//var data = "";
	
	if (action == "userReport") {
	
		data = document.getElementById("report_field_" + item_id).value;
		//document.getElementById("report_row_saved_" + item_id).innerHTML = "ADDING...";  // GETS REMOVED WHEN CONTENTS OVERWRITTEN WITH NEW REPORTS
	
	}
	
	else if (action == "checkSiteExists") {
	
		// Check Data Entered
		if (document.getElementById("add_site").value != "" && document.getElementById("add_link").value != "") {
	
			// Check We're Not Repeating Query
			if (document.getElementById("add_site").value == add_site_value && document.getElementById("add_link").value == add_link_value) {
			
				return false;
			
			}
	
			data = document.getElementById("add_site").value + "|" + document.getElementById("add_link").value;
			
			document.getElementById("add_site_notice").innerHTML = "Checking Database...";
			
			// Update Global Vars
			add_site_value = document.getElementById("add_site").value;
			add_link_value  = document.getElementById("add_link").value;
			
		}
		else {
		
			return false;
		
		}
	
	}
	
	else {
	
	
	}
	
	var url = ipb_var_base_url+'act=links&mode=ajaxuser&id='+item_id+'&ajaxuseraction='+action+'&ajaxuserdata='+escape(data);
	
	/*--------------------------------------------*/
	// Main function to do on request
	// Must be defined first!!
	/*--------------------------------------------*/
	
	do_request_function = function()
	{
		
		if ( xmlobj.xmlhandler.readyState == 4 && xmlobj.xmlhandler.status == 200 ) {
		
			var reply = xmlobj.xmlhandler.responseText;

			if (reply.indexOf("rptadd|") == 0) {
			
				//document.getElementById("report_row_saved_" + item_id).innerHTML = "ADDED";
				document.getElementById("report_row_cell_" + item_id).innerHTML = "<center><b>Report Added...Reloading Reports</center></b>";
				
				var a = setTimeout("ajaxUser( 'loadReport', " + item_id + " )", 1000);
				//document.getElementById("staff_comment_field_" + item_id).value = reply.replace("staffcommentsadded", "");
				
			}
			
			else if (reply.indexOf("rptldd|") == 0) {
			
				document.getElementById("report_row_cell_" + item_id).innerHTML = reply.substr(7);
				
				document.getElementById("reports_counter_" + item_id).innerHTML = reply.substring( 11, reply.indexOf("-->") );
				
				toggleElement("report_row_" + item_id);
				
				//document.getElementById("staff_comment_field_" + item_id).value = reply.replace("staffcommentsadded", "");
				
			}
			
			else if (reply.indexOf("chksts|") == 0) {
			
				document.getElementById("add_site_notice").innerHTML = reply.substr(7);
			
			}
			
			else if (reply.indexOf("ratedd|") == 0) {
			
				// If Error, Report
				if (reply.size < 8) {
				
					alert("Error: Unable To Rate Site/Load Rating. This may be because you have previously rated the entry or because you are the 'owner' of the entry.");
				
				}
				
				// Isolate + Split Vars
				var vals = reply.substr(7).split(",");
				
				var selectItem = document.getElementById("rating_main_ul_" + item_id);
				
				// Update Stars
				selectItem.style.backgroundPosition = "0px " + vals[0] + "px";
				
				
				document.getElementById("rating_thanks_" + item_id).style.display = "";
				
				// Update Text
				//document.getElementById("reports_counter_" + item_id).
				
				// Cycle Through Anchors removing OnClick and css hover
				
				var anchorsArray = selectItem.getElementsByTagName('a');
				
				for (var i=0; i < anchorsArray.length; i++) {
				
					anchorsArray[i].removeAttribute("onclick");
				
				}

			
			}
			
			else if (reply.indexOf("reload|") == 0) {
			
				document.getElementById("list_row_" + item_id).innerHTML = reply.substr(7);
				
				scrollToElement( document.getElementById("list_row_" + item_id) );
			
			}
			
			else {
			
				alert("Error: Action Failed To Complete");
			
			}
			
		}
		
	}
	
	//----------------------------------
	// LOAD XML
	//----------------------------------
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange( do_request_function );
	
	xmlobj.process( url, 'POST' );
	
	return false;

}


var tabs_array = new Array();
tabs_array[0] = "welcome";
tabs_array[1] = "adv_filter";
tabs_array[2] = "prefs";
//tabs_array[3] = "add_site";

var tabs_count = tabs_array.length;



function showControlBlocks(block_name)  {
	
	for (i=0; i < tabs_count; i++) {
	
		if (block_name == tabs_array[i]) {
		
			document.getElementById(block_name + "_tab").style.backgroundColor="#cccccc";
			document.getElementById(block_name + "_block").style.display="";	
			
		}
		else {
		
			document.getElementById(tabs_array[i] + "_tab").style.backgroundColor="#ffffff";
			document.getElementById(tabs_array[i] + "_block").style.display="none";
		
		}
	
	}
	
}



function toggleElement(name)  {

	if (document.getElementById(name).style.display == "") {
	
		document.getElementById(name).style.display="none";
	
	}
	else {

		document.getElementById(name).style.display="";

	}
	
}


function addStaffID (staffid) {

	document.getElementById("userid_add").value = staffid;

}


function saveLinksdbPrefs(mode, value) {

	if (mode != "" && value != "") {
	
		if (value == "switch") {
		
			var currV = my_getcookie(mode);
		
			if (currV == "yes") {
			
				value = "no";
				
			}
			else {
			
				value = "yes";
				
			}
		
		}

		my_setcookie( mode, value, true );
		//loadLinksdbPrefs(mode);
		//alert( my_getcookie(mode) );
		document.getElementById("prefs_" + mode).innerHTML = my_getcookie(mode);
	
	}

}




function pre_reload(item_id, message) {

	document.getElementById("staff_controls_" + item_id).style.backgroundColor="#000000";
	//document.getElementById("staff_controls_" + item_id).style.fontColor="#ffffff";
	document.getElementById("staff_controls_" + item_id).innerHTML = "<center><font color=\"#ffffff\"><b>" + message + "</b></font></center>";

}



function scrollToElement(theElement) {

  var selectedPosX = 0;
  var selectedPosY = 0;
              
  while(theElement != null) {
  
    selectedPosX += theElement.offsetLeft;
    selectedPosY += theElement.offsetTop - 10;
    theElement = theElement.offsetParent;
	
  }
                        		      
 window.scrollTo(selectedPosX,selectedPosY);

}


function markAsDead() {



}



/*function loadLinksdbPrefs(mode) {

	if (document.cookie.length > 0) {
	
		c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }

}*.


// http://localhost/TestForum6/?act=links&mode=ajaxmod&id=[ID]&ajaxmodaction=[ACTION]&ajaxmoddata=[DATA]


/*

http://localhost/TestForum6/?act=links&mode=ajaxmod&id=466&ajaxmodaction=makeEdit&ajaxmoddata=add_site%3DDarksideRG%3A%3A%3Aadd_link%3Dhttp%3A//www.darksiderg.com/%3A%3A%3Aadd_access_download%3D2%3A%3A%3Aadd_access_upload%3D2%3A%3A%3Aadd_forums%3Dnull%3A%3A%3Aadd_visible%3Dnull%3A%3A%3Aadd_locked%3Dnull%3A%3A%3Aadd_status%3D3%3A%3A%3Aadd_type%3D2%3A%3A%3Aadd_content%3Dbt%2Cdd%2Cnzb%2Cdc%3A%3A%3Aadd_themes%3DAll_No_XXX%3A%3A%3Aadd_description%3DDarksideRG%20is%20the%20home%20of%20these%20releasers%3A%20Darkside_RG%20aXXo%20maribel%20AlchemyRG%20HellraiserRG%20InfiniteRG%20KindMetalRG%20and%20lots%20of%20independent%20releasers%20as%20well.%3A%3A%3A


http://localhost/TestForum6/?act=links&mode=ajaxmod&id=470&ajaxmodaction=makeEdit&ajaxmoddata=add_site%3DTestSite%3A%3A%3Aadd_link%3Dhttp%3A//www.testsite.com/%3A%3A%3Aadd_access_download%3D2%3A%3A%3Aadd_access_upload%3D2%3A%3A%3Aadd_forums%3Dnull%3A%3A%3Aadd_visible%3Dnull%3A%3A%3Aadd_locked%3Dnull%3A%3A%3Aadd_status%3D3%3A%3A%3Aadd_type%3D2%3A%3A%3Aadd_content%3Dbt%2Cdd%2Cnzb%2Cdc%3A%3A%3Aadd_themes%3DAll_No_XXX%3A%3A%3Aadd_description%3DTesting the edit function%3A%3A%3A
*/