function product_init(id,isbn,site){	

	var browser=new BrowserDetect();   	
   
   	if (!browser.isIE6x) 
   		displayGoogle(isbn);
   	else
   		$('_google').hide();
   		   		
		calcProductNavMenuCoordinates(browser);

		$$(".secNavItem").each(function(navItem){
		Event.observe(navItem, "click", function(event){
 			  var navItemName;
	        if(navItem.id == '_about') {
	           navItemName = 'title';
	        } else {
	           navItemName = navItem.id;
	        } 
	        var hiddenNav =  $("_"+navItemName);                               
				if (hiddenNav)
					fireEvent(hiddenNav,'click');
			});

		});
		
		Event.observe("_title", "mouseout", function(event){
			Event.observe("secondaryProductNav", "mouseover", function(event){			
				if(!$("_title").hasClassName("selected")){
					$("_title").removeClassName("titleOn").addClassName("titleHover");
					$$(".navItem").each(function(item){
						if($(item).hasClassName("selected") && $(item).id != "_title") $(item).addClassName("navOn");
					});						
				}
			});
		});
				
		Event.observe("_title", "click", function(event){
			$('_title').removeClassName("titleHover")
			$$(".navItem").each(function(item){
				if($(item.id+'Content') && item.id != '_title') {
					$(item.id+'Content').removeClassName("secondary");
					$(item.id+'Content').addClassName("primary");
				}
			});
		});

		Event.observe("_title", "mouseover", function(event){
			if ($("secondaryProductNav")){
				if(!$('_title').hasClassName("selected"))	$('_title').removeClassName("titleOn").addClassName("titleHover")
			 	$("secondaryProductNav").show();
				$$(".navItem").each(function(item){
					if($(item.id+'Content') && item.hasClassName("selected")) {					
						if ($(item).id !="_title") $(item).addClassName("navOn");			
						$(item.id+'Content').removeClassName("primary");										
						if ($("secondaryProductNav")) $(item.id+'Content').addClassName("secondary");
					}				
				});
			}
		});
		Event.observe("_title", "mouseout", function(event){
			if(!$("_title").hasClassName("selected")) {
				if ($("secondaryProductNav")) $("secondaryProductNav").hide();                                
				$('_title').removeClassName("titleHover").addClassName("titleOn");			

				$$(".navItem").each(function(navItem){
					if($(navItem.id+"Content") && navItem.hasClassName("selected")) {
											
						$(navItem).removeClassName("navOn");						

						if ($("secondaryProductNav")) $(navItem.id+"Content").removeClassName("secondary");
						$(navItem.id+"Content").addClassName("primary");
					}
				});
			}
		});
		Event.observe("secondaryProductNav", "click", function(event){
			$("_title").removeClassName("titleHover");
			$$(".navItem").each(function(item){
				if($(item.id+'Content') && item.id != '_title') {
					$(item.id+'Content').removeClassName("secondary");
					$(item.id+'Content').addClassName("primary");
				}
			});
		});

		Event.observe("secondaryProductNav", "mouseover", function(event){
			$("secondaryProductNav").show();
			$$(".navItem").each(function(item){
				if($(item.id+'Content') && item.hasClassName("selected")) {
					$(item.id+'Content').removeClassName("primary");
					$(item.id+'Content').addClassName("secondary");
				}
			});
		});
		Event.observe("secondaryProductNav", "mouseout", function(event){
			if(!$("_title").hasClassName("selected")) {
				$("_title").addClassName("titleOn");
				$("secondaryProductNav").hide();
				$$(".navItem").each(function(navItem){
					if($(navItem.id+'Content') && navItem.hasClassName("selected")) {
						$(navItem.id+"Content").removeClassName("secondary");
						$(navItem.id+"Content").addClassName("primary");
						$(navItem).removeClassName("navOn");
					}
				});
            }
		});			
}

function calcProductNavMenuCoordinates(browser){

		navTabCount=0;maxTabs=5;			
		
		if(!browser.isIE6x){
			$$('.yui-nav li').each(function(listItem){
				if($(listItem).visible()) navTabCount++;
			});	
			$$('.yui-nav li a').each(function(listItem){
				if(navTabCount>=maxTabs)
					$(listItem).addClassName('navFull');
				else
					$(listItem).addClassName('navPart');
			});
		}else {
			$$('.yui-nav li a').each(function(listItem){
				$(listItem).addClassName('navPartIe6');
			});	
		}		

		
		$("productNav").removeClassName("hidden");
		$("productNav").absolutize();		
 		var pos = $('productNav').positionedOffset();	 		

		if ($("secondaryProductNav")!=null){
			$("secondaryProductNav").absolutize();
			$("secondaryProductNav").setStyle({top: pos[1] + 41 + 'px',
												left: pos[0] +  'px',
												height: '35px',
												width: $('productNav').getWidth() + 'px'});												
		}		

		if(browser.isIE6x || $("navLineOut").hasClassName("hidden")) renderNavLineOut();
		if ($("secondaryProductNav")!=null)	$("secondaryProductNav").removeClassName("hidden");
}

function selectNav(obj) {
	if ($("productNav") != null) {		
		$$(".navItem").each(function(navItem) {
			navItem.removeClassName("selected").removeClassName("navOn");
		});
		$(obj).addClassName("selected");
		if ($("secondaryProductNav")) {
			if (obj.substring(1) == "title") {
				$("secondaryProductNav").show();
				selectSecondaryNav("_about");
			} else {
				$("secondaryProductNav").hide();
			}
		}
	}
}

function fireEvent(element,event){
    if (document.createEventObject){
        // dispatch for IE
        var evt = document.createEventObject();
        return element.fireEvent('on'+event,evt)
    }
    else{
        // dispatch for firefox + others
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent(event, true, true ); // event type,bubbling,cancelable
        return !element.dispatchEvent(evt);
    }
}

function selectSecondaryNav(obj){	
	if ($("secondaryProductNav") != null){
		$$(".secNavItem").each(function(navItem){
			navItem.removeClassName("selected");
		});
		$(obj).addClassName("selected");
	}			
}

function showBookContent(productId,content,isbn,prodTypes,site){	
	if ( !$('productContent'))
		   $('wrapper').insert(new Element("div",{'id':'productContent', 'class':'yui-content book'}));
	if (content=="about") content="title";
	       nav="_" + content + "Content";	
	var ajaxCall = true;
	if(!$(nav))
		ajaxCall = getBookContent(productId,content,isbn,prodTypes);
	else 
		ajaxCall = false;
    if (content =='features' || content =='readership' || (site != 'sage-uk' && content =='samples') 
    		                 || content =='_about' || content =='linksAndResources') {
		  $$(".navItem").each(function(navItem) {
				navItem.removeClassName("selected");
		  });
          $("_title").addClassName("selected");
          selectSecondaryNav(content);
          $("secondaryProductNav").show();
     } else {
          selectNav("_" + content);
     }
     if (!ajaxCall) {
	     $('productContent').childElements().each(function(div){
	   	    if (div.id==nav)
	   		    div.show();
	   	    else if (ajaxCall == false || content=='google')	
	   		   div.hide();   			
	     });
     }
}

function copyWebtrendsImage(replaceStr){
		if(gImages){
			var lastImage = gImages[gImages.length - 1];
			var src = lastImage.src;
			var startIndex = src.indexOf("&WT.cg_s");
			var endIndex = src.indexOf("&WT.cg_n");
			var stringToReplace = src.substring(startIndex,endIndex);
			replaceStr = "&WT.cg_s="+replaceStr;
			var newSrc = src.replace(stringToReplace, replaceStr);
			var newImg = new Image;
			newImg.src = newSrc;
			gImages[gImages.length] = newImg;
		}
}

function getBookContent(productId,content,isbn,prodTypes){
	var url;
	var divClass = "primary";
	switch(content){
		case "title":
			copyWebtrendsImage("About the Title"); 
			url = "/"+prodTypes+"ProdDescTab.nav?prodId="+productId;
			divClass= $("secondaryProductNav") ? "secondary" : "primary";						
			break;
		case "toc":
			copyWebtrendsImage("TOC");
			url = "/ajax"+prodTypes+"ProdTOC.nav?prodId="+productId;
			break;
		case "reviews":
			copyWebtrendsImage("Reviews");
			url = "/ajax"+prodTypes+"ProdReviews.nav?prodId="+productId;			
			break;
		case "supplements":
			copyWebtrendsImage("Supplements");
			url = "/ajax"+prodTypes+"ProdSupplements.nav?prodId="+productId;			
			break;	
		case "linksAndResources":
			copyWebtrendsImage("Links and Resources");
			url = "/ajax"+prodTypes+"ProdLinksAndResources.nav?prodId="+productId;			
			break;	
		case "readership":
			copyWebtrendsImage("Readership");
			url = "/ajax"+prodTypes+"ProdReadership.nav?prodId="+productId;
			divClass= $("secondaryProductNav") ? "secondary" : "primary";
			break;							
		case "related":
			copyWebtrendsImage("Related Products");
			url = "/ajax"+prodTypes+"ProdRelatedProducts.nav?prodId="+productId;			
			break;						
		case "samples":
			copyWebtrendsImage("Sample Materials");
			url = "/ajax"+prodTypes+"ProdSampleMaterials.nav?prodId="+productId;			
			divClass= $("secondaryProductNav") ? "secondary" : "primary";						
			break;		
		case "google":
			copyWebtrendsImage("Google Preview");
			getGooglePreview(isbn);
			break;
		case "features":
			copyWebtrendsImage("Features");
			url = "/ajax"+prodTypes+"ProdFeatures.nav?prodId="+productId;			
			divClass= $("secondaryProductNav") ? "secondary" : "primary";						
			break;		
	}

	if (content!="google") {
		var contentDiv = new Element('div',{ 'id' : "_"+content+"Content", 'class' : divClass });
		return getContentByAjax(url, contentDiv,productId);
	}
}
function getContentByAjax(url,contentDiv,productId) {

	new Ajax.Request(url, {
		method :'post',
		onSuccess: function(transport) {
			try{
				var response = transport.responseText;
				if (response != null) {
		              $('productContent').insert(contentDiv.insert(response)) 
		              if (contentDiv.id == '_reviewsContent') {
		            	  initCustomerReviews();
		              }
		              $('productContent').childElements().each(function(div){
				   	      if (div.id == contentDiv.id)
				   		    div.show();
				   	      else
				   		    div.hide();   			
				      });		
		              return true;  
                }
			}catch(e){
				if(console) console.log(e);
			}
		}
	
	});
}

function initCustomerReviews(){
	$$(".reportReview").each(function(item){
		Event.observe(item, "click", function(event){
			displayReportReview(item);
		});	
	});
	Event.observe("reportReviewClose", "click", function(event){
		$('reportReview').addClassName("hidden");
	});
	Event.observe("reportReviewCancel", "click", function(event){
		$('reportReview').addClassName("hidden");
	});
	Event.observe("bttnReportReview", "click", function(event){
		setReportReview($('bttnReportReview').value);
	});
}


function setReportReview(reviewId){
	var url = "/setReportReview.data?reviewId=" + reviewId ;
	new Ajax.Request(url, {
		method :'post',
		onSuccess: function(transport) {
			$('reportReview').addClassName("hidden");
		}
	});
}

function getGooglePreview(isbn){
	$('productContent').insert(new Element('div',{ 'id' : "_googleContent"}).insert(' '));
	$('_googleContent').addClassName("googlePreview");	

  	var viewer = new google.books.DefaultViewer(document.getElementById("_googleContent"));
	viewer.load("ISBN:" + isbn);
	
	$('_googleContent').show();		
}

function displayGoogle(isbn){
	 var script = document.createElement("script");
	 script.setAttribute("id", "jsonScript");
	 script.setAttribute("src",	"http://books.google.com/books?bibkeys=" + escape(isbn) +  "&jscmd=viewapi&callback=bookExists");
	 script.setAttribute("type", "text/javascript");
	document.documentElement.firstChild.appendChild(script);
}

function bookExists(booksInfo){
	b=false;
	for (i in booksInfo){	
		if(booksInfo[i].preview != "noview"){ 
				$('_google').show();
				b=true;
		}
	}		
	if(!b) 
		$('_google').hide();
	else	
		renderNavLineOut();
}

function renderNavLineOut(){
 	var pos = $('productNav').positionedOffset();
	var navWidth=0;
	$$('.yui-nav li').each(function(listItem){
		if($(listItem).visible()) {
			navWidth=navWidth + $(listItem).getWidth();
		}	
	});		
	browser.isFirefox  ? offSet=2 : offSet=0;
	$("navLineOut").setStyle({top: pos[1] + 40 + 'px',
							left: (navWidth - offSet)  + 'px',
							height:'1px', 
							width:($('productNav').getWidth() - (navWidth - offSet)) + 'px'});

	$("navLineOut").removeClassName("hidden");
}

function displayReportReview(obj){
	$(obj).absolutize();	 
	x= $(obj).getStyle("top").substring(0, $(obj).getStyle("top").indexOf('px'));	 
	$('reportReview').setStyle({top: (x -102) + 'px',left:'339px'})
	$('bttnReportReview').value=$(obj).id;	
	$('reportReview').removeClassName("hidden");
}




