function clone(from) {
	if(from == null || typeof from != "object")
		return from;
	if(from.constructor != Object && from.constructor != Array)
		return from;
	if(from.constructor == Date || from.constructor == RegExp || from.constructor == Function || from.constructor == String || from.constructor == Number || from.constructor == Boolean)
		return new from.constructor(from);

	var to = {};
	to = to || new from.constructor();

	for (var name in from) {
		to[name] = typeof to[name] == "undefined" ? this.clone(from[name]) : to[name];
	}

	return to;
}

function clone2(o) {
	return eval(uneval(o));
}

$(function() {
	// Opciones qTip para tip centrado debajo del elemento
	var qTipProperties = {
		content: {
			text: false
		},
		position: {
			corner: {
				target: 'topMiddle',
				tooltip: 'bottomMiddle'
			},
			adjust: {
				screen: true
			}
		},
		show: {
			delay: 500,
			effect: {
				length: 100
			}
		},
		style: {
			tip: 'topMiddle',
			fontSize: 11,
			padding: 2,
			color: '#341800',
			border: {
				radius: 2,
				width: 2,
				color: '#a34c00'
			},
			background: '#fff3e5'
		}
	};

	// Opciones qTip con tip a la derecha y flecha a la izquierda centrada
	var qTipPropertiesRight = clone2(qTipProperties);
	qTipPropertiesRight.position.corner.target = 'rightMiddle';
	qTipPropertiesRight.position.corner.tooltip = 'leftMiddle';
	qTipPropertiesRight.style.tip = 'leftMiddle';
	qTipPropertiesRight.style.paddingLeft = '15px';

	// aplicamos qTip a los abbr y a los acronym
	$("div.entry acronym,div.entry abbr,div.postmetadata a[title],div.entry *[title],div#sidebar *[title]").qtip(qTipProperties);

	// aplicamos otro qTip a los elementos con clase 'tooltip'
	$(".tooltip").qtip(qTipPropertiesRight);

});