function ajaxCallback(requestedPage,args,oncomplete,onerror) {
	var requestObj = null;
  var responseDiv = document.getElementById('responseout');
  if(!responseDiv) {responseDiv = document.createElement('div');}
	responseDiv.innerHTML="Started...";
	if (window.XMLHttpRequest) {
		requestObj = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try {
			requestObj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				requestObj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
  }
	requestObj.onreadystatechange = function() {
		responseDiv.innerHTML = 'Please Wait, Loading...';
		if(requestObj.readyState == 4) {
			if(requestObj.status == 200) {
				responseDiv.innerHTML = 'Done';
				oncomplete(requestObj.responseText);
			}
			else {
				responseDiv.innerHTML='Error: returned status code ' + requestObj.status + ':' + requestObj.statusText;				
        onerror(requestObj);
			}
		}
	};
	var currentTime = new Date();
	requestObj.open('POST', requestedPage + '?time='+currentTime.getTime(), true);
	requestObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  requestObj.send(args);
	return(false);
}
function onError(result) {
  alert('Error: returned status code ' + result.status + ': ' + result.statusText);
}
function $get(id) {return document.getElementById(id);}
function checkShoeOptions() {
  var widthOpt = $get('widthOption');
  var sizeOpt = $get('sizeOption');
  var msg = '';
  if(widthOpt && sizeOpt) {
    if(widthOpt.selectedIndex = 0)
      msg += 'Please select a shoe width first.\n\n';
    if(sizeOpt.selectedIndex = 0)
      msg += 'Please select a shoe size first.'
  }
  if(msg.length > 0) {
    alert(msg);
    return(false);
  }
  return(true);
}
function checkSizeWidth(product_id) {  
  var widthOption = $get('widthOption');
  var sizeOption = $get('sizeOption');
  if(widthOption && sizeOption) {
    var width = widthOption.options[widthOption.selectedIndex].value;
    var size = sizeOption.options[sizeOption.selectedIndex].value;
    //alert(width+' '+size);
    ajaxCallback('admin/checkShoeSizeWidth.asp','size='+encodeMyHtml(size)+'&width='+encodeMyHtml(width)+'&product_id='+product_id,onSizeWidthChecked,onError);  
  } else {
      document.closeupform.submit();
  }
}

function onSizeWidthChecked(result) {
  //alert(result);
  if(result == '0') {
    alert('This Shoe is not available in this size/width combination\n\nPlease select another.')
  } else {
    document.closeupform.submit();
  }
}

function encodeMyHtml(encodedHtml) {
 encodedHtml = escape(encodedHtml);
 encodedHtml = encodedHtml.replace(/\//g,"%2F");
 encodedHtml = encodedHtml.replace(/\?/g,"%3F");
 encodedHtml = encodedHtml.replace(/=/g,"%3D");
 encodedHtml = encodedHtml.replace(/&/g,"%26");
 encodedHtml = encodedHtml.replace(/@/g,"%40");
 encodedHtml = encodedHtml.replace(/\s/g,"%20");
 return(encodedHtml);
}

function checkEmail(theForm) {

    if (theForm.EMAIL_1.value == "")
    {
        alert('Email address 1 cannot be blank.');
        return false;
    } 
    
    else if (theForm.EMAIL_2.value == "")
    {
        alert('Email address 2 cannot be blank.');
        return false;
    }
          
    if (theForm.EMAIL_1.value != theForm.EMAIL_2.value)
    {
        alert('Email addresses do not match.  Please reenter them.');
        return false;
    }     
        
    else {
        return true;
    }
}
