var xmlhttp;
var xmlhttpAB;
var xmlhttpPA;

// create XMLHttpRequest object
function aaGetXmlHttpRequest() {

   var xmlHttpObj;
   if (window.XMLHttpRequest) {
      xmlHttpObj = new XMLHttpRequest();
   } else {
      try
         {
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (e)
         {
            try
            {
               xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
               xmlHttpObj = false;
            }
         }
    }
   return xmlHttpObj;
}

// screen out older IE versions
function aaScreenIE() {
   if (navigator.appName == 'Microsoft Internet Explorer') {
     msie=navigator.appVersion.split("MSIE")
     version=parseFloat(msie[1]);
     if (version >= 6) return false;
   } else {
        return false;
   }
   return true;
}

// get stylesheet style
function aaGetStyle(obj, styleName) {
   if (obj.currentStyle) 
      return obj.currentStyle[styleName];
   else if (document.defaultView && document.defaultView.getComputedStyle) 
      return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);
   return undefined;
}  

// add event listening
function aaManageEvent(eventObj, event, eventHandler) {
   if (eventObj.addEventListener) {
      eventObj.addEventListener(event, eventHandler,false);
   } else if (eventObj.attachEvent) {
      event = "on" + event;
      eventObj.attachEvent(event, eventHandler);
   }
}

// cancel event
function aaCancelEvent(event) {
   if (event.preventDefault) {
      event.preventDefault();
      event.stopPropagation();
   } else {
      event.returnValue = false;
      event.cancelBubble = true;
   }
}

// stop event listening
function aaStopEvent(eventObj,event,eventHandler) {
   if (eventObj.removeEventListener) {
      eventObj.removeEventListener(event,eventHandler,false);
   } else if (eventObj.detachEvent) {
      event = "on" + event;
      eventObj.detachEvent(event,getKey);
   }
}

// return element
function aaElem(identifier) {
   return document.getElementById(identifier);
}

// add script
function aaAddScript(url) {
   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = url;
   document.getElementsByTagName('head')[0].appendChild(script);
 }

function aaBindEventListener(obj, method) {
  return function(event) { method.call(obj, event || window.event)};
}

function aaBindObjMethod(obj, method) {
   return function() { method.apply(obj, arguments); }
}

function externalLinks() {
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

aaManageEvent(window,'load',externalLinks);

function ajax_get(url) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
//   var drink = encodeURIComponent(document.getElementById('drink').value);
//   var qry = 'drink=' + drink;
//   var url = 'drink.php?' + qry;
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = print_result;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault)
     evnt.preventDefault( );
   return false;

}

function ajax_post(url, query) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
//    query = encodeURIComponent(document.getElementById('drink').value);
//    var qry = 'drink=' + drink;
//    var url = 'drink.php';
//   query = encodeURIComponent(query);
   xmlhttp.open('POST', url, true);
   xmlhttp.onreadystatechange = print_result;
   xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   xmlhttp.send(query);
}


function print_result( ) {
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		window.location.reload();
//       alert(xmlhttp.getAllResponseHeaders( ));
//       alert(xmlhttp.responseText);
   }
}







function getBillingInfo() {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_return&return=billing_info';
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = printBillingInfo;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function editBillingInfo() {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_edit&content=billing_info';
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = printBillingInfo;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function printBillingInfo() {
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      document.getElementById('billing_info').innerHTML = xmlhttp.responseText;
   }
}



//////////////////////////////////////////////////////////


function getAddressInfo(evnt) {
   if (!xmlhttpAB) xmlhttpAB = aaGetXmlHttpRequest( );
   if (!xmlhttpAB) return;
//   var drink = encodeURIComponent(document.getElementById('drink').value);
//   var qry = "drink=" + drink;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_return&return=address_book';
   xmlhttpAB.open('GET', url, true);
   xmlhttpAB.onreadystatechange = printAddressBook;
   xmlhttpAB.send(null);

   if (!xmlhttpPA) xmlhttpPA = aaGetXmlHttpRequest( );
   if (!xmlhttpPA) return;
//   var drink = encodeURIComponent(document.getElementById('drink').value);
//   var qry = "drink=" + drink;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_return&return=primary_address';
   xmlhttpPA.open('GET', url, true);
   xmlhttpPA.onreadystatechange = printPrimaryAddress;
   xmlhttpPA.send(null);

   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function printAddressBook() {
   if(xmlhttpAB.readyState == 4 && xmlhttpAB.status == 200) {

	  var address_book = document.getElementById('address_book');
      address_book.innerHTML = xmlhttpAB.responseText;

   }
}

function printPrimaryAddress() {
   if(xmlhttpPA.readyState == 4 && xmlhttpPA.status == 200) {
    
	  var primary_address = document.getElementById('primary_address');
      primary_address.innerHTML = xmlhttpPA.responseText;
   }
}

function updateAddressInfo() {
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		getAddressInfo( );
   }
}

////////////////////////////////////////////////////////////////////



function deleteAddress(address_id) {
   if (!xmlhttpAB) xmlhttpAB = aaGetXmlHttpRequest( );
   if (!xmlhttpAB) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_delete&address_id='+address_id;
   xmlhttpAB.open('GET', url, true);
   xmlhttpAB.onreadystatechange = printAddressBook;
   xmlhttpAB.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function editAddress(address_id) {
   if (!xmlhttpAB) xmlhttpAB = aaGetXmlHttpRequest( );
   if (!xmlhttpAB) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_edit&address_id='+address_id;
   xmlhttpAB.open('GET', url, true);
   xmlhttpAB.onreadystatechange = printAddressBook;
   xmlhttpAB.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function setPrimaryAddress(address_id) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_edit&primary_address_id='+address_id;
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = updateAddressInfo;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function addAddress( ) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest( );
   if (!xmlhttp) return;
   var url = '/Library/php/account_profile_ajax.php?action=ajax_add&content=add_address';
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = printAddAddress;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault())
     evnt.preventDefault();
   return false;
}

function printAddAddress() {
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	  var address_book = document.getElementById('add_address');
      address_book.innerHTML = xmlhttp.responseText;
   }
}


function onLoadInit() {
	getAddressInfo( );
	var div = document.getElementById('billing_info');
	if (div) { getBillingInfo(); }
}
