var CALC_RATINGS = null;
var CALC_ID = 'calculator';
var CALC_RATINGS_URL = 'http://www.sunshinemastering.com/ratings/eurofxref-daily.xml';

function calc_update(){
  var currency = document.getElementById('calc_currency').value;
  var count    = document.getElementById('calc_count').value;
  

  	
	var price = 0;
	
	if( count == 1 ) {
			price = 85;
	}
	if(( count > 1) && ( count < 4 )) {
	  price += 85 + 65 * (count-1);
	}
	if(( count > 3) && ( count < 11 )) {
			price += 85 + 65 * 2 + 60 * (count-3);
	}
	if (count>10) {
			price += 85 + 65 * 2 + 60 * 7 + 55 * (count-10);
	}
	
	var my_rate = 1;
	
	var rate = calc_get_rate( currency );
	
	if (rate > 0 ) {
    my_rate = rate;
	}
	else {
    currency = 'EUR';
  }
	
	price = my_round(price*my_rate);
	
	var el = document.getElementById('calc_price');
  el.innerHTML= price + ' ' + currency;
}

function my_round(x) {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}


function calc_get_ratings() {
  
    var task = CALC_RATINGS_URL;
    
		var rval = null;
 		if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
    } 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) {
    	// alert('Could not create XMLHTTP-Object');
      return false;
    }
    
    rval = http_request;
    http_request.onreadystatechange = calc_ajax_response;
    http_request.open('GET', task, true);
    http_request.send(null);	
    
    return rval;
}

function calc_ajax_response() {

		if (http_request.readyState == 4) {

    	if (http_request.status == 200) {

        //alert( http_request.responseText );
      	CALC_RATINGS = http_request.responseXML;
				
												
			}
    	else {
          CALC_RATINGS = null;
    	}
    	
    	document.getElementById(CALC_ID).style.display = 'block';
      calc_update();
    }
}

function calc_get_rate( currency ) {
  
  var rate = 0;
  
  if( CALC_RATINGS != null ) {
    var nodes = CALC_RATINGS.getElementsByTagName('Cube');
    
    var i;
    for( i=0;i<nodes.length;i++ ) {
      var cd = nodes[i].getAttribute('currency');
      if( cd == currency ) {
        rate = nodes[i].getAttribute('rate');
      }
    }


  }
  
  return rate;
}


calc_get_ratings();

