$(function(){ initHTML(); dropDown(); childPages(); initTools();  addThumbLoader();  addBannerLoader();  });
function initHTML(){
	neatUpHtml(); idfyCurrentPage();
}
function addThumbLoader(){
	$.each( $('.thumb img[src$=dot.png]'), function(){
		var $this = $(this);
		var thumbSrc = $this.css('background-image');
		$this.css('background-image','');
		var thumb = new Image();
		$(thumb).bind('load',function(){
			$this.css('background-image',$(this).attr('src')).hide().fadeIn();
		});
		thumb.src = thumbSrc;
	});
}

function addBannerLoader(){
	
}

function initTools(){
	if($('.scrollable').get(0)){
		var SIZE = 4;
		$(".scrollable").scrollable({keyboard:true,onBeforeSeek : function(e,tab){ if(tab == (this.getSize()-SIZE) || (this.getSize()-SIZE )<1){  return false; } } });
	}
	$('.tc').tabs();
}
function neatUpHtml(){
	$('input[type=text],input[type=password], textarea').addClass('text');
	addFirstLast('ol','li');
	addFirstLast('ul','li');
	addFirstLast('table','tr');
	addFirstLast('tr','td');
	addFirstLast('.sidebar','.widget');
	$('.boxGroup .bx').each(function(){ ( ($(this).index()+1)%3 == 0 ) ? $(this).addClass('last') : true; });
}
function addFirstLast(parent,child){
	$.each($(parent),function(){$(this).find('> '+child+':first').addClass('first');$(this).find('> '+child+':last').addClass('last');});
}
function idfyCurrentPage(){
	var location = window.location+'';
	var locationArr = location.split('/');
	$('a.button ,input[type=button], input[type=submit], input[type=reset]').addClass('button').hover(function(){ $(this).addClass('hover'); },function(){ $(this).removeClass('hover'); })
	$('input[type=text],input[type=password],textarea,a.button ,input[type=button], input[type=submit], input[type=reset]').focus(function(){ $(this).addClass('focus'); }).blur(function(){ $(this).removeClass('focus'); });
	$('a[href='+location+']').addClass('current');
	$('a[href='+locationArr[locationArr.length-1]+']').addClass('current');
}
function getUrlVars(url){
    var vars = [], hash;
    var hashes = url.slice(url.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++){
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
function boxy(){
	$('.box,td.centerColumn').each(function(){
		$(this).append('<div class="clear"></div>')
		if( !$(this).find('> .w').hasClass('w') ){ $(this).wrapInner('<div class="w"></div>'); }
	});
}
function dropDown(){
	$('ul.tnav').superfish();
}
function childPages(){
	if($('.childPages').is('ul')){
		$('.childPages li > ul').parent('li').find('> a').before('<a class="trigger"><span>Open</span></a>');
		$('.childPages li > ul').hide();
		$('.childPages li a.current').parents('li').addClass('current');
		$('.childPages li.current > a:not(.trigger)').addClass('current');
		$('.childPages .trigger').click(function(){
			if($(this).hasClass('open')){
				$(this).parent('li').find('> ul').slideUp();
				$(this).removeClass('open');
			}else{
				$(this).parent('li').find('> ul').slideDown();
				$(this).addClass('open');
			}
		});
		$('.childPages li.current > .trigger').trigger('click');
	}
} 

function processSlideshow(elem, imageList,captions, imageDuration, fadeSpeed, current){
	var listSize = imageList.length;
    if (!current || current >= listSize) current = 0;
    if (!imageDuration) imageDuration = 4000;
    if (!fadeSpeed) fadeSpeed = 1000;
    $(elem + " img").css("background-image", "url(" + imageList[current] + ")");
	$(elem + '~h4:first').html(captions[current]);
    if (current == (listSize - 1)) { $(elem).css("background-image", "url(" + imageList[0] + ")");
    } else {
        $(elem).css("background-image", "url(" + imageList[current + 1] + ")");
    }
    $(elem + " img").animate({ opacity: "1" }, imageDuration).animate({ opacity: "0.01" }, fadeSpeed, function(){ 
		     $(this).css("opacity", "1");
			 processSlideshow(elem, imageList,captions, imageDuration, fadeSpeed, current + 1) 
	});

}