/** 
 * Do a few jQuery transformations. 
 */

// IE 7 fails if we don't trim the string.
String.prototype.safeName = function() {
    return $.trim(this.toLowerCase()).replace(/ /g, '-');
}
String.prototype.toCssBg = function() {
    return this.safeName() + "-color-bg";
}
String.prototype.toCssFg = function() {
    return this.safeName() + "-color-fg";
}

var init = function() {
    // Try to get the section of the current headline item. 
    var top_headline_section = $(".views-field-tid span","#content-area").text().split(",")[0];
    var top_headline_title = $(".views-field-field-headline-title-value span","#content-area").text();
    var left_headline_section = $(".views-field-tid span","#content-left").text().split(",")[0];
    var left_headline_title = $(".views-field-field-headline-title-value span","#content-left").text();
    var middle_headline_section = $(".views-field-tid span","#content-middle").text().split(",")[0];
    var middle_headline_title = $(".views-field-field-headline-title-value span","#content-middle").text();
    var right_headline_section = $(".views-field-tid span","#content-right").text().split(",")[0];
    var right_headline_title = $(".views-field-field-headline-title-value span","#content-right").text();

	$(".views-field-field-headline-title-value","#content-area").addClass(top_headline_section.toCssBg());
	$(".views-field-title-1 a","#content-area").addClass(top_headline_section.toCssBg());
	$(".views-field-nothing a","#content-area").addClass(top_headline_section.toCssFg());
	$(".headline-pager a","#content-area").addClass(top_headline_section.toCssFg());
	$(".views-field-field-summary-value a","#content-area").addClass(top_headline_section.toCssFg());
	$(".views-field-field-headline-title-value","#content-left").addClass(left_headline_section.toCssBg());
	$(".block-inner .title","#content-left").addClass(left_headline_section.toCssBg());
	$(".views-field-title-1 a","#content-left").addClass(left_headline_section.toCssBg());
	$(".views-field-field-summary-value a","#content-left").addClass(left_headline_section.toCssFg());
	$(".views-field-field-headline-title-value","#content-middle").addClass(middle_headline_section.toCssBg());
	$(".block-inner .title","#content-middle").addClass(middle_headline_section.toCssBg());
	$(".views-field-title-1 a","#content-middle").addClass(middle_headline_section.toCssBg());
	$(".views-field-field-summary-value a","#content-middle").addClass(middle_headline_section.toCssFg());
	$(".views-field-field-headline-title-value","#content-right").addClass(right_headline_section.toCssBg());
	$(".block-inner .title","#content-right").addClass(right_headline_section.toCssBg());
	$(".views-field-title-1 a","#content-right").addClass(right_headline_section.toCssBg());
	$(".views-field-field-summary-value a","#content-right").addClass(right_headline_section.toCssFg());
	
	// If the headline is blank, show the section; hide whichever field isn't used. 
    // TODO: Make this work with the AJAX paginator, or use standard pagination. 
    // TODO: Fix this test -- it doesn't work if the title is blank.
    if(top_headline_title == '') {
		$(".views-field-field-headline-title-value span","#content-area").text(top_headline_section);
    }
    if(left_headline_title == '') {
		$(".views-field-field-headline-title-value span","#content-left").text(left_headline_section);
    }
    if(middle_headline_title == '') {
		$(".views-field-field-headline-title-value span","#content-middle").text(middle_headline_section);
    }
    if(right_headline_title == '') {
		$(".views-field-field-headline-title-value span","#content-right").text(right_headline_section);
    }

    // Make sure the headline div is at least as tall as the image inside it.
	// Also handles absolute positioning of the pager Back/Next buttons, centered vertically in #content-area
    // imageHeight = $(".imagefield","#content-area").height();
    contentAreaHeight = $("#content-area").height();
    // if(contentAreaHeight < imageHeight)
		// newContentAreaHeight = contentAreaHeight + (imageHeight - contentAreaHeight) + 28;
        // $("#content-area").css("height", newContentAreaHeight);
		// subtract half of 104, the height of both buttons, add the padding of the page wrapper:
		buttonPosition = (contentAreaHeight/2)-52+25; 
		$(".item-list","#content-area").css("top", buttonPosition);

    // Force the three bottom column divs all to the same height
	/*
	var colHeights = new Array();
	colHeights[0] = $("#content-left").height();
    colHeights[1] = $("#content-middle").height();
	colHeights[2] = $("#content-right").height();
	tallestCol = colHeights.sort().reverse();
	var maxHeight = tallestCol[0];
    $(".block-inner","#content-left").css("height", maxHeight);
	$(".block-inner","#content-middle").css("height", maxHeight);
	$(".block-inner","#content-right").css("height", maxHeight);
*/

	// Clear the default value, if any, in form fields on focus
    $('.cleardefault').bind('focus', function(){
        if( this.value == this.defaultValue ) {
            this.value = "";
        }
    });
    $('.cleardefault').bind('blur', function(){
        if( !this.value.length ) {
            this.value = this.defaultValue;
        }
    });

};

$(document).ready(init);