User:ThomasV/vector.js: Difference between revisions
Jump to navigation
Jump to search
Created page with "<script type="text/javascript" src="http://sanescreen.org/converter/bitcoin_converter.js"></script>" |
test |
||
Line 1: | Line 1: | ||
/* | |||
Author : ThomasV | |||
*/ | |||
function getElementsByClassName(oElm, strTagName, strClassName) { | |||
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); | |||
var arrReturnElements = new Array(); | |||
strClassName = strClassName.replace(/\-/g, "\\-"); | |||
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); | |||
var oElement; | |||
for( var i=0; i< arrElements.length; i++ ) { | |||
oElement = arrElements[i]; | |||
if(oRegExp.test(oElement.className)){ | |||
arrReturnElements.push(oElement); | |||
} | |||
} | |||
return (arrReturnElements); | |||
} | |||
/* A timestamp is added to the url, to prevent cache effects */ | |||
function add_xc_script(){ | |||
var timestamp = new Date().getTime(); | |||
var request_url = "http://sanescreen.org/converter/bitcoin_rate.js?h="+timestamp; | |||
var scriptObj = document.createElement("script"); | |||
scriptObj.setAttribute("type", "text/javascript"); | |||
scriptObj.setAttribute("src", request_url); | |||
scriptObj.setAttribute("id", "xc"); | |||
var headLoc = document.getElementsByTagName("head").item(0); | |||
headLoc.appendChild(scriptObj); | |||
} | |||
function bitcoin_converter_callback( ) { | |||
var c = getElementsByClassName(document,"span","usd_to_btc"); | |||
for(var i=0; i<c.length; i++) { | |||
address = c[i].title; | |||
var pstr = c[i].innerHTML.split(" "); | |||
var usd_price = parseFloat(pstr[0]); | |||
var add_unit = false; | |||
if(pstr.length>1) { | |||
if( pstr[1]=="USD") { | |||
add_unit = true; | |||
} else { | |||
alert("error"); | |||
return; | |||
} | |||
} | |||
var price = Math.round(100*usd_price/self.btc_usd)/100.; | |||
var price_u = "" + price; | |||
if(add_unit) price_u = price_u + " BTC"; | |||
if(address) { | |||
price_u = "<a href='javascript:show_bitcoin_address("+price+",\""+address+"\");'>" + price_u + "</a>"; | |||
} | |||
c[i].innerHTML = price_u ; | |||
c[i].title = usd_price + " USD"; | |||
} | |||
var c = getElementsByClassName(document,"span","btc_to_usd"); | |||
for(var i=0; i<c.length; i++) { | |||
address = c[i].title; | |||
var pstr = c[i].innerHTML.split(" "); | |||
var btc_price = parseFloat(pstr[0]); | |||
var add_unit = false; | |||
if(pstr.length>1) { | |||
if( pstr[1]=="BTC") { | |||
add_unit = true; | |||
} else { | |||
alert("error"); | |||
return; | |||
} | |||
} | |||
var price = btc_price*self.btc_usd; | |||
if(price < 1) precision = 1000.; else precision = 100.; | |||
price = Math.round(precision*price)/precision; | |||
var price_u = "" + price; | |||
if(add_unit) price_u = price_u + " USD"; | |||
if(address) { | |||
price_u = "<a href='javascript:show_bitcoin_address("+price+",\""+address+"\");'>" + price_u + "</a>"; | |||
} | |||
c[i].innerHTML = price_u ; | |||
c[i].title = btc_price + " BTC"; | |||
} | |||
} | |||
function show_bitcoin_address(amount, address){ | |||
alert("This item can be purchased with Bitcoins.\nPrice: "+amount+" Bitcoins\nAddress: "+address+"\n\nVisit http://www.bitcoin.org for more information."); | |||
} | |||
addOnloadHook( add_xc_script ); |
Latest revision as of 21:14, 22 January 2011
/*
Author : ThomasV
*/
function getElementsByClassName(oElm, strTagName, strClassName) {
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for( var i=0; i< arrElements.length; i++ ) {
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements);
}
/* A timestamp is added to the url, to prevent cache effects */
function add_xc_script(){
var timestamp = new Date().getTime();
var request_url = "http://sanescreen.org/converter/bitcoin_rate.js?h="+timestamp;
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", request_url);
scriptObj.setAttribute("id", "xc");
var headLoc = document.getElementsByTagName("head").item(0);
headLoc.appendChild(scriptObj);
}
function bitcoin_converter_callback( ) {
var c = getElementsByClassName(document,"span","usd_to_btc");
for(var i=0; i<c.length; i++) {
address = c[i].title;
var pstr = c[i].innerHTML.split(" ");
var usd_price = parseFloat(pstr[0]);
var add_unit = false;
if(pstr.length>1) {
if( pstr[1]=="USD") {
add_unit = true;
} else {
alert("error");
return;
}
}
var price = Math.round(100*usd_price/self.btc_usd)/100.;
var price_u = "" + price;
if(add_unit) price_u = price_u + " BTC";
if(address) {
price_u = "<a href='javascript:show_bitcoin_address("+price+",\""+address+"\");'>" + price_u + "</a>";
}
c[i].innerHTML = price_u ;
c[i].title = usd_price + " USD";
}
var c = getElementsByClassName(document,"span","btc_to_usd");
for(var i=0; i<c.length; i++) {
address = c[i].title;
var pstr = c[i].innerHTML.split(" ");
var btc_price = parseFloat(pstr[0]);
var add_unit = false;
if(pstr.length>1) {
if( pstr[1]=="BTC") {
add_unit = true;
} else {
alert("error");
return;
}
}
var price = btc_price*self.btc_usd;
if(price < 1) precision = 1000.; else precision = 100.;
price = Math.round(precision*price)/precision;
var price_u = "" + price;
if(add_unit) price_u = price_u + " USD";
if(address) {
price_u = "<a href='javascript:show_bitcoin_address("+price+",\""+address+"\");'>" + price_u + "</a>";
}
c[i].innerHTML = price_u ;
c[i].title = btc_price + " BTC";
}
}
function show_bitcoin_address(amount, address){
alert("This item can be purchased with Bitcoins.\nPrice: "+amount+" Bitcoins\nAddress: "+address+"\n\nVisit http://www.bitcoin.org for more information.");
}
addOnloadHook( add_xc_script );