AAAAhome/academiac/www/administrator/components/com_virtuemart/assets/js/jquery.jqtransform.js000060400000034266151457552760026504 0ustar00/* * * jqTransform * by mathieu vilaplana mvilaplana@dfc-e.com * Designer ghyslain armand garmand@dfc-e.com * * * Version 1.0 25.09.08 * Version 1.1 06.08.09 * Add event click on Checkbox and Radio * Auto calculate the size of a select element * Can now, disabled the elements * Correct bug in ff if click on select (overflow=hidden) * No need any more preloading !! * ******************************************** */ (function(jQuery){ var defaultOptions = {preloadImg:true}; var jqTransformImgPreloaded = false; var jqTransformPreloadHoverFocusImg = function(strImgUrl) { //guillemets to remove for ie strImgUrl = strImgUrl.replace(/^url\((.*)\)/,'jQuery1').replace(/^\"(.*)\"jQuery/,'jQuery1'); var imgHover = new Image(); imgHover.src = strImgUrl.replace(/\.([a-zA-Z]*)jQuery/,'-hover.jQuery1'); var imgFocus = new Image(); imgFocus.src = strImgUrl.replace(/\.([a-zA-Z]*)jQuery/,'-focus.jQuery1'); }; /*************************** Labels ***************************/ var jqTransformGetLabel = function(objfield){ var selfForm = jQuery(objfield.get(0).form); var oLabel = objfield.next(); if(!oLabel.is('label')) { oLabel = objfield.prev(); if(oLabel.is('label')){ var inputname = objfield.attr('id'); if(inputname){ oLabel = selfForm.find('label[for="'+inputname+'"]'); } } } if(oLabel.is('label')){return oLabel.css('cursor','pointer');} return false; }; /* Hide all open selects */ var jqTransformHideSelect = function(oTarget){ var ulVisible = jQuery('.jqTransformSelectWrapper ul:visible'); ulVisible.each(function(){ var oSelect = jQuery(this).parents(".jqTransformSelectWrapper:first").find("select").get(0); //do not hide if click on the label object associated to the select if( !(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0)) ){jQuery(this).hide();} }); }; /* Check for an external click */ var jqTransformCheckExternalClick = function(event) { if (jQuery(event.target).parents('.jqTransformSelectWrapper').length === 0) { jqTransformHideSelect(jQuery(event.target)); } }; /* Apply document listener */ var jqTransformAddDocumentListener = function (){ jQuery(document).mousedown(jqTransformCheckExternalClick); }; /* Add a new handler for the reset action */ var jqTransformReset = function(f){ var sel; jQuery('.jqTransformSelectWrapper select', f).each(function(){sel = (this.selectedIndex<0) ? 0 : this.selectedIndex; jQuery('ul', jQuery(this).parent()).each(function(){jQuery('a:eq('+ sel +')', this).click();});}); jQuery('a.jqTransformCheckbox, a.jqTransformRadio', f).removeClass('jqTransformChecked'); jQuery('input:checkbox, input:radio', f).each(function(){if(this.checked){jQuery('a', jQuery(this).parent()).addClass('jqTransformChecked');}}); }; /*************************** Buttons ***************************/ jQuery.fn.jqTransInputButton = function(){ return this.each(function(){ var newBtn = jQuery('