// JavaScript Document
   var http_request = false;
   var tagname = '';
   
   var this_is_submit_button = false;
   
   
   
function searchBarFocus (thisval) {
	if (thisval == 'Search by title, author, ISBN, keywords') {
		document.searchform.searchtext.value = '';
	}
}
function searchBarBlur (thisval) {
	if (thisval == '') {
		document.searchform.searchtext.value = 'Search by title, author, ISBN, keywords';
	}
}

function showHide(id){
   el = document.getElementById(id);
   el.style.display = (el.style.display != 'block')? 'block' : 'none';
}

function loginShow(){
	document.getElementById('loginboxhide').style.display = 'block';
//	showHide('loginboxword');
	document.getElementById('loginboxword').style.display = 'none';

}


  function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {

      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
			
            document.getElementById(tagname).innerHTML = result;            
         } else {
         
            alert(http_request.responseText);
  //          alert('There was a problem with the request.');
         }
      }
   }
   
	function delrow(rowid){
		document.getElementById(rowid).innerHTML = '';
	}
	
	function authDelete(row) {
	//	document.getElementById('authrow'+row).value = '';
		document.getElementById('authname'+row+'a').value = '';
		document.getElementById('authname'+row+'b').value = '';
		document.getElementById('authname'+row+'n').value = '';
	}
	
	function addtocart(bookid,addordel){
		if (addordel == 'add') {
			el = document.getElementById('menucart');
			el.style.backgroundColor = '#9999FF';
		}
		if (addordel == 'del') {
			delrow('cartrow' + bookid);
		}
		var getstr = "?";
		getstr += '&bookid=' + bookid + '&action=' + addordel;
		tagname = 'addtocartbox';
		makeRequest('/addtocart.php', getstr);
		
//		tagname = 'addtocartbox';
//		alert('/ajax/'+ addordel + 'tocart/' + bookid + '/');
//		makeRequest('/ajax/'+ addordel + 'tocart/' + bookid + '/');

	}

	function remcartitem(bookid){
			addtocart(bookid,'del');
			try {
			calprice();
			} 
			catch (err) {
			document.getElementById('thecartform').innerHTML = '<p>There are no more items in your cart.</p>';
//			document.getElementById('thecartform').style.display = 'none';
			}
	}
	
	function calprice(){
	
			var getamount = document.cartform.elements["amount[]"];
			var getsingle = document.cartform.elements["singleprice[]"];
			var getprice = document.cartform.elements["price[]"];
			var rowname = document.cartform.elements["rowname[]"];
		
//				alert(getamount.constructor.toString());
		
//			alert('getprice:'+getprice.value);
//			alert('getamount:'+getamount.value);
			var totalprice = 0.00;
			var rowprice = 0.00;
			var rowlength = 1;
			
			
			
			if (getamount.length != undefined) {
				rowlength = getamount.length;
//				alert('getamount.length:'+getamount.length);

				for(i=0;i<rowlength;i++) {
					
					if (parseInt(getamount[i].value) != '') {
						
						rowprice = (parseInt(getamount[i].value) * parseFloat(getsingle[i].value.substring(1)));
						totalprice = totalprice + rowprice;	
						document.getElementById('pricerow'+rowname[i].value).value =  "$" + rowprice.toFixed(2);
	//					alert(rowname[i].value+' Amout:'+getamount[i].value+' Price'+getsingle[i].value+' Row:'+rowprice+'  Total:'+totalprice);
					}
				}
			} else {
				if (parseInt(getamount.value) != '') {
					
					rowprice = (parseInt(getamount.value) * parseFloat(getsingle.value.substring(1)));
					totalprice = totalprice + rowprice;	
					document.getElementById('pricerow'+rowname.value).value =  "$" + rowprice.toFixed(2);
				} else {
				
					rowprice = getsingle.value.substring(1);
					totalprice = rowprice;
				
				}
			}
//			alert('totalprice:'+totalprice);
			document.getElementById('totalprice').value =  "$" + totalprice.toFixed(2);


	}
	
function isArray(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1) {
      return false;
   } else {
      return true;
   }
}

function handleKeyPress(e,form){
	var key=e.keyCode || e.which;
	if (key==13){
		calprice();
	}
}


function TestDataCheck() {
	
	var returnval = true;
	var testvar = document.registerForm;
	
	
	if (TestDataNull(testvar.fname.value, 'reqfname')) { 
		returnval = false;
	}
	if (TestDataNull(testvar.lname.value, 'reqlname')) { 
		returnval = false;
	}
	if (TestDataNull(testvar.address1.value, 'reqaddress1')) { 
		returnval = false;
	}
	if (TestDataNull(testvar.suburb.value, 'reqsuburb')) { 
		returnval = false;
	}
	if (TestDataNull(testvar.postcode.value, 'reqpostcode')) { 
		returnval = false;
	}

	if (testvar.email.value != undefined) {

		if (TestDataNull(testvar.email.value, 'reqemail')) { 
			returnval = false;
		}
		if (TestDataNull(testvar.r_email.value, 'reqremail')) { 
			returnval = false;
		}
		if (testvar.email.value != testvar.r_email.value) {
			document.getElementById('reqemailmatch').style.display = 'block';
			returnval = false;
		} else {
			document.getElementById('reqemailmatch').style.display = 'none';
			
		}

	}
	
//	alert('ddd'.returnval);
	
	
	return returnval;
}

function TestDataNull(testval, reqid) {
	
	var returnval = false;

	if ((testval == '') || (testval == null)) { 
		document.getElementById(reqid).style.display = 'block';
		returnval = true;
	} else { 
		document.getElementById(reqid).style.display = 'none';
	}
	return returnval;
}

function QuantityClick() {
	this_is_submit_button = true;
//	submit();
//	document.cartform.submit();	
}

function QuantityReturn(e) {
//	alert(e);
	var returnval = false;
	if (this_is_submit_button) {
		returnval = true;	
	}
//	if (e == 'submit') { 
//		var returnval = true;
//	}
	return returnval;
}



// var textSuburbs = text.value.split(/\s*,\s*/);
// if (!textSuburbs) return false;
// var pattern = new RegExp('\s*' + suburb.text + '\s*$');
// for (var i = 0; i < textSuburbs.length; i++) {
// if it's in the list don't do anything
// if (pattern.exec(textSuburbs[i])) return false;
// } 



	var wcIndex = new Object;
	var levChange = 0;
	
	var wcSelected = -1;
	
	function wcBuildIndex (lev) {
		if (!document.getElementById) return;
		var selected = document.getElementById('level'+lev);
		for (var i = selected.options.length; i--;) {
			wcIndex[selected.options[i].text.toUpperCase().charAt(0)] = i;
		}
		wcIndex.populated = true;
	}
	 
	 
	function wcComplete (tag, lev) {
		if (!document.getElementById) return;
		if (levChange != lev) {
			wcIndex = new Object;
			levChange = lev;
		}
		var text = document.getElementById(tag);
		var selected = document.getElementById('level'+lev);
		var selected1 = document.getElementById('level1');
		if (!wcIndex.populated) wcBuildIndex(lev);
		var catdesc = text.value.match(/,*([^,]+)$/);
		if (catdesc) {
			var name = catdesc[1].toUpperCase().replace(/^\s*/, '').replace(/\s*$/, '');
			for (var i = wcIndex[name.charAt(0)]; i < selected.options.length; i++) {
				if (selected.options[i].text.toUpperCase().indexOf(name) == 0) {
					selected1.selectedIndex = i;
					wcSelected = i;	
					break;
				} else {
					selected1.selectedIndex = wcSelected;
	//				select.selectedIndex = -1;
				}
			}
		}
	}
	
	
function removeOptionSelected() {
  var elSel = document.getElementById('author');
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function appendOptionLast(authNum, authTxt, tagName) {
 	var elOptNew = document.createElement('option');
  elOptNew.text = authTxt;
  elOptNew.value = authNum;
  var elSel = document.getElementById(tagName);

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

	function addAuth() {
		var level1 = document.getElementById('level1');
		var l1 = level1.selectedIndex;
		if (l1 != null && l1 != '') {
			var level2 = document.getElementById('level2');
			var level3 = document.getElementById('level3');
//			var level4 = document.getElementById('level4');
//			var l4 = level4.selectedIndex;
			
			
			var getLevel1Val = level1.options[l1].value;
			var getLevel1Text = level1.options[l1].text;
			
			var getLevel2Val = level2.options[l1].value;
			var getLevel2Text = level2.options[l1].text;
	
			var getLevel3Val = level3.options[l1].value;
			var getLevel3Text = level3.options[l1].text;
			
//			var getLevel4Val = level4.options[l4].value;
			var breakLoop = false;
			
			for (i=0;i<5;i++) {
				if (!breakLoop) {
					var authName1 = document.getElementById('authname'+i+'a');
					var authName2 = document.getElementById('authname'+i+'b');
					var authName3 = document.getElementById('authname'+i+'n');
			//		var authEdit = document.getElementById('authedit'+i);
					if (authName1.value == '' && authName2.value == '') {

						authName1.value = getLevel3Text;
						authName2.value = getLevel2Text;
						authName3.value = getLevel1Val;
			//			authEdit.selectedIndex = l4;
						breakLoop = true;
					}
				}
			}
		} // l1
/*
		var optEdit = document.getElementById('authedit');
		var x = optEdit.selectedIndex;
		var getEditVal = optEdit.options[x].value;
		var getEditText = optEdit.options[x].text;
			
		var authTxt = getAuthText + ' ('+getEditText+')';
*/		
//		appendOptionLast(getAuthVal, authTxt, 'author');
//		appendOptionLast(getEditVal, getEditVal, 'authored');
		
	}
	
	
	function showCountry(country, lab){
		
		if (country == 'Australia') {
		document.getElementById('disp'+lab).style.display = "none";
		} else {
		document.getElementById('disp'+lab).style.display = "block";
		}
	
	}