/**
*    Morph gallery for jQuery 
*    Copyright (C) 2008 Ziadin Givan www.CodeAssembly.com  
*
*    This program is free software: you can redistribute it and/or modify
*    it under the terms of the GNU Lesser General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU Lesser General Public License
*    along with this program.  If not, see http://www.gnu.org/licenses/
*    
*    Examples 
*	 $(".jmorph").jmorphGallery();
*/
jQuery.fn.jmorphGallery = function(settings) 
{
	return this.each( function()//do it for each matched element
	{
		
		settings = jQuery.extend(//provide default settings
		{
			timeout: 1000
		} , settings);

		var parent = $(this);
		var images = new Array;
		var currentImageNr = 0;
		var preloadImage = new Image();

		//get all images
		$(".band li a", parent).each(function(i)
		{
			images.push($(this).attr('href'));
		});
		
		//load first image
		preloadImage.src = images[currentImageNr];
		$(preloadImage).bind('load',function ()
		{
			$('.nextImg',parent).css('background-image','url(' + images[currentImageNr] + ')').
			width(preloadImage.width).
			height(preloadImage.height).
			css('opacity','0');
			$('.currentImg',parent)
			.animate({width:preloadImage.width,height:preloadImage.height},settings.timeout,
			function(e) 
			{
				$('.currentImg',parent).css('background-image','url(' + images[currentImageNr] + ')');
			
				switch(images[currentImageNr])
				{
					case "images/header_img1.jpg": var alt_title = "IT Consulting Los Angeles";
												   break;
					case "images/header_img2.jpg": var alt_title = "IT Support and Services Los Angeles";
												   break;
					case "images/header_img3.jpg": var alt_title = "Small Business Computer Support";
												   break;
					case "images/header_img4.jpg": var alt_title = "Computer Support Los Angeles";
												   break;
					case "images/header_img5.jpg": var alt_title = "Small Business IT Support";
												   break;
					case "images/header_img6.jpg": var alt_title = "Internet Content Filter";
												   break;
					case "images/header_img7.jpg": var alt_title = "Internet Content Filter Los Angeles";
												   break;
					case "images/header_img8.jpg": var alt_title = "Web Filter Los Angeles";
												   break;
					case "images/header_img9.jpg": var alt_title = "Internet Filter Solution Los Angeles";
												   break;
					case "images/header_img10.jpg": var alt_title = "Internet Use Filter Los Angeles";
												   break;
				    case "images/header_img11.jpg": var alt_title = "Offsite Data Backup";
												   break;
					case "images/header_img12.jpg": var alt_title = "Offsite Data Storage";
												   break;
					case "images/header_img13.jpg": var alt_title = "Offsite Data Storage Los Angeles";
												   break;
					case "images/header_img14.jpg": var alt_title = "Disaster Recovery";
												   break;
					case "images/header_img15.jpg": var alt_title = "Onsite and Offsite Data Backup Solutions";
												   break;
					default:   var alt_title = "DCGLA title";
												   break;
				}
				
				$('.nextImg',parent).attr('title',alt_title);
				$('.nextImg',parent).css('opacity','1');
			});
			$('.nextImg',parent).animate({opacity:'1'},settings.timeout);			
		});
		
		var autoincrement =0;
		setInterval(autoplay,5000);
		function autoplay()
		{
			
			if(autoincrement<6)
			{
				autoincrement++;
				if(autoincrement<5)
				currentImageNr = autoincrement;
				else
				currentImageNr = 0;
				
				loadImage();				
			}
		}
		
		function imagechange()
		{
			$("#Imageheader1").attr("src","images/1.gif");
			$("#Imageheader2").attr("src","images/2.gif");
			$("#Imageheader3").attr("src","images/3.gif");
			$("#Imageheader4").attr("src","images/4.gif");
			$("#Imageheader5").attr("src","images/5.gif");
			
			$("#Imageheader"+ (currentImageNr + 1)).attr("src","images/"+ (currentImageNr + 1) +"_hover.gif");
			
		}
		
		function loadImage()
		{	
			preloadImage.src = images[currentImageNr];
			var current = $('ul li',parent).removeClass('selected').eq(currentImageNr).addClass('selected');
			var band = $('.band',parent);
			setInterval(imagechange,1000,currentImageNr);
			//$("#current_image").html('<img id="" name="" src="images/graph'+ (currentImageNr + 1) +'.jpg" border="0" alt=""/> <br /><br /><img style="border: 0pt none; cursor: pointer; margin-right: 10px;" src="images/right.gif" onmouseover="MM_swapImage(\'Imagenext\',"",\'images/right_hover.gif\',1)" name="Imagenext" onmouseout="MM_swapImgRestore()" class="navimages">');
			
			//band.animate({marginLeft:( - current.position().left + band.offset().left) + "px"});
		}
		
		$(".previous", parent).click(function(e)
		{
			autoincrement = 7;
			currentImageNr <= 0 ? 0 : currentImageNr--;
			loadImage();
		});
		
		$(".next,.nextImg", parent).click(function(e)
		{
			autoincrement = 7;
			currentImageNr >= images.length - 1 ? images.length - 1 : currentImageNr++;
			loadImage();
		});	
		
		$("div ul li", parent).click(function(e)
		{
			autoincrement = 7;
			e.preventDefault();
			currentImageNr = $('li',this.parentNode).index(this);			
			loadImage();			
		});
	});
};

