var $j = jQuery.noConflict();

$j(function()  
{
	//	Need to keep log of current position to avoid downloading the same images twice
	
	var minposition = 0;
	var curposition = 0;
	var maxposition = 0;
	var currentsection = 1;
	
	$j('.portfoliomediumthumbnail, .portfolio_scroll_button').live('click', function(event) {
		event.preventDefault();
		
		var currentsection = $j('.currentsection').attr('id');
		var bits = $j(this).attr('id').split('_');
		var offset = bits[1]; 
		var first_item = $j('.images li:first-child a:first-child').attr('id').split('_')[1];
		var last_item = $j('.images li:last-child a:first-child').attr('id').split('_')[1];

		$j('.portfoliomediumthumbnail').parent('li').removeClass('active');
	
		if ($j(this).hasClass('fwd'))
		{
			if (offset > last_item)
			{
				update_portfolio_image_list(currentsection, offset, 'left');
			}	
			
			set_current_portfolio_item(currentsection, offset);		
		}
		else if ($j(this).hasClass('back'))
		{	
			if (parseInt(offset) < parseInt(first_item))
			{	
				update_portfolio_image_list(currentsection, (parseInt(offset) - 2), 'right');
			}	
			
			set_current_portfolio_item(currentsection, offset);		
		}
		else
		{
			//	This is not working?
			set_current_portfolio_item(currentsection, offset);
		}
		
		update_portfolio_scroll_buttons(offset);
	});	
	
	$j('.portfoliocategorylink').click(function(event) {
		event.preventDefault(); 
		var bits = $j(this).attr('id').split('_');
		var category_id = bits[1];

		update_portfolio_image_list(category_id, 0);

		$j('.sub_section').empty();
		
		if (category_id == 1)
		{
			$j('.sub_section').html('Web');
		}
		
		if (category_id == 2)
		{
			$j('.sub_section').html('Branding');
		}
		
		if (category_id == 3)
		{
			$j('.sub_section').html('Print Design');
		}
		
		if (category_id == 4)
		{
			$j('.sub_section').html('E-Marketing');
		}
		
		if (category_id == 5)
		{
			$j('.sub_section').html('Video');
		}
		
		$j('.currentsection').attr('id', category_id);
		set_current_portfolio_item(category_id, 0);
	});
	
	$j('.portfolioimagelistlink').live('click', function(event) {
		event.preventDefault();
		
		var offset = $j(this).attr('id').split('_')[1];
		var direction;
		var category_id = $j('.currentsection').attr('id');
		
		if ($j(this).hasClass('back'))
		{
			direction = 'right';
			set_current_portfolio_item(category_id, (parseInt(offset) + 2));
		}
		else
		{
			direction = 'left';
			set_current_portfolio_item(category_id, offset);
		}
		
		$j('.portfoliomediumthumbnail').parent('li').removeClass('active');
		update_portfolio_image_list(category_id, offset, direction);
	});
	
	$j('.portfoliotinythumbnail').live('click', function(event) {
		event.preventDefault();
		$j(this).parent('li').parent('ul').children('li').removeClass('active');
		$j(this).parent('li').addClass('active');
		var img = $j(this).children('img').attr('id');
		update_portfolio_main_image(img);		
	});
	
	function count_json_properties(json)
	{
		var num = 0;
			
		for (var foo in json) 
		{
		    if (json.hasOwnProperty(foo))
		    {
		        num++;
		    }
		}
		
		return num;	
	}
	
	function update_portfolio_scroll_buttons(offset)
	{
		var scroll = '';

        if (offset > 0)
        {
        	scroll+= '<li><a href="" id="item_'+(parseInt(offset) - 1)+'" class="back portfolio_scroll_button">previous project</a></li>';
        }
            
        if (offset > -1)
        {
        	scroll+= '<li><a href="" id="item_'+(parseInt(offset) + 1)+'" class="fwd portfolio_scroll_button">next project</a></li>';
        }
    
		$j('.portfolio_scroll_buttons').empty();
		$j('.portfolio_scroll_buttons').html(scroll);
	}
	
	function update_portfolio_main_image(img)
	{	
		$j('.portfoliomainimage').hide();
		$j('.portfoliomainimage').attr('src', '<img src="gfx/page_layout/whiteloader.gif" />');
		$j('.portfoliomainimage').attr('src', img);
		$j('.portfoliomainimage').fadeIn('slow', function() {
			 // Animation complete
		});
		
		$j('.portfoliomainimage').parent('a').attr('href', img.replace('largethumb-', ''));
	}
	
	function set_current_portfolio_item(category, offset)
	{	
		$j.getJSON('ajax.php?action=get_portfolio_items_for_category&offset='+offset+'&category='+category, function(data) {

			update_portfolio_main_image('gfx/portfolio/'+data.items[offset].images[0].largethumb);	
				
			var html 		 = '';
			var bulletpoints = '';			
			var numimages 	 = count_json_properties(data.items[offset].images);
						
			for (var i = 0; i < numimages; i++) 
	        {   
	            if (i == 0)
	            {
	            	html+= '<li class="active"><a class="portfoliotinythumbnail" href=""><img id="gfx/portfolio/'+data.items[offset].images[i].largethumb+'" src="gfx/portfolio/'+data.items[offset].images[i].tinythumb+'" alt="portfolio_thumbnail" width="38" /></a></li>';	
	            }
	            else
	            {
	            	html+= '<li><a class="portfoliotinythumbnail" href=""><img id="gfx/portfolio/'+data.items[offset].images[i].largethumb+'" src="gfx/portfolio/'+data.items[offset].images[i].tinythumb+'" alt="portfolio_thumbnail" width="38" /></a></li>';	
	            }
	        } 
			
	        for (var i = 0; i < data.items[offset].bulletpoints.length; i++)
	        {
	        	bulletpoints+= '<li>'+data.items[offset].bulletpoints[i].body+'</li>'; 
	        }
	        
	        update_portfolio_scroll_buttons(offset);
	          
	        $j('#item_'+offset).parent('li').addClass('active');     
	        $j('#client_title').html(data.items[offset].client_title);
	        $j('title').html(data.items[offset].client_title+' | Case Studies | Real Point Design');
			$j('.portfolio_viewer_control').empty();
			$j('.portfolio_viewer_control').html(html);
			$j('#portfolio_client').empty();
			$j('#portfolio_client').html('<h2>The Client</h2>'+data.items[offset].client_description);
			$j('#portfolio_project').empty();
			$j('#portfolio_project').html('<h2>The Project</h2>'+data.items[offset].project_description);
			$j('#portfolio_bulletpoints').empty();
			$j('#portfolio_bulletpoints').html(bulletpoints);
			$j('#portfolio_url').empty();
			$j('#share_url').empty();
			
			if (category == 1)
			{
				$j('#portfolio_url').html('Visit the site: <a href="'+data.items[offset].client_url+'">'+data.items[offset].client_url+'</a>');	
			}		
			
			$j('#share_url').html('<a href="case_studies/category/'+currentsection+'/offset/'+(id - 1)+'" >Share</a>');

		});
	}
	
	function update_portfolio_image_list(category_id, offset, direction)
	{	
		if (typeof direction == 'undefined' ) 
		{
			direction = 'left';
		}

		$j.getJSON('ajax.php?action=get_portfolio_items_for_category&category='+category_id+'&offset='+offset, function(data) { 
				           
            $j('.images').empty();
            $j('.nav').empty();
            $j('.images').html('<img src="gfx/page_layout/whiteloader.gif" />');
            
			var html = '';
			
			var numitems = count_json_properties(data.items);
			
			
			for (var i = 0; i < numitems; i++) 
            {   
            	if ((i == 0) && (direction == 'left'))
            	{	
            		html+= '<li class="active"><a class="portfoliomediumthumbnail" id="item_'+(parseInt(offset) + i)+'" href=""><img src="gfx/portfolio/'+data.items[(parseInt(offset) + i)].images[0].mediumthumb+'" alt="portfolio_thumbnail" width="119" /></a></li>';	
            	}
            	else if ((i == (numitems - 1)) && (direction == 'right'))
            	{
            		html+= '<li class="active"><a class="portfoliomediumthumbnail" id="item_'+(parseInt(offset) + i)+'" href=""><img src="gfx/portfolio/'+data.items[(parseInt(offset) + i)].images[0].mediumthumb+'" alt="portfolio_thumbnail" width="119" /></a></li>';		
            	}
            	else
            	{
            		html+= '<li><a class="portfoliomediumthumbnail" id="item_'+(parseInt(offset) + i)+'" href=""><img src="gfx/portfolio/'+data.items[(parseInt(offset) + i)].images[0].mediumthumb+'" alt="portfolio_thumbnail" width="119" /></a></li>';	
            	}
            } 
        	
            var nav = '';
         
            if (data.meta.pages > 1 && offset > 0)
            {	
            	nav+= '<li><a class="portfolioimagelistlink back" id="portfolioimagelistlink_'+(offset - 3)+'" href="">Back</a></li>'; 	
            }
			
            for (var i = 0; i < data.meta.pages; i++)
            {	
            	if (i == 0)
            	{	
            		if (offset == 0)
            		{	
            			nav+= '<li class="active"><a class="portfolioimagelistlink" id="portfolioimagelistlink_0" href="#">'+(i + 1)+'</a></li>'; 	
            		}
            		else
            		{
            			nav+= '<li><a class="portfolioimagelistlink" id="portfolioimagelistlink_0" href="#">'+(i + 1)+'</a></li>'; 	
            		}
            	}
            	else
            	{	
            		if (offset == (i * 3))
            		{
            			nav+= '<li class="active"><a class="portfolioimagelistlink" id="portfolioimagelistlink_'+(i * 3)+'" href="#">'+(i + 1)+'</a></li>';
            		}	
            		else
            		{
            			nav+= '<li><a class="portfolioimagelistlink" id="portfolioimagelistlink_'+(i * 3)+'" href="#">'+(i + 1)+'</a></li>';	
            		} 	
            	} 	                   
            }

            if (data.meta.pages > 1 && offset < (data.meta.totalitems - 3))
            {
            	nav+= '<li><a class="fwd portfolioimagelistlink" id="portfolioimagelistlink_'+(parseInt(offset) + parseInt(3))+'" href="">Forward</a></li>';
            }
       
			
			$j('.images').html(html);
			
	
			if (direction == 'left')
			{
				$j('.images').css('display', 'block').css('position', 'relative').css('left', '200px').animate({
				    left: '-=200'
				  	}, 'fast', function() {
				    // Animation complete.
				});	
			}	
			else
			{
				$j('.images').css('display', 'block').css('position', 'relative').css('left', '-200px').animate({
				    left: '+=200'
				  	},'slow', function() {
				    // Animation complete.
				});	
			}
			
			$j('.nav').html(nav);
		});	
		update_portfolio_scroll_buttons(offset);
	}
	
	$j('#get_quote').toggle(function() {
	
		$j('#quote_form_div').animate({
		    opacity: 1,
		    right: '+=350',
		    height: 'toggle'
		  }, 200, function() {
		    // Animation complete.
		
		 });
		 	
	}, function() {
	
		$j('#quote_form_div').animate({
		    opacity: 1,
		    right: '-=350',
		    height: 'toggle'
		  }, 200, function() {
		    // Animation complete.
		
		 });
				
	});
	
	$j('#quote_form').submit(function(event) {
		event.preventDefault();
		  var name = $j('#quoteform_name').val();
		  var company = $j('#quoteform_company').val();
		  var email = $j('#quoteform_email').val();
		  var tel = $j('#quoteform_tel').val();
		  var interest = $j('#quoteform_interest :selected').val();
		  var details = $j('#quoteform_details').val();
		  
		  if ((name.length) > 0 && (email.length) > 0 && (details.length) > 20)
		  {
			  var params = 'quoteform[name]='+name+'&quoteform[company]='+company +'&quoteform[email]='+email+'&quoteform[tel]='+tel+'&quoteform[interest]='+ interest+'&quoteform[details]='+details;
			  $j('#quote_form_submit').attr('disabled', 'disabled').val('Sending...');
			  $j.ajax({
			    type: "POST",
			    url: "ajax.php?action=submit_quote_form",
			    data: params,
			    success: function() {
			    	$j('#quote_form_div').remove();
			      }
			  });		
		  }
	});
	
	$j('#close_quote_form').click(function(event) {
		event.preventDefault();
		$j('#quote_form_div').remove();	
	});

});


