// JavaScript Document// Javasacript for the AJAX driven oTasks// Here's the AJAX part of this web app.  Enter the new Task data into the DB Without a reload//var url = "http://apps.ohnward.com/ajax/otasks/ajaxnewtask.php?param="; // The server-side scriptfunction loadId(){	alert("Made it");	document.newcustomer.spouseid.value = 1;	elem("Spouse").innerHTML = "<b>Selected<b>"; //reset this area	changeObjectVisibility("SearchResults", "hidden"); //show the customer search results window and results	elem("AJAXResults").innerHTML = ""; //reset this area}function custSearch(which){	if (which=="spouse") { 			parameter=document.newcustomer.spousefirst.value;			parameter+=",";			parameter+=document.newcustomer.spouselast.value;	}		if (parameter=="" || parameter==",") {		elem("AJAXResults").innerHTML = ""; //reset this area		changeObjectVisibility("SearchResults", "hidden"); //show the customer search results window and results	} else {		changeObjectVisibility("SearchResults", "visible"); //show the customer search results window and results		var editurl = "http://apps.ohnward.com/crm/php/ajaxsearch.php?param="; // The server-side script		//alert("Parameter: " + parameter); //show me what record you want to send to get the info for		http.open("GET", editurl + escape(parameter), true);		http.onreadystatechange = handleHttpResponse;		http.send(null);	}}function handleHttpResponse() {	if (http.readyState == 4) 	{		// Split the comma delimited response into an array    	results = http.responseText;				results = http.responseText.split(',');		//alert("Query Result: " + results[0]); // The result of the search query		if (results[0]=="None") {			elem("AJAXResults").innerHTML = "Customer(s) not found! Please broaden your search."; //reset this area		} else {			elem("AJAXResults").innerHTML = "&nbsp;"; //reset this area			i=0;			while (results[i]!="") {								i++;				elem("AJAXResults").innerHTML += "<span><a onClick='loadId();'> Select </a>"+results[i]+"</span><br />";				i++;				if (i>200) { results[i]=""; }			}		}  	}}function getHTTPObject() {  var xmlhttp;  /*@cc_on  @if (@_jscript_version >= 5)    try {      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");    } catch (e) {      try {        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");      } catch (E) {        xmlhttp = false;      }    }  @else  xmlhttp = false;  @end @*/  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {    try {      xmlhttp = new XMLHttpRequest();    } catch (e) {      xmlhttp = false;    }  }  return xmlhttp;}var http = getHTTPObject(); // We create the HTTP Objectfunction elem(id){ // compat element grabber        if(document.all) { return document.all(id); }        else if (document.getElementById) { return document.getElementById(id); }        return new Array(); // hides angry errors in buggy situations}function switchDiv(div_id){		var style_sheet = getStyleObject(div_id);	if (style_sheet)	{   		hideAll();		//shiftOpacity(div_id, 1000);   		changeObjectVisibility(div_id, "visible");	}	else 	{   		alert("sorry, this only works in browsers that do Dynamic HTML");	}}	// function hideAll()//  hides a bunch of divs//function hideAll(){		changeObjectVisibility("NewCustomer","hidden");   	changeObjectVisibility("Search","hidden");	//changeObjectVisibility("Report","hidden");	//changeObjectVisibility("New","hidden");	//elem("NoteHistory").innerHTML = ""     // changeObjectVisibility("assignee","hidden");}//function to hide only the selected Divfunction hideDiv(div_id){		var style_sheet = getStyleObject(div_id);	if (style_sheet)	{   		changeObjectVisibility(div_id, "hidden");	}	else 	{   		alert("sorry, this only works in browsers that do Dynamic HTML");	}}// function getStyleObject(string) -> returns style object//  given a string containing the id of an object//  the function returns the stylesheet of that object//  or false if it can't find a stylesheet.  Handles//  cross-browser compatibility issues.//function getStyleObject(objectId) {  // checkW3C DOM, then MSIE 4, then NN 4.  //  if(document.getElementById && document.getElementById(objectId)) {        return document.getElementById(objectId).style;   }   else if (document.all && document.all(objectId)) {          return document.all(objectId).style;   }    else if (document.layers && document.layers[objectId]) {         return document.layers[objectId];   } else {        return false;   }}	function changeObjectVisibility(objectId, newVisibility) {	// first get a reference to the cross-browser style object 	// and make sure the object exists	if (newVisibility=="visible") { 		var styleObject = getStyleObject(objectId);		if(styleObject) {			styleObject.visibility = "visible";			//opacity(objectId, 0, 100, 10);			return true;		} else {			// we couldn't find the object, so we can't change its visibility			return false;		}	}	if (newVisibility=="hidden") { 		var styleObject = getStyleObject(objectId);		if(styleObject) {			//opacity(objectId, 100, 0, 1000);			styleObject.visibility = "hidden";			return true;		} else {			// we couldn't find the object, so we can't change its visibility			return false;		}	}}//*****************************************************************************// Do not remove this notice.//// Copyright 2001 by Mike Hall.// See http://www.brainjar.com for terms of use.//*****************************************************************************// Determine browser and version.function Browser() {  var ua, s, i;  this.isIE    = false;  this.isNS    = false;  this.version = null;  ua = navigator.userAgent;  s = "MSIE";  if ((i = ua.indexOf(s)) >= 0) {    this.isIE = true;    this.version = parseFloat(ua.substr(i + s.length));    return;  }  s = "Netscape6/";  if ((i = ua.indexOf(s)) >= 0) {    this.isNS = true;    this.version = parseFloat(ua.substr(i + s.length));    return;  }  // Treat any other "Gecko" browser as NS 6.1.  s = "Gecko";  if ((i = ua.indexOf(s)) >= 0) {    this.isNS = true;    this.version = 6.1;    return;  }}var browser = new Browser();// Global object to hold drag information.var dragObj = new Object();dragObj.zIndex = 0;function dragStart(event, id) {  var el;  var x, y;  // If an element id was given, find it. Otherwise use the element being  // clicked on.  if (id)    dragObj.elNode = document.getElementById(id);  else {    if (browser.isIE)      dragObj.elNode = window.event.srcElement;    if (browser.isNS)      dragObj.elNode = event.target;    // If this is a text node, use its parent element.    if (dragObj.elNode.nodeType == 3)      dragObj.elNode = dragObj.elNode.parentNode;  }  // Get cursor position with respect to the page.  if (browser.isIE) {    x = window.event.clientX + document.documentElement.scrollLeft      + document.body.scrollLeft;    y = window.event.clientY + document.documentElement.scrollTop      + document.body.scrollTop;  }  if (browser.isNS) {    x = event.clientX + window.scrollX;    y = event.clientY + window.scrollY;  }  // Save starting positions of cursor and element.  dragObj.cursorStartX = x;  dragObj.cursorStartY = y;  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;  // Update element's z-index.  dragObj.elNode.style.zIndex = ++dragObj.zIndex;  // Capture mousemove and mouseup events on the page.  if (browser.isIE) {    document.attachEvent("onmousemove", dragGo);    document.attachEvent("onmouseup",   dragStop);    window.event.cancelBubble = true;    window.event.returnValue = false;  }  if (browser.isNS) {    document.addEventListener("mousemove", dragGo,   true);    document.addEventListener("mouseup",   dragStop, true);    event.preventDefault();  }}function dragGo(event) {  var x, y;  // Get cursor position with respect to the page.  if (browser.isIE) {    x = window.event.clientX + document.documentElement.scrollLeft      + document.body.scrollLeft;    y = window.event.clientY + document.documentElement.scrollTop      + document.body.scrollTop;  }  if (browser.isNS) {    x = event.clientX + window.scrollX;    y = event.clientY + window.scrollY;  }  // Move drag element by the same amount the cursor has moved.  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";  if (browser.isIE) {    window.event.cancelBubble = true;    window.event.returnValue = false;  }  if (browser.isNS)    event.preventDefault();}function dragStop(event) {  // Stop capturing mousemove and mouseup events.  if (browser.isIE) {    document.detachEvent("onmousemove", dragGo);    document.detachEvent("onmouseup",   dragStop);  }  if (browser.isNS) {    document.removeEventListener("mousemove", dragGo,   true);    document.removeEventListener("mouseup",   dragStop, true);  }}//*****************************************************************************// End of the Drag Window Function Definitions//// Copyright 2001 by Mike Hall.// See http://www.brainjar.com for terms of use.//*****************************************************************************