var basepath="/"
// find year from the subtitle...

function findYear(){
  myRe= /\d\d\d\d/g;
  var subtitle = document.getElementById("subtitle").value; 
  var startyear = myRe.exec(subtitle);
  var endyear = "";
  if (myRe.lastIndex > 4){
  	endyear = myRe.exec(subtitle);
  }
  document.getElementById("startyear").value=startyear;
  document.getElementById("endyear").value=endyear;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}


function removeSpaces(str){
	 return "";
}

function createXMLHttpRequest() {
    try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
    try { return new XMLHttpRequest();                   } catch(e) {}
    alert("XMLHttpRequest not supported");
    return null;
}    

// fetch the article using Ajax... cool... 
function fetchArticle(article){
	var requestAction="getArticle.php?id="+article;
	var ajaxhttp=createXMLHttpRequest();
	ajaxhttp.open('get',requestAction);
    ajaxhttp.onreadystatechange = function(){
    	if (ajaxhttp.readyState == 4) {
      		var str= ajaxhttp.responseText;
			document.getElementById('stuffdiv').innerHTML=str;       
      	}
    }
	ajaxhttp.send(null);
	return false;
}

function editArticle(article){
	//var basepath="/fluteark/"
	var requestAction= basepath+"EditArticle.php?id="+article;
	var ajaxhttp=createXMLHttpRequest();
	ajaxhttp.open('get',requestAction);
    ajaxhttp.onreadystatechange = function(){
    	if (ajaxhttp.readyState == 4) {
      		var str= ajaxhttp.responseText;
			document.getElementById('stuffdiv').innerHTML=str;       
      	}
    }
	ajaxhttp.send(null);
	return false;	
}

function deleteArticle(article){
	var requestAction= basepath+"DeleteArticle.php?id="+article;
	if (confirm("Are you sure you want to delete article")){
		var ajaxhttp=createXMLHttpRequest();
		ajaxhttp.open('get',requestAction);
	    ajaxhttp.onreadystatechange = function(){
	    	if (ajaxhttp.readyState == 4) {
	      		var str= ajaxhttp.responseText;
				document.getElementById('stuffdiv').innerHTML=str;
				document.location = basepath+"index.php"
	      	}
	    }
		ajaxhttp.send(null);
	}
	return false;	
}

function fetchList(ch){
	var requestAction="getTitles.php?ch="+ch;
	var ajaxhttp=createXMLHttpRequest();
	ajaxhttp.open('get',requestAction);
    ajaxhttp.onreadystatechange = function(){
    	if (ajaxhttp.readyState == 4) {
      		var str= ajaxhttp.responseText;
			document.getElementById('titlediv').innerHTML=str;       
      	}
    }
	ajaxhttp.send(null);
	return false;
}

// this is
function doQuickSearch(){
	var srch = document.getElementById("quicksearch").value;
	if (srch.length < 3) {
		alert("The search term you entered was too short!");
		return false;
	}
	var requestAction="getTitles.php?quicksearch="+srch;
	var ajaxhttp=createXMLHttpRequest();
	ajaxhttp.open('get',requestAction);
    ajaxhttp.onreadystatechange = function(){
    	if (ajaxhttp.readyState == 4) {
      		var str= ajaxhttp.responseText;
			document.getElementById('titlediv').innerHTML=str;       
      	}
    }
	ajaxhttp.send(null);
	return false;
}
/**
 * Do a full search. Find the data from the fields and create a query
 */
function doFullSearch(){
	var srchstr = "";
	var srch = trim(document.getElementById("searchwords").value);
	if (srch.length < 3) {
		alert("The search term you entered was too short!");
		return false;
	}
	if (srch.length>0)
		srchstr = srchstr + "srchwords=" + srch;

	// do we have an omit part
	var omit = trim(document.getElementById("omitwords").value);
	if (omit.length >0){
		srchstr = srchstr + "&omitwords=" + omit;
	}
	// do we have "all present" ticked, if so add to query str
	if (document.getElementById("allpresent").checked){
		srchstr = srchstr + "&allpresent=1";
	}
	// categories: find form then traverse thru elements, if "cat_xx" and checked add to query
	var frm = document.forms["fullsearchform"];
	for (var x=0; x<frm.length; x++){
		var elname = frm.elements[x].name;
		if (elname.substr(0,4)=="cat_"){
			if (frm.elements[x].checked){
				srchstr = srchstr + "&" + elname +"=1"
			}
		}		
	}
	// year handling to be added in the form later 
	var year = trim(document.getElementById("year").value);
	if (year != ""){
		srchstr = srchstr + "&year=" + year;
	}
	
	
	var requestAction="getTitles.php?fullsearch=1&"+srchstr;
	var ajaxhttp=createXMLHttpRequest();
	ajaxhttp.open('get',requestAction);
    ajaxhttp.onreadystatechange = function(){
    	if (ajaxhttp.readyState == 4) {
      		var str= ajaxhttp.responseText;
			document.getElementById('titlediv').innerHTML=str;       
      	}
    }
	ajaxhttp.send(null);
	return false;
}

function displaySearchForm(show){
	var div=document.getElementById("searchform");
	if (show==true) {
 		div.style.display="";
 	} else {
 		div.style.display="none";
 	}
}

var helpshowing=false;
function showhidehelp(){
	if (helpshowing){
		document.getElementById("helpdiv").style.display="none";
		document.getElementById("helpbutton").value="Show help";
		helpshowing=false;
	} else {
		document.getElementById("helpdiv").style.display="inline";		
		document.getElementById("helpbutton").value="Hide help";
		helpshowing=true;
	}
}

function checkLoginForm(){
	if ((document.getElementById("email")=="")||(document.getElementById("passwd")=="")){
		alert("Please provide login information");
		return false;
	} else {
		return true;
	}
}

// a stub for code checking, may possibly be removed later
function checkCode(){
	return true;	
}