﻿/* by qhapaq */
var processingImg = new Image(); processingImg.src = "/f/i/processing.gif"; processingImg = $(processingImg).addClass("processingimg");

(function() { var $$; $$ = jQuery.fn.flash = function(htmlOptions, pluginOptions, replace, update) { var block = replace || $$.replace; pluginOptions = $$.copy($$.pluginOptions, pluginOptions); if (!$$.hasFlash(pluginOptions.version)) { if (pluginOptions.expressInstall && $$.hasFlash(6, 0, 65)) { var expressInstallOptions = { flashvars: { MMredirectURL: location, MMplayerType: 'PlugIn', MMdoctitle: jQuery('title').text()}} } else if (pluginOptions.update) { block = update || $$.update } else { return this } } htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions); return this.each(function() { block.call(this, $$.copy(htmlOptions)) }) }; $$.copy = function() { var options = {}, flashvars = {}; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (arg == undefined) continue; jQuery.extend(options, arg); if (arg.flashvars == undefined) continue; jQuery.extend(flashvars, arg.flashvars) } options.flashvars = flashvars; return options }; $$.hasFlash = function() { if (/hasFlash\=true/.test(location)) return true; if (/hasFlash\=false/.test(location)) return false; var pv = $$.hasFlash.playerVersion().match(/\d+/g); var rv = String([arguments[0], arguments[1], arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g); for (var i = 0; i < 3; i++) { pv[i] = parseInt(pv[i] || 0); rv[i] = parseInt(rv[i] || 0); if (pv[i] < rv[i]) return false; if (pv[i] > rv[i]) return true } return true }; $$.hasFlash.playerVersion = function() { try { try { var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); try { axo.AllowScriptAccess = 'always' } catch (e) { return '6,0,0' } } catch (e) { } return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1] } catch (e) { try { if (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1] } } catch (e) { } } return '0,0,0' }; $$.htmlOptions = { height: 240, flashvars: {}, pluginspage: 'http://www.adobe.com/go/getflashplayer', src: '#', type: 'application/x-shockwave-flash', width: 320 }; $$.pluginOptions = { expressInstall: false, update: true, version: '6.0.65' }; $$.replace = function(htmlOptions) { this.innerHTML = '<div class="alt">' + this.innerHTML + '</div>'; jQuery(this).addClass('flash-replaced').prepend($$.transform(htmlOptions)) }; $$.update = function(htmlOptions) { var url = String(location).split('?'); url.splice(1, 0, '?hasFlash=true&'); url = url.join(''); var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="' + url + '">Click here.</a></p>'; this.innerHTML = '<span class="alt">' + this.innerHTML + '</span>'; jQuery(this).addClass('flash-update').prepend(msg) }; function toAttributeString() { var s = ''; for (var key in this) if (typeof this[key] != 'function') s += key + '="' + this[key] + '" '; return s }; function toFlashvarsString() { var s = ''; for (var key in this) if (typeof this[key] != 'function') s += key + '=' + encodeURIComponent(this[key]) + '&'; return s.replace(/&$/, '') }; $$.transform = function(htmlOptions) { htmlOptions.toString = toAttributeString; if (htmlOptions.flashvars) htmlOptions.flashvars.toString = toFlashvarsString; return '<embed ' + String(htmlOptions) + '/>' }; if (window.attachEvent) { window.attachEvent("onbeforeunload", function() { __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { } }) } })();


//Compartir y sendmail
$.fn.sharer = function(settings) {
    if (this.length == 0) return false;
    options = $.extend({
        container_id: "sharer_panel",
        icon_root: "/images/sharer/",
        createTo: "body",
        action: "/ajax/recomienda"
    }, settings);
    //options.showed = false;
    options.showedObj = null;
    var html = '<div style="display:none" id="' + options.container_id + '"><div class="sharer-cab"></div><div class="sharer-cnt"></div><div class="sharer-pie"></div>';
    var layer = $("#" + options.container_id, options.createTo);
    if (layer.length == 0) layer = $(html).appendTo($(options.createTo));
    layer.mouseenter(function() {
        clearTimeout(waitHide);
    }).mouseleave(function() {
        waitHide = setTimeout(function() {
            if (layer.css("display") == "none") {
                clearTimeout(waitHide);
            } else {
                layer.css("display", "none");
                options.showedObj.removeClass("press");
                options.showedObj = null;
            };

        }, 1000);
    });
    var waitHide = null;
    var links = function(url, tittle) {
        return [
			["twitter", { name: "Twitter", url: "http://twitter.com/home?status=" + url}],
			["facebook", { name: "Facebook", url: "http://www.facebook.com/sharer.php?u=" + url + "&title=" + tittle}],
			["delicious", { name: "del.icio.us", url: "http://del.icio.us/post?url=" + url + "&title=" + tittle}],
			["digg", { name: "Digg", url: "http://digg.com/submit?phase=2&url=" + url + "&title=" + tittle}],
			["google", { name: "G. Bookmarks", url: "http://www.google.com/bookmarks/mark?op=edit&bkmk=" + url + "&title=" + tittle}],
			["yahoo", { name: "Yahoo! My Web", url: "http://myweb2.search.yahoo.com/myresults/bookmarklet?u=" + url + "&t=" + tittle}],
			["technorati", { name: "Technorati", url: "http://www.technorati.com/faves?add=" + url}],
			["stumbleupon", { name: "StumbleUpon", url: "http://www.stumbleupon.com/submit?url=" + url + "&title=" + tittle}],
			["myspace", { name: "Myspace", url: "http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=" + url + "&t=" + tittle}],
			["reddit", { name: "Reddit", url: "http://reddit.com/submit?url=" + url + "&title=" + tittle}]
		]
    };
    var form_html = function(url, title, bajada) {
        var inoutput = '<form method="post" action="' + options.action + '">';
        inoutput += '<input type="text" value="Tu nombre" name="nombre1" class="alpha" onfocus="if (this.value==this.defaultValue) {this.value=\'\';$(this).addClass(\'black\')}" onblur="if (this.value==\'\') {this.value = this.defaultValue; $(this).removeClass(\'black\');}else{$(this).addClass(\'none\')}" />';
        inoutput += '<input type="text" value="Nombre de tu amigo" name="nombre2" class="alpha" onfocus="if (this.value==this.defaultValue) {this.value=\'\';$(this).addClass(\'black\')}" onblur="if (this.value==\'\') {this.value = this.defaultValue; $(this).removeClass(\'black\');}else{$(this).addClass(\'none\')}" />';
        inoutput += '<input type="text" value="Email de tu amigo" name="email2" class="mail" onfocus="if (this.value==this.defaultValue) {this.value=\'\';$(this).addClass(\'black\')}" onblur="if (this.value==\'\') {this.value = this.defaultValue; $(this).removeClass(\'black\');}else{$(this).addClass(\'none\')}" />';
        inoutput += '<input type="hidden" value="' + title + '" name="titulo"/>';
        inoutput += '<input type="hidden" value="' + bajada + '" name="bajada"/>';
        inoutput += '<input type="hidden" value="' + url + '" name="pag"/>';
        inoutput += '<button type="submit" class="sendme">Enviar</button>';
        inoutput += '</form>';
        return inoutput;
    };
    var set_links_html = function(url, title) {
        var sitelist = links(url, title);
        var inoutput = "<ul>";
        for (i = 0; i < sitelist.length; i++) {
            inoutput += '<li><a href="' + sitelist[i][1].url + '" target="_blank"><span><img src="' + options.icon_root + sitelist[i][0] + '.png" /></span> ' + sitelist[i][1].name + '</a></li>';
        }
        return inoutput + "</ul>"; ;
    }

    this.each(function(i) {
        //var url, title;
        var isSendMail = $(this).hasClass("email");
        // compartir
        $(this).bind("click", function(e) {
            clearTimeout(waitHide);
            var t = $(e.target);
            var top = t.offset().top + t.height();
            if (options.showedObj != null) {
                layer.css("display", "none");
                //options.showed = false;
                options.showedObj.removeClass("press");
                options.showedObj = null;
                if (parseInt(layer.css("top")) == parseInt(top)) return false;
            }

            var url = String(encodeURIComponent("http://www.camaraocultajaponesa.com" + t.parent().siblings(".nodeTitle").children("a").attr("href")));
            var title = String(encodeURIComponent(t.parent().siblings(".nodeTitle").text()));
            var lis = set_links_html(url, title);
            $("div.sharer-cnt", layer).html(lis).css("height", null);
            var left = t.offset().left - layer.width() + t.width();
            layer.css({ "top": top, "left": left, "position": "absolute", "display": "block" });

            t.addClass("press");
            options.showedObj = t;
            return false;
        }).mouseleave(function(e) {
            if (layer.css("display") == "none") return false;
            waitHide = setTimeout(function() {
                if (layer.css("display") == "none") {
                    clearTimeout(waitHide);
                } else {
                    layer.css("display", "none");
                    options.showedObj = null;
                    $(e.target).removeClass("press");
                };
            }, 1000);
        });
    });

};

var Site = function(opt) {

    this.main_options = $.extend({
        nid: 0,
        base_app: "/"
    }, opt);

    main_options = this.main_options;

    this.init = function() {
        if (main_options.nid > 0) {
            //ejecutar contador
            var i = new Image();
            t = new Date().getTime();
            i.src = main_options.base_app + "app/visitas/" + main_options.nid + '/' + t;
            i.onload = function() { return; }
        }

    }


    this.renderSharer = function(opt) {
        opt = $.extend({
            tag: ".share",
            mom: "body"
        }, opt);
        $(opt.tag, opt.mom).sharer(opt);

    }

    
}


