function installFireinputXPI(href)
{
    if (typeof(InstallTrigger) != 'undefined')
    {
        var params = {"Fireinput": href}; 
        InstallTrigger.install(params);
    }
    else
    {
        alert("You must be using Firefox to install Fireinput.");
    }
}

function toggleDisplay(idname)
{
    var id = document.getElementById(idname); 

    if(!id)
        return; 

    if(id.style.display == "none")
        id.style.display="block"; 
    else
        id.style.display = "none";
}

function setClientTimezone() {
   if(readCookie("CLIENT_GMT") != null)
      return; 

   var rightNow = new Date();
   var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
   var date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
   var temp = date1.toGMTString();
   var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var temp = date2.toGMTString();
   var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var hoursDiffStdTime = (date1 - date3) /(60 * 60 *1000); 
   var hoursDiffDaylightTime = (date2 - date4) /(60 *60 *1000); 
   if (hoursDiffDaylightTime != hoursDiffStdTime) {
      if(hoursDiffStdTime < 0)
         createCookie("CLIENT_GMT", (hoursDiffStdTime * (-1) - 1));
      else 
         createCookie("CLIENT_GMT", (hoursDiffStdTime * (-1) + 1));

      createCookie("CLIENT_DAYLIGHT", 1); 
   }
   else
   {
      createCookie("CLIENT_GMT", hoursDiffStdTime * (-1));
      createCookie("CLIENT_DAYLIGHT", 0); 
   }
      
}
function prettyDate(date_str)
{
   var time_formats = [
		[60, '几秒钟'],
		[90, '1分钟'], // 60*1.5
		[3600, '分钟', 60], // 60*60, 60
		[5400, '1小时'], // 60*60*1.5
		[86400, '小时', 3600], // 60*60*24, 60*60
		[129600, '1天'], // 60*60*24*1.5
		[604800, '天', 86400], // 60*60*24*7, 60*60*24
		[907200, '1星期'], // 60*60*24*7*1.5
		[2628000, '星期', 604800], // 60*60*24*(365/12), 60*60*24*7
		[3942000, '1月'], // 60*60*24*(365/12)*1.5
		[31536000, '月', 2628000], // 60*60*24*365, 60*60*24*(365/12)
		[47304000, '1年'], // 60*60*24*365*1.5
		[3153600000, '几年', 31536000], // 60*60*24*365*100, 60*60*24*365
		[4730400000, '1世纪'], // 60*60*24*365*100*1.5
	];

	var time = ('' + date_str).replace(/-/g,"/").replace(/[TZ]/g," "),
		dt = new Date,
		seconds = ((dt - new Date(time) + (dt.getTimezoneOffset() * 60000)) / 1000),
		token = '前',
		i = 0,
		format;

	if (seconds < 0) {
		seconds = Math.abs(seconds);
		token = '';
	}

	while (format = time_formats[i++]) {
		if (seconds < format[0]) {
			if (format.length == 2) {
				return format[1] + (i > 1 ? token : ''); // Conditional so we don't return Just Now Ago
			} else {
				return Math.round(seconds / format[2]) + ' ' + format[1] + (i > 1 ? token : '');
			}
		}
	}

	// overflow for centuries
	if(seconds > 4730400000)
		return Math.round(seconds / 4730400000) + ' Centuries' + token;

	return date_str;
}

function formatDate()
{
   var links = document.getElementsByTagName("span");   
   for ( var i = 0; i < links.length; i++ )
   {
        if (links[i].hasAttribute("datetitle")) 
        {
                var date = prettyDate(links[i].getAttribute("datetitle"));
                if ( date )
                {
                        links[i].innerHTML = date;
                        links[i].title = links[i].getAttribute("datetitle");
                }
        }
   }
}

jQuery.fn.ctrl = function(key, callback, args) {
    $(document).keypress(function(e) {
        if(!args) args=[]; // IE barks when args is null
        if(e.keyCode == key && e.ctrlKey) {
            callback.apply(this, args);
            return false;
        }
    });
};

