

/*



Author:			Jay Dobson

Date:			Jan 28, 2008

Description:	Provides methods for resizing text in the #printArea div for i:Create websites



*/

/*

Variables
	
*/
var fsDir = 0;
var fsMinDir = -5;
var fsMaxDir = 10;

var fsSelectors = new Array(
	"#printArea",
	"#printArea h1",
	"#printArea h2",
	"#printArea h3",
	"#printArea .intro",
	"#printArea .caption",
	".siteMapSectionHeading"
);

/*

Runs when document has finished loading
	
*/
jQuery(document).ready(function() {
    setInitialFontSize();
});


/*

Sets default font size

*/
function setDefaultFontSize() {

    fsDir = fsGetDirection();

    var fsIncrement = 0;
    var fsTemp = 0;

    if (fsDir < 0)
        fsIncrement = 0 + Math.abs(fsDir)
    else
        fsIncrement = 0 - Math.abs(fsDir)

    fsResizeText(parseInt(fsIncrement));
    jQuery.cookie('fsDir', 0);

}


/*

Sets initial font size from cookie
	
*/
function setInitialFontSize() {

    fsDir = fsGetDirection();
    var fsIncrement = 0;
    var fsTemp = 0;

    if (fsDir < 0)
        fsIncrement = 0 - Math.abs(fsDir)
    else
        fsIncrement = 0 + Math.abs(fsDir)

    fsResizeText(parseInt(fsIncrement));

}

/*

Increases font size unless max has already reached

*/
function increaseFontSize() {

    fsDir = fsGetDirection();

    if (fsDir < fsMaxDir) {

        var fsIncrement = 0;
        var fsTemp = 0;

        fsDir += 1;
        fsResizeText(1);
        jQuery.cookie('fsDir', fsDir);

    }

}

/*

Decreases font size unless min has already been reached

*/
function decreaseFontSize() {

    fsDir = fsGetDirection();

    if (fsDir > fsMinDir) {

        var fsIncrement = 0;
        var fsTemp = 0;

        fsDir -= 1;
        fsResizeText(-1);
        jQuery.cookie('fsDir', fsDir);

    }

}

function fsResizeText(increment) {

    var fsTemp = 0;

    for (i = 0; i < fsSelectors.length; i++) {

        if (jQuery(fsSelectors[i]).css('font-size')) {

            fsTemp = jQuery(fsSelectors[i]).css('font-size').replace('px', '');
            jQuery(fsSelectors[i]).css('font-size', (parseInt(fsTemp) + increment) + 'px');

        }

        if (jQuery(fsSelectors[i]).css('line-height')) {

            fsTemp = jQuery(fsSelectors[i]).css('line-height').replace('px', '');
            jQuery(fsSelectors[i]).css('line-height', (parseInt(fsTemp) + increment) + 'px');

        }

    }

}

function fsGetDirection(isIncrementing) {

    return isNaN(parseInt(jQuery.cookie('fsDir'))) ? 0 : parseInt(jQuery.cookie('fsDir'));

}
