Cufon.replace('h1', { fontFamily: 'Helvetica Neue Lt Std Cnd 57' });
Cufon.replace('h1 strong', { fontFamily: 'Helvetica Neue Lt Std Bold Cnd 77' });

Cufon.replace('h2', { fontFamily: 'Helvetica Neue Lt Std Cnd 57' });
Cufon.replace('h2 strong', { fontFamily: 'Helvetica Neue Lt Std Bold Cnd 77' });

Cufon.replace('h3', { fontFamily: 'Helvetica Neue Lt Std Cnd 57'
 });
Cufon.replace('h3 strong', { fontFamily: 'Helvetica Neue Lt Std Bold Cnd 77' });

Cufon.replace('#hdr h4', { fontFamily: 'helveticaltstd-bold', textShadow: '#555 1px 1px, #555 -1px -1px' });
Cufon.replace('#nav ul li a', { fontFamily: 'Helvetica Neue Lt Std Bold Cnd 77', textShadow: '#333 1px 1px' });

/* slider vars */
var step = 0; // first step
var ANIM_SPEED = 600;
var homeSliding = false;

/*rig movement */
var rigInt = {};
var cFrame = 0;
var MIN_FPS = 20;
var MAX_FPS = 150;
var spinDir = '';
var lastMag = 0;

/* loader vars */
var loading = false;
var loaded = 0;
var rigs = {};
var cRig = 0;
var dv = '';
var LOAD_BAR_SPEED = 400;
var cancelLoad = false;

/* subscription vars */
var processing = false;

/* tag filters */
var aTags = new Array();
var fileVisible = false;

$(document).ready(function() {
	
	initCarousel();
	resizeBg();
	startLoad();
	
	if($('input[name=search]').length) {
		$('input[name=search]').focus(function() { $(this).val(''); });
	}
	
	if($('#hdr').length) {
	
		$('#hdr').click(function(e) {
			e.preventDefault();
			location.href=$(this).find("p a").attr("href");
		});
		
	}
	
	//tags exist
	if($('#tags').length) {
		
		aTags = new Array();
		$('#tags a').each(function() {
			aTags.push($(this).find("span.tag").html());
		});
		
		$("#tags a").click(function(e) {
				e.preventDefault(); //stop default behavior
				e.stopPropagation(); //stop event bubbling
				if($(this).hasClass("on")) {
					$(this).removeClass("on");
					for(i=0;i<aTags.length;i++) {
						if(aTags[i]==$(this).find("span.tag").html()) { aTags.splice(i,1); }
					}
				} else {
					aTags.push($(this).find("span.tag").html());
					$(this).addClass("on");
				}
				var that = this;
				var ts = $(that).find("span.tag").html();
				
			$('#tags a').each(function() {
				$('span.file_tags').each(function() {
					fileVisible = false;
					for(i=0;i<aTags.length;i++) {
						var t = $(this).html();
						if(t.indexOf(aTags[i])!=-1) {
							fileVisible = true;
						}
					}	
							   
					if(fileVisible) {
						$(this).parents("li").removeClass('filtered_file');
					} else {
						$(this).parents("li").addClass('filtered_file');
					}
				});
			});	
		});
	}
	
	if($('#leftarrow').length) {
		$('#leftarrow').click(function(e) {
			e.preventDefault();
			if(step == 0) {
				step = $('#bg_wrap ul li').length-1;
			} else {
				step--;
			}
			changeRigs();
		});
	}
	
	if($('#rightarrow').length) {
		$('#rightarrow').click(function(e) {
			e.preventDefault();
			if(step == ($('#bg_wrap ul li').length-1)) {
				step = 0;
			} else {
				step++;
			}
			changeRigs();
		});
	}
	
	/* client login functions */
	if($('#login-form').length) {
		$('input[name=username],input[name=password]').keypress(function(e) { if(e.which==13) { $('#login-form').trigger("submit"); } });
		
		$('#submit-btn').click(function(e) {
			e.preventDefault();
			$('#login-form').trigger("submit");
		});
	}
	

	/* home page slider */
	if($('#content-image ul').length) {
		
		initHomeSlider();	
		
		if($('#leftarrow2').length) {
			$('#leftarrow2').click(function(e) {
				e.preventDefault();
				$('#content-image ul').css({'position':'absolute', 'width':+($('#carousel2 ul li').length*406)+'px'});
				var tpos= $('#content-image ul').css('left');
				tpos = tpos.substr(0,tpos.length-2);
				if(tpos=='auto' || tpos=='undefined') { tpos = 0; }
				if((tpos < 0) && (!homeSliding)){
					homeSliding = true;
					$('#content-image ul').stop().animate({'left':'+='+406+'px'},450, function() {
						homeSliding = false; 
						var ctpos= $('#content-image ul').css('left');
						if(ctpos=='auto' || ctpos=='undefined') { ctpos = 0; }
						ctpos = ctpos.substr(0,ctpos.length-2);
						var idx = parseInt(Math.abs(ctpos / 406));
						$('#carousel2 ul li').removeClass('selected');
						$('#carousel2 ul li:eq('+idx+')').addClass('selected');
						$('#middle h4').html($('#content-image ul li:eq('+idx+') img').attr('alt'));
					});
				}
			});
		}
		
		if($('#rightarrow2').length) {
			$('#rightarrow2').click(function(e) {
				e.preventDefault();
				$('#content-image ul').css({'position':'absolute', 'width':+($('#carousel2 ul li').length*406)+'px'});
				var tpos= $('#content-image ul').css('left');
				if(tpos=='auto' || tpos=='undefined') { tpos = '0px'; }
				tpos = tpos.substr(0,tpos.length-2);
				if(tpos > (0-(($('#carousel2 ul li').length-1)*406)) && (!homeSliding)) {
					homeSliding = true;
					$('#content-image ul').stop().animate({'left':'-='+406+'px'},450, function() { 
						homeSliding = false; 
						var ctpos= $('#content-image ul').css('left');
						if(ctpos=='auto' || ctpos=='undefined') { ctpos = 0; }
						ctpos = ctpos.substr(0,ctpos.length-2);
						var idx = parseInt(Math.abs(ctpos / 406));
						$('#carousel2 ul li').removeClass('selected');
						$('#carousel2 ul li:eq('+idx+')').addClass('selected');
						$('#middle h4').html($('#content-image ul li:eq('+idx+') img').attr('alt'));
					});
				}
			});
		}
	}
	
});



function initHomeSlider() {
	$('#carousel2').append("<ul></ul>");
	for(i=0;i<$('#content-image ul li').length;i++) {
		var w = $('<li></li>');
		if(i==0) {
			$(w).attr('class','selected');
		}
		var l = $('<a></a>');
		$(l).attr('href','#');
		$(l).attr('id','hs_'+i);
		$(l).click(function(e) {
			e.preventDefault();
			$('#content-image ul').css({'position':'absolute', 'width':+($('#carousel2 ul li').length*406)+'px'});
			$('#content-image ul').stop().animate({'left':-($(this).parents("li").index()*406)+'px'},450);
			$('#carousel2 ul li').removeClass('selected');
			$(this).parents('li').addClass('selected');
			$('#middle h4').html($('#content-image ul li:eq('+$(this).parents("li").index()+') img').attr('alt'));
		});
		$(w).append(l);
	$('#carousel2 ul').append(w);
	}
}

/* init function for carousel buttons */
function initCarousel() {

	$('#carousel').append("<ul></ul>");
	for(i=0;i<$('#bg_wrap ul li').length;i++) {
		var w = $('<li></li>');
		var l = $('<a></a>');
		$(l).attr('href','#');
		$(l).attr('id','step_'+i);
		if(i==0) {
			$(l).attr('class','selected');
		}
		$(l).click(function(e) {
			e.preventDefault();
			step = $(this).attr('id').substr(5,1);
			changeRigs();
		});
		$(w).append(l);
	$('#carousel ul').append(w);
	}
	
}

function resizeBg() {

	if($('#bg_wrap img').length) {
		
		var nw = $(window).width();
		var bw = 1100;
		var bh = 487;
		if(nw < 1100) { nw = 1100; }
		//set the width of the UL
		var ulw = ($('#bg_wrap ul li').length * nw);
		$('#bg_wrap ul').css({'width':ulw+'px','left':'-'+nw * step+'px'});
		
		var nh = (nw / bw) * bh;
		
		var m = (nh - bh) / 2;
		
		$('#bg_wrap img').css({'width':nw+'px','margin-top':'-'+m+'px'});
		$('#load_bg').css({'width':nw+'px'});
		
	}
	
	if($('#int_bg_wrap img').length) {
		
		var nw = $(window).width();
		var bw = 1100;
		var bh = 175;
		if(nw < 1100) { nw = 1100; }
		var nh = (nw / bw) * bh;
		var m = (nh - bh) / 2;
		
		$('#int_bg_wrap img').css({'width':nw+'px','margin-top':'-'+m+'px'});
		
	}
	
}


/* change rigs / bgs */
function changeRigs() {
	var nw = $(window).width();
	if(nw < 1100) { nw = 1100; }

	cancelLoad = true;
	//change the copy
	if($.browser.msie && (parseInt($.browser.version, 10) <= 8)) {
		hideRig(function() {
			$('#bg_wrap ul').stop().animate({'left':'-'+nw * step+'px'},ANIM_SPEED,function() {
				//change the carousel links
				$('#carousel ul li a').removeClass('selected');
				$('#carousel ul li a:eq('+step+')').addClass('selected');
				cancelLoad = false;
				loading = false;
				loaded = 0;
				startLoad();
			});
		});
	} else {
		$('#hdr').stop().animate({'opacity':'0'},ANIM_SPEED/3,function() {
			//fade out the rig	

			hideRig(function() {
				//slide the main bg
				$('#bg_wrap ul').stop().animate({'left':'-'+nw * step+'px'},ANIM_SPEED,function() {
					$('#hdr').stop().animate({'opacity':'1'},ANIM_SPEED/3);	
					//change the carousel links
					$('#carousel ul li a').removeClass('selected');
					$('#carousel ul li a:eq('+step+')').addClass('selected');
					cancelLoad = false;
					loading = false;
					loaded = 0;
					startLoad();
				});
			});
		});
	}
	
	
}

/* header resize event */
$(window).resize(function() {
	resizeBg();
});


/* loader functions */
function startLoad() {
	if($.browser.msie && (parseInt($.browser.version, 10) <= 8)) {
		//ie 8, 7, 6
		if($('#load_bar').length) {
			var rigImg = $('<img />');
			var rd = $('<div id="rig_holder"></div>');
			
			rigImg.appendTo(rd);
			cFrame = Math.floor(rigs[cRig].length/6);
			rigImg.attr('src',rigs[cRig][cFrame]);
			rd.appendTo($('body'));
			rd.css({'position':'absolute','top':'0','left':'50%','margin-left':'-137px','z-index':'5'});
			rd.fadeIn("slow");
		}
	} else {
		if(!loading) {
			loading=true;
			loaded=0;
			showLoadBars();
		}
	}
}

function loader() {
	var nw = $(window).width();
	//if(nw < 1100) { nw = 1100; }
	$('#load_bg').css({'width':nw+'px'});
	var i = $('<img>');
	$(i).bind('load',function(){
		loaded++;
		$('#load_bar').css({'width':((nw / rigs[cRig].length)*loaded)+'px'});
		if(loaded <  rigs[cRig].length) {
			if(!cancelLoad) {
				loader();
			} else {
				hideLoadBars();
			}
		} else {
			hideLoadBars();
			showRig();
		}
	});
	$('#hidden_list').append($(i));
	$(i).attr('src',rigs[cRig][loaded]);
}

function showLoadBars() {
	$('#load_bg').animate({'opacity':'1','margin-top':'0'},LOAD_BAR_SPEED, function() {cancelLoad=false;loading=true;loader();});
}

function hideLoadBars() {
	$('#load_bar').fadeOut(300,function() {
		$('#load_bar').css({'width':'0'});
		$('#load_bar').show();
		$('#load_bg').animate({'margin-top':'16px','opacity':'0'},LOAD_BAR_SPEED, function() {cancelLoad=false;loading=false;loaded=0;});
	});
}

function hideRig(c) {
	if($('#rig_holder').length) {
		$('#rig_holder').fadeOut(300, function() { $('#rig_holder').remove(); c(); });
	} else {
		c();
	}
}
function showRig() {
	var rigImg = $('<img />');
	var rd = $('<div id="rig_holder"></div>');
	
	rigImg.appendTo(rd);
	cFrame = Math.floor(rigs[cRig].length/6);
	rigImg.attr('src',rigs[cRig][cFrame]);
	
	rd.appendTo($('body'));
	rd.hide();
	rd.bind("mousemove",function(e) {
		var eo = e.pageX - $(this).offset().left;
		var mid = $('#rig_holder').width() / 2;
		var mid_offset = $(this).offset().left + (mid);
		var f_range = MAX_FPS - MIN_FPS;
		
		if(e.pageX > (mid_offset+10)) { //left
			$('#rig_holder').css({'cursor':'E-resize'});
			var mag = Math.round(MAX_FPS - ((Math.round(eo-mid) / mid) * f_range));
			if((spinDir!='l') || (Math.abs(mag-lastMag)>(f_range/10))) {
				spinDir = 'l';
				lastMag = mag;
				//magnitude from mid
				clearInterval(rigInt);
				rigInt = setInterval(function() { spinRigLeft(); },mag);
			}
		} else if (e.pageX <= (mid_offset-10)) { //right
			$('#rig_holder').css({'cursor':'W-resize'});
			var mag = Math.round(MAX_FPS - ((Math.round(mid-eo) / mid) * f_range));
			if((spinDir!='r') || (Math.abs(mag-lastMag)>(f_range/10))) {
				spinDir = 'r';
				lastMag = mag;
				//magnitude from mid
				clearInterval(rigInt);
				rigInt = setInterval(function() { spinRigRight(); },mag);
			}
		} else {
			$('#rig_holder').css({'cursor':'default'});
			clearInterval(rigInt);
		}
			
	});
	rd.bind("mouseout", function(e) {
		clearInterval(rigInt);
	});
	
	rd.css({'position':'absolute','top':'0','left':'50%','margin-left':'-137px','z-index':'5'});
	rd.fadeIn("slow");
}



function spinRigLeft() {

	var chunkSize = Math.floor($(this).width() / rigs[cRig].length-1);
	var ri = $('#rig_holder img');
	
	cFrame--;
	if(cFrame < 0) {
		cFrame = 0;
		clearInterval(rigInt);
	}
	ri.attr('src',rigs[cRig][cFrame]);
	
}

function spinRigRight() {
	
	var chunkSize = Math.floor($(this).width() / rigs[cRig].length-1);
	var ri = $('#rig_holder img');
	
	cFrame++;
	if (cFrame > rigs[cRig].length-1) {
		cFrame = rigs[cRig].length-1;
		clearInterval(rigInt);
	}
	ri.attr('src',rigs[cRig][cFrame]);
}


