/** * File: /scripts/jquery.pngFix.js * -------------------------------------------------------------------- * jQuery-Plugin "pngFix" * Version: 1.2, 09.03.2009 * by Andreas Eberhard, andreas.eberhard@gmail.com * http://jquery.andreaseberhard.de/ * * Copyright (c) 2007 Andreas Eberhard * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php) * * Changelog: * 09.03.2009 Version 1.2 * - Update for jQuery 1.3.x, removed @ from selectors * 11.09.2007 Version 1.1 * - removed noConflict * - added png-support for input type=image * - 01.08.2007 CSS background-image support extension added by Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com * 31.05.2007 initial Version 1.0 * -------------------------------------------------------------------- * @example $(function(){$(document).pngFix();}); * @desc Fixes all PNG's in the document on document.ready * * jQuery(function(){jQuery(document).pngFix();}); * @desc Fixes all PNG's in the document on document.ready when using noConflict * * @example $(function(){$('div.examples').pngFix();}); * @desc Fixes all PNG's within div with class examples * * @example $(function(){$('div.examples').pngFix( { blankgif:'ext.gif' } );}); * @desc Fixes all PNG's within div with class examples, provides blank gif for input with png * -------------------------------------------------------------------- */ (function($) { jQuery.fn.pngFix = function(settings) { // Settings settings = jQuery.extend({ blankgif: 'blank.gif' }, settings); var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1); var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1); if (jQuery.browser.msie && (ie55 || ie6)) { //fix images with png-source jQuery(this).find("img[src$=.png]").each(function() { jQuery(this).attr('width',jQuery(this).width()); jQuery(this).attr('height',jQuery(this).height()); var prevStyle = ''; var strNewHTML = ''; var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : ''; var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : ''; var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : ''; var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : ''; var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : ''; var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : ''; if (this.style.border) { prevStyle += 'border:'+this.style.border+';'; this.style.border = ''; } if (this.style.padding) { prevStyle += 'padding:'+this.style.padding+';'; this.style.padding = ''; } if (this.style.margin) { prevStyle += 'margin:'+this.style.margin+';'; this.style.margin = ''; } var imgStyle = (this.style.cssText); strNewHTML += ''; if (prevStyle != ''){ strNewHTML = '' + strNewHTML + ''; } jQuery(this).hide(); jQuery(this).after(strNewHTML); }); // fix css background pngs jQuery(this).find("*").each(function(){ var bgIMG = jQuery(this).css('background-image'); if(bgIMG.indexOf(".png")!=-1){ var iebg = bgIMG.split('url("')[1].split('")')[0]; jQuery(this).css('background-image', 'none'); jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')"; } }); //fix input with png-source jQuery(this).find("input[src$=.png]").each(function() { var bgIMG = jQuery(this).attr('src'); jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');'; jQuery(this).attr('src', settings.blankgif) }); } return jQuery; }; })(jQuery); /****************************** * File: /scripts/scriptsIE6.js ***************************/ $(document).ready(function(){ // PNG FIX $(document).pngFix(); //first child for IE6 /* apply a class of firstChild to elements to fake the first-child pseudo-selector for IE6 */ $('div.r_links a:first-child') .addClass('first'); /* apply a class of firstChild to elements to fake the first-child pseudo-selector for IE6 */ $('ul.products_list li:first-child') .addClass('first'); $('a.gallery').hover( function(){ $(this).addClass('hover'); }, function(){ $(this).removeClass('hover'); } ); $('a.thumb').hover( function(){ $(this).addClass('hover'); }, function(){ $(this).removeClass('hover'); } ); });/* * jQuery IE6 hover support plug-in v1.1.0 * Add support for the :hover CSS pseudo-selector to IE6 * * @requires jQuery v1.3 or later * * Copyright (c) 2010 Gilmore Davidson * * Licensed under the MIT license: * http://www.opensource.org/licenses/mit-license.php */ (function(a) { a .extend( { ie6hover : function(o) { if (!a.browser.msie || a.browser.version != "6.0") { return } var k = o === true ? "live" : "bind", A = /^1\.[4-9]/ .test(a.fn.jquery), m = A || !o ? "mouseenter" : "mouseover", b = A || !o ? "mouseleave" : "mouseout", h = document.styleSheets, c = /(.*?)(:hover)\b/g, D = /\bA([#\.].*)*:hover\b/ig, y = /\.(\S+?)\b/ig, r = "hover-ie6", l = "", f = [], g = { _default : r }, u, v, w, t, x, C, d, p, n, q, E, s, z; if (!h.length) { return } for (w = 0, C = h.length; w < C; w++) { d = h[w]; try { p = d.rules } catch (B) { continue } if (!p || !p.length) { continue } for (t = 0, x = p.length; t < x; t++) { n = p[t]; q = n.selectorText; E = []; s = ""; c.lastIndex = 0; D.lastIndex = 0; if (c.test(q) && !D.test(q)) { l = r; u = ""; c.lastIndex = 0; while ((v = c.exec(q))) { z = c.lastIndex; u += v[1]; f.push(u); s = v[1]; y.lastIndex = 0; s = s.replace(y, function(e, i) { l = i + "-" + r; return "" }) + "." + l; if (l !== r) { g[u] = l } E.push(s) } if (z < q.length) { E.push(q.substr(z)) } q = E.join(""); d.addRule(q, n.style.cssText, t); t++; x++; a.ie6hover.selectors.css.push( [ q, n.style.cssText ]) } } } if (f.length) { if (f.length > 1) { f = (function(F) { for ( var G = [], H = {}, j = 0, e = F.length, I; j < e; j++) { I = F[j]; if (!H[I]) { H[I] = true; G.push(I) } } return G })(f) } a.ie6hover.selectors.jQuery = f; a(function() { a.each(f, function(F, j) { var e = g[j] || g._default; a(j)[k](m, function() { a(this).addClass(e) })[k](b, function() { a(this).removeClass(e) }) }) }) } } }); a.ie6hover.selectors = { css : [], jQuery : [] } })(jQuery);