
if(!window.encodeURIComponent){
	window.encodeURIComponent=function(s){return escape(s);};
}

if(!window.decodeURIComponent){
	window.decodeURIComponent=function(s){return unescape(s);};
}

window.onload=function()
{
	var xSel=_add_innokb_platform(), sOsTag='', sOsTitle='';
	if(xSel){
		var iSel=xSel.selectedIndex;
		if(iSel>=0){
			var xOpt=xSel.options[iSel];
			sOsTag=xOpt.value;
			sOsTitle=xOpt.text;
		}
	}

	xSel.onchange=function(e){
		var x=this.selectedIndex, xOpt=this.options[x];
		var tag=xOpt.value, title=xOpt.text;
		_update_order_links(tag);
		_update_innokb_titles(title);
	};

	_update_order_links(sOsTag);
	_update_innokb_titles(sOsTitle);

};

function _add_innokb_platform()
{
	var xDiv=document.getElementById('ID_ServerOS'), xSel=null;
	if(xDiv){
		
		xDiv.appendChild(document.createTextNode('  for '));
		xSel=document.createElement('select');
		xDiv.appendChild(xSel);

		var xOS={Windows: 'Windows NT', Linux: 'GNU/Linux (i386)', FreeBSD: 'FreeBSD (i386)', Solaris_x86: 'Sun Solaris (x86)', Solaris_sparc: 'Sun Solaris (Sparc)'};
		for(var sTag in xOS){
			var xOpt=document.createElement('option');
			xOpt.setAttribute('value', sTag);
			xOpt.innerHTML=xOS[sTag];
			xSel.appendChild(xOpt);
		}
	}

	return xSel;
}

function _update_innokb_titles(sOsTitle)
{
	var vTd=document.getElementsByTagName('td');
	for(var i=0; i<vTd.length; ++i){
		var xTd=vTd[i], sTxt=xTd.innerHTML;
		if(sTxt.indexOf('InnoKB Server')==0){
			sTxt='InnoKB Server 2.x for '+sOsTitle;
			xTd.innerHTML=sTxt;
		}
	}
}

function _parse_uri_param(sUri)
{
	var xRes={};
	var sParam=(sUri.split('?')||[''])[1];
	if(sParam){
		var vFields=sParam.split('&');
		for(var i=0; i<vFields.length; ++i){
			var str=vFields[i];
			var p=str.indexOf('=');
			if(p>0){
				var k=str.substr(0, p), v=str.substr(p+1);
				if(k && v){
					try{
						k=decodeURIComponent(k); v=decodeURIComponent(v);
					}catch(e){
						alert('Malformed URI sequence to decode: \n\n'+sUri);
					}
					xRes[k]=v;
				}
			}
		}
	}
	return xRes;
}

function _update_order_links(sOsTag)
{
	var _uri_of=function(sUri, xCgi){
		var s='';
		for(var k in xCgi){
			if(s) s+='&';
			s+=(k+'='+xCgi[k]);
		}
		return (sUri.split('?')||[''])[0]+'?'+s;
	};

	var sLang=navigator.browserLanguage || navigator.language || '';
	var vA=document.getElementsByTagName('a');
	for(var i=0; i<vA.length; ++i){
		var xA=vA[i], sUri=''+xA, xTd=xA.parentNode;
		if(sUri.indexOf('/cgi-bin/buy.cgi?')>0){

			var xCgi=_parse_uri_param(sUri);

			xCgi['langID']=sLang;

			if(sUri.indexOf('InnoKB-')>0){
				xCgi['platformID']=sOsTag;
			}

			var sHtml='';
			
			//xCgi['storeID']='paypal';
			sHtml+='<a href="'+_uri_of(sUri, xCgi)+'" title="Place order with Paypal">Paypal</a>';

			//sHtml+='&nbsp;&nbsp;&nbsp;';

			//xCgi['storeID']='shareit';
			//sHtml+='<a href="'+_uri_of(sUri, xCgi)+'" title="Place order with Shareit">Shareit</a>';

			xTd.innerHTML=sHtml;
		}
	}
}

/*function _adjust_store()
{
	var vA=document.getElementsByTagName('a'), vTmp=[];
	for(var i=0, len=vA.length; i<len; ++i){
		var xA=vA[i], sUri=''+xA;
		if(sUri.indexOf('/cgi-bin/order.cgi?')>0){
			vTmp[vTmp.length]=xA;
		}
	}
	var sLang=navigator.browserLanguage || navigator.language || '';
	for(var i=0, len=vTmp.length; i<len; ++i){
		var xA=vTmp[i], sUri=xA.href+'&langID='+sLang, xTd=xA.parentNode;
		var sHtml='<a href="'+sUri+'&storeID=paypal" title="Place orders with Paypal">Paypal</a>';
		sHtml+='&nbsp;&nbsp;&nbsp;';
		sHtml+='<a href="'+sUri+'&storeID=shareit" title="Place orders with Shareit">Shareit</a>';
		xTd.innerHTML=sHtml;
	}
}*/

