﻿// JQuery JFR plugin 
// Author: Omer DUZYOL
// requires jquery.flash.js
// jQuery 1.2+
// a small bug at $jfrBinder func. fixed @ 21.07.2008
function jfr$(strSelector){
    var _jfrSelector = strSelector+':not([class*=flash-replaced])';
    var j$ = $(_jfrSelector)
    j$.selectedBy = _jfrSelector;
    return j$;
}
(function($){
var _jfrRequirements = {version: 7};
var _jfrBlocks = [];

$.jfr = {
	author:"MagiClick - Omer DUZYOL",
	version: '1.1',
	render: function()
	{
	    var rendered=0;
	    for(var x=0;x<_jfrBlocks.length;x++){
	        j$ = _jfrBlocks[x].cekueri;
	        if(j$.length<=0 && j$.selectedBy != null)
	            j$ = $(j$.selectedBy);
	        if(j$.length<=0)
	            rendered++;
	        j$.flash(_jfrBlocks[x].vals,_jfrRequirements,_jfrBinder);    
	    }
	   // _jfrBlocks = [];

	    return rendered;
	}
};

$.fn.extend({
	jfr: function(jfrArgs) {
	    var j$ = this;
	    
	    //if(j$.length<=0)  return;
	    var _src, _css;
        if(jfrArgs.src!=null) _src = jfrArgs.src;
        if(jfrArgs.css!=null) {
            _css = jfrArgs.css;
        } else {
            _css = ['* { color: #666666; text-align: left; font-size: 18px; }',
                    'a { color: #0099CC; text-decoration: none; }',
                    'a:hover { text-decoration: underline; }'];
        }
        var newJfr = 
            {
            cekueri: j$,
            vals: { 
                src: _src,
                wmode: "transparent",
                flashvars: { 
                    css: _css.join(' ')
                }
            }
        };
        _jfrBlocks.push(newJfr);
        return _jfrBlocks.length;
	}
});

function _jfrBinder(htmlOptions) {
    if($(this).find("embed").length>0)
        return;
        
    var objText = new String(this.innerHTML);
    htmlOptions.flashvars.txt = this.innerHTML;
    
    $(this).html('<div>'+objText+'</div>');
    
    var $alt = $(this.firstChild);
    htmlOptions.height = $alt.height();
    htmlOptions.width = $alt.width();
    $alt.addClass('alt');
    $(this)
        .addClass('flash-replaced')
        .prepend($.fn.flash.transform(htmlOptions))
        .css("visibility","visible");
}

})(jQuery);