/***************************************************************************************************** QRtag api - programmed by Jens Eldering (C) 2009 by ATECmedia ***************************************************************************************************** version : 1.2b release : 09-09-2009 license : public script : JavaScript ******************************************************************************************************/ function QRtag(){ /************************************************************************************************** Initialize class *************************************************************************************************/ this.initialize = function(){ this.qr_data = document.location.href; this.qr_link = ""; this.qr_size = 100; this.qr_border = 5; this.qr_id = ""; this.qr_class_name = ""; this.qr_align = ""; this.qr_target = document.body; this.qr_fgcolor = "000000"; this.qr_bgcolor = "ffffff"; } /************************************************************************************************** Input functions *************************************************************************************************/ this.data = function(data) { if (data && data.length>0 && data.length<128) this.qr_data = data; else this.qr_data = document.location.href; } this.link = function(url) { if (url>"" && url.length>5 && url.length<128) this.qr_link = url; else this.qr_link = ""; } this.target = function(target) { if (document.getElementById(target) != undefined) this.qr_target = document.getElementById(target); else this.qr_target = document.body; } this.size = function(size) { if (size<100) size = 100; if (size>1000) size = 1000; this.qr_size = size; } this.border = function(border) { if (border<0) border = 0; if (border>10) border = 10; this.qr_border = border; } this.id = function(id) { if (id>"" && id.length>0 && id.length<255) this.qr_id = id; else this.qr_id = ""; } this.color = function(color) { color = color.replace("#",""); if (color.length==6) this.qr_fgcolor = color; else this.qr_fgcolor = "000000"; } this.bgcolor = function(color) { color = color.replace("#",""); if (color.length==6) this.qr_bgcolor = color; else this.qr_bgcolor = "ffffff"; } this.place = function(place) { // absbottom | absmiddle | baseline | bottom | right | left | none | texttop | top if (place>"" && place.length>0 && place.length<255) this.qr_align = place; else this.qr_align = ""; } this.class_name = function(class_name) { if (class_name>"" && class_name.length>5 && class_name.length<255) this.qr_class_name = class_name; else this.qr_class_name = ""; } this.clear = function() { this.initialize(); } /************************************************************************************************** Output functions *************************************************************************************************/ this.image = function(target,data,size,border,link,id,class_name,place,hide) { if (data) this.data(data); if (size) this.size(size); if (border) this.border(border); if (id) this.id(id); if (link) this.link(link); if (class_name) this.class_name(class_name); if (place) this.place(place); if (target) this.target(target); var filename = "http://api.qrtag.net/code"; filename = filename + "/" + this.qr_size filename = filename + "/" + this.qr_border filename = filename + "/" + this.qr_fgcolor filename = filename + "/" + this.qr_bgcolor filename = filename + "/" + string2hex(this.qr_data) + ".png"; if (hide==true) { this.qr_target.appendChild(create_div((this.qr_size+this.qr_border),filename,this.qr_data,this.qr_data,this.qr_id,this.qr_link,this.qr_class_name,this.qr_align,true)); } else { this.qr_target.appendChild(create_image(filename,this.qr_data,this.qr_data,this.qr_id,this.qr_link,this.qr_class_name,this.qr_align)); } } this.print_image = function(data,size,border,link,id,class_name,align) { this.image(data,size,border,link,id,class_name,align,true) } this.initialize(); } /***************************************************************************************************** Some handy functions :-) ****************************************************************************************************/ function create_image(src, alt, title, id, link, class_name, align) { var IE = /*@cc_on!@*/false; if (IE) var img = new Image(); else var img = document.createElement('img'); img.src= src; //img.position = "relative"; //img.style.zIndex = 100; if (alt) img.alt = alt; if (title) img.title = title; if (id) img.id = id; if (align) img.align = align; // absbottom | absmiddle | baseline | bottom | right | left | none | texttop | top if (class_name) img.className = class_name; if (link!=null && link!="") { img.onclick = new Function("document.location.href='"+link+"'"); img.style.cursor='pointer'; } return img; } function create_div(size, src, alt, title, id, link, class_name, align, display) { var div = document.createElement("div"); //div.setAttribute("align","center"); //div.style.margin = "0px auto"; div.style.width = size; div.style.height = size; if (id) div.style.height = size; if (display) div.style.display = 'none'; if (class_name) div.className = class_name; if (align) div.style.align = align; if (link!=null && link!="") { div.onclick = new Function("document.location.href='"+link+"'"); div.style.cursor='pointer'; } var html = ''+alt+''; div.innerHTML = html; return div; } function string2hex(str){ var output = ""; var c=0; var code = ""; while (c