var _$ = function(elmId)
{
	return document.getElementById(elmId);
}

function setEvent(obj, event, fnc)
{
	try {
		return obj.attachEvent(event, fnc);
	} catch (e) {
		return obj.addEventListener(event.replace(/^on/, ''), fnc, false);
	}
}

function InputDefaultValueOnFocus(e)
{
	e = e || window.event;
	elm = e.srcElement || e.target;

	InputDefaultValue.eventFocus(elm);
}

function InputDefaultValueOnBlur(e)
{
	e = e || window.event;
	elm = e.srcElement || e.target;
	
	InputDefaultValue.eventBlur(elm);
}

var InputDefaultValue = {

	'settings' : {},

	'add' : function(elmId, defaultValue, autoClear, required, styles)
	{
	   var elm = _$(elmId);

		if(!elm)
		{
		   return null;
		}
		else
		{
			InputDefaultValue.settings[elm.id] = {
			   'elmId' : elmId,
			   'defaultValue' : defaultValue,
			   'autoClear' : autoClear,
			   'required' : required,
			   'styles' : styles
			};
			
			setEvent(elm, 'onfocus', InputDefaultValueOnFocus);
			setEvent(elm, 'onblur', InputDefaultValueOnBlur);
		
			this.eventBlur(elm);
		}
	},

	'eventBlur' : function(elm)
	{
	   var sett = InputDefaultValue.settings[elm.id];

	   if(!elm.value.length && sett.required)
	   {
	      elm.value = sett.defaultValue;
	   }
	   
	   if(typeof(sett.styles) == 'object' && elm.value == sett.defaultValue)
		{
			var key;
			for(key in sett.styles)
			{
			   elm.style[key] = sett.styles[key];
			}
		}
	},

	'eventFocus' : function(elm)
	{
	   var sett = InputDefaultValue.settings[elm.id];

	   if(elm.value == sett.defaultValue && sett.autoClear)
	   {
	      elm.value = '';
	      if(typeof(sett.styles) == 'object')
			{
				var key;
				for(key in sett.styles)
				{
				   elm.style[key] = '';
				}
			}
	   }
	},
	
	'clear' : function(elm)
	{
		var sett = InputDefaultValue.settings[elm.id];
	   if(elm.value == sett.defaultValue)
	      elm.value = '';
	}
}

$(document).ready( function() {
	$('.gallery-item').find('a').each( function() {
		$this = $(this);
		
		if($this.attr('title').length)
		{		
			$this.css('position', 'relative');
			
			var span = document.createElement('span');
			$span = $(span);
			$span.css({
				'display' 			: 'none',
				'width'				: '168px',
				'position' 			: 'absolute',
				'bottom' 			: '0px',
				'left'				: '0px',
				'padding'			: '7px 5px',
				'opacity' 			: '0.85',
				'text-decoration'	: 'none',
				'color'				: '#000000',
				'background' 		: 'white' });
				
			$span.html($this.attr('title'));
			
			$this.append($span);
			
			$this.mouseover( function() { $(this).find('span').css('display', 'block'); });
			$this.mouseout( function() { $(this).find('span').css('display', 'none'); });		
		}
	});
});
