//Last modified 4/12/08

var txtID = "";

//intImage1 = 2;
//intImage2 = 2;
//intImage3 = 2;

//From http://codingforums.com/archive/index.php?t-64110.html
function swapImage(img) {
if (img.src == 'http://www.maintainthis.com/images/plus.gif') //NEED TO CHANGE THIS PATH FOR GODADDY
   img.src = 'images/minus.gif'
else
   img.src = 'images/plus.gif'
return(false);


/*   if (num==1) {
      switch (intImage1) {
         case 1:
            img.src = 'images/minus.gif'
            intImage1 = 2
            return(false);
         case 2:
            img.src = 'images/plus.gif'
            intImage1 = 1
            return(false);
      }
   }
   else if (num==2) {
      switch (intImage2) {
         case 1:
            img.src = 'images/minus.gif'
            intImage2 = 2
            return(false);
         case 2:
            img.src = 'images/plus.gif'
            intImage2 = 1
            return(false);
      }
   }
   else if (num==3) {
      switch (intImage3) {
         case 1:
            img.src = 'images/minus.gif'
            intImage3 = 2
            return(false);
         case 2:
            img.src = 'images/plus.gif'
            intImage3 = 1
            return(false);
      }
   }*/
}

/*var xmlHttp

function showUser(str, passID)
{
txtID = passID;
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() 
{ 
//myid = "text_id_"+id_nmbr
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById(txtID).innerHTML=xmlHttp.responseText 
 } 
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
*/
function toggleDiv(divName) {
    thisDiv = document.getElementById(divName);
    if (thisDiv) {
        if (thisDiv.style.display == "none") {
            thisDiv.style.display = "block";
        }
        else {
            thisDiv.style.display = "none";
        }
    }
    else {
        alert("Error: Could not locate div with id: " + divName);
    }
}

//BELOW IS FROM http://www.dynamicdrive.com/dynamicindex17/ajaxroutine.htm
function createpoststring(formID,divName){
//var namevalue=document.getElementById("relatives").innerHTML //get value to post from a DIV
//var agevalue=document.getElementById(formID).agefield.value //get value to post from a form field
var vehiclekeyvalue=document.getElementById(formID).vehicle_key.value
//var dividvalue=document.getElementById(formID).div_id.value
//var formidvalue=document.getElementById(formID).form_id.value
var formkvalue=document.getElementById(formID).k.value
var formivalue=document.getElementById(formID).i.value
var typevalue=document.getElementById(formID).type.value
var datevalue=document.getElementById(formID).date.value
var mileagevalue=document.getElementById(formID).mileage.value
//var completevalue=document.getElementById(formID).complete.value
//var is_checked = window.document.formID.complete.checked
var is_checked = document.getElementById(formID).complete.checked
if (is_checked == true) {
var completevalue="Yes";
}
else {
var completevalue="No";
}
var costvalue=document.getElementById(formID).cost.value
var sch_againvalue=document.getElementById(formID).sch_again.value
thisDiv = document.getElementById(divName);
if (thisDiv) {
   if (thisDiv.style.display == "none") {
      var expandvalue="none";
   }
   else {
      var expandvalue="block";
   }
}//end if (thisDive)

var poststr = "vehicle_key=" + encodeURI(vehiclekeyvalue) + "&k=" + encodeURI(formkvalue) + "&i=" + encodeURI(formivalue)  + "&type=" + encodeURI(typevalue) + "&date=" + encodeURI(datevalue) + "&mileage=" + encodeURI(mileagevalue) + "&complete=" + encodeURI(completevalue) + "&cost=" + encodeURI(costvalue) + "&sch_again=" + encodeURI(sch_againvalue) + "&expand=" + encodeURI(expandvalue)
return poststr
}

function createupdatepoststring(formID,divName){
//var namevalue=document.getElementById("relatives").innerHTML //get value to post from a DIV
//var agevalue=document.getElementById(formID).agefield.value //get value to post from a form field
var typevalue=document.getElementById(formID).type1.value
var vehiclekeyvalue=document.getElementById(formID).vehicle_key.value
var autokeyvalue=document.getElementById(formID).auto_key.value
//var dividvalue=document.getElementById(formID).div_id.value
//var formidvalue=document.getElementById(formID).form_id.value
var formkvalue=document.getElementById(formID).k.value
var formivalue=document.getElementById(formID).i.value
//var formupdateidvalue=document.getElementById(formID).update_id.value
//var typevalue=document.getElementById(formID).type.value
var datevalue=document.getElementById(formID).date.value
var mileagevalue=document.getElementById(formID).mileage.value
//var completevalue=document.getElementById(formID).complete.value
var is_checked = document.getElementById(formID).complete.checked
if (is_checked == true) {
   var completevalue="Yes";
}
else {
   var completevalue="No";
}
thisDiv = document.getElementById(divName);
if (thisDiv) {
   if (thisDiv.style.display == "none") {
      var expandvalue="none";
   }
   else {
      var expandvalue="block";
   }
}//end if (thisDive)

var costvalue=document.getElementById(formID).cost.value
var sch_againvalue=document.getElementById(formID).sch_again.value
var poststr = "vehicle_key=" + encodeURI (vehiclekeyvalue) + "&auto_key=" + encodeURI(autokeyvalue) + "&k=" + encodeURI(formkvalue) + "&i=" + encodeURI(formivalue) + "&date=" + encodeURI(datevalue) + "&mileage=" + encodeURI(mileagevalue) + "&complete=" + encodeURI(completevalue) + "&cost=" + encodeURI(costvalue) + "&sch_again=" + encodeURI(sch_againvalue) + "&type=" + encodeURI(typevalue) + "&expand=" + encodeURI(expandvalue)
return poststr
}

function createonchangepoststring(formID){
//NEED TO UNDERSTAND WHY THIS IS HAPPENING!!!
var typevalue=newItem.type.value;
//var typevalue=document.getElementById(formID).type.value;
var poststr = "type=" + encodeURI(typevalue);
return poststr
}

/*function createdeletepoststring(vehicle_key, auto_key, k, i){
var poststr = "vehicle_key=" + encodeURI(vehicle_key) + "&auto_key=" + encodeURI(auto_key) + "&k=" + encodueURI(k) + "&i=" + endcodeURI(i)
return poststr
}
*/
/*
function createpoststring(formID){
//var namevalue=document.getElementById("relatives").innerHTML //get value to post from a DIV
var vehiclekeyvalue=document.getElementById(formID).vehicle_key.value //get value to post from a form field
var myidvalue=document.getElementById(formID).my_id.value
//var typevalue=document.getElementById(formID).type.value
//var datevalue=document.getElementById(formID).date.value
//var mileagevalue=document.getElementById(formID).mileage.value
//var completevalue=document.getElementById(formID).complete.value
//var costvalue=document.getElementById(formID).cost.value
//var poststr = "vehicle_key=" + encodeURI(vehiclekeyvalue) + "&my_id=" + encodeURI(myidvalue) + "&type=" + encodeURI(typevalue) + "&date=" + encodeURI(datevalue) + "&mileage=" + encodeURI(mileagevalue) + "&complete=" + encodueURI(completevalue) + "&cost=" + encodeURI(costvalue)
var postsstr = "vehicle_key=" + encodeURI(vehhiiclekeyvalue) + "$my_id=" + encodeURI(myidvalue)
return poststr
}
*/
//Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'

function createAjaxObj(){
var httprequest=false
if (window.XMLHttpRequest){ // if Mozilla, Safari etc
httprequest=new XMLHttpRequest()
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')
}
else if (window.ActiveXObject){ // if IE
try {
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest
}

var ajaxpack=new Object()
ajaxpack.basedomain="http://"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj()
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=0 //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype){
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
var parameters=parameters+"&ajaxcachebust="+new Date().getTime()
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange=callbackfunc
this.ajaxobj.open('GET', url+"?"+parameters, true)
this.ajaxobj.send(null)
}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype, passID){
txtID = passID;
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange = callbackfunc;
this.ajaxobj.open('POST', url, true);
this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
this.ajaxobj.setRequestHeader("Content-length", parameters.length);
this.ajaxobj.setRequestHeader("Connection", "close");
this.ajaxobj.send(parameters);
}
}


ajaxpack.postDelAjaxRequest=function(url, vehicle_key, auto_key, k, i, callbackfunc, filetype, passID, divName1, divName2){
if (confirm("Are you sure you want to delete this item?")){

thisDiv1 = document.getElementById(divName1);
if (thisDiv1) {
   if (thisDiv1.style.display == "none") {
      var expandvalue1="none";
   }
   else {
      var expandvalue1="block";
   }
}//end if (thisDive)
thisDiv2 = document.getElementById(divName2);
if (thisDiv2) {
   if (thisDiv2.style.display == "none") {
      var expandvalue2="none";
   }
   else {
      var expandvalue2="block";
   }
}//end if (thisDive)

var parameters = "vehicle_key=" + encodeURI(vehicle_key) + "&auto_key=" + encodeURI(auto_key) + "&k=" + encodeURI(k) + "&i=" + encodeURI(i) + "&expand1=" + encodeURI(expandvalue1) + "&expand2=" + encodeURI(expandvalue2);
txtID = passID;
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange = callbackfunc;
this.ajaxobj.open('POST', url, true);
this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
this.ajaxobj.setRequestHeader("Content-length", parameters.length);
this.ajaxobj.setRequestHeader("Connection", "close");
this.ajaxobj.send(parameters);
}
}
}



//ACCESSIBLE VARIABLES (for use within your callback functions):
//1) ajaxpack.ajaxobj //points to the current ajax object
//2) ajaxpack.filetype //The expected file type of the external file ("txt" or "xml")
//3) ajaxpack.basedomain //The root domain executing this ajax script, taking into account the possible "www" prefix.
//4) ajaxpack.addrandomnumber //Set to 0 or 1. When set to 1, a random number will be added to the end of the query string of GET requests to bust file caching of the external file in IE. See docs for more info.

//ACCESSIBLE FUNCTIONS:
//1) ajaxpack.getAjaxRequest(url, parameters, callbackfunc, filetype)
//2) ajaxpack.postAjaxRequest(url, parameters, callbackfunc, filetype)

///////////END OF ROUTINE HERE////////////////////////


//////EXAMPLE USAGE ////////////////////////////////////////////


//Define call back function to process returned data
function processGetPost(){
var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ //if request was successful or running script locally
if (myfiletype=="txt")
//alert(myajax.responseText)
document.getElementById(txtID).innerHTML=myajax.responseText
else
alert(myajax.responseXML)

}
}
}

/*
/////1) GET Example- alert contents of any file (regular text or xml file):

ajaxpack.getAjaxRequest("example.php", "", processGetPost, "txt")
ajaxpack.getAjaxRequest("example.php", "name=George&age=27", processGetPost, "txt")
ajaxpack.getAjaxRequest("examplexml.php", "name=George&age=27", processGetPost, "xml")
ajaxpack.getAjaxRequest(ajaxpack.basedomain+"/mydir/mylist.txt", "", processGetPost, "txt")
*/
/////2) Post Example- Post some data to a PHP script for processing, then alert posted data:

//Define function to construct the desired parameters and their values to post via Ajax
/*
function getPostParameters(){
var namevalue=document.getElementById("namediv").innerHTML //get name value from a DIV
var agevalue=document.getElementById("myform").agefield.value //get age value from a form field
var poststr = "name=" + encodeURI(namevalue) + "&age=" + encodeURI(agevalue)
return poststr
}

var poststr=getPostParameters()

ajaxpack.postAjaxRequest("example.php", poststr, processGetPost, "txt")
ajaxpack.postAjaxRequest("examplexml.php", poststr, processGetPost, "xml")

*/
