/*
Author:Dale Hayward
Date:22/07/2010
Change Description: Added showing the page numbers on certain pages, added blank div to keep next in the same place
*/
contentSwaper=function()
{
	this.contentHolder="content_holder";
	this.contentFooter="content_swap_footer";
	this.contentPageNum="contentSwap_pagnum";
	this.contentBlocksWrap="content_blocks";
	this.contentArr=Array();//Length of this array tells you how many blocks/Pages of content you have
	this.currentBlock=0;
	this.globalEvents=Array();
	this.init=function()
	{
		$("#"+acontentSwaper.contentBlocksWrap+" div").each(function()
		{
			var idtest=$(this).attr("id");
			if(idtest!=undefined)
			{
			  if(idtest.substring(0,7)=="c_page_")
  			{
  				acontentSwaper.contentArr[acontentSwaper.contentArr.length]=$(this).attr("id");
  			}
			}
			
		});
		$("#"+acontentSwaper.contentBlocksWrap).hide();
		//$("#"+acontentSwaper.contentFooter).html("<div class=\"contentSwap_footer_elem_back\" id=\"contentPrev\"></div><div class=\"contentSwap_footer_spacer\" id=\"contentSpacer\">&nbsp;</div><div class=\"contentSwap_footer_blank\" id=\"contentBlank\">&nbsp;</div><div class=\"contentSwap_footer_elem\" id=\"contentNext\"></div>");
		$("#"+acontentSwaper.contentFooter).html("<div class=\"contentSwap_footer_elem_back\" id=\"contentPrev\"></div><div class=\"contentSwap_footer_blank\" id=\"contentBlank\">&nbsp;</div><div class=\"contentSwap_footer_elem\" id=\"contentNext\"></div>");
		if(acontentSwaper.contentArr.length>0)
		{
			acontentSwaper.swapContent(acontentSwaper.contentArr[0]);
		}
		//$("#contentPrev").hide();
		$("#contentPrev").removeClass("contentSwap_footer_elem_back");
		$("#contentPrev").addClass("contentSwap_footer_elem_holder");
			
		//$("#contentNext").hide();
		$("#contentNext").removeClass("contentSwap_footer_elem");
		$("#contentNext").addClass("contentSwap_footer_elem_holder");
		
		//$("#contentBlank").hide();
		if(acontentSwaper.contentArr.length >1)
		{
			//$("#contentNext").show();
			$("#contentNext").removeClass("contentSwap_footer_elem_holder");
		  $("#contentNext").addClass("contentSwap_footer_elem");
			
			$("#contentBlank").show();
		}
		$("#contentPrev").unbind("click");
		$("#contentNext").unbind("click");
		$("#contentPrev").click(acontentSwaper.getPrev);
		$("#contentNext").click(acontentSwaper.getNext);	
		$("#"+acontentSwaper.contentPageNum).html("Page "+(acontentSwaper.currentBlock+1)+" of "+acontentSwaper.contentArr.length+"");
	}
	this.setSingleElementFunction=function(selector,OnEvent,FunctionString)
	{
		this.globalEventSelector=selector;
		this.globalEventFunction=FunctionString;
		this.globalEventType=OnEvent;
	}
	this.addEvent=function(selector,OnEvent,FunctionString)
	{
		var EventArr=Array(selector,OnEvent,FunctionString);
		this.globalEvents[this.globalEvents.length]=EventArr;
	}
	this.navDisplay=function()
	{
		if(acontentSwaper.followContentHolder==true)
		{
			if($.browser.msie && $.browser.version==8)
			{}
			else
			{
				var myHolderHeight=$("#"+acontentSwaper.contentHolder).height();
				var myHolderWidth=780;
				var myHolderOffset=$("#"+acontentSwaper.contentHolder).offset();
				var myFooterTop=myHolderHeight+myHolderOffset.top + 30;
				var myFooterLeft=myHolderWidth-$("#"+acontentSwaper.contentFooter).width();
				if($.browser.msie)
				{
					$("#"+acontentSwaper.contentFooter).css({top:myHolderHeight});
				}
				else
				{
					$("#"+acontentSwaper.contentFooter).css({top:myHolderHeight+10});
				}
			}	
		}
	}
	this.swapContent=function(swapTo)
	{
		$("#contentNext").attr("style","visibility:hidden");
		$("#contentPrev").attr("style","visibility:hidden");
		$("#"+acontentSwaper.contentHolder).fadeOut("fast",function()
		{
			var SwapToHtml=$("#"+swapTo).html();
			$(acontentSwaper.globalEventSelector).unbind(acontentSwaper.globalEventType);
			$("#"+acontentSwaper.contentHolder).empty();
			$("#"+acontentSwaper.contentHolder).html(SwapToHtml);
			$("#"+acontentSwaper.contentHolder).fadeIn('fast',function()
			{
						$("#contentNext").removeAttr("style");
						$("#contentPrev").removeAttr("style");
			}
			
			);
			for(var i=0;i<acontentSwaper.globalEvents.length;i++)
			{
				$(acontentSwaper.globalEvents[i][0]).bind(acontentSwaper.globalEvents[i][1],acontentSwaper.globalEvents[i][2]);
			}
			if($('#gallery a').length > 0)
			{
				$('#gallery a').lightBox();
			}
			acontentSwaper.navDisplay();
		});
		PageNo=this.currentBlock+1;
		$("#contentBlank").html("Page "+PageNo+" of "+this.contentArr.length);
	}
	this.getPrev=function()
	{
	  if($("#contentPrev").hasClass("contentSwap_footer_elem_holder"))
	  {
	    return;
	  }
		acontentSwaper.currentBlock=acontentSwaper.currentBlock-1;//This gets the current Page with a little fix for the Value...so Page 4 is no 3 index...
		var maxval=acontentSwaper.currentBlock+1;
		if(acontentSwaper.currentBlock>=acontentSwaper.contentArr.length || acontentSwaper.currentBlock < 0)
		{
			acontentSwaper.currentBlock=0;
		}
		if(acontentSwaper.currentBlock==0)
		{
  		//$("#contentPrev").hide();
  		$("#contentPrev").removeClass("contentSwap_footer_elem_back");
  		$("#contentPrev").addClass("contentSwap_footer_elem_holder");
  		//$("#contentNext").show();
  		$("#contentNext").removeClass("contentSwap_footer_elem_holder");
  		$("#contentNext").addClass("contentSwap_footer_elem");
  		
  		//$("#contentBlank").show();
		}
		else if(acontentSwaper.currentBlock>0 && maxval<acontentSwaper.contentArr.length)
		{
			//$("#contentPrev").show();
			$("#contentPrev").removeClass("contentSwap_footer_elem_holder");
		  $("#contentPrev").addClass("contentSwap_footer_elem_back");
			
			//$("#contentNext").show();
			$("#contentNext").removeClass("contentSwap_footer_elem_holder");
		  $("#contentNext").addClass("contentSwap_footer_elem");
			//$("#contentBlank").hide();
		}
		else if(acontentSwaper.contentArr.length >= maxval)
		{
  		//$("#contentPrev").show();
  		$("#contentPrev").removeClass("contentSwap_footer_elem_holder");
  	  $("#contentPrev").addClass("contentSwap_footer_elem_back");
  	  
  		//$("#contentNext").hide();
  		$("#contentNext").removeClass("contentSwap_footer_elem");
  		$("#contentNext").addClass("contentSwap_footer_elem_holder");
  			//$("#contentBlank").hide();
		}
		if(acontentSwaper.currentBlock>=0)
		{
			acontentSwaper.swapContent(acontentSwaper.contentArr[acontentSwaper.currentBlock]);
		}
		else
		{
			acontentSwaper.swapContent(acontentSwaper.contentArr[0]);
		}
		$("#"+acontentSwaper.contentPageNum).html("Page "+(acontentSwaper.currentBlock+1)+" of "+acontentSwaper.contentArr.length+"");
	}
	this.getNext=function()
	{
	  if($("#contentNext").hasClass("contentSwap_footer_elem_holder"))
	  {
	    return;
	  }
		acontentSwaper.currentBlock=acontentSwaper.currentBlock+1;
		var maxval=acontentSwaper.currentBlock+1;
		if(acontentSwaper.currentBlock==(acontentSwaper.contentArr.length-1))
		{
			acontentSwaper.currentBlock=acontentSwaper.contentArr.length-1;
		}
		if(acontentSwaper.currentBlock==0)
		{
  		//$("#contentPrev").hide();
  		$("#contentPrev").removeClass("contentSwap_footer_elem_back");
  		$("#contentPrev").addClass("contentSwap_footer_elem_holder");
  		
  		//$("#contentNext").show();
  		$("#contentNext").removeClass("contentSwap_footer_elem_holder");
  	  $("#contentNext").addClass("contentSwap_footer_elem");
  	  
  		//$("#contentBlank").show();
		}
		else if(acontentSwaper.currentBlock>0 && maxval<acontentSwaper.contentArr.length)
		{
			//$("#contentPrev").show();
			$("#contentPrev").removeClass("contentSwap_footer_elem_holder");
		  $("#contentPrev").addClass("contentSwap_footer_elem_back");
			
			//$("#contentNext").show();
			$("#contentNext").removeClass("contentSwap_footer_elem_holder");
		  $("#contentNext").addClass("contentSwap_footer_elem");
		  
			//$("#contentBlank").hide();
		}
		else if(acontentSwaper.contentArr.length >= maxval)
		{
			//$("#contentPrev").show();
			$("#contentPrev").removeClass("contentSwap_footer_elem_holder");
		  $("#contentPrev").addClass("contentSwap_footer_elem_back");
		  
  		//$("#contentNext").hide();
  		$("#contentNext").removeClass("contentSwap_footer_elem");
  		$("#contentNext").addClass("contentSwap_footer_elem_holder");
  			//$("#contentBlank").hide();
		}
		if(acontentSwaper.currentBlock<acontentSwaper.contentArr.length)
		{
			acontentSwaper.swapContent(acontentSwaper.contentArr[acontentSwaper.currentBlock]);
		}
		else
		{
			acontentSwaper.swapContent(acontentSwaper.contentArr[acontentSwaper.contentArr.length-1]);
		}
		$("#"+acontentSwaper.contentPageNum).html("Page "+(acontentSwaper.currentBlock+1)+" of "+acontentSwaper.contentArr.length+"");
	}
}
