$.fn.newGallery = function(gWidth,gHeight,links,gScroll,showInd,fromTop,showTitle) {
	
	pages=links.length-1;
	page=1;
	startSize=0;
	var loaded=new Array();
	var linkTypes = new Array();
	hideTitle=false;
	borderWidth=6;
	gWidth=gWidth-(borderWidth);
	gHeight=gHeight-(borderWidth);
	loaderPosX=(gWidth/2)-37;
	loaderPosY=(gHeight/2)-30;
	
	for(i=1; i<=pages; i++){
		linkType=(links[i].split('.'));
		linkTypes[i]=linkType[1];
		if(linkTypes[i]!="jpg"){
			linkTypes[i]="iframe";
		}
		else{
			linkTypes[i]="img";		
		}
	}	
	
	$gallery = ('<div class="infoBubble"></div>');
	$wrapper = ('<div class="wrapper"></div>');
	$darken = ('<div class="darken"></div>');
	$pageLoad = ('<div class="pageLoad"><img id="loadImg" src="js/lightGalleryIcons/loading.gif"/></div>');
	$loadVeil = ('<div class="loadVeil"></div>');
	$pageTitle = ('<div class="pageTitle"></div>');
	$clearCont = ('<div class="clearCont"></div>');
	$closeBtn = ('<div class="closeBtn"><img id="closeImg" src="js/lightGalleryIcons/close.gif"/></div');
	$nextBtn = ('<div class="nextBtn"><img id="nextImg" src="js/lightGalleryIcons/next.gif"/></div');
	$prevBtn = ('<div class="prevBtn"><img id="prevImg" src="js/lightGalleryIcons/prev.gif"/></div');
	
	if(fromTop==undefined || fromTop=="center"){
		centerY=((gHeight/2)*(-1))-borderWidth;
		topPos="50%";
	}
	else if(fromTop=="top"){
		topPos=0;
		centerY=0;
	}
	else{
		topPos=fromTop;
		centerY=fromTop;
	}
	centerX=((gWidth/2)*(-1))-borderWidth;
	wrapperWidth=gWidth*pages;
	btnHeight=(gHeight/2)-21;
	
	$('body').css('height','100%');
	
	$('div.galleryButton')
	.css("cursor","pointer");
	
	$('body').append($darken);
	$('div.darken')
	.css('background-color','black')
	.css('position','absolute')
	.css('left','0px')
	.css('top','0px')
	.css('margin','0px')
	.css('padding','0px')
	.css('border','0px')
	.css('width','100%')
	.css('height','100%')
	.css('filter','alpha(opacity=60)')  
    .css('-moz-opacity','0.60')   		
    .css('-khtml-opacity','0.60')    	
    .css('opacity','0.60')
	.css('cursor','pointer')
	.css('z-index','100');

	$('div.darken').hide();	
	
	$('div.lightGallery').append($clearCont);
	$('div.clearCont')
	.css('position','absolute')
	.css('left','50%')
	.css('top',topPos)
	.css('margin-left',centerX)
	.css('margin-top',centerY)
	.css('width',gWidth)
	.css('height',gHeight)
	.css('z-index','101');
	$('div.clearCont').hide();
	
	$('div.lightGallery').append($gallery);
	$('div.infoBubble')
	.css('border-color','white')
	.css('border-width',borderWidth)
	.css('border-style','solid')
	.css('position','absolute')
	.css('left','50%')
	.css('top',topPos)
	.css('margin-left',centerX)
	.css('margin-top',centerY)
	.css('background-color','white')
	.css('width',startSize)
	.css('height',startSize)
	.css('color','black')
	.css('white-space','nowrap')
	.css('overflow-x','hidden')
	.css('z-index','102');
	$('div.infoBubble').hide();

	if(fromTop=="bottom"){
		$('div.clearCont').css('bottom','50px');
		$('div.infoBubble').css('bottom','50px');
	}

	$('div.clearCont').append($closeBtn);
	$('div.closeBtn')
	.css('position','absolute')
	.css('top','-32px')
	.css('right','11px')
	.css('cursor','pointer')
	.css('z-index','103');

if(pages!=1){
	
	nextBtnPos=((borderWidth*2)+33)*(-1);
	
	$('div.clearCont').append($nextBtn);
	$('div.nextBtn')
	.css('position','absolute')
	.css('top',btnHeight)
	.css('right',nextBtnPos)
	.css('cursor','pointer')
	.css('z-index','110');
	$('div.nextBtn').hide();

	$('div.clearCont').append($prevBtn);
	$('div.prevBtn')
	.css('position','absolute')
	.css('top',btnHeight)
	.css('left','-33px')
	.css('cursor','pointer')
	.css('z-index','110');
	$('div.prevBtn').hide();
	
}
		
	$('div.clearCont').append($pageTitle);
	$('div.pageTitle')
	.css('position','absolute')
	.css('font-size','10pt')
	.css('font-family','arial')
	.css('text-align','center')
	.css('color','white')
	.css('width',gWidth)
	.css('top',gHeight+15)
	.css('left','0px')
	.css('z-index','103');	

	$('div.infoBubble').append($wrapper);
	$('div.wrapper')
	.css('width',wrapperWidth)
	.css('position','absolute')
	.css('overflow','hidden')
	.css('height','100%');
	
	$('div.infoBubble').append($pageLoad);
	$('div.pageLoad')
	.css('overflow-x','hidden')
	.css('position','absolute')
	.css('top','50%')
	.css('left','50%')
	.css('margin-top','-30px')
	.css('margin-left','-37px')
	.css('width','75px')
	.css('height','60px')
	.css('z-index','105');
	$('div.pageLoad').hide();
	
	$('div.infoBubble').append($loadVeil);
	$('div.loadVeil')
	.css('position','absolute')
	.css('width',gWidth)
	.css('height',gHeight)
	.css('background-color','white')
	.css('filter','alpha(opacity=90)')  
    .css('-moz-opacity','0.90')   		
    .css('-khtml-opacity','0.90')    	
    .css('opacity','0.90')
	
	.css('z-index','104');
	
	if(showTitle==undefined){
		hideTitle=true;
		$('div.pagePlace').css('bottom','-22px');
	}
	
	$('div.prevBtn').mouseover(function(){$('img#prevImg').attr('src',"js/lightGalleryIcons/prevOver.gif");});
	$('div.prevBtn').mouseout(function(){$('img#prevImg').attr('src',"js/lightGalleryIcons/prev.gif");});
	$('div.nextBtn').mouseover(function(){$('img#nextImg').attr('src',"js/lightGalleryIcons/nextOver.gif");});
	$('div.nextBtn').mouseout(function(){$('img#nextImg').attr('src',"js/lightGalleryIcons/next.gif");});
	$('div.closeBtn').mouseover(function(){$('img#closeImg').attr('src',"js/lightGalleryIcons/closeOver.gif");});
	$('div.closeBtn').mouseout(function(){$('img#closeImg').attr('src',"js/lightGalleryIcons/close.gif");});

	for(i=1; i<=pages; i++){
		if(linkTypes[i]=="iframe"){
			if(gScroll==false){
				$('div.wrapper').append('<iframe id="'+i+'" top="100px" position="absolute" overflow="hidden" scrolling="no" frameborder="0" width="'+gWidth+'" height="100%"></iframe>').css('overflow-x','hidden');
			}
			else if(gScroll==true || gScroll==undefined){
				$('div.wrapper').append('<iframe id="'+i+'" top="100px" position="absolute" overflow="hidden" frameborder="0" width='+gWidth+' height="100%"></iframe>').css('overflow-x','hidden');
			}
		}
		else if(linkTypes[i]=="img"){
			$('div.wrapper').append('<img id="'+i+'" frameborder="0" overflow="hidden"></img>').css('top','0px').css('position','absolute');
		}
	}	
	
	$('div.galleryButton').click(function(){	
			$('div.darken').fadeIn('slow');	
			
			if(this.id==""){
				gId=1;	
			}
			else{
				gId=this.id;	
			}
			
			if(loaded[gId]==undefined){
				$('div.loadVeil').show();
				$(linkTypes[gId]+'#'+gId).attr("src",links[gId]);
				$(linkTypes[gId]+'#'+gId).load(function(){
					hideLoader();	
					loaded[gId]=true;
				});
			}			
			
			if(gId>page){
				$('div.wrapper').animate({"left":"-="+(gId-page)*gWidth+"px"},1);
			}
			else if (gId<page){
				$('div.wrapper').animate({"left":"+="+(page-gId)*gWidth+"px"},1);
			}
			page=gId;
			if(showInd==undefined || showInd==true){
				if(hideTitle==false){
					$('div.pageTitle').html(showTitle[gId]  + "<br/>");
				}
				else{$('div.pageTitle').html("");}
				$('div.pageTitle').append("Page " + page + " of " + pages);
			}						  
			
			$('div.infoBubble').fadeIn('slow');
			
			$('div.infoBubble').animate({width: gWidth, height: gHeight},"slow", function(){ 
				if(loaded[gId]!=true){
					$('div.pageLoad').show();
				}
				$('div.infoBubble').css('overflow-x','hidden');
				$('div.loadVeil').css('top','0px').css('left','0px').css('position','absolute');
				$('div.clearCont').fadeIn('slow');
				if(page==1){
					$('div.prevBtn').fadeOut();
					$('div.nextBtn').fadeIn();
				}
				else if (page==pages){
					$('div.nextBtn').fadeOut();	
					$('div.prevBtn').fadeIn();
				}
				else{
					$('div.prevBtn').fadeIn();
					$('div.nextBtn').fadeIn();
				}
			});
	});
	
	function hideLoader(){
		$('div.pageLoad').hide();
		$('div.loadVeil').fadeOut('slow',function(){
			$('div.loadVeil').hide();									   
		});
	}
	
	function closeInfoBubble(){
			$('div.clearCont').fadeOut('fast');
			$('div.pageLoad').hide();
			$('div.infoBubble').animate({width: startSize, height: startSize},'slow', function(){
				$('div.darken').fadeOut('slow');
				$('div.infoBubble').fadeOut('slow');
			});
	}
	
	$('div.closeBtn').click(function(){
		closeInfoBubble();							 
	});
	
	$('div.darken').click(function(){
		closeInfoBubble();
	});
	
	$('div.nextBtn').click(function(){
		if(page<pages){
			$('div.wrapper').animate({"left":"-="+gWidth+"px"},500);
			page++;
			if(loaded[page]==undefined){
				$('div.pageLoad').show();
				$('div.loadVeil').show();
				$(linkTypes[page]+'#'+page).attr("src",links[page]);
				$(linkTypes[page]+'#'+page).load(function(){
					hideLoader();
					loaded[page]=true;
				});
			}			
			if(showInd==undefined || showInd==true){
				if(hideTitle==false){
					$('div.pageTitle').html(showTitle[page] + "<br/>");
				}
				else{$('div.pageTitle').html("");}
				$('div.pageTitle').append("Page " + page + " of " + pages);
			}
			
			if(page==pages){
				$('div.nextBtn').fadeOut();	
			}			
			if(page==2){
				$('div.prevBtn').fadeIn();	
			}
		}
	});
	
	$('div.prevBtn').click(function(){
		if(page>1){
			$('div.wrapper').animate({"left":"+="+gWidth+"px"},500);
			page--;
			
			if(loaded[page]==undefined){
				$('div.pageLoad').show();
				$('div.loadVeil').show();
				$(linkTypes[page]+'#'+page).attr("src",links[page]);
				$(linkTypes[page]+'#'+page).load(function(){
					hideLoader();
					loaded[page]=true;
				});
			}			
			
			if(showInd==undefined || showInd==true){
				if(hideTitle==false){
					$('div.pageTitle').html(showTitle[page] + "<br/>");
				}
				else{$('div.pageTitle').html("");}
				$('div.pageTitle').append("Page " + page + " of " + pages);
			}
			
			if(page==1){
				$('div.prevBtn').fadeOut();	
			}			
			if(page==(pages-1)){
				$('div.nextBtn').fadeIn();
			}
		}
	});
};
