
// Search
function search(searchType) 
{
  if (document.getElementById('q'))
  {
    var query = document.getElementById("q").value;
    gosearch(query, searchType);
  }
} 
function searchBottom(searchType) 
{
  if (document.getElementById('q2'))
  {
    var query = document.getElementById("q2").value;
    gosearch(query, searchType);
  }
}
function gosearch_mask(query, searchType)
{
  if (query != null && query != "")
  {
    if (searchType == "")
    {
      searchType = getParameter("st");
    }
    var url = "q-" + urlEncode(query) + "-st-" + searchType + "-search.aspx";
    location.href = url;
  }
}

function urlEncode(val)
{
  val = val.replace(/-/gi, "~");
  val = val.replace(/ /gi, "_");
  val = val.replace(/&/gi, "_and_");
  return val;
}

function gosearch(query, searchType)
{
  var url = location.href;
  
  if (query != null && query != "")
  {
    url = "search.aspx?q=" + escape(query);
  }
  
  if (searchType == "")
  {
    searchType = getParameter("st");
  }

  if (searchType != null && searchType != "")
  {
    url = replaceArg(url, "st", searchType);
  }
   
  location.href = url;
} 
 
function subsearch(searchType, subType)
{
  if (document.getElementById('q'))
  {
    var query = document.getElementById("q").value;
    var url = "search.aspx?q=" + escape(query) + "&st=" + searchType + "&sub=" + subType;
    //var url = "q-" + urlEncode(query) + "-st-" + searchType + "-sub-" + subType + "-search.aspx";
    location.href = url;
  }
} 

function catsearch(catid, catname)
{
  var url = "search.aspx?q=" + escape(catname) + "&st=shopping&catid=" + catid;
  //var url = "q-" + urlEncode(catname) + "-st-shopping-catid-" + catid + "-search.aspx";
  location.href = url;  
}

function subcatsearch(subcatid, catname, catid)
{
  var url = "search.aspx?q=" + escape(catname) + "&st=shopping&subcatid=" + subcatid + "&catid=" + catid;
  //var url = "q-" + urlEncode(catname) + "-st-shopping-subcatid-" + subcatid + "-catid-" + catid + "-search.aspx";
  location.href = url;  
}
  
function viewPage(pageNum)
{		
  location.href = replaceArg(location.href, "page", encodeURI(pageNum));
}

function showHide(hideName, anchorName)
{
  if (document.getElementById(hideName))
  {
    var element = document.getElementById(hideName);
    if (element.style.display == "" || element.style.display == "block")
    {
      element.style.display = "none";
      document.getElementById(anchorName).innerHTML = "Show";
    }
    else
    {
      element.style.display = "block";
      document.getElementById(anchorName).innerHTML = "Hide";
    }
  }
}

function getParameter(paramName)
{
	var param = '';
	var qsraw = location.search.substring(1);
	var qs = qsraw.split('&')
	for( var i=0; i<qs.length; i++ ){
		 qsname = qs[i].split('=');
		 if(qsname[0] == paramName) param = qsname[1];
	}
  if (param == '')
  {
    var href = location.href;
    if (href.indexOf('search.aspx') > 0 && href.indexOf('-' + paramName + '-') > 0)
    {
      var i = href.indexOf('-' + paramName + '-');
      if (i > 0 && href.indexOf('-', i + 1) > 0)
      {
        i += paramName.length + 2;
        param = href.substring(i, href.indexOf('-', i + 1));
     }
    }
  }
	return param;
}

// Cookie functions
function getCookie(name) 
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ((!start) && (name != document.cookie.substring(0, name.length))) 
	{
		return '';
	}
	if (start == -1) return '';
	var end = document.cookie.indexOf(';', len);
	if (end == -1) end = document.cookie.length;
	return unescape(document.cookie.substring(len, end));
}

function setCookie(name, value, expires, path, domain) 
{
	var today = new Date();
	today.setTime(today.getTime());
	if (expires) 
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name + '=' + escape(value) + ';expires=' + expires_date.toGMTString() + ';path=' + path;
}

function clearQueries(cookieName, elementId)
{
  deleteCookie(cookieName, '/');
  //document.getElementById(elementId).innerHTML = '<div class="nav_text">Your most recent searches can be viewed here.</div>';
  if (document.getElementById(elementId))
  {
    document.getElementById(elementId).style.display = "none";
  }
}

function deleteCookie(name, path) 
{
	if (getCookie(name)) 
	{
	  document.cookie = name + '=' + (( path ) ? ';path=' + path : '') + ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
	}
}

function replaceArg(qs, arg, value)
{
  var i = qs.indexOf('&' + arg + '=');
  i = (i < 0 ? qs.indexOf('?' + arg + '=') : i);
  if (i > 0)
  {
    i++;
    if (qs.substring(i).indexOf('&') > -1) { qs = qs.substring(0, i) + qs.substring(i + qs.substring(i).indexOf('&') + 1); }
    else { qs = qs.substring(0, i - 1); }
  }
  if (value != '')
  {
    qs += (qs.indexOf('?') == -1 ? '?' : '&');
    qs += arg + '=' + value;
  }
  return qs;
}

function focusSearchBox() 
{
  var searchBox = document.getElementById("q");

  if (searchBox != null)
  {
    searchBox.focus();
  }
}

function queryKeyPress(e, searchType)
{
  var keynum;
  if(window.event) // IE
  {
    keynum = e.keyCode;
  }
  else if(e.which) // Netscape/Firefox/Opera
  {
    keynum = e.which;
  }
  if (keynum == 13)
  {
    search(searchType);
  }
}

function load() 
{
  if (GBrowserIsCompatible()) 
  {
    var st = getParameter("st");
    var query = getParameter("q");
    var subtype = getParameter("sub");
    if (query != "" && subtype == "" && (st == "" || st == "web"))
    {
      // Create and Center a Map
      map = new GMap2(document.getElementById("map"), { size: new GSize(400,300) });    
      geocoder = new GClientGeocoder();
      showLocation(query);
    }
  }
}

function showLocation(address) 
{
  geocoder.getLocations(unescape(address), addAddressToMap);
}

function addAddressToMap(response) 
{
  map.clearOverlays();
  if (!response || response.Status.code != 200) 
  {
    document.getElementById("GoogleMap").style.display = "none";
  } 
  else 
  {
    place = response.Placemark[0];
    if (place.AddressDetails.Accuracy < 5)
    {
      point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
      var zoom = place.AddressDetails.Accuracy;
      if (zoom == 2)
      {
        zoom += 4;
      }
      else
      {
        zoom += 5;
      }
      map.setCenter(point, zoom);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());       
      map.addControl(new google.maps.LocalSearch());  
      
      // Highlight keyword
      var q = trimAll(unescape(getParameter("q").toLowerCase()));
      var address = place.address;  
      if (address.toLowerCase().indexOf(q) > -1)
      {
        q = address.substring(address.toLowerCase().indexOf(q), q.length);
        var regEx = new RegExp (q, 'gi');
        address = address.replace(regEx, "<strong>" + q + "</strong>");
      }
      
      document.getElementById("mapLink").innerHTML = "<a target='_blank' class='results_link' href='http://maps.google.com/maps?q=" + escape(place.address) + "'>" + address + "</a><br/><div class='green_text'>maps.google.com</div>";
      document.getElementById("GoogleMap").style.display = "block";
    }
  }
}


function trimAll(sString) 
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
  return sString;
}

function sendEmail()
{
  var subject = document.getElementById("Subject").value;
  var body = document.getElementById("Body").value;

  if (subject == "")
  {
    alert("Please enter a subject");
    return;
  }
  else if (body == "")
  {
    alert("Please enter a message");
    return;
  }
  location.href = 'mailto:info@oxysearch.com?subject=' + subject + '&amp;body= ' + body;
}

function sendToFriend()
{
  var subject = "OXY SEARCH";
  var body = "Hi, I recommend this website:  http://www.oxysearch.com";
  var to1 = document.getElementById("FEmail1").value;
  var to2 = document.getElementById("FEmail2").value;
  var to3 = document.getElementById("FEmail3").value;
  
  if (to1 != "" && to2 != "")
  {
    to1 += ", " + to2;
  }
  if (to1 != "" && to3 != "")
  {
    to1 += ", " + to3;
  }
 
  location.href = 'mailto:' + to1 + '?subject=' + subject + '&amp;body= ' + body;
}

function compare()
{
  var pricegrabberUrl = "http://oxysearch.pgpartner.com/search_compare.php/page_id=";
  var checkboxes = $('input[@type=checkbox]');
  if (checkboxes != null && checkboxes.length > 0)
  {
    var checked = false;
    var page = checkboxes[0].defaultValue;
    pricegrabberUrl += page + "?page_id=" + page;
    
    for (var i = 0; i < checkboxes.length; i++)
    {
      var checkbox = checkboxes[i];
      if (checkbox.checked)
      {
        pricegrabberUrl += "&masterids%5B%5D=" + checkbox.id;
        checked = true;
      }
    }
    if (checked)
    {
      location.href = pricegrabberUrl;
    }
    else
    {
      alert("Select products by checking the checkbox next to the product image, then click the Compare button.");
    }
  } 
}

function showVideo(id)
{
  $("#thumb" + id).hide();
  $("#video" + id).show();
}

function hideVideo(id)
{
  $("#thumb" + id).show();
  $("#video" + id).hide();
}

function addEngine_ff() {
  window.sidebar.addSearchEngine(
			  "http://www.oxysearch.com/opensearch_oxysearch.xml",
			  "http://www.oxysearch.com/images/favicon.ico",
			  "OXY Search",
			  "General");
}
function addEngine_ie() {
  window.external.AddSearchProvider('http://www.oxysearch.com/opensearch_oxysearch.xml');
}

$(document).ready(function() {
  $(".ie").hide();
  $(".ff").hide();
  if ($.browser.msie) {
    $(".ie").show();
  }
  else if ($.browser.mozilla) {
    $(".ff").show();
  }
});