//Script file (C) MugiMugi - The Doujinshi DB Project
//Feel free to copy whatever from this script file but PLEASE credit me ( enought to keep a comment in the code & URL )


//Register and load up ajax..
var request = false;
try {
 request = new XMLHttpRequest();
} catch (trymicrosoft) {
 try {
   request = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (othermicrosoft) {
   try {
     request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (failed) {
     request = false;
   }
 }
}

if (!request)
 alert("Ajax is not supported, many functions won't be supported with your webbrowser\nplease contact the admin and let you know about this error,also what browser you have and version.\n( Keep in mind VERY old browsers is NOT supported )!");



var right_menu_data = null;  //The right menu's global data.




//Register an Ajax event for voting....
function submiteVote(score, bookid, PHPSESSID) {
	loading('vote');
	var url = "/tools/vote.php?SCORE=" + escape(score) + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", url, true);
	request.onreadystatechange = updatePageScore;
	request.send(null);
}
function updatePageScore() {
 if (request.readyState == 4) {
   if (request.status == 200) {
     var response = request.responseText.split("|");
			document.getElementById('vote').innerHTML = response[0];
			if (response[1] != '0' && response[1]!= null && response[1] != 0) {
				document.getElementById('score').innerHTML = response[1];
			}
   } else
     alert("Failed to vote!");
 }
}

//Register an Ajax event for voting....
function addsimilar(bookid, PHPSESSID) {
	loading('similar');
	var url = "/tools/similar.php?P=1&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", url, true);
	request.onreadystatechange = updateSimilar;
	request.send(null);
}
function updateSimilar() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById('similar').innerHTML = request.responseText;
   } else
     alert("Failed to add similar!");
 }
}

//Register an Ajax event for voting....
function addsimilar_step2(bookid, PHPSESSID) {
	var url = "/tools/similar.php?OID=" + escape(document.similar_data.OID.value) + "&P=2&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	loading('similar');
	request.open("GET", url, true);
	request.onreadystatechange = updateSimilar2;
	request.send(null);
	return false;
}

function updateSimilar2() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById('similar_list').innerHTML = request.responseText;
			document.getElementById('similar').innerHTML = "";
   } else
     alert("Failed to add similar!");
 }
}
 

function del_similary(bookid, bookid2, PHPSESSID) {
	if(confirm('Are you sure you want to delete this item?'))
	{
		loading('similar_list');
		var url = "/tools/similar.php?P=3&ID=" + escape(bookid) + "&ID2=" + escape(bookid2) + "&PHPSESSID=" + escape(PHPSESSID);
		request.open("GET", url, true);
		request.onreadystatechange = updateSimilar_del;
		request.send(null);
	}
	
}

function updateSimilar_del() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById('similar_list').innerHTML = request.responseText;
   } else
     alert("Failed to delete similar!");
 }
}


   
//Show loading ICON.
function loading(elementname) {
	document.getElementById(elementname).innerHTML = "<img src='/images/loader.gif'>";   	
}


//Hide left menu functions ^^ very simple but yet so effective.
function hide_right_menu() {
		if (right_menu_data != null)
			return;
		right_menu_data = document.getElementById('rightmenu_holder').innerHTML;
		document.getElementById('rightmenu_holder').innerHTML = hidden_text;
}

function show_right_menu() {
		if (right_menu_data == null)
			return;
		document.getElementById('rightmenu_holder').innerHTML = right_menu_data;
		right_menu_data = null;
}


//Favourite related scripts....

//Register an Ajax event for voting....
function addfavourite(bookid, PHPSESSID) {
	loading('favourite');
	var url = "/tools/favourite.php?P=ADD&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", url, true);
	request.onreadystatechange = addfavouriteUPDATE;
	request.send(null);
}
//Register an Ajax event for voting....
function editfavourite(bookid, PHPSESSID) {
	loading('favourite');
	var url = "/tools/favourite.php?P=EDIT&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", url, true);
	request.onreadystatechange = addfavouriteUPDATE;
	request.send(null);
}
function editfavouritecat(bookid, PHPSESSID) {
	loading('favourite');
	var url = "/tools/favourite.php?P=EDITCAT&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", url, true);
	request.onreadystatechange = addfavouriteUPDATE;
	request.send(null);
}
function addfavouriteUPDATE() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById('favourite').innerHTML = request.responseText;
   } else
     alert("Failed to add/edit favourite!");
 }
}


function addfavourite_step2(bookid, PHPSESSID) {
	var url = "/tools/favourite.php?info=" + document.favourite_data.info.value + "&cat=" + escape(document.favourite_data.cat.value) + "&newcat=" + escape(document.favourite_data.newcat.value) + "&P=ADD2&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	loading('favourite');
	request.open("GET", url, true);
	request.onreadystatechange = addfavourite_step2UPDATE;
	request.send(null);
	return false;
}
function editfavourite_step2(bookid, PHPSESSID) {
	var url = "/tools/favourite.php?info=" + escape(document.favourite_data.info.value) + "&cat=" + escape(document.favourite_data.cat.value) + "&newcat=" + escape(document.favourite_data.newcat.value) + "&P=EDIT2&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	loading('favourite');
	request.open("GET", url, true);
	request.onreadystatechange = addfavourite_step2UPDATE;
	request.send(null);
	return false;
}
function editfavouritecat_step2(bookid, PHPSESSID) {
	var url = "/tools/favourite.php?info=" + escape(document.favourite_data.info.value) + "&P=EDITCAT2&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	loading('favourite');
	request.open("GET", url, true);
	request.onreadystatechange = addfavourite_step2UPDATE;
	request.send(null);
	return false;
}
function delfavourite_step2(bookid, PHPSESSID) {
	var url = "/tools/favourite.php?P=DEL&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	loading('favourite');
	request.open("GET", url, true);
	request.onreadystatechange = addfavourite_step2UPDATE;
	request.send(null);
	return false;
}
function delfavouritecat_step2(bookid, PHPSESSID) {
	if(confirm('Are you sure you want to remove this category?\nIf you remove it, ALL linked favourites to this will also be removed.'))
	{
		var url = "/tools/favourite.php?P=DELCAT&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
		loading('favourite');
		request.open("GET", url, true);
		request.onreadystatechange = addfavourite_step2UPDATE;
		request.send(null);
		return false;
	}
	return false;
}
function addfavourite_step2UPDATE() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById('favourite_list').innerHTML = request.responseText;
			document.getElementById('favourite').innerHTML = "";
   } else
     alert("Failed to add favourite!");
 }
}


function del_alt(bookid, PHPSESSID, namestr, addtype, delname) {
	if (delname=="") {
		alert("Cannot delete an empty name");
		return false;
	}
	
	var urls = "/tools/e_items.php?name=" + delname + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
}

function del_alt_obj(bookid, PHPSESSID, namestr, addtype, delname) {
	if (delname=="") {
		alert("Cannot delete an empty name");
		return false;
	}
	
	var urls = "/tools/e_objects.php?name=" + delname + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
}

function e_items_alt(bookid, PHPSESSID, namestr, addtype) {
	if (document.favourite_data.name.value=="") {
		alert("Alt Name is empty, please enter a value");
		return false;
	}
	
	var urls = "/tools/e_items.php?name=" + document.favourite_data.name.value + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	document.favourite_data.name.value = ""; //Empty it.
	return false;
}

function e_objects_alt(bookid, PHPSESSID, namestr, addtype) {
	if (document.favourite_data.name.value=="") {
		alert("Alt Name is empty, please enter a value");
		return false;
	}
	
	var urls = "/tools/e_objects.php?name=" + document.favourite_data.name.value + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	document.favourite_data.name.value = ""; //Empty it.
	return false;
}

function ajaxUPDATE(update, wrong) {
 if (request.readyState == 4) {
   if (request.status == 200) {
			document.getElementById(update).innerHTML = request.responseText;
   } else {
   		document.getElementById(update).innerHTML = wrong;
      alert("Failed!");
   }
 }
}


function searchq(dbtype, PHPSESSID, namestr, strname) {
	if (document.getElementById(strname).name.value=="") {
		alert("Search cannot be empty");
		return false;
	}
	var urls = "/tools/searchq.php?TYPE=" + escape(dbtype) +  " &NAME=" + document.getElementById(strname).name.value + "&P=search&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	return false;
}


function del_link(bookid, PHPSESSID, namestr, addtype, dbtype) {
	if (dbtype=="") {
		alert("Cannot delete an empty link");
		return false;
	}
	
	var urls = "/tools/e_items.php?TID=" + escape(dbtype) + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
}


function del_link_obj(bookid, PHPSESSID, namestr, addtype, dbtype) {
	if (dbtype=="") {
		alert("Cannot delete an empty link");
		return false;
	}
	
	var urls = "/tools/e_objects.php?TID=" + escape(dbtype) + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
}

function e_items_link2(bookid, PHPSESSID, namestr, addtype, dbtype) {
	var urls = "/tools/e_items.php?link=" + escape(document.author_data_link2.link.value) + "&TID=" + escape(dbtype) + "&TYPE=" + escape(document.author_data_link2.type2.value) + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	document.favourite_data.name.value = ""; //Empty it.
	return false;
}

function e_items_link(bookid, PHPSESSID, namestr, addtype, dbtype) {
	if (document.link_data.link.value=="") {
		alert("Please select an item to add");
		return false;
	}
	
	var urls = "/tools/e_items.php?link=" + escape(document.link_data.link.value) + "&TID=" + escape(dbtype) + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	document.favourite_data.name.value = ""; //Empty it.
	return false;
}

function e_objects_link(bookid, PHPSESSID, strname, addtype, dbtype, namestr) {
	var short = document.getElementById(strname);
	if (short.link.value=="") {
		alert("Didn't find the object");
		return false;
	}
	
	var urls = "/tools/e_objects.php?extra=" + short.extra.value + "&link=" + escape(short.link.value) + "&TID=" + escape(dbtype) + "&TYPE=" + escape(short.type2.value) + "&P=" + addtype + "&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
	var wrong = document.getElementById(namestr).innerHTML;
	loading(namestr);
	request.open("GET", urls, true);
	request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
	request.send(null);
	document.favourite_data.name.value = ""; //Empty it.
	return false;
}


function fill_conv(PHPSESSID) {
	if (document.post.rdate.value=="") {
		alert("Date not filled out");
		return;
	}	
	
	var urls = "/tools/date.php?date=" + escape(document.post.rdate.value) + "&P=CONV&PHPSESSID=" + escape(PHPSESSID);
	request.open("GET", urls, true);
	request.onreadystatechange = updateDate;
	request.send(null);
}

function updateDate() {
 if (request.readyState == 4) {
   if (request.status == 200) {
			var AMN = document.post.release;
			for ( var i = 0; i < AMN.options.length; i++ ) {
				if ( AMN.options[i].value== request.responseText ) {
					AMN.selectedIndex = i;
					break;
				}
			}
   } else {
      alert("Failed!");
   }
 }	
}


//Register an Ajax event for voting....
function parody_char_list(bookid, PHPSESSID) {
		var namestr = 'search_list_H';
		var wrong = document.getElementById(namestr).innerHTML;
		loading(namestr);
		var url = "/tools/e_objects.php?P=PLIST&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
		request.open("GET", url, true);
		request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
		request.send(null);
		return false;
}

//Register an Ajax event for voting....
function author_char_list(bookid, PHPSESSID) {
		var namestr = 'search_list_A';
		var wrong = document.getElementById(namestr).innerHTML;
		loading(namestr);
		var url = "/tools/e_objects.php?P=ALIST&ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
		request.open("GET", url, true);
		request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
		request.send(null);
		return false;
}



//Register an Ajax event for voting....
function submiteUserList(bookid, PHPSESSID) {
		var namestr = 'userlist';
		var wrong = document.getElementById(namestr).innerHTML;
		
		var trimmed = wrong.replace(/^\s+|\s+$/g, '') ;
	if(confirm('Do you want to ' + trimmed + ' this Item from your user list?')) {
	

		loading(namestr);
	
		var url = "/tools/userlist.php?ID=" + escape(bookid) + "&PHPSESSID=" + escape(PHPSESSID);
		request.open("GET", url, true);
		request.onreadystatechange = function() { ajaxUPDATE(namestr, wrong) };
		request.send(null);
	}
}



function select(idstr, namestr, extrastr, amn, db) {
	
	if (document.getElementById(db) ) {
			with ( document.getElementById(db)) {
				for ( var i = 0; i < link.options.length; i++ ) { 
					if ( link.options[i].value== idstr ) {
						link.selectedIndex = i;
						break;
					}
				}
				
				if ( i >= link.options.length ) {
					var INSERTME = new Option;
					INSERTME.value = idstr;
					INSERTME.text = namestr;
					if ( navigator.appName.indexOf('Netscape') != -1 ) {
						link.add(INSERTME, null);
					} else {
						link.add(INSERTME);
					}
					link.selectedIndex = link.options.length-1;
					
				}
				extra.value=extrastr;
				for ( var i = 0; i < type2.options.length; i++ ) {
					if ( type2.options[i].value== amn ) {
						type2.selectedIndex = i;
						break;
					}
				}
		}
	}
}
