function disableState( obj ){
	if( obj.value.toLowerCase() == 'united states of america' ){
    	document.getElementById('txtState').style.display = '';
    }else{
    	document.getElementById('txtState').style.display = 'none';
    }
    
    return true;
}

function setNumBoxes( name ){
	var numBoxes = document.getElementById('numBoxes');
    
	var qstring = window.location.search.substring(1);
	var arrArgs = qstring.split('&');
    
    if( !numBoxes ) return;
    
    for( var i = 0; i < arrArgs.length; i++ ){
    	var key = arrArgs[i].split('=');
        
        if( key[0] == name ){ var found = key[1]; break; }
    }
    
    numBoxes.value = ( found != undefined ? found : '' );
}

window.onload = function(){ setNumBoxes( 'numBoxes' ); }

function getPrices(){
	var numBoxes 		= document.getElementById('numBoxes');
    var btnPrice		= document.getElementById('btnPrice');

    var response		= document.getElementById('response');
    var txtMailBoxes 	= document.getElementById('mailboxes');
    var txtHosted 		= document.getElementById('hosted');
    var txtAppliance 	= document.getElementById('appliance');
    
    var linkHosted		= 'hosted-sign-up.htm';
    var linkAppliance	= 'sign-up.htm';

    var urlString = 'numBoxes=' + numBoxes.value;
    
    //disable button and set text
    btnPrice.value = 'Loading...';
    btnPrice.disabled = true;
    
    var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	
	var fnWhenDone = function (oXML){	
       	var xml = oXML.responseXML;
		var packages = xml.getElementsByTagName("package");
        
        for(var i = 0; i < packages.length; i++){
        	var min = packages[i].getAttribute('min');	
            var max = packages[i].getAttribute('max');
            
        	var mailboxes 		= ( packages[i].selectSingleNode('mailboxes/text()') 		!= null ? packages[i].selectSingleNode('mailboxes/text()').nodeValue 		: '' );
            var hosted_img 		= ( packages[i].selectSingleNode('hosted/image/text()') 	!= null ? packages[i].selectSingleNode('hosted/image/text()').nodeValue 	: '' );
            var hosted 			= ( packages[i].selectSingleNode('hosted/descr/text()') 	!= null ? packages[i].selectSingleNode('hosted/descr/text()').nodeValue 	: '' );
            var hosted_link		= ( packages[i].selectSingleNode('hosted/link/text()') 		!= null ? packages[i].selectSingleNode('hosted/link/text()').nodeValue 		: '' );
            
            var appliance_img 	= ( packages[i].selectSingleNode('appliance/image/text()') 	!= null ? packages[i].selectSingleNode('appliance/image/text()').nodeValue 	: '' );
            var appliance 		= ( packages[i].selectSingleNode('appliance/descr/text()') 	!= null ? packages[i].selectSingleNode('appliance/descr/text()').nodeValue 	: '' );
            var appliance_link	= ( packages[i].selectSingleNode('appliance/link/text()') 	!= null ? packages[i].selectSingleNode('appliance/link/text()').nodeValue 	: '' );
            
            if( max == 0 ){
                if( (numBoxes.value*1) >= min ){
                	
                	txtMailBoxes.innerHTML  = mailboxes;
                    txtHosted.innerHTML 	= ( hosted 		!= 'None' ? ( hosted_img 	? '<img src="' + hosted_img + '" border="0" /><br /><br />' 	: '' ) + hosted 	+ ( hosted_link ? 	 '<br /><br /><a href="' + linkHosted + '?' + urlString + '">' + hosted_link + '</a>' 	  : '' ) : 'None' );
                    txtAppliance.innerHTML 	= ( appliance 	!= 'None' ? ( appliance_img ? '<img src="' + appliance_img + '" border="0" /><br /><br />' 	: '' ) + appliance 	+ ( appliance_link ? '<br /><br /><a href="' + linkAppliance + '?' + urlString + '">' + appliance_link + '</a>' : '' ) : 'None' );
                    
                	break;
                }	
			}else{
            	if( (numBoxes.value*1) >= min && (numBoxes.value*1) <= max ){
                	txtMailBoxes.innerHTML  = mailboxes;
                    txtHosted.innerHTML 	= ( hosted 		!= 'None' ? ( hosted_img 	? '<img src="' + hosted_img + '" border="0" /><br /><br />' 	: '' ) + hosted 	+ ( hosted_link ? 	 '<br /><br /><a href="' + linkHosted + '?' + urlString + '">' + hosted_link + '</a>' 	  : '' ) : 'None' );
                    txtAppliance.innerHTML 	= ( appliance 	!= 'None' ? ( appliance_img ? '<img src="' + appliance_img + '" border="0" /><br /><br />' 	: '' ) + appliance 	+ ( appliance_link ? '<br /><br /><a href="' + linkAppliance + '?' + urlString + '">' + appliance_link + '</a>' : '' ) : 'None' );
                    
                	break;
                }
            }
        }
        
        
        response.style.display = '';
        
        //re-enable button and set text
        btnPrice.value = 'Get Price';
        btnPrice.disabled = false;
	};
	
	myConn.connect("xml.prices.php", "GET", urlString, fnWhenDone);	
    
    return false;
}

function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

// mozXPath [http://km0ti0n.blunted.co.uk/mozxpath/] km0ti0n@gmail.com
// Code licensed under Creative Commons Attribution-ShareAlike License 
// http://creativecommons.org/licenses/by-sa/2.5/
if( document.implementation.hasFeature("XPath", "3.0") ){
	if( typeof XMLDocument == "undefined" ){ XMLDocument = Document; }
  XMLDocument.prototype.selectNodes = function(cXPathString, xNode){
    if( !xNode ) { xNode = this; } 
		var oNSResolver = this.createNSResolver(this.documentElement)
		var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
		var aResult = [];
		for( var i = 0; i < aItems.snapshotLength; i++){aResult[i] =  aItems.snapshotItem(i);	}
		return aResult;
	}
	XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode){
		if( !xNode ) { xNode = this; } 
		var xItems = this.selectNodes(cXPathString, xNode);
		if( xItems.length > 0 ){return xItems[0];	}
		else{return null;	}
	}
	Element.prototype.selectNodes = function(cXPathString){
		if(this.ownerDocument.selectNodes){	return this.ownerDocument.selectNodes(cXPathString, this);}
		else{throw "For XML Elements Only";}
	}
	Element.prototype.selectSingleNode = function(cXPathString){	
		if(this.ownerDocument.selectSingleNode){return this.ownerDocument.selectSingleNode(cXPathString, this);	}
		else{throw "For XML Elements Only";}
	}
}