jQuery.fn.outerHTML = function(s) {
	return (s)
	? this.before(s).remove()
	: jQuery("<p>").append(this.eq(0).clone()).html();
}

function explode( delimiter, string ) {   

    var emptyArray = { 0: '' };
 
    if ( arguments.length != 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }
 
    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }
 
    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
 
    return string.toString().split ( delimiter.toString() );
}

$(document).ready(function() {
	
	var i = 0;
	
	$(".rotatedTabs").after('<div class="rotatedTabs-container"><div class="rotatedTabs-corner"></div></div>').appendTo(".rotatedTabs-corner");
	
	$(".rotatedTabs td").each(function() {
		i++;
		var html = $(this).html(); $(this).html('');
		$(this).append('<div class="rotatedTabs-tab-bg"><div class="rotatedTabs-tab-corner">'+html+'</div></div>');
		$(this).attr('id', 'rotatedTabs-tab_'+i);
	});
	
	$(".rotatedTabs td").hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});
	
	$(".rotatedTabs td:first-child").addClass('selected');
	
	$(".rotatedTabs td:last-child").addClass('lastChild');
	
	// integration with hiddenBoxes
	
	$(".rotatedTabs td").click(function() {
		var id = $(this).attr('id');
		var node_id = explode('_', id);
		$(".hiddenBoxes li").removeClass('visible');
		$(".rotatedTabs td").removeClass('selected');
		$(this).addClass('selected');
		$("#hiddenBoxes-box_"+node_id[1]).addClass('visible');
	});
	
});
