var doc = false;
var src = false;
var myupdater = false;
var rexupdater = false;
/*------------------------------*/

var checkflag = "false";
function allCheck(myform) {
	if (checkflag == "false") {
		for (i = 0; i < myform.elements.length; i++) {
			if(myform.elements[i].type == 'checkbox'){
				myform.elements[i].checked = true;
			}
		}
		checkflag = "true";
		document.getElementById('switch').value = "Uncheck all";
	} else {
		for (i = 0; i < myform.elements.length; i++) {
			if(myform.elements[i].type == 'checkbox'){
				myform.elements[i].checked = false;
			}
		}
		checkflag = "false";
		document.getElementById('switch').value = "Check all";
	}
}

//-----------------------------------------------------------------------

var xmlReq = null;
var tag = null;
var keep = null;
var drop = null;

function sub(f,act,tagged,word)
    {
    //alert("Sub fired " + f + " : " + act + " : " + tagged + " : " + word);
   //alert("here's what came in - f = " + f + "act = " + act + " tagged = " + tagged + " word = " + word);
	if(act == 'subjadd'){
	 //alert("Add subject - " + tagged);
		var file = '/myintute/subject.php';
		var str = "add=true&sub=" + tagged;
		document.getElementById(tagged).parentNode.parentNode.parentNode.parentNode.style.background = "#99f999";
		var kw = 'false';
	}
	
	if(act == 'subjdel'){
	 //alert("remove subject - " + tagged);
		var str = "del=true&sub=" + tagged + "&idx=" + word;
		var file = '/myintute/subject.php';
	  var kw = 'false';
	}
	if(act == 'delconf'){
	 //alert("confirm remove subject - " + tagged);
		var str = "delc=true&sub=" + tagged;
		var file = '/myintute/subject.php';
		document.getElementById(tagged).parentNode.parentNode.parentNode.parentNode.style.background = "#ddd";
    var kw = 'true';
    var sect = 'alert';
	}
  if(act == 'addkw'){
  
      var file = '/myintute/addkw2.php';
      var str = 'addkw=true';
      var val = word;
      var kw = 'true';
      var sect = 'alert';
  }
  if(act == 'delkw'){
      var file = '/myintute/delkw.php';
      var str = 'delkw=true';
      var val = word;
      var kw = 'true';
      var sect = 'alert';
  }
  if(act == 'delsavedsearch'){
      var file = '/myintute/delsavedsearch.php';
      var str = 'delkw=true';
      var val = word;
      var kw = 'true';
      var sect = 'alert';
	  alert(file + str + val + f);
  }
  if(act == 'bkmk'){
      var file = '/myintute/tagnote.php';
      var str = tagged;
      var val = word;
      var kw = 'false';
      var nt = 'true';
  
  }
  
  if(act == 'delrex'){
    var file = '/myintute/delrex.php';
    var str = tagged;
    var val = word;
    var kw = 'true';
    var sect = 'bookmark';
  }
  if(act == 'delrxall'){
    var file = '/myintute/delrex.php';
    var str = 'gone';
    var val = word;
    var kw = 'true';
    var sect = 'bookmark';
  }
  if(act == 'cemail'){
    var file = '/myintute/cemail.php';
    var kw = 'true';
    var str = 'col';
    var sect = 'collect';
    var val = 'someting';
  
  }
  
  if(act == 'detail'){
    var file = '/myintute/profile.php';
    var kw = 'false';
  
  
  }
  
  
  
  var str = str + "&" + getFormValues(f,str,nt);
  var str = str + "&val=" + val;
  //alert("Query = " + str);  

  xmlReq = getXML(file,str,kw,val,sect);
 
 
}


//-----------------------------------------------------------------------
function getXML(file,str,kw,val,sect)
    {
    //alert("file = " + file + " str = " + str + " kw = " + kw + " val = " + val + " sect = " + sect);
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            doc = new XMLHttpRequest();
            if (doc.overrideMimeType) {
                doc.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                doc = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    doc = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!doc) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }

    

     if(kw == 'false'){
  	 doc.onreadystatechange = formReturn;
       doc.open( "POST", file, true );
       doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
       doc.send(str);
       return doc;
      }else if(kw == 'true'){
  	 doc.onreadystatechange = function () {
        if (doc.readyState == 4) {
          formReturnKw(val,sect);
        }
      };
       doc.open( "POST", file, true );
       doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
       doc.send(str);
       return doc;
      }else{
        alert("Form function call error");
      }
}
//------------------------------------------------------------------------

function formReturn() {
		if(doc.readyState == 2){
			var loadContent = '<img src="/images/indicator.gif" alt="Loading...">';
			document.getElementById('load').innerHTML = loadContent;

		}
     if (doc.readyState == 4) {
	     if (doc.status == 200) {
			if(doc.responseText){
			     document.getElementById('load').innerHTML = "";
			     document.getElementById('output').style.display = 'block';
			     var thereturn = doc.responseText;
			     document.getElementById('output').innerHTML = thereturn;
			}else{
        document.getElementById('output').style.display = 'none';
      }
	     } else {
			   alert("This Error Here");
     	 }
    	}
}

function formReturnKw(bar,sect) {
		if(doc.readyState == 2){
			var loadContent = '<img src="/images/indicator.gif" alt="Loading...">';
			document.getElementById('load').innerHTML = loadContent;

		}

    var thisdiv = 'output';
          //alert("doc status = " + doc.status);
    if(sect == 'alert'){
        var thisdiv = "subjectlist";
    }
    if(sect == 'bookmark'){
        var thisdiv = 'replacable';
    }
    if(sect == 'collect'){
        var thisdiv = 'output';
    }
    
  //alert("gets " + bar + " and " + sect + " giving " + thisdiv);
  if (doc.status == 200) {
		     document.getElementById('load').innerHTML = "";
        //alert("thisdiv = " + thisdiv);
 			  //document.getElementById(thisdiv).innerHTML = doc.responseText;
 			  // do script evals here?
 			  
 			  //var fixed = eval(doc.responseText);
 			  
 			  document.getElementById(thisdiv).innerHTML = doc.responseText;
 			   
 			   
 			   
  }else{
    		// if addkey2 doesn't send anything back
        alert("This Error Here");
  }

}



//------------------------------------------------------------------------

function getFormValues(fobj,str,nt){
    var str = "";
//alert(fobj + " : " + tag);
    //alert(fobj.elements.length);

       var valueArr = null;
       for(var i = 0;i < fobj.elements.length;i++)
       {
			if(fobj.elements[i].type == 'text'){
				str += fobj.elements[i].name + "=" + fobj.elements[i].value + "&";
			}
			if(fobj.elements[i].type == 'hidden'){
				var esc = escape(fobj.elements[i].value);
				str += fobj.elements[i].name + "=" + esc + "&";
			}
		  if(nt == 'true'){
			 if(fobj.desc.value != ''){
          str += "nate=" + escape(fobj.desc.value) + "&";  
       }
      }
       }
       str = str.substr(0,(str.length - 1));
       return str;
}
//-------------------------------------------------------------------------------

    function closeList(div) {
	   document.getElementById(div).innerHTML = '';
    }

//-------------------------------------------------------------------------------


function redirect(sub,frm,keys){
//alert("firing " + sub + " " + frm);
      if(frm){
		var keys = frm.elements[1].value;
	}

	if(sub == 'all'){
		var url = "/cgi-bin/search.pl?term1=" + keys + "&limit=0&subject=All";
	}else{
		var url = "/cgi-bin/search.pl?term1=" + keys + "&limit=0&subject=%&jacsheading=" + sub;
	}


	window.open(url,'_self');

}
 //------------------------------------------------------------

function checkEnter(e,form,act,sub,idx){

  //alert("e = " + e + " form = " + form + " act = " + act + " sub = " + sub + " idx = " + idx);

	var characterCode;
	if(e && e.which){ // NN4
		e = e;
		characterCode = e.which ;
	}else{
		e = event;
		characterCode = e.keyCode ;
	}
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
	   var theform = document.form;
  	sub(theform,act,sub,idx)
		alert("Saved");
	}
}

function staycheck(subject){
  document.getElementById(subject).checked = "checked";
  document.getElementById(subject).parentNode.parentNode.parentNode.style.background = "#99f999";
}

/*--------------- alert kw add form --------------------------------------------------*/

function OpenAlertForm(change,handle,form){
	getAlertFields('kwform.php',change,handle,form);
}

function OpenTagForm(change,handle,form,tag){
	getTagFields('editform.php',change,handle,form,tag);
}




/*-----------------------------------------------------------------*/


function getAlertFields(file,tochange,handle,form){
   var xmlObj = null;
  if(window.XMLHttpRequest){
      xmlObj = new XMLHttpRequest();
  } else if(window.ActiveXObject){
      xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
      return;
  }
  xmlObj.onreadystatechange = function(){
    if(xmlObj.readyState == 4){
       updateAlertDiv(tochange, xmlObj.responseText,form);
     }
    }
    var url = file + "?sub=" + handle + "&idx=" + tochange;
	//alert(url);
    xmlObj.open ('GET', url, true);
    xmlObj.send ('');
}
function getTagFields(file,tochange,handle,form,tag){
   var xmlObj = null;
  if(window.XMLHttpRequest){
      xmlObj = new XMLHttpRequest();
  } else if(window.ActiveXObject){
      xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
      return;
  }
  //alert(form);
  
  xmlObj.onreadystatechange = function(){
    if(xmlObj.readyState == 4){
       updateTagDiv(tochange, xmlObj.responseText,form);
     }
    }
    var url = file + "?sub=" + handle + "&idx=" + tochange + "&tag=" + tag;
	//alert(url);
    xmlObj.open ('GET', url, true);
    xmlObj.send ('');
}

/*------------------------------------------------------*/

function updateAlertDiv(obj, data,form){
   var opentag = "addkw" + obj;
   var fieldid = "value";
   document.getElementById(opentag).innerHTML = data;
   //putFocus(obj,form);
}
function updateTagDiv(obj, data,form){
   var opentag = "replace" + obj;
   document.getElementById(opentag).innerHTML = data;
   //putFocus(obj,form);
}

/*-----------------------------------------------------------------*/

function showform(){
    document.getElementById('addbmform').style.display = "block";
}

function closeform(){
    document.getElementById('addbmform').style.display = "none";
}

/* -- preferences tracking cookies -- */


function blankme(div){
    document.getElementById(div).innerHTML = '';

}


function updater(div,file){
  if(myupdater){
    myupdater.stop();
    //alert("instance stopped, now serving - " + div + " - with - " + file);
  }else{
    //alert("updater not instantiated.");
  }

  file = '/myintute/' + file + '.php';
  //alert("getting " + file);
  myupdater = new Ajax.PeriodicalUpdater(div, file, {asynchronous:true, frequency:2})
}
function notyet(){
    alert("Under Construction");
}

function editme(idx,thisidx,keyw,plain){
    new Ajax.InPlaceEditor('kwdisp" + idx + $thisidx + ','./addkw.php',{size:17,callback: function(form, value) { return 'oldwd=" + keyw + "&idx=" + plain + "&myparam=' + escape(value)}});
}





