var ss = {
    start_ts: '',
    idTimeout: false,
    loadingTimeout: false,

    // ------------------------------------------------------
    _gup: function (name) {
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regexS = "[\\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( window.location.href );
      if( results == null )
        return "";
      else
        return results[1];
    },
    // ------------------------------------------------------
    init: function () {
        var ts = ss._gup('ts');
        ss.start_ts = ts;
        ss.instala_player();
        ss.load_tw(ts);

    },
    // ------------------------------------------------------
    load_tw: function (ts) {
        //ss.load_tw_editor();
        ss.load_tw_publico();

        clearTimeout(ss.idTimeout);
        ss.idTimeout = setTimeout(function() {
            jQuery(ss.load_tw(ts));
        }, 10000);
    },
    // ------------------------------------------------------
    load_tw_editor: function () {
        $('#tweets-editor').empty();
        $('#loading-editor').fadeIn(1000, function () {
            $.ajax({
                    url: Config.urlTweetsEditor+'?'+(new Date()).getTime(),
                    type: "GET",
                    dataType: 'text',
                    data: {},
                    success: function(html) {
                        $('#tweets-editor').html(html);
                        $('#loading-editor').hide();
                    },
                    error: function(msg) {
                        $('#loading-editor').hide();
                        /* Mostrar mensaje de error. */
                        alert("Ocurrió un error al atratar de cargar los Twitts del Editor, inténtelo nuevamente.");
                    }
            });
        });

    },
    // ------------------------------------------------------
    load_tw_publico: function () {
         clearTimeout(ss.loadingTimeout);
         $('#loading').show();
        $.ajax({
            url         :Config.urlTweetsPublico+'?'+(new Date()).getTime(),
            dataType    :'html',
            data        :{},
            type        :'get',
            success     :function( response ){
                if( $('#tweets-publico').html() != response ){
                    $('#tweets-publico').fadeOut(250,function(){
                        $('#tweets-publico').empty().html( response ).fadeIn(250);
                        ss.loadingTimeout = setTimeout(function () {
                            $('#loading').hide();
                        }, 1000);
                    });
                } else {
                    ss.loadingTimeout = setTimeout(function () {
                        $('#loading').hide();
                    }, 1000);
                }
            },
            error       :function( response ){
                $('#loading-publico').hide();
                $('#loading').hide();
            }

        });
    },
    // ------------------------------------------------------
    getStart: function () {
        return ss.start_ts;
    },
    // ------------------------------------------------------
    _crearflash: function (w, h,movieUrl,flashvars,id) {
        var element ='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
        element +='  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"';
        element +='  width="'+w+'"  height="'+h+'"  id="' + id +'"  align="middle">';
        element +='<param name="allowScriptAccess" value="always" />';
        element +='<param name="allowFullScreen" value="true" />';
        element +='<param name="movie" value="' + movieUrl + '" />';
        element +='<param name="quality" value="high" />';
        element +='<param name="bgcolor" value="#000" />';
        element +='<param name="flashvars" value="' + flashvars + '" />';
        element +='<param name="WMODE" value="transparent">';
        element +='<embed';
        element +='  src="' + movieUrl + '"';
        element +='  quality="high"';
        element +='  bgcolor="#000"';
        element +='  width="'+w+'" height="'+h+'"';
        element +='  name="' + id +'"';
        element +='  align="middle"';
        element +='  allowScriptAccess="always"';
        element +='  allowFullScreen="true"';
        element +='  type="application/x-shockwave-flash"';
        element +='  pluginspage="http://www.macromedia.com/go/getflashplayer"';
        element +='  wmode="transparent"';
        element +='  flashvars="' + flashvars + '"';
        element +='  />';
        return element;
    },
    // ------------------------------------------------------
    _getMovieName: function(movieName) {
        if (navigator.appName.indexOf("Microsoft") != -1) {
            var object = window[movieName];
            if (object.length > 1 ) {
                return object[0];
            } else {
                return object;
            }
        }
        else {
            return document[movieName];
        }
    },
    // ------------------------------------------------------
    _getTime: function (){
        return (ss._getMovieName("ssflash").getTimeStamp());
    },
    // ------------------------------------------------------
    gotoTS: function (ts) {
        var ts2 = ts.substr(0,4) + '-' ;
        ts2 += ts.substr(4,2) + '-';
        ts2 += ts.substr(6,2) + '-';
        ts2 += ts.substr(8,2) + '-';
        ts2 += ts.substr(10,2) + '-';
        ts2 += ts.substr(12,2);
        ss._getMovieName("ssflash").setProgram(ts2);
    },
    // ------------------------------------------------------
    instala_player: function () {
        var div = $('#player');
        if (div!= null) {
            var w = '640';
            var h = '527';
            var movieUrl="./flash/video_timeshift.swf?"+(new Date()).getTime();
            var flashvars = 'rtmp=' + Config.rtmp + '&app=' + Config.app + '&stream='+Config.nombreMedio;//+'&mark='+Config.mark;
            var id="ssflash";
            var object = ss._crearflash(w, h,movieUrl,flashvars,id);
            div.append(object);
        }
    },
    // ------------------------------------------------------
    doTwitt: function (timestamp) {
        if (typeof timestamp !== 'undefined') {
            timestamp = timestamp.replace(/-/g, "");
            var lnk = Config.urlStreamSocial + timestamp;
        } else {
            var ts = ss._getTime() + "";
            ts = ts.replace(/-/g, "");
            var lnk = Config.urlStreamSocial + ts;
        }
        var options = 'width=500,height=500,scrollbars=1,resizable=1';
        var loc = 'http://twitter.com/share?original_referer=' + lnk + '&text=' + Config.textoTweet + Config.nombreHash + '&url=' + lnk;
        var win = window.open(loc, '', options);
        win.focus();
    }
};

