var tmp = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; if(tmp) var isIE = document.namespaces ? 1 : 0; /**presunuto! * glossy.js 1.31 (19-Jul-2007) * (c) by Christian Effenberger * All Rights Reserved * Source: glossy.netzgesta.de * Distributed under Netzgestade Software License Agreement * http://www.netzgesta.de/cvi/LICENSE.txt * License permits free of charge * use on non-commercial and * private web sites only **/ if(isIE) { if(document.namespaces['v'] == null) { var stl = document.createStyleSheet(); stl.addRule("v\\:*", "behavior: url(#default#VML);"); document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); } } function getImages(className){ var children = document.getElementsByTagName('img'); var elements = new Array(); var i = 0; var child; var classNames; var j = 0; for (i=0;i=16 && image.height>=16) { classes = image.className.split(' '); horizontal = 0; igradient = 0; factor = 0.25; noshadow = 0; iradius = 0; ibgcolor = 0; iradius = getClassValue(classes,"iradius"); ibgcolor = getClassColor(classes,"ibgcolor"); igradient = getClassColor(classes,"igradient"); noshadow = getClassAttribute(classes,"noshadow"); horizontal = getClassAttribute(classes,"horizontal"); newClasses = getClasses(classes,"glossy"); width = image.width; height = image.height; maxdim = Math.min(width,height)/2; angle = 0; factor = iradius>0?Math.min(Math.max(iradius,20),50)/100:factor; iradius = Math.round(45*factor); xradius = Math.round(Math.max(Math.round(maxdim*factor),4)/4)*4; if(noshadow<1) { offset = xradius/4; sradius = iradius*0.75; inset = offset; radius = sradius; sradius = radius*0.75; shade = ''; tmp = ''; }else { radius = iradius; inset = 0; offset = xradius/4; sradius = iradius*0.75; } if(isNaN(ibgcolor)) { fill = ''; if(isNaN(igradient)) { if(horizontal>0) angle = 90; fill = fill + ''; }else { fill = fill + ''; } } display = (image.currentStyle.display.toLowerCase()=='block')?'block':'inline-block'; vml = document.createElement([''].join('')); flt = image.currentStyle.styleFloat.toLowerCase(); display = (flt=='left'||flt=='right')?'inline':display; head = '' + tmp; foot = ''; vml.innerHTML = head + shade + fill + foot; vml.className = newClasses; vml.style.cssText = image.style.cssText; vml.style.visibility = 'visible'; vml.src = image.src; vml.alt = image.alt; vml.width = image.width; vml.height = image.height; if(image.id!='') vml.id = image.id; if(image.title!='') vml.title = image.title; if(image.getAttribute('onclick')!='') vml.setAttribute('onclick',image.getAttribute('onclick')); object.replaceChild(vml,image); } } } function addGlossy() { var theimages = getImages('glossy'); var image; var object; var canvas; var context; var i; var iradius = null; var sradius = null; var noshadow = 0; var ibgcolor = null; var igradient = null; var horizontal = 0; var factor = 0.25; var classes = ''; var newClasses = ''; var maxdim = null; var inset = 0; var offset = 0; var style = ''; for(i=0;i=16 && image.height>=16) { classes = image.className.split(' '); horizontal = 0; igradient = 0; factor = 0.25; noshadow = 0; iradius = 0; ibgcolor = 0; iradius = getClassValue(classes,"iradius"); ibgcolor = getClassColor(classes,"ibgcolor"); igradient = getClassColor(classes,"igradient"); noshadow = getClassAttribute(classes,"noshadow"); horizontal = getClassAttribute(classes,"horizontal"); newClasses = getClasses(classes,"glossy"); canvas.className = newClasses; canvas.style.cssText = image.style.cssText; canvas.style.height = image.height+'px'; canvas.style.width = image.width+'px'; canvas.height = image.height; canvas.width = image.width; canvas.src = image.src; canvas.alt = image.alt; if(image.id!='') canvas.id = image.id; if(image.title!='') canvas.title = image.title; if(image.getAttribute('onclick')!='') canvas.setAttribute('onclick',image.getAttribute('onclick')); maxdim = Math.min(canvas.width,canvas.height)/2; factor = iradius>0?Math.min(Math.max(iradius,20),50)/100:factor; iradius = Math.max(Math.round(maxdim*factor),4); if(noshadow<1) { iradius = Math.round(iradius/4)*4; offset = iradius/4; sradius = iradius*0.75; inset = offset; radius = sradius; sradius = radius*0.75; }else { radius = iradius; inset = 0; offset = iradius/4; sradius = iradius*0.75; } context = canvas.getContext("2d"); object.replaceChild(canvas,image); context.clearRect(0,0,canvas.width,canvas.height); if(noshadow<1) glossyShadow(context,0,0,canvas.width,canvas.height,iradius,0.5); context.save(); globalCompositeOperation = "source-in"; roundedRect(context,inset,0,canvas.width-(inset*2),canvas.height-(inset*2),radius); context.clip(); if(isNaN(ibgcolor)) { if(isNaN(igradient)) { if(horizontal>0) { style = context.createLinearGradient(0,0,canvas.width,0); }else { style = context.createLinearGradient(0,0,0,canvas.height-(inset*2)); } style.addColorStop(0,ibgcolor); style.addColorStop(1,igradient); context.beginPath(); context.rect(0,0,canvas.width,canvas.height-(inset*2)); context.closePath(); context.fillStyle = style; context.fill(); }else { context.fillStyle = ibgcolor; context.fillRect(0,0,canvas.width,canvas.height-(inset*2)); } }else { context.clearRect(0,0,canvas.width,canvas.height); } context.drawImage(image,inset,0,canvas.width-(inset*2),canvas.height-(inset*2)); addBright(context,offset+inset,offset,canvas.width-(2*(offset+inset)),(canvas.height/2)-offset,sradius,0.75); addDark(context,inset,(canvas.height/2)-inset,canvas.width-(2*inset),(canvas.height/2)-inset,sradius,0.5); addFrame(context,inset,0,canvas.width-(inset*2),canvas.height-(inset*2),radius,0.25) canvas.style.visibility = 'visible'; } } } var glossyOnload = window.onload; window.onload = function () { if(glossyOnload) glossyOnload(); if(isIE){addIEGlossy(); }else {addGlossy();}}