function fbUTC(intTime) {

  var intTime2 = intTime * 1000;
  var offset = 28800000;
  
  if ((intTime2 >= Date.parse("Mar 14, 2010 10:00:00") && intTime2 < Date.parse("Nov 7, 2010 09:00:00")) ||
    (intTime2 >= Date.parse("Mar 13, 2011 10:00:00") && intTime2 < Date.parse("Nov 6, 2011 09:00:00")) ||
    (intTime2 >= Date.parse("Mar 11, 2012 10:00:00") && intTime2 < Date.parse("Nov 4, 2012 09:00:00")) ||
    (intTime2 >= Date.parse("Mar 10, 2013 10:00:00") && intTime2 < Date.parse("Nov 3, 2013 09:00:00")) ||
    (intTime2 >= Date.parse("Mar 19, 2014 10:00:00") && intTime2 < Date.parse("Nov 2, 2014 09:00:00")) ||
    (intTime2 >= Date.parse("Mar 8, 2015 10:00:00") && intTime2 < Date.parse("Nov 1, 2015 09:00:00")))
    {
    
      offset = 25200000;
  }
  
  return intTime2-offset;
}

function fb2UTC(strISO8106) {
  var newDate = new Date();
  newDate.setISO8106(strISO8106);

  var offset = 28800000;
  
  if ((newDate >= Date.parse("Mar 14, 2010 10:00:00") && newDate < Date.parse("Nov 7, 2010 09:00:00")) ||
    (newDate >= Date.parse("Mar 13, 2011 10:00:00") && newDate < Date.parse("Nov 6, 2011 09:00:00")) ||
    (newDate >= Date.parse("Mar 11, 2012 10:00:00") && newDate < Date.parse("Nov 4, 2012 09:00:00")) ||
    (newDate >= Date.parse("Mar 10, 2013 10:00:00") && newDate < Date.parse("Nov 3, 2013 09:00:00")) ||
    (newDate >= Date.parse("Mar 19, 2014 10:00:00") && newDate < Date.parse("Nov 2, 2014 09:00:00")) ||
    (newDate >= Date.parse("Mar 8, 2015 10:00:00") && newDate < Date.parse("Nov 1, 2015 09:00:00")))
    {
    
      offset = 25200000;
  }
  
  return newDate-offset;
}
  

function UTCfb(intTime) {

  var offset = 28800000;
  
  if ((intTime >= Date.parse("Mar 14, 2010 10:00:00") && intTime < Date.parse("Nov 7, 2010 09:00:00")) ||
    (intTime >= Date.parse("Mar 13, 2011 10:00:00") && intTime < Date.parse("Nov 6, 2011 09:00:00")) ||
    (intTime >= Date.parse("Mar 11, 2012 10:00:00") && intTime < Date.parse("Nov 4, 2012 09:00:00")) ||
    (intTime >= Date.parse("Mar 10, 2013 10:00:00") && intTime < Date.parse("Nov 3, 2013 09:00:00")) ||
    (intTime >= Date.parse("Mar 19, 2014 10:00:00") && intTime < Date.parse("Nov 2, 2014 09:00:00")) ||
    (intTime >= Date.parse("Mar 8, 2015 10:00:00") && intTime < Date.parse("Nov 1, 2015 09:00:00")))
    {
    
      offset = 25200000;
  }
  
  return Math.round((intTime+offset) / 1000);
}

function sformat(intTime) {

  var dteTime = new Date(intTime-36000000);
  
  intYear = dteTime.getFullYear();
  intMonth = dteTime.getMonth()+1;
  intDay = dteTime.getDate();
  intHour = dteTime.getHours();
  intMin = dteTime.getMinutes();

  var weekday=new Array(7);
  weekday[0]="Sunday";
  weekday[1]="Monday";
  weekday[2]="Tuesday";
  weekday[3]="Wednesday";
  weekday[4]="Thursday";
  weekday[5]="Friday";
  weekday[6]="Saturday";
  
  var strDay = weekday[dteTime.getDay()];
  
  var ampm = " am";
  
  if (intHour == 0) {
    intHour = 12;
  } 
  else  {
    if (intHour >= 12) {
      ampm = " pm";
      if (intHour > 12) {
        intHour = intHour - 12;
      }
    }
  }
  
  if (intMin < 10) {
    var strMin = '0'+intMin;
  }
  else {
    var strMin = intMin;
  }
  
  var strReturn = strDay + " " + intDay + "/" + intMonth + "/" + intYear + " " + intHour + ":" + strMin + ampm;
  
  return strReturn; 

}

Date.prototype.setISO8601 = function (string) {
    var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
        "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
        "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
    var d = string.match(new RegExp(regexp));

    var offset = 0;
    var date = new Date(d[1], 0, 1);

    if (d[3]) { date.setMonth(d[3] - 1); }
    if (d[5]) { date.setDate(d[5]); }
    if (d[7]) { date.setHours(d[7]); }
    if (d[8]) { date.setMinutes(d[8]); }
    if (d[10]) { date.setSeconds(d[10]); }
    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
    if (d[14]) {
        offset = (Number(d[16]) * 60) + Number(d[17]);
        offset *= ((d[15] == '-') ? 1 : -1);
    }

    offset -= date.getTimezoneOffset();
    time = (Number(date) + (offset * 60 * 1000));
    this.setTime(Number(time));
}

function tformat(intTime) {

  var dteTime = new Date(intTime-36000000);
  
  intHour = dteTime.getHours();
  intMin = dteTime.getMinutes();
  
  var ampm = "am";
  
  if (intHour == 0) {
    intHour = 12;
  } 
  else  {
    if (intHour >= 12) {
      ampm = "pm";
      if (intHour > 12) {
        intHour = intHour - 12;
      }
    }
  }
  
  if (intMin < 10) {
    var strMin = '0'+intMin;
  }
  else {
    var strMin = intMin;
  }
  
  var strReturn = intHour + ":" + strMin + ampm;
  
  return strReturn; 

}

function linkify(text){
    if (text) {
        text = text.replace(
            /((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,
            function(url){
                var full_url = url;
                if (!full_url.match('^https?:\/\/')) {
                    full_url = 'http://' + full_url;
                }
                var addtarget = '';
                if (!full_url.match('http:\/\/www.frasergays.com')) {
                  addtarget = '" target="_blank';
                }
                return '<a href="' + full_url + addtarget + '">' + url + '</a>';
            }
        );
    }
    return text;
}
