//
var SEARCH='#ctl00_HeaderLinks_SearchInput';
var dSearch='';
var sifrColor='#003a63';

var addthis_config = { username: 'briconline', ui_offset_left: -106, data_track_clickback: true, data_ga_tracker: pageTracker };
var addthis_share;
var isEvent = document.location.href.indexOf('/events/') > 0 && document.location.href.indexOf('/events/?') < 0;
var docTitle = document.title.replace(/(<([^>]+)>)/ig, "").replace(/(\r\n|\n|\r|\t)/gm, "");
var parts = docTitle.split('::');
if (isEvent) addthis_share = { templates: { twitter: '' + parts[0] + ' - {{url}} via www.bricartsmedia.org'} };
else addthis_share = { templates: { twitter: '{{title}} - {{url}} via www.bricartsmedia.org'} };
function checkSubNav(){
    if($('#subNav li').length < 7) return;
    var width=$('#subNav').width() / $('#subNav li').length;
    $('#subNav li').width(Math.round(width) - 5);
}
function initLightBox(){
    if($('.lightbox').length<1) return;
    $.getScript("/javascripts/jquery/jquery.lightbox.js", function(){ $('.lightbox').lightbox(); });
}
function initSearch(){
    dSearch=$(SEARCH).val();
    $(SEARCH).focus(function(){if($(this).val()==dSearch) $(this).val('');});
    $(SEARCH).blur(function(){if($(this).val()=='') $(this).val(dSearch);});
}
function initSIFR(){
    if($('.neosans').length < 1 && typeof sIFR != "function") return;
    var neocol=getHEX($('h1').css('color'));
	sIFR.replaceElement(named({sSelector:".neosans",sFlashSrc:"/swfs/neosans.swf",sColor:neocol,sWmode:"transparent",nPaddingTop:0,nPaddingBottom:0}));
}
function initMonthly() {
    if($('#monthlyProgrammingContainer').length<1) return;
    $('a.monthly').click(function(){ $('#monthlyProgrammingContainer').show(); });
}
function initTwitter(){
    if($('.twitterPromo').length<1) return;
    $('.twitterLink').each(function(){
        $.getScript("http://twitter.com/statuses/user_timeline/"+$(this).attr('rel')+".json?callback=twitterCallback&count=3", function(){ });
    });
}
/* utils */
function getHEX(col){
    var parts = col.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    if(!parts) return col;
    delete (parts[0]);
    for (var i = 1; i <= 3; ++i) {
        parts[i] = parseInt(parts[i]).toString(16);
        if (parts[i].length == 1) parts[i] = '0' + parts[i];
    }
    return '#'+parts.join('');
}
function getParameter(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];
}
function twitterCallback(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://www.twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relativeTime(twitters[i].created_at)+'</a></li>');
  }
  $('#twitters_'+username).html(statusHTML.join(''));
  
}
function relativeTime(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) return 'less than a minute ago';
  else if(delta < 120) return 'about a minute ago';
  else if(delta < (60*60)) return (parseInt(delta / 60)).toString() + ' minutes ago';
  else if(delta < (120*60)) return 'about an hour ago';
  else if(delta < (24*60*60)) return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  else if(delta < (48*60*60)) return '1 day ago';
  else return (parseInt(delta / 86400)).toString() + ' days ago';
}
/* end utils */

$(document).ready(function() {
    checkSubNav();
    initSearch();
    initSIFR();
    initLightBox();
    initMonthly();
    initTwitter();
});
