Cufon.registerFont(window.appFonts['Roman']); //Gotham Med
Cufon.registerFont(window.appFonts['Roman1']); //GothaBook
Cufon.registerFont(window.appFonts['Roman2']); //DidotLHRom
Cufon.registerFont(window.appFonts['RomanMed']); //HTFDidot-Medium06
Cufon.registerFont(window.appFonts['RomanMedIta1']); //HTFDidot-MediumIta24
Cufon.registerFont(window.appFonts['RomanMedIta2']); //HTFDidot-MediumIta06
Cufon.registerFont(window.appFonts['RomanLight']); //HTFDidot-Light96

Cufon.replace('#mainnav>li>a',{hover:true,fontFamily:'Roman',letterSpacing:'2px'});
Cufon.replace('#left_nav li a',{hover:true,fontFamily:'Roman',letterSpacing:'2px'});
Cufon.replace('#main h1',{fontFamily:'RomanLight',letterSpacing:'1.4px'});
Cufon.replace('#footer .details address span',{fontFamily:'Roman'});
Cufon.replace('#footer .details address em a',{hover:true,fontFamily:'RomanMedIta2'});
Cufon.replace('#footer ul#links li a',{hover:true,fontFamily:'Roman'});

Cufon.replace('#callouts h2',{fontFamily:'Roman',letterSpacing:'1.4px'});
Cufon.replace('#callouts p',{fontFamily:'Roman', letterSpacing:'-.5px'});

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}
$.preloadImages("");


// Main Spa object definition
var Spa = {
	
	init:function(page)
	{
		$('ul').find('li:last').addClass('last-child');
		$('ul').find('li:first').addClass('first-child');
		
		this.initEmailForm();
		var page = page || 'default';
		this.page = page;

		// Render UI effects per page
		switch(page){
			case 'contact':
				$("#form select").msDropDown();			
					$('#form input:text').bind({				
						focus:Spa.inputFocus,						
						blur: Spa.inputBlur
					});
					this.contactDatePicker();
					$('.pick').datepicker();							
					 this.customCheckboxes('input:checkbox');
					 this.initCustomRadios('input:radio');
					 this.initImageRollover('input:image')
			break;
		}
	},
	
	inputFocus: function() {
		$(this).css({'background':'#fff'});
		},
	inputBlur: function() {
		if($(this).val()){
			$(this).css({'background':'#fff'});
		}
		else {
			if (!$(this).hasClass('contact-datepicker')) {				
				$(this).css({'background':'#f1f2f2'});
			}
		}
	},
	
	contactDatePicker:function(){
		$('.contact-datepicker').datepicker();		
		$('.contact-pickdate').click(function(){ 
			$(this).prev().focus(); });
	},
		

	initEmailForm:function()
	{
		var f = $('.email-form')
		if(f.length)
		{
			var l = $('label',f), i = $('input',f), b = $('button',f);
			
			l.bind('click',function(e)
			{
				$(this).hide();
				i.focus();
			});
			
			i.bind('blur',function(e)
			{
				if(this.value.replace(/^\s+?|\s+?$/g,'') == ''){
					l.show();
				}
			});
			
			if(i.val() != '')
			{
				l.hide();
			}
			b.bind('mouseenter', function(e)
			{
			  {
				$(this).css({'background':'#fff', 'color':'#828282', 'cursor':'pointer'});
				$('.email-form').css({'background' : 'url(\'../images/emailForm.png\') no-repeat left -26px'});
			  }			
			});
			b.bind('mouseleave', function(e)
			{
			  {
				  $(this).css({'background':'#909090', 'color':'#fff', 'cursor':'pointer'});
				$('.email-form').css({'background' : 'url(\'../images/emailForm.png\') no-repeat left top'});
			  }			
			});
		}
	},
		
	initImageRollover:function(i) // i is id of the image or input:image
	{
		$(i).hover(
		function() {
			$(this).attr('src', $(this).attr("src").split(".").join("_over."));
		},
		function() {
			$(this).attr('src', $(this).attr("src").split("_over.").join("."));
		});
	},
	
	initCustomRadios:function(options){
		var ops = {onClick:function(){}};
		
		if(options instanceof Object){
			for(k in options){
				ops[k] = options[k];
			}
		}
		
		var radioOn = '/images/radioon.gif';
		var radioOff = '/images/radiooff.gif';
		var clickCallback = typeof clickCallback != 'undefined' ? clickCallback : function(){};
		
		$('input[type=\'radio\']').each(function(){
			var img = $('<img>').attr('src', this.checked ? radioOn : radioOff).css({cursor:'pointer'});	
			
			function checkSelected(e){
				e.preventDefault();
				var me = $(e.data.element);
	
				$('input[name=\''+me.attr('name')+'\']').each(function(){
					$(this).prev('img').attr('src', radioOff);
					this.checked = false;
				});
				
				me.prev('img').attr('src', radioOn);
				me.get(0).checked = true;	
				
				ops.onClick.call(me);		
			}
			
			$(img).bind('click', {element:this}, checkSelected);							
			$(this).before(img).hide();
			$(this).next('label').bind('click',{element:this},checkSelected);	
			
		});	
	},
	
	// Create custom checkboxes using image replacement
    customCheckboxes: function(path)
    {
        var doCheck = function(preload) {
            var el = this;
            var src = el.tagName;
            var img = el.tagName == 'INPUT' ? $(el).next('img').get(0) : el;
            var inp = el.tagName == 'IMG' ? $(el).prev('input').get(0) : el;
            var label = $(el).parent().find('label');

            if (src == 'IMG') {
                img.src = inp.checked ? '/images/checkoff.gif': '/images/checkon.gif';
                inp.checked = inp.checked ? false: true;

            } else {
                img.src = inp.checked ? '/images/checkon.gif': '/images/checkoff.gif';
            }
        }

        $(path).each(function() {
            var d = $('<img src="/images/checkoff.gif" width="12" height="12" class="checkbox" />');
            d.bind('doCheck', doCheck).click(function(e) {
                $(this).trigger('doCheck');
            })
            .bind('focus',
            function() {
                $(this).addClass('focus')
            })
            .bind('blur',
            function() {
                $(this).removeClass('focus')
            })
            .bind('keypress',
            function(e) {
                if (e.keyCode != 9) $(this).trigger('click')
            });
            var css = {
                position: 'absolute',
                opacity: 0
            };
			
            $(this).click(doCheck).css(css).after(d);
            doCheck.call(this);
        });
    }
}



	

