/*
 * dhc-www baynote-guide.js
 * April 14, 2009
 */
var bn_currentGuideIdx = -1;
function baynote_showGuide(guideType) {
	
	var bn_location_href = bn_getUpdatedUrl();
	
     if (bn_location_href.indexOf("https://") == 0) {
        baynote_tag.server = "https://dhc-www.baynote.net";
     } else {
        baynote_tag.server = "http://dhc-www.baynote.net";
     }
	baynote_tag.customerId="dhc";
	baynote_tag.code="www";
	baynote_tag.type="guide";				
	baynote_tag.guide= guideType;
		
	var query = baynote_getSearchTerm();
	if (query != "") 
	  baynote_tag.query = query;
	  
	  
	bnResourceManager.waitForResource("Policy", "baynote_policyLoaded()");
	
	if (bn_isNotEmpty(baynote_tag.guide)) {
		baynote_tag.show();
		bn_waitForGuide();
		
	} else {
		baynote_tag.noshow();
	}		
			
}

function baynote_policyLoaded()
{
   if (bnPolicy.get("guide","ok"))
   {
      if(document.getElementById("baynote_guide")) 
		(document.getElementById("baynote_guide")).style.display = "block";
   } 
}

function bn_isNotEmpty(name) {
	return (name != null) && (name != "");
}

function bn_waitForGuide() {
	if (bn_isNotEmpty(bnResourceManager)) {
		bn_currentGuideIdx++;
		bn_currentGuideResource = "GLResults" + bn_currentGuideIdx;
		bn_currentGuideContainerId = "bn_guidecontainer" + bn_currentGuideIdx;
		bnResourceManager.waitForResource(bn_currentGuideResource, "bn_guideLoaded(\""+bn_currentGuideContainerId+"\")");
	}
}

function bn_guideLoaded(bn_guideId) {
	bn_updateGuideResults(bn_guideId,1);
}

function bn_updateGuideResults(bn_guide_id,bn_wait_count) {
	var bn_waitLimit = 20;
	if (bn_wait_count > bn_waitLimit) {
		return;
	} else {
		var guideContainerEle = document.getElementById(bn_guide_id);
		if (guideContainerEle) {
			var guideResultsArr;
			guideResultsArr = bn_getGuideResultsElements(guideContainerEle);
			bn_updateGuideResultsElements(guideResultsArr);
			// call RecBuilder
			if (typeof(BaynoteRecBuilder) != "undefined") {
				BaynoteRecBuilder.moveAndDisplayBaynoteRec();
			}
		} else if (bn_isNotEmpty(bn_guide_id) && bn_wait_count > 0) {
			bn_wait_count++;
			setTimeout("bn_updateGuideResults(\""+bn_guide_id+"\","+bn_wait_count+")", 100);
		}
	}
}

function bn_getGuideResultsElements(parentEle) {
	var result_link_class = "bn_g_result_link";
	var result_img_link_class = "bn_g_result_image_link";
	var childEleArr = parentEle.getElementsByTagName("*");
	var foundEleArr = [];
	for (var i=0; i<childEleArr.length; i++) {
		if(childEleArr[i].className == result_link_class || childEleArr[i].className == result_img_link_class) {
			foundEleArr.push(childEleArr[i]);
		}
	}
	return foundEleArr;
}

function bn_updateGuideResultsElements(resultsArr) {
	for (var i=0; i<resultsArr.length; i++) {
		var linkEle = resultsArr[i];
		var linkHref = linkEle.getAttribute("href");
		
		if (window.location.href.match(/\/\/192\.168\.170\.201/) && linkHref.match(/www.dhc.co.jp/)) {
			var bn_newLink = linkHref.replace(/www.dhc.co.jp/,"192.168.170.201");
			linkEle.setAttribute("href",bn_newLink);
		}
	}
}

function baynote_getSearchTerm() {
  var searchTerm = baynote_getUrlParam("q");  
  return unescape(searchTerm);
}

// Helper function to get the value of a parameter from URL. 
function baynote_getUrlParam(name) {

  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var pageUrl = baynote_getPageUrl();
  var results = regex.exec( pageUrl );
  if( results == null )
    return "";
  else
    return results[1];
}

function baynote_getPageUrl() {
	var pageUrl = baynote_tag.url; 
	if ( (typeof(pageUrl) == "undefined") || (pageUrl == null) || (pageUrl == ""))
	  pageUrl = window.location.href;
	return pageUrl;
}

function bn_getUpdatedUrl() {
	var bn_locHref = window.location.href;
	var updatedUrl = null;

	updatedUrl = bn_locHref.replace(/192\.168\.170\.201\//,"www.dhc.co.jp/");

	return updatedUrl;
}
