/**
  * Java Script for the Google search integration in the marketing site
 **********************************************************
 * Version	Author		  Date		    Description
 **********************************************************
 *  1.0     Shrikanth   13-Oct-04   Inital Draft
  **********************************************************
*/


/****************************************************************/
/* Functional methods for executing the search                  */
/****************************************************************/
//method to execute the search
function doSearch(text) 
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&q=";
  text = trimSpace(text);	
  if(text == '' || text == ' ') 
  {
    url += "&emptyQueryText=true";
    window.location.href = url;
    return false;
  }
  url += removeSpecialChar(encodeAMP(encodePLUS(encodeHASH(text))));
  url +="&emptyQueryText=false";
  window.location.href = url;
  return false;
}

//method to execute the search tips
function doSearchTips()
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditSearchTips";
	window.location.href = url;
	return false;
}

function doHideSummary(status)
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&emptyQueryText=false&hs="+status+"";
  window.location.href = url;
  return false;
}

function doNarrowSearch() 
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&emptyQueryText=false&doNarrowSearch=true&ns=true";
  window.location.href = url;
  return false;
}  

function navigateToPage(pageurl) 
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&emptyQueryText=false&";
  url += pageurl;
  window.location.href = url;
  return false;
}

function navigateCreditCard(creditCardUrl)
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&emptyQueryText=false&";
  url += creditCardUrl+"&currentSite=credit_card";
  window.location.href = url;
  return false;
}

function navigateOtherCreditCard(otherCreditCardUrl) 
{
  var url = "http://www.chase.com/ccp/index.jsp?pg_name=ccpmapp/card_servicing/search/page/PFSCreditCardSearch&epi-content=CCS_SEARCH&emptyQueryText=false&";
  url += otherCreditCardUrl+"&currentSite=other_chase_site";
  window.location.href = url;
  return false;
}  

/****************************************************************/
/* Utility Methods for endcoing the special symbols in url      */
/****************************************************************/

// for trimming spaces
function trimSpace(searchText)
{
  var newSearchText = '';
  var spaceCounter = 0;
  for (var i = 0; i < searchText.length; i++)
  {
    if (searchText.charAt(i) == ' ')
    {
      spaceCounter++;
      if (spaceCounter > 1)
        continue;
      else
        newSearchText += searchText.charAt(i);
    }
    else
    {
      spaceCounter = 0;
      newSearchText += searchText.charAt(i);
    }
  }
  return newSearchText;
}

//Removing the Special character
function removeSpecialChar(searchText)
{
  var newSearchText = "";					
  for (var i = 0; i < searchText.length; i++)
  {
    if (searchText.charCodeAt(i) > 255)
      continue;
    newSearchText += searchText.charAt(i);			
  }
  return newSearchText;
}

//Encode the Ampersand Symbol ( '&' )
function encodeAMP(inString)
{
  var outString = "";
  for (var i=0; i<inString.length; i++)
  {
    if (inString.substring(i, i+1) == "&")
      outString += '%26';
    else
      outString += inString.substring(i, i+1);
  }
  return outString;
}

//Encode the Plus Symbol ( '+' )
function encodePLUS(inString)
{
  var outString = "";
  for (var i=0; i<inString.length; i++)
  {
    if (inString.substring(i, i+1) == "+")
      outString += '%2B';
    else
      outString += inString.substring(i, i+1);
  }
  return outString;
}	

//Encode the Hash Symbol ( '#' )
function encodeHASH(inString)
{
  var outString = "";
  for (var i=0; i<inString.length; i++)
  {
    if (inString.substring(i, i+1) == "#")
      outString += '%23';
    else
      outString += inString.substring(i, i+1);
  }
  return outString;
}

function handleEnter (event) { 
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 
        //alert("1." + keyCode); 
        if (keyCode == 13 || keyCode == 3) { 
                doSearch(document.getElementById('QueryText').value); 
                //alert("2." + keyCode); 
                return false; 
        } 
        else { 
                return true; 
        } 
} 
