var x = 0; //Sub Nav Counter (Line 24)
var y = 0; //Left Nav Counter (line 43)
var z = 0; //Table Counter (line 65)
var fadeSpeed = 300; //Changes the fade speed globally
var userAgent= ''; //Used first line 11. Read lines 7-8

//The following grabs these useragents because there is a slight(1px +/- between Safari and Firefox)
//when trying to line up the blue bars when you select a size.
jQuery.each(jQuery.browser, function(i, val) { 
	if($.browser.safari){
		userAgent = 'safari';
	}
	else if($.browser.mozilla){
		userAgent = 'firefox';
	}
});

$(document).ready(function(){
	//Let's get this started...
	$('#left_side_navigation ul, #widget_nav_top li[id*=media_],#widget_container table').css({display:'none'});

	//Sub and Main Menu Stuff
	$('#widget_nav_top li[id*=category_]').click(function(){ //Main categories
		if(!$(this).hasClass('active')){
			
			var mainItemNumber = $(this).attr('id').substring(9); //The number Id of the selected main category
			$('li[id*=category_].active').removeClass('active'); //If there was another one selected, remove the "active" class.
			$(this).addClass('active'); //Add a new "active" class to the newly selected  main category item
			$('.sub_on').each(function(){x++;}); //Count how many sub categories there are
			if(x==0){ //If there are no sub_ons on then...
				$('span[class*='+mainItemNumber+']').parent('li').addClass('sub_on').fadeIn(fadeSpeed); //Add a sub on class and fade in the correlating sub categories
			}
			else{ //...Otherwise...
				$('li.sub_on').removeClass('sub_on').fadeOut(fadeSpeed,function(){//Find the current sub category that is on remove it's active class and then fade it out
					$('span[class*='+mainItemNumber+']').parent('li').addClass('sub_on').fadeIn(fadeSpeed); //Then we will find the newly selected sub category and then fade it in.
				});
			}
		
		
			$('table.table_on').removeClass('table_on').fadeOut(fadeSpeed,function(){ //If there are any active tables turn them off and fade them out
				$('#prints_select_prompt').addClass('on').fadeIn(fadeSpeed); //Turn on the starting notice again "Please select..."
			});
		
			$('ul.left_widget_menu').fadeOut(fadeSpeed); //Hide the left nav
		
		}
		
	});

	//Left and Sub Menu Stuff
	$('#widget_nav_top li[id*=media_]').click(function(){ //Sub menu
		if(!$(this).hasClass('completed')){
			$('.completed').removeClass('completed');
		var filmType = $(this).children('span').attr('class').substring(10);
		var leftNav = $(this).attr('id').substring(6);
		$('li[id*=media_].active').removeClass('active');
		$(this).addClass('active');

		$('.left_on').each(function(){y++;});
		
		
		
		
		if(y==0){
			$('#widget_nav_left_'+leftNav).addClass('left_on').fadeIn(fadeSpeed);
		}
		else{
			$('ul.left_on').removeClass('left_on').fadeOut(fadeSpeed,function(){
				$('#widget_nav_left_'+leftNav).addClass('left_on').fadeIn(fadeSpeed);
			});
		}
		
		
		var the_active_sub = $(this);
		//alert($('#widget_nav_left_'+leftNav+' li').size());
		if($('table.table_on').length > 0) {
			$('table.table_on').removeClass('table_on').fadeOut(fadeSpeed,function(){
				if($('#widget_nav_left_'+leftNav+' li').size() > 1){
					$('#prints_select_prompt').addClass('on').fadeIn(fadeSpeed);
				}

				if($('#widget_nav_left_'+leftNav+' li').size() == 1){
					var tableId = $('#widget_nav_left_'+leftNav+' li:first').attr('class').substring(6);
					//alert('ok');
					$('.left_active').removeClass('left_active');
					$('#widget_nav_left_'+leftNav+' li').addClass('left_active');
					if($('#prints_select_prompt').hasClass('on')){ //alert('on :)');
						$('#prints_select_prompt').removeClass('on').fadeOut(fadeSpeed,function(){
							$('#print_price_'+tableId).addClass('table_on').fadeIn(fadeSpeed);
						});
					}
					else{// alert('off :(');
						$('.table_on').each(function(){z++;});
						$('#print_price_'+tableId).css({marginTop:'-12px'}).addClass('table_on').fadeIn(fadeSpeed);
					}
				}
				else{
					//alert('nope');
				}
			});
			
		}
		else {
			var tableId = $('#widget_nav_left_'+leftNav+' li:first').attr('class').substring(6);
			if($('#widget_nav_left_'+leftNav+' li').size() == 1){
				$('.left_active').removeClass('left_active');
				$('#widget_nav_left_'+leftNav+' li').addClass('left_active');
			}
			$('#prints_select_prompt').removeClass('on').fadeOut(fadeSpeed,function(){
				$('#print_price_'+tableId).css({marginTop:'-12px'}).addClass('table_on').fadeIn(fadeSpeed);
			
			});
		}
		$(the_active_sub).addClass('completed');
		}
	});

	//Left menu and Table stuff
	$('ul.left_widget_menu li[class*=print_]').click(function(){
		
		if(!$(this).hasClass('left_active')){
			var tableId = $(this).attr('class').substring(6);
			$('.left_active').removeClass('left_active');
			$(this).addClass('left_active');
			if($('#prints_select_prompt').hasClass('on')){
				$('#prints_select_prompt').removeClass('on').fadeOut(fadeSpeed,function(){
					$('#print_price_'+tableId).addClass('table_on').fadeIn(fadeSpeed);
				});
			}
			else{
				$('.table_on').each(function(){z++;});
				if(z==0){
					$('#print_price_'+tableId).addClass('table_on').fadeIn(fadeSpeed);
				}
				else{
					$('table.table_on').removeClass('table_on').fadeOut(fadeSpeed,function(){
						$('#print_price_'+tableId).addClass('table_on').fadeIn(fadeSpeed);
					});
				}
			}
		}
		
		


		var leftNavPosition = $(this).position();
		var leftNavPositionTop = leftNavPosition.top;

		if(userAgent=='firefox'){
			var marginOffset = 12;
		}
		else if(userAgent=='safari'){
			var marginOffset = 13;
		}
		else{
			var marginOffset = 14;
		}

		$('#print_price_'+tableId).css({marginTop:(leftNavPositionTop-marginOffset)+'px'});
	});
	
	
	$('.reset').css({cursor:'pointer',color:'blue',textDecoration:'underline'}).click(function(){
		$('li.sub_on').fadeOut(fadeSpeed);
		$('ul.left_on').fadeOut(fadeSpeed);
		$('table.table_on').removeClass('table_on').fadeOut(fadeSpeed,function(){
			$('#prints_select_prompt').addClass('on').fadeIn(fadeSpeed);
		});
		
		
		$('li[id*=category_].active').removeClass('active');
		$('li[id*=media_].active').removeClass('active');
		$('.left_active').removeClass('left_active');
		
		
		return false;
	});
});