var http_request = false;
var divid = null;
var used_url = null;

  function makeRequest(url, request, data) {
  	http_request = false;
     if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
        	// set type accordingly to anticipated content type
           http_request.overrideMimeType('text/html');
        }
     } else if (window.ActiveXObject) { // IE
        try {
           http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
           try {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
        }
     }
     if (!http_request) {
        return false;
     }
     
     used_url = url;
     http_request.onreadystatechange = alertContents;
     http_request.open(request, url, true);
     if(request == 'GET'){
       http_request.setRequestHeader("Connection", "close");
     } else {
       http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     }
     http_request.send(data);
  }

	function alertContents() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				result = http_request.responseText;
				if (result) {
					divid.innerHTML = result;
					try {
						if (divid != null && divid.innerHTML.indexOf('This item is in your WishList') != -1) {
							hideDiv('hiddenDiv', 'shopping_cart');
							document.getElementById('wishlisttext').innerHTML = document.getElementById('hiddenDivContent').innerHTML;
						} else if (divid != null && divid.innerHTML.indexOf('Choose a shipping method') != -1) {
							account.filterDefault('usa_default_shm_id');
						} else if(divid != null && divid.innerHTML.indexOf('EXECUTE_IMG_MAP_EDITOR') != -1) { 
							resizeCMSActionDiv(document.getElementById('imageMapEdit'));
						} else if (divid != null && divid.innerHTML.indexOf('Item has been added to order successfully.') != -1) {
							if (used_url.indexOf('add_to_cart_promo_ajax') != -1) {
								window.location = "/product/cart.jsp";
								return;
							} else {
								window.location = "/checkout/shipping.jsp";
								return;
							}
						} else if (divid != null && divid.innerHTML.indexOf('CMS PAGE REFRESH') != -1) {
							window.location = window.location.href;
						} else if (used_url.indexOf('/internal/cms_new/ajax') != -1) {
							if (document.getElementById('cms_size_object')) {
								resizeCMSActionDiv(document.getElementById('cms_size_object'));
							}
						}
					}
					catch(e){
					
					}
				}   
			} 
		}
	}
  
  function doTheAjax(url, div, form, loadingImage) {
  	divid = document.getElementById(div);
  	if (form) {
  	 	var elements = form.elements;
  	 	for (var i = 0; i < elements.length; i++) {
  	 		if (elements[i].type != 'button' && elements[i].type != 'submit'
  	 		&& elements[i].name != 'bmSubmit' && elements[i].name != 'bmForm'
  	 		&& elements[i].name != 'bmFormID' && elements[i].name != 'bmUID') {
  	 			if ((elements[i].type != 'radio' && elements[i].type != 'checkbox') || elements[i].checked) {
  	 				url = url + '&' + escape(elements[i].name) + '=' + escape(elements[i].value);
  	 			}
  	 		}
  	 	}
  	 }
  	if(loadingImage){
  	 divid.innerHTML = loadingImage;
  	}
  	 makeRequest(url, 'GET', null);
  }
  
  function doTheAjaxPOST(url, div, form, loadingImage){
	divid = document.getElementById(div);
	var data = '';
	if (form) {
	   var elements = form.elements;
	   for (var i = 0; i < elements.length; i++) {
		 if(elements[i].type == 'checkbox' && elements[i].checked){
			 elements[i].value = 'true';
		 } else if (elements[i].type == 'checkbox' && !elements[i].checked){
		     elements[i].value = 'false';
		 }
		 
		 if(elements[i].name != 'bmUID' && elements[i].type != 'button'){
	       data = data + '&' + escape(elements[i].name) + '=' + escape(elements[i].value);
		 }
	   }
	}
	if(loadingImage){
	  divid.innerHTML = loadingImage;
	}
	makeRequest(url, 'POST', data); 
  }
  
  function doTheAjaxKillFrame(url, div, loadingImage) {
  	 divid = parent.document.getElementById(div);
  	 makeRequest(url, 'GET', null);
  }
  
  function ajaxIFrameSSLFix(url, div, form, loadingImage) {
  	if (form) {
  	 	var elements = form.elements;
  	 	for (var i = 0; i < elements.length; i++) {
  	 		if (elements[i].type != 'button' && elements[i].type != 'submit'
  	 		&& elements[i].name != 'bmSubmit' && elements[i].name != 'bmForm'
  	 		&& elements[i].name != 'bmFormID' && elements[i].name != 'bmUID') {
  	 			if ((elements[i].type != 'radio' && elements[i].type != 'checkbox') || elements[i].checked) {
  	 				url = url + '&' + escape(elements[i].name) + '=' + escape(elements[i].value);
  	 			}
  	 		}
  	 	}
  	 }
  	 document.getElementById(div).innerHTML =  "<iframe id='ajaxFrame' name='printframe' allowtransparency='true' width='100' height='100' frameborder='0' src='" + url + "' scrolling='auto'></iframe>";
  }
  
