// JSLint Settings
/*jslint
	passfail: false,
	white: true,
	onevar: true,
	browser: true,
	widget: false,
	sidebar: false,
	rhino: false,
	safe: false,
	adsafe: false,
	
	debug: false,
	evil: false,
	laxbreak: false,
	forin: false,
	sub: false,
	css: false,
	cap: false,
	on: false,
	fragment: false,
	
	undef: true,
	nomen: true,
	eqeqeq: true,
	plusplus: true,
	bitwise: true,
	regexp: true,
	strict: true,
	newcap: true,
	immed: true
*/
/*global
	window,
	$,
	jQuery
*/
'use strict';
/*
Namespace: CLEAR

About: Version
	1.0

Description:
	A collection of functions to be used on the home page

Requires:
	jQuery 1.3 <http://jquery.com>
	jQuery Flash Module (Schematic Customized)
	jQuery sIFR Module (Schematic Customized)
	jQuery Easing Module

*/

// JS Lint Globals
/*global window, document, $, jQuery */

// Global Namespace
var CLEAR = window.CLEAR || {};

// Project Subnamespace
CLEAR.clearwire = CLEAR.clearwire || {};

// Project Subnamespace
CLEAR.clearwire.home = CLEAR.clearwire.home || {};

// When the DOM is ready.
(function () {
	
	var $space = CLEAR.clearwire,
	    $self = this,
		gotham = {
			name : "Gotham Rounded Book",
			src : "/fonts/gotham-rounded-book.swf",
			ratios : [9, 1.16, 16, 1.09, 24, 1.06, 37, 1.04, 74, 1.02, 1.01]
		},
		noAction = function (e) {
			e.preventDefault();
		};
	
	$self.vars = {
		carousel: '#feature .carousel',
		carouselItems: '#feature .carousel li',
		carouselItemHeader: '#feature .carousel li[id={id}] h2',
		carouselItemStart: 0,
		carouselPagerItems: '#feature ol li a'
	};
	
	// sifr settings.
	$(document).sifr({
		defaultFont : gotham
	});
	
	$self.feature = function () {
		// feature carousel.
		$($self.vars.carousel).jCarouselLite({
			auto: 4000,
			beforeStart: function (e) {
				$self.feature.prev = e.attr('id');
			},
			btnGo: $($self.vars.carouselPagerItems),
			circular: true,
			easing: 'easeInOutExpo',
			onStart: function (e) {
				$($self.vars.carouselPagerItems + '.selected').removeClass('selected').parent().parent().find('.' + e.attr('id') + ' a').addClass('selected');
			},
			speed: 800,
			start: $self.vars.carouselItemStart,
			visible: 1
		}).find('a, input, textarea, select, object, embed').keypress(noAction).focus(noAction);
		// sifr headers.
		$($self.vars.carouselItems + ' h2').sifr({ wmode: 'transparent' });
		// set the active pager item.
		$('#feature ol li a').eq($self.vars.carouselItemStart).addClass('selected');
		// rig tabs
		$('#feature ol li:first-child a').keydown(function (e) {
			if (e.shiftKey && e.keyCode === 9) {
				e.preventDefault();
				$(this).blur();
				$('#site-search-text').focus();
			}
		});
		$('#site-search-text').keydown(function (e) {
			if (e.keyCode === 9 && !e.shiftKey) {
				e.preventDefault();
				$(this).blur();
				$('#feature ol li:first-child a').focus();
			}
		});
	};
	
/*	$self.login = function () {
		// form labels.
		$('#promos .col-b').find('#username, #password').blur(function (e) {
			var input = $(this);
			if (input.val().length === 0) {
				input.val(input.closest('fieldset').find('label').text());
			}
		}).focus(function (e) {
			var input = $(this);
			if (input.val() === input.closest('fieldset').find('label').text()) {
				input.val('');
			}
		}).blur().closest('fieldset').addClass('no-label');
	};*/
	
	$self.promos = function () {
		// column caps for col-a col-2.
		CLEAR.utils.applyColumnCaps($('#promos, #coverage .col-2'));
		if ($.browser.msie && parseInt($.browser.version, 10) === 6) {
			$('#coverage .col-2').prepend('<div class="chrome top" />').append('<div class="chrome bottom" />');
		}
		
		// change form input[type=text], input[type=password] to styled version.
		$("#promos input[type=text], #promos input[type=password]").wrap('<div class="input" />').parent().prepend('<div class="input-cap" />').end().each(function (i) {
			$(this).width($(this).width() - 16);
		});
	};
	
	$space.utils.init($self);
	
}.call(CLEAR.clearwire.home));