function set_cookie(name, value, num_days, path, domain, secure) {
  var expires = -1;
  if ((typeof days == "number") && (days >= 0)) {
    var d = new Date();
    d.setTime(d.getTime()+(days*24*60*60*1000));
    expires = d.toGMTString();
  }
  value = escape(value);
  document.cookie = name + "=" + value + ";" +
    (expires != -1 ? " expires=" + expires + ";" : "") +
    (path ? "path=" + path : "") +
    (domain ? "; domain=" + domain : "") +
    (secure ? "; secure" : "");
}

function get_cookie(name) {
  var i = document.cookie.lastIndexOf(name + '=');
  if (i == -1)
    return null;
  var value = document.cookie.substring(i + name.length + 1);
  var end = value.indexOf(';');
  if (end == -1)
    end = value.length;
  value = value.substring(0, end);
  value = unescape(value);
  return value;
}

function delete_cookie(name) {
  set_cookie(name, "-", 0);
}

function accepted_ads() {
  return get_cookie("iBeenBumpered") == '1';
}

function bumper_if_no_ad_cookie() {
  if (!accepted_ads())
    window.location = "/bumper.html?url=" + escape(document.location);
}

function outgoing_ok(key) {
  var params = "" + window.location.search;
  if (key == null) key = "destination=";
  var url_start = params.lastIndexOf(key);
  var url = params.substring(url_start + key.length);
  var url_end = url.indexOf(";");
  if (url_end = -1)
    url_end = url.length;
  url = unescape(url.substring(0, url_end));
  if (url.charAt(url.length - 1) == '#')
    url = url.substring(0, url.length - 1);
  window.location.replace(url);
}

function outgoing_close() {
  window.close();
}

function accept_ads() {
  set_cookie("iBeenBumpered", 1);
  outgoing_ok("url=");
}

var DAY_NAMES=new Array('Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado');

var MONTH_NAMES=new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');

function date_quote(id_list) {
  var url = "/js/date_names.json";
  $.getJSON(url,
            function(data) {
              var d = new Date();
              var mon = d.getMonth() + 1;
              var day = d.getDate();
              var date_str = "" + d.getFullYear() + "-" + (mon < 10 ? '0' : '') + mon + '-' + (day < 10 ? '0' : '') + day;
              var str = data[date_str];
              if (str == null || str == '')
                str = data['not_found'];
              if (str == null || str == '')
                str = 'JSON Mystery';
             $(id_list).html(str);
            });
}

function date_str(id_list) {
  var d = new Date();
  $(id_list).html("" + DAY_NAMES[d.getDay()] + ", " + d.getDate() + " de " + MONTH_NAMES[d.getMonth()]);
}

function getPlayer() {
    return document.getElementById('player');
}

function getFlashVersion(){ 
  // ie 
  try { 
    try { 
      // avoid fp6 minor version lookup issues 
      // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/ 
      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]; 
  // other browsers 
  } 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'; 
}  

function closeMsg(){
  $('#update_msg').slideUp(500, function () {
      $('#update_msg').hide();
  });
}

/*
  da Hamma - shake the window and/or its contents
*/
var intHammaStep = 0;    // which step we're on
var blnHammering = 0;    // whether or not we're currently hamma-ing
var blnHammaWindow = 1;    // whether or not we try to hamma the window
var strHammaShoken = 'frame';  // element in page to be hamma'd
function daHamma () {
  if (window.ActiveXObject) {
  	if( window.outerHeight && screen.availHeight && ((screen.availHeight - window.outerHeight) < 30)) {
      blnHammaWindow = 0;
    } else {
      blnHammaWindow = 1;
    }
    if( blnHammering ) {
      return false;
    } else {
      blnHammering = 1;
      daHammaHamma();
    }
  } else {
  	if (blnHammering == 0) {
      if( window.outerHeight && screen.availHeight && ((screen.availHeight - window.outerHeight) < 30)) {
        blnHammaWindow = 0;
      } else {
        blnHammaWindow = 1;
      }
      if( blnHammering ) {
        return false;
      } else {
        blnHammering = 1;
        daHammaHamma();
      }
  	}
  }
}
function daHammaHamma () {
  var intBrowserMoveAmount = 5;
  var intContentMoveAmount = 2;
  var intTimeoutAmount = 10 + (intHammaStep * 5);
  if( intHammaStep < 20 ) {
  var oddNess = intHammaStep % 2;
  intHammaStep++;
  var objS = document.getElementById(strHammaShoken);
  var intX = objS.style.left ? parseInt(objS.style.left) : 50;
  var intY = objS.style.top ? parseInt(objS.style.top) : 0;
  if( oddNess ) {
    if (blnHammaWindow) {try {window.moveBy(0,intBrowserMoveAmount); window.moveBy(intBrowserMoveAmount,0);} catch (err) {appendDevNote(err.description);}}
    intX = intX + intContentMoveAmount; objS.style.left = intX + '%';
    intY = intY + intContentMoveAmount; objS.style.top = intY + '%';
  } else {
    if (blnHammaWindow) {try {window.moveBy(0,-intBrowserMoveAmount); window.moveBy(-intBrowserMoveAmount,0);} catch(err) {appendDevNote(err.description);}}
    intX = intX - intContentMoveAmount; objS.style.left = intX + '%';
    intY = intY - intContentMoveAmount; objS.style.top = intY + '%';
  }
  setTimeout("daHammaHamma()", intTimeoutAmount);
  } else {
  intHammaStep = 0;
  blnHammering = 0;
  }  
}
function appendDevNote(msg) {window.devNotes? devNotes+=msg: devNotes=msg; devNotes+='\n'}
/*  end daHamma  */

/* image scale */
function imgScale(selector) {
  var MX_H = 580
  var MX_W = 480
  var img = $(selector)
  var xy_ratio =  img.width() / img.height()
  if (img.height() > MX_H) {
    img.height(MX_H)
    img.width(xy_ratio * MX_H)
  }
  if (img.width() > MX_W) {
    img.width(MX_W)
    img.height(MX_W / xy_ratio)
  }
}
