function imgSwap(imgID, newImg) {
	document.getElementById(imgID).src = "/images/"+newImg;
}

function preload() {
	image1 = new Image();
	image1.src = "perlHov.gif";
	image2 = new Image();
	image2.src = "phpHov.gif";
	image3 = new Image();
	image3.src = "javaHov.gif";
	image4 = new Image();
	image4.src = "cppHov.gif";
}

var source;

function submitRequest(page) {
	//alert(page);
	source = 'reqsearch';
	bnameField = document.getElementById('reqname');
	isbnField = document.getElementById('reqisbn');
	if (bnameField.value == 0 && isbnField.value == 0) {
		alert("You must enter a book name and/or isbn to continue");
		return false;
	}
	foundBox = document.getElementById('found');
	if (document.getElementById('empty')) { foundBox.removeChild(document.getElementById('empty')); }
	if (document.getElementById('reqresult')) { foundBox.removeChild(document.getElementById('reqresult')); }
	div = document.createElement('div');
	div.id = 'reqresult';
	foundBox.appendChild(div);
	div.innerHTML = '<img src="/images/loading.gif" alt="loading" style="margin:30px;" />';
	loadXMLDoc('/reviews/ajax/find_by_name.php?bname='+bnameField.value+'&isbn='+isbnField.value+'&gopage='+page, 'GET', '');
}

function submitFinalRequest() {
	source = 'reqenter';
	eform = document.getElementById('enterb');
	bnameval = editionval = authsval = numauthval = pubval = isbnval = typeval = techval = othtechval = stval = '';
	bnameval = "bookName="+URLencode(eform.bookName.value);//eform.bookName.value;
	if (eform.edition) { editionval = "&edition="+URLencode(eform.edition.value);/*eform.edition.value;*/ } else { editionval = ''; }
	if (eform.authors) {
		authsval = "&authors="+URLencode(eform.authors.value);//eform.authors.value;
		numauthval = '';
	}
	else {
		var numAuth;
		var numChecked;
		for (var j = 0; j < eform.numAuths.length; j++) {
			if (eform.numAuths[j].checked == true) {
				numChecked = j;
			}
		}

		if (numChecked < 3) {
			numAuth = eform.numAuths[numChecked].value;
		}
		else {
			numAuth = eform.numAuthsMore.value;
		}
		var allauths = new Array();
		for (var i = 1; i <= numAuth; i++) {
			allauths[i-1] = eform.elements['fname'+i].value;//"&fname"+i+"="+URLencode(eform.elements['fname'+i].value);//eform.elements['fname'+i].value;
			if (eform.elements['mname'+i].value != '') {
				allauths[i-1] += " "+eform.elements['mname'+i].value;
			}
			if (eform.elements['lname'+i].value != '') {
				allauths[i-1] += " "+eform.elements['lname'+i].value;
			}
			//"&mname"+i+"="+URLencode(eform.elements['mname'+i].value);//eform.elements['mname'+i].value;
			//"&lname"+i+"="+URLencode(eform.elements['lname'+i].value);//eform.elements['lname'+i].value;
		}
		totalauths = allauths.join(":");
		authsval = "&authors="+URLencode(totalauths);
		//numauthval = "&numAuths="+URLencode(numAuth);//numAuth;
		numauthval = '';
	}
	pubval = "&publisher="+URLencode(eform.publisher.value);//eform.publisher.value;
	isbnval = "&isbn="+URLencode(eform.isbn.value);//eform.isbn.value;
	for (var n = 0; n < eform.btype.length; n++) {
		if (eform.btype[n].checked == true) {
			typeval = "&btype="+URLencode(eform.btype[n].value);//eform.btype[n].value;
		}
	}
	for (n = 0; n < eform.technology.length; n++) {
		if (eform.technology[n].selected) {
			techval = "&technology="+URLencode(eform.technology[n].value);//eform.technology[n].value;
		}
	}
	if (techval == '&technology=other') { othtechval = "&otherTech="+URLencode(eform.otherTech.value);/*eform.otherTech.value;*/ } else { othtechval = ''; }

	stval = "&subtype="+URLencode(eform.subtype.value);//eform.subtype.value;

	url = 'ajax/enter_request.php';
	data = bnameval+editionval+authsval+pubval+isbnval+typeval+techval+othtechval+stval+numauthval;

	loadXMLDoc(url, 'POST', data);
}

function URLencode(sStr) {
	return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}

var req;
function loadXMLDoc(url, method, postdata) {
	req = false;
	if(window.XMLHttpRequest) {
		try { req = new XMLHttpRequest(); }
		catch(e) { req = false; }
	}
	else if(window.ActiveXObject) {
		try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e) {
			try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e) { req = false; }
		}
	}
	if(req) {
		if (method=='POST') {
			req.onreadystatechange = processReqChange;
			req.open("POST", url, true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.send(postdata);
		}
		else {
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send("");
		}
	}
}

function processReqChange() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			if (source == 'reqsearch') {
				processBookRequest();
			}
			else if (source == 'reqenter') {
				processRequestEnter();
			}
			else if (source == 'fillselect') {
				processSelect(false);
			}
		}
		else {
			if (source == 'reqsearch') {
				processRequestError();
			}
			else if (source == 'reqenter') {
				//alert("Status: "+req.status+"\nError: "+req.statusText);
				processEnterError();
			}
			else if (source == 'fillselect') {
				processSelect(true);
			}
		}
	}
}

function processBookRequest() {
	result = document.getElementById('reqresult');
	result.innerHTML = req.responseText;
}

function processRequestError() {
	foundBox = document.getElementById('found');
	foundBox.removeChild(document.getElementById('reqresult'));
	pemT = document.createElement("p");
	pemT.id = 'empty';
	foundBox.appendChild(pemT);
	pemT.innerHTML = 'THERE HAS BEEN AN ERROR RETRIEVING INFORMATION ON THE BOOK YOU REQUESTED.  PLEASE TRY AGAIN.<br /><br />status code: '+req.status;
}

function processRequestEnter() {
	//alert("XML:\n"+req.responseXML);
	//alert("text:\n"+req.responseText);
	resp = '';
	if (req.responseXML) {
		var response = req.responseXML.getElementsByTagName("type")[0];
		resp = response.firstChild.nodeValue;    		
	}
	if (resp == 'error') {
		result = document.getElementById('reqresult');

		errdiv = document.createElement('div');
		errdiv.style.position = 'absolute';
		errdiv.style.left = '210px';
		errdiv.style.right = '210px';
		errdiv.style.top = '200px';
		errdiv.style.backgroundColor = '#cc0000';
		errdiv.style.color = '#ffffff';
		errdiv.style.fontWeight = 'bold';
		errdiv.style.padding = '20px';
		errdiv.id = 'formError';

		var err = '';

		var lis = req.responseXML.getElementsByTagName("li");
		for (var i = 0; i < lis.length; i++) {
			err += "<li>"+lis[i].firstChild.nodeValue+"</li>";
		}
		err = 'ERROR:<ul>'+err+'</ul><a href="javascript:remove(\'formError\');" style="color:#ffffff;font-weight:bold;">CLOSE</a>';

		errdiv.innerHTML = err;

		result.appendChild(errdiv);
	}
	else if (resp == 'success') {
		foundBox = document.getElementById('found');
		if (document.getElementById('reqresult')) { foundBox.removeChild(document.getElementById('reqresult')); }

		var book = req.responseXML.getElementsByTagName("bookname")[0];

		para = document.createElement('p');
		para.id = 'empty';
		foundBox.appendChild(para);

		para.innerHTML = 'YOU HAVE SUCCESSFULLY ENTERED YOUR REQUEST FOR:<br><span style="text-decoration:underline;text-transform:capitalize;color:#000000;">'+book.firstChild.nodeValue+'</span><br>&lt; <a href="/" style="color:#ffff66;"><span style="color:#000099;">RETURN HOME</span></a> /&gt;';
	}
	else {
		result = document.getElementById('reqresult');

		errdiv = document.createElement('div');
		errdiv.style.position = 'absolute';
		errdiv.style.left = '210px';
		errdiv.style.right = '210px';
		errdiv.style.top = '200px';
		errdiv.style.backgroundColor = '#cc0000';
		errdiv.style.color = '#ffffff';
		errdiv.style.fontWeight = 'bold';
		errdiv.style.padding = '20px';
		errdiv.id = 'formError';

		var err = '';

		err = 'ERROR:<ul>'+req.responseText+'</ul><a href="javascript:remove(\'formError\');" style="color:#ffffff;font-weight:bold;">CLOSE</a>';

		errdiv.innerHTML = err;

		result.appendChild(errdiv);
	}
}

function processEnterError() {
	result = document.getElementById('reqresult');

	errdiv = document.createElement('div');
	errdiv.style.position = 'absolute';
	errdiv.style.left = '210px';
	errdiv.style.right = '210px';
	errdiv.style.top = '200px';
	errdiv.style.backgroundColor = '#cc0000';
	errdiv.style.color = '#ffffff';
	errdiv.style.fontWeight = 'bold';
	errdiv.style.padding = '20px';
	errdiv.id = 'formError';

	err = 'ERROR<ul><li>THERE WAS AN ERROR PROCESSING YOUR REQUEST.  Please try again.</li></ul><a href="javascript:remove(\'formError\');" style="color:#ffffff;font-weight:bold;">CLOSE</a>';

	errdiv.innerHTML = err;

	result.appendChild(errdiv);
}

function deny() {
	bnameField = document.getElementById('reqname');
	isbnField = document.getElementById('reqisbn');
	if (bnameField.value == 0 && isbnField.value == 0) {
		alert("You must enter a book name and/or isbn to continue");
		return false;
	}
	foundBox = document.getElementById('found');
	if (document.getElementById('empty')) { foundBox.removeChild(document.getElementById('empty')); }
	if (document.getElementById('reqresult')) { foundBox.removeChild(document.getElementById('reqresult')); }
	div = document.createElement('div');
	div.id = 'reqresult';
	foundBox.appendChild(div);
	div.innerHTML = '<img src="/images/loading.gif" alt="loading" style="margin:30px;" />';
	loadXMLDoc('/reviews/ajax/find_by_name.php?bname='+bnameField.value+'&isbn='+isbnField.value+'&error=1', 'GET', '');
}

function selectbook(id, total, imghit) {
	box = document.getElementById('bookchoice'+id);
	if (imghit == true) {
		if (box.checked) { box.checked = false; }
		else { box.checked = true; }
	}
	for (var i = 1; i <= total; i++) {
		if (i != id) {
			if (box.checked) {
				document.getElementById('bookselect'+i).style.display = 'none';
			}
			else {
				document.getElementById('bookselect'+i).style.display = 'block';
			}
		}
	}
	div = document.getElementById('hiddenInputs');
	if (box.checked) {
		//alert("DEBUG 1");
		//var inptName = document.createElement('input');
		//inptName.type = 'hidden';
		//inptName.name = 'bookName';
		//inptName.value = document.getElementById('bn'+id).value;
		//alert(inptName.value);
		var inpt = '';
		inpt += '<input type="hidden" name="bookName" value="'+document.getElementById('bn'+id).value+'">';
		//div.appendChild(inptName);
		inpt += '<input type="hidden" name="edition" value="'+document.getElementById('ed'+id).value+'">';
		inpt += '<input type="hidden" name="authors" value="'+document.getElementById('at'+id).value+'">';
		inpt += '<input type="hidden" name="publisher" value="'+document.getElementById('pub'+id).value+'">';
		inpt += '<input type="hidden" name="isbn" value="'+document.getElementById('in'+id).value+'">';
		div.innerHTML = inpt;

		/*inptEd = document.createElement('input');
		inptEd.type = 'hidden';
		inptEd.name = 'edition';
		inptEd.value = document.getElementById('ed'+id).value;
		div.appendChild(inptEd);

		inptAt = document.createElement('input');
		inptAt.type = 'hidden';
		inptAt.name = 'authors';
		inptAt.value = document.getElementById('at'+id).value;
		div.appendChild(inptAt);

		inptPub = document.createElement('input');
		inptPub.type = 'hidden';
		inptPub.name = 'publisher';
		inptPub.value = document.getElementById('pub'+id).value;
		div.appendChild(inptPub);

		inptIn = document.createElement('input');
		inptIn.type = 'hidden';
		inptIn.name = 'isbn';
		inptIn.value = document.getElementById('in'+id).value;
		div.appendChild(inptIn);*/
	}
	else {
		//if (document.getElementById('enterb').bookName) { alert("REMOVED NAME"); }
		//else { alert("NOT REMOVED NAME"); }
		div.removeChild(document.getElementById('enterb').bookName);
		div.removeChild(document.getElementById('enterb').edition);
		div.removeChild(document.getElementById('enterb').authors);
		div.removeChild(document.getElementById('enterb').publisher);
		div.removeChild(document.getElementById('enterb').isbn);
		div.innerHTML = '';
	}
	//if (document.getElementById('enterb').bookName) { alert("NOT REMOVED NAME"); }
	//else { alert("REMOVED NAME"); }
}

function remove(id) {
	box = document.getElementById(id);
	prent = box.parentNode;
	prent.removeChild(box);
}