﻿ 

/*



	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 h4",
	"#printArea h5",
	"#printArea h6"
);

/*

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'));
	
}
