function rates_init() {
	ratesdata=getHttp(dbserver+'?action=ratesdata');
	if (errstate!='') { return false; }
	if (ratesdata.toLowerCase().indexOf('error')==0) { errstate=ratesdata; }
	if (ratesdata.toLowerCase().indexOf('<html>')>=0) { errstate=ratesdata; }
	if (errstate!='') { return false; }

	changeCurrency(sel_currency);
//	ratestbl.innerHTML=ratesTbl('ZAR');
}

function dataSet(dataset) {
	var data=getData(dataset);
	DB_results=data.split('<br>');
	if (data=="") { DB_current_record=-1; } else { DB_current_record=0; }
}

function getData(tag) {
	var y=ratesdata.indexOf('<'+tag+'>'); if (y<0) { return ''; }
	y=y+tag.length+2;
	var y1=ratesdata.indexOf('</'+tag+'>',y); if (y1<0) { return ''; }
	return ratesdata.substring(y,y1);
}

function fetch_field(tbl,keyfld,keyval,fld) {
	if (keyval=='') return '';
	var kfld=keyfld+'='+keyval+'|'; var data=getData(tbl)+'<br>'; var y=data.indexOf(kfld);
	if (y<0) return '';
	var y1=data.indexOf('|'+fld+'=',y+1);
	var eor=data.indexOf('<br>',y+1);
	if (y1<0 || y1>eor) return '';
	var v=data.substring(y1+1,eor).split('=')[1];
	if (v.indexOf('|')>=0) v=v.substr(0,v.indexOf('|'));
	v=v.replace(/\{124\}/g,'|').replace(/\{38\}/g,"&").replace(/\{61\}/g,"=");
	return v;
}

function currency_conv(zaramt,currency,incsymb) {
	var zar=0; var amt;
	var erate=fetch_field('exchange_rates','code',currency,'rate');
	if (zaramt!='') { zar=parseFloat(zaramt); }
	amt=parseFloat(erate)*zar; amt=fmt_amt(amt);
	if (incsymb) {
		var sym=fetch_field('exchange_rates','code',currency,'symbol');
		amt=sym+amt; // +' '+currency;
	}
	return amt;
}

function fmt_amt(amt) {
	var fee=''+parseFloat(amt);
	if (fee.indexOf('.')<0) { fee=fee+'.00'; } else { fee=fee+'00'; }
	fee=fee.substr(0,fee.indexOf('.')+3);
	return fee;
}

function ratesTbl(currency) {
	var stbl='<TABLE class=rates_amount border=1 rules=all cellSpacing=0 borderColor=#000000 cellPadding=2 frame=border align=center>';
	stbl+='<TR><TD class=rates_descr_hdr>DESTINATIONS TO AND FROM CAPE TOWN AIRPORT, HARBOUR, CITY:</TD>';
	stbl+='<TD class=rates_amount_hdr>1<br>PAX</TD><TD class=rates_amount_hdr>2<br>PAX</TD>';
	stbl+='<TD class=rates_amount_hdr>3<br>PAX</TD><TD class=rates_amount_hdr>4<br>PAX</TD>';
	stbl+='<TD class=rates_amount_hdr>5<br>PAX</TD><TD class=rates_amount_hdr>6<br>PAX</TD>';
	stbl+='<TD class=rates_amount_hdr>7<br>PAX</TD></TR>';

	dataSet('areas');
	moveFirst();
	while (!DB_eof()) {
		crate_id=getField('rate_id');
		stbl+='<TR>'; var incs=false;
		var acol='<TD class=rates_descr>';
		while (getField('rate_id')==crate_id) {
			var varea=getField('area');
			acol+="<SPAN class=rates_area onclick=book_area("+getField('area_id')+");>"+getField('area')+"</SPAN> ";
			var si=getField('area_includes');
			if (si==null) si='';
			if (si!='') incs=true;
			acol+=si+'<BR>';

			moveNext();
			if (DB_eof()) break;
		}
		if (acol.substr(acol.length-4)=='<BR>') acol=acol.substr(0,acol.length-4);
		acol+='</TD>';
		if (!incs) acol=acol.replace(/\<BR\>/g,', ');
		stbl+=acol+ratesCols(crate_id,currency);
		stbl+='</TR>';
	}
	

	stbl+='</TABLE>';
	return stbl;
}

function ratesCols(crate_id,currency) {
	var s='';
	for (var i=1; i<=7; i++) {
		var rt=fetch_field('rates','rate_id',crate_id,'rate_'+i+'_pax');
		rt=currency_conv(rt,currency,true).replace(/\.00/g,'');
		s+='<TD class=rates_amount>'+rt+'</TD>';
	}
	return s;
}

function changeCurrency(e) {
	var currency=e.value;
//	zar.className='rates_curr'; gbp.className='rates_curr';
//	eur.className='rates_curr'; usd.className='rates_curr';
//	try { event.srcElement.className='rates_cur_sel'; } catch(err) { e.className='rates_cur_sel'; }
	ratestbl.innerHTML=ratesTbl(currency);
	var cdesc=fetch_field('exchange_rates','code',currency,'description');
	var s='These Rates are in '+cdesc;
	currencyhdr.innerHTML=s.toUpperCase();
}

function book_area(area_id) {
	location.href='book_online.htm?area_id='+area_id;
}

