// Moves to Next Page
function nextPage(){
	// Switch to 2 page mode if we were at the cover
	if (window.parent.index == -1) {
		window.parent.index=0;
		changePageMode(0);
		return;
	}
	
	// Normal Page Flipping Function
	if (window.parent.pageMode == 1) 
		window.parent.index+=1
	else
		window.parent.index+=2	

	// End page handling
	// offset by -2 because of index starting at 0 and cover images
	// If we are at the last page, switch to 1 page mode.
	if(window.parent.index>=window.parent.pages.length-2){
		window.parent.index=window.parent.pages.length-2;
		changePageMode(1);
		return;
	}
}
//Moves to Previous Page
function prevPage(){
	// Switch to 2 page mode if we were at the end
	if (window.parent.index == window.parent.pages.length-2) {
		window.parent.index=window.parent.pages.length-4;
		changePageMode(0);
		return;
	}

	// Cover Page Handling
	if(window.parent.index<=2){
		window.parent.index=-1
		changePageMode(1)
		return;
	}

	// Normal Page Flipping Function
	if (window.parent.pageMode == 1) 
		window.parent.index-=1	
	else
		window.parent.index-=2	
}
// Page Mode determines if its 1 page or 2 pages.
function changePageMode(newmode){
	if(window.parent.index%2!=0 && newmode==0){
		window.parent.index--;
	}
	if(newmode==1){
		$('#right', window.parent.frames['main'].document).hide('slow');
	}
	if(newmode==0){
		$('#right', window.parent.frames['main'].document).show('slow');
	}
	window.parent.pageMode=newmode;
	showPages();
}
// Shows Pages (refreshes the main frame)
function showPages(){
	var zoom=0;
	// Decides if the zoom level is the special "width" setting 
    if(window.parent.zoomLevel==-1){
    	if(window.parent.pageMode == 1)
    		zoom=window.parent.panes*2;
    	else
    		zoom=window.parent.panes;
    }else{
    	// Computation for zoom level is the value of the dropdown i.e. 1.2 = 120%
    	zoom=Math.round(850*window.parent.zoomLevel);
    }
	// Special cover page version
	if(window.parent.index==-1){
		if(window.parent.displaystyle=="Normal")
			zoom=zoom=window.parent.panes; //always a 2 page view on zoom on cove
	}
    // Decides if we need the special height mode, or just width mode.
    if(window.parent.zoomLevel==-2){
	    if (window.parent.pageMode == 1) {
			$('#left', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 1].image + '" height="' +  window.parent.panesHeight + '"  onclick="if(window.parent.pageMode==1){nextPage();showPages();}" style="cursor:e-resize;" >');
		}else{ // mode 0
		//	console.log(window.parent.index + 1); 
			$('#left', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 1].image + '" height="' +  window.parent.panesHeight + '" align="right" onclick="if(window.parent.pageMode==0){prevPage();showPages();}" style="cursor:w-resize;" >');
			$('#right', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 2].image + '" height="' + window.parent.panesHeight + '" align="left" onclick="if(window.parent.pageMode==0){nextPage();showPages();}" style="cursor:e-resize;" >');
		}
    }else{
	    if (window.parent.pageMode == 1) {
			$('#left', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 1].image + '" width="' +  zoom + '" onclick="if(window.parent.pageMode==1){nextPage();showPages();}" style="cursor:e-resize;" >');
		}else{ // mode 0
			$('#left', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 1].image + '" width="' +  zoom + '" align="right"  onclick="if(window.parent.pageMode==0){prevPage();showPages();}" style="cursor:w-resize;" >');
			$('#right', window.parent.frames['main'].document).html('<img border="0" src="' + window.parent.pages[window.parent.index + 2].image + '" width="' + zoom + '" align="left"  onclick="if(window.parent.pageMode==0){nextPage();showPages();}" style="cursor:e-resize;" >');
		}
    }
}
function jumpPage(destinationPage){
	window.parent.index=destinationPage;
	if(window.parent.index%2!=0){
		window.parent.index--; // Check for dual page view 
	}
	if(window.parent.pageMode==1){
		changePageMode(0);
	}else{
		showPages();
	}
}
// Section navigation Controls.
function sectionNext(){
	// Find next section based on current index.
	var foundPage=false;
	$('.navDetail',window.parent.frames['leftNav'].document).removeClass('navDetailUnderline');
	for(i=0;i<window.parent.jumpList.length;i++){
		if(window.parent.jumpList[i]>window.parent.index+1){
			jumpPage(window.parent.jumpList[i])
			$('#section_page_id_'+window.parent.jumpList[i],window.parent.frames['leftNav'].document).addClass('navDetailUnderline');
			foundPage=true;
			break;
		}
	}
	if(foundPage==false){
		// Jump to last page if we cant find a new section else the catalog header
		if(window.parent.index<window.parent.pages.length-2){
			window.parent.index=window.parent.pages.length-2;
			changePageMode(1);
		}else{
			window.parent.index=-1;
			changePageMode(1);
		}
	}
}
function sectionPrev(){
	// Find previous section based on current index.
	var foundPage=false;
	$('.navDetail',window.parent.frames['leftNav'].document).removeClass('navDetailUnderline');
	for(i=window.parent.jumpList.length-1;i>0;i--){
		if(window.parent.jumpList[i]<window.parent.index){
			jumpPage(window.parent.jumpList[i])
			$('#section_page_id_'+window.parent.jumpList[i],window.parent.frames['leftNav'].document).addClass('navDetailUnderline');
			foundPage=true;
			break;
		}
	}
	if(foundPage==false){
		// Jump to last page if we cant find a new section else the catalog header
		if(window.parent.index>-1){
			window.parent.index=-1;
			changePageMode(1);
		}else{
			window.parent.index=window.parent.pages.length-2;
			changePageMode(1);
		}
	}
}
