// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// See http://groups.google.com/group/jquery-en/browse_thread/thread/bd9ab1487def3fc8/a24286723ec3ab98
jQuery.fn.fadeToggle = function(speed, easing, callback) {
   return this.animate({opacity: 'toggle'}, speed, easing, callback);
};

$(document).ready(function() {

	swapValues = [];
	$(".swap_value").each(function(i){
	    swapValues[i] = $(this).val();
	    $(this).focus(function(){
	        if ($(this).val() == swapValues[i]) {
	            $(this).val("");
	        }
	    }).blur(function(){
	        if ($.trim($(this).val()) == "") {
	            $(this).val(swapValues[i]);
	        }
	    });
	});

	// disable context menu for images
	$('#asset').bind("contextmenu",function(e){
		return false;
	});
	
	$('.countable').each(function(){
		var maxLength = 25;
		$(this).focus(function () {
			$(this).attr('maxlength',maxLength);
			var length = $(this).val().length;
			$(this).parent().find('.counter').html( maxLength - length);
    });
		$(this).keyup(function(){
			var new_length = $(this).val().length;
			$(this).parent().find('.counter').html( maxLength - new_length);
		});
	});
	
});


function connectedToFb() {
	$('#logout-link').attr('href','#c');
	$('#logout-link').click(
		function () { 
			FB.Connect.logoutAndRedirect('/logout');
		}
	);
	$('#fb-connect-button').hide();
} 

function notConnectedToFb() {
	$('#logout-link').attr('href','#nc');
	$('#logout-link').click(
		function () { 
			window.location.href = "/logout"
		}
	);
	$('#fb-connect-button').show();
}

// See http://www.quirksmode.org/js/detect.html
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();