
function clearText(searchField){
  searchField.value = "";
}

function ClearSearchBox(searchedWord){
	if ((searchedWord.value == 'Search') || (searchedWord.value == 'Search / Item #'))
	{
		searchedWord.value = '';
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function PopUpWindow(url,name,features) {
  hWnd=window.open(url,name,features);
  hWnd.focus();
}

function ValidateEmail (emailStr) {
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  var matchArray=emailStr.match(emailPat)
  if (matchArray==null) {
    alert("Email address seems incorrect (check @ and .'s)")
    return false
  }
  var user=matchArray[1]
  var domain=matchArray[2]
  if (user.match(userPat)==null) {
      alert("The username doesn't seem to be valid.")
      return false
  }
  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null) {
      for (var i=1;i<=4;i++) {
        if (IPArray[i]>255) {
            alert("Destination IP address is invalid!")
       return false
       }
     }
     return true
  }
  var domainArray=domain.match(domainPat)
  if (domainArray==null) {
    alert("The domain name doesn't seem to be valid.")
      return false
  }
  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  var len=domArr.length
  if (domArr[domArr.length-1].length<2 ||
     domArr[domArr.length-1].length>4) {
     alert("The address must end in a three(or four)-letter domain, or two letter country.")
     return false
  }
  if (len<2) {
     var errStr="This address is missing a hostname!"
     alert(errStr)
     return false
  }
  return true;
}

function doRefine(selectList) {
  var elmName = selectList.name;
  var selIndex = selectList.selectedIndex;
  var url = selectList.options[selIndex].value;
  if (url != "-1") {
    //alert(elmName + ":" + selIndex + ":" + url);
    location = url;
  }
}


function doRefineBrand(selectList) {
	var pathArray = window.location.pathname.split( '/' );
	var elmName = selectList.name;
	var selIndex = selectList.selectedIndex;
	var url = selectList.options[selIndex].value;
	if (url != "-1") {
		if ( (pathArray[1] == 'ps') || (pathArray[1] == 'ol') || (pathArray[1] == 'po') || (pathArray[1] == 'cm') || (pathArray[1] == 'ws') || (pathArray[1] == 'ts') || (pathArray[1] == 'pr') || (pathArray[1] == 'ca'))
        {
                location = '/' + pathArray[1] + '/search.php' + url;
        } else {
                location =  '/search.php' + url;
        }	     
	}
}

function doSearch(url) {
  // Get search property and term values from form elements
  if (document.search_form.searchField.value.length > 0) {
    var searchTerm    = document.search_form.searchField.value;
    searchTerm = searchTerm.replace(/^\s*|\s*$/g, "");
    if (searchTerm.length > 0) {
      url = url + "&N=0&Ntx=mode+matchallpartial&Ntk=All&Ntt=" + searchTerm +"&Nty=1" ;
      location = url;
    } else {
      alert("Please provide a search term");
    }
  }
  else
    alert("Please provide a search term");
}

function display_menu(border_type, menu_level, link_name, image_name) {
  // border_type: 1=top, 2=bottom, 3=both
  // menu_level: 0=no menu, 1..n=menu level
  // image_name: for menu option
  if (border_type == 1 || border_type == 3) {
    window.document.write('<tr>') ;
    window.document.write("<td class=\"tableBorder\" width=139><img src=\"images/spacer.gif\" width=\"139\" height=\"1\"><br></td>") ;
    window.document.write('</tr>') ;
  }      
  window.document.write('<tr>') ;
  window.document.write("<td align=\"right\" valign=\"middle\">") ;
  window.document.write("<A HREF=\"" + link_name + "\" class=leftnav_img") ;
  if (menu_level > 0) {
    window.document.write(" onMouseOver=\"HM_f_PopUp(\'elMenu" + menu_level + "\',event)\" onMouseOut=\"HM_f_PopDown(\'elMenu" + menu_level + "\')\"") ;
  }
  window.document.write("><img src=\"" + image_name + "\" width=139 height=19 border=0></a></td>") ;
  window.document.write('</tr>') ;
  if (border_type == 2 || border_type == 3) {
    window.document.write('<tr>') ;
    window.document.write("<td class=\"tableBorder\" width=139><img src=\"images/spacer.gif\" width=\"139\" height=\"1\"><br></td>") ;
    window.document.write('</tr>') ;
  }
}

function display_ps_menu() {
  display_menu(3, 1, 'search_display.php?ob=M&ns=Y&cat=280951|', 'images/nav_ps_clubs.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=287458', 'images/nav_ps_balls.gif') ;
  display_menu(2, 2, 'search_display.php?ob=M&ns=Y&cat=392197|', 'images/nav_ps_bags.gif') ;
  display_menu(2, 3, 'search_display.php?ob=M&ns=Y&cat=392199|', 'images/nav_ps_apparel.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=277591', 'images/nav_ps_shoes.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=275814', 'images/nav_ps_travel.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=286168', 'images/nav_ps_gloves.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=286511', 'images/nav_ps_gifts.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=275923', 'images/nav_ps_training.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=275863', 'images/nav_ps_books.gif') ;
  display_menu(2, 4, 'search_display.php?ob=M&ns=Y&cat=286159|', 'images/nav_ps_grips.gif') ;
  display_menu(2, 5, 'search_display.php?ob=M&ns=Y&cat=275933|', 'images/nav_ps_accessories.gif') ;
}

function display_cm_menu() {
  display_menu(3, 0, 'search_display.php?ob=M&ns=Y&cat=284663', 'images/nav_cm_wood.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=284598', 'images/nav_cm_iron.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=285217', 'images/nav_cm_putter.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=284855', 'images/nav_cm_wedge.gif') ;
  display_menu(2, 0, 'search_display.php?ob=M&ns=Y&cat=392201|', 'images/nav_cm_headcovers.gif') ;
  display_menu(2, 1, 'search_display.php?ob=M&ns=Y&cat=286159|', 'images/nav_cm_grips.gif') ;
  display_menu(2, 2, 'search_display.php?ob=M&ns=Y&cat=277222|', 'images/nav_cm_tools.gif') ;
  display_menu(2, 3, 'search_display.php?ob=M&ns=Y&cat=392203|', 'images/nav_cm_shafts.gif') ;
  display_menu(2, 4, 'search_display.php?ob=M&ns=Y&cat=392204|', 'images/nav_cm_supplies.gif') ;
  display_menu(2, 0, 'search_display.php?ns=Y&fcst=ACTIVECOMP&ob=M&vt=IMAGE&at1=HAND&av1=L', 'images/nav_cm_lefthand.gif') ;
  display_menu(2, 0, 'display_page.php?page_num=junior_components', 'images/nav_cm_junior.gif') ;
  display_menu(2, 0, 'search_display.php?ob=C&ns=Y&manuf=275624', 'images/nav_cm_snake.gif') ;
  display_menu(2, 0, 'search_display.php?ob=C&ns=Y&manuf=275740', 'images/nav_cm_killer.gif') ;
  display_menu(2, 0, 'search_display.php?ob=C&ns=Y&manuf=279311', 'images/nav_cm_penick.gif') ;
  display_menu(2, 0, 'search_display.php?ob=C&ns=Y&manuf=881626', 'images/nav_cm_spalding.gif') ;
}

/*****************site redesign 4/2006 ******************/
  
function check_review_compatability(){  //bv errors on IE versions prior to 6.0
  var browser=navigator.appName;

  if(browser=="Microsoft Internet Explorer"){
        
    var version=navigator.appVersion;
    var b_version_array=version.split('compatible; MSIE');
    var version_number_array=b_version_array[1].split(';');
    var version_number= version_number_array[0];
    version_number=parseFloat(version_number);
    if(version_number < 5.5){
          
      alert('Thanks for you interest in our product reviews. \n Unfortunately, we are unable to publish theses reviews to your browser. \n We recommend that you upgrade your browser to Microsoft Internet Explorer version 5.5 or greater. \n Thank you Golfsmith.com');
      return false;           
    } else {
      return true;
    }
  } 
    
  if(browser=="Netscape"){
        
    var version=navigator.userAgent;
    var b_version_array=version.split('Firefox/');
    if(b_version_array.length > 1) { //Firefox
      var version_number_array=b_version_array[1].split(';');
      var version_number= version_number_array[0];
      version_number=parseFloat(version_number);
      if(version_number < 1.5){
        
        alert('Thanks for you interest in our product reviews. \n Unfortunately, we are unable to publish theses reviews to your browser. \n We recommend that you upgrade your browser to Firefox version 1.5 or greater. \n Thank you Golfsmith.com');
          
        return false;   
      } else {
        return true;
      }
    } else {
      //we can also check for Safari and version here
      //for now, just pass all other browsers through
      return true;
    }
      
     
        
  } else {
    return true;
  }
    
}
  
function createRequestObject() {
  req = false;
  if (window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch (e) {
      req = false;
    }
  } else if (window.ActiveXObject) {
    try {
      req = new ActiveXObject("Msxml.XMLHTTP");
    } catch (e) {
      try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        req = false;
      }
    }
  }
  return req;  
}

var http = createRequestObject();

function handleResponse() {
  if(http.readyState == 4) {
    if (req.status == 200) {
      response = http.responseText;
      document.getElementById('productCopy').innerHTML = response; //update[1];
      try {
    	  Invodo().embedInvodoPlayers();
      } catch (e) {
      }
    } else {
      alert("There was an error retrieving the data: \n" + req.statusText);
    }
  }   
}

function clear_text(object)
{
	object.value = '';	
}

function chg_tab(tab) {

  var site = '';

  var show_specs = eval("document." + form_name + ".specs").value;
  var tab_html = '';

  var nav = document.getElementById('tabBox_nav');

  if (server_http == 'https')
    var preamble = 'https';
  else
    var preamble = 'http';

  var tab_html = '';

  //remove old content of the tabBox_nav div
  var tab_ul = document.getElementById("tab_ul");
  nav.removeChild(tab_ul);

  //create the unordered list
  var ul_list = document.createElement("ul");
  ul_list.setAttribute('class', 'no_listStyle');
  ul_list.setAttribute('id', 'tab_ul');

  //description tab
  var desc_li = document.createElement("li");
  tab_html = '<a href="javascript:void(0);" onclick="chg_tab(\'desc\');"';
  if(tab != 'desc') {
    tab_html = tab_html + ' onmouseover="tab_hover(\'desc\');" onmouseout="tab_unhover(\'desc\');"';
  }
  tab_html = tab_html + '><img src="/_site_images/_product_page/overview_';
  if(tab == 'desc') {
    tab_html = tab_html + 'A';
  } else {
    tab_html = tab_html + 'L';
  }
  tab_html = tab_html + '.gif" id="overview_img" alt="Product Overview" /></a>';
  desc_li.innerHTML = tab_html;
  ul_list.appendChild(desc_li);

  //specs tab
  if(show_specs == 'Y') {
    var spec_li = document.createElement("li");
    tab_html = '<a href="javascript:void(0);" onclick="chg_tab(\'specs\');"';
    if(tab != 'specs') {
      tab_html = tab_html + ' onmouseover="tab_hover(\'specs\');" onmouseout="tab_unhover(\'specs\');"';
    }
    tab_html = tab_html + '><img src="/_site_images/_product_page/specifications_';
    if(tab == 'specs') {
      tab_html = tab_html + 'A';
    } else {
      tab_html = tab_html + 'L';
    }
    tab_html = tab_html + '.gif" id="specifications_img" alt="Product Specifications" /></a>';
    spec_li.innerHTML = tab_html;
    ul_list.appendChild(spec_li);
  }

  //shipping tab
  var ship_li = document.createElement("li");

  tab_html = '<a href="javascript:void(0);" onclick="chg_tab(\'ship\');"';
  if(tab != 'ship') {
    tab_html = tab_html + ' onmouseover="tab_hover(\'ship\');" onmouseout="tab_unhover(\'ship\');"';
  }
  tab_html = tab_html + '><img src="/_site_images/_product_page/shipping_';
  if(tab == 'ship') {
    tab_html = tab_html + 'A';
  } else {
    tab_html = tab_html + 'L';
  }
  tab_html = tab_html + '.gif" id="shipping_img" alt="Product Shipping Information" /></a>';
  ship_li.innerHTML = tab_html;
  ul_list.appendChild(ship_li);

  //attach the UL to the tabBox_nav div
  nav.appendChild(ul_list);

  if (tab == 'desc') {

    site = preamble + '://' + server_name + '/ppage.php?service=prod_desc&p_style_number=' + p_style_number + (document.getElementById('logo').value == 'Y' ? '&logo=Y' : '');
    cmCreatePageviewTag("TABS: Description", "", p_style_number);
  }
    
  if (tab == 'specs' && show_specs == 'Y') {

    var sku = eval("document." + form_name + ".sku").value;
    if(!sku) {
      sku = p_style_number;
    }

    site = preamble + '://' + server_name + '/ppage.php?service=prod_specs&p_style_number=' + p_style_number + '&sku=' + sku;

    cmCreatePageviewTag("TABS: Product Specifications", "", p_style_number);
  }

  if (tab == 'ship') {

    logo_item = eval("document." + form_name + ".logo_item").value;

    if (logo_item == "Y") {
      site = preamble + '://' + server_name + '/static_pages/htmlarch/custom_logo_shipping_tab.html';
    } else {
      /*if(shipping_type == "F")
        site = preamble + '://' + server_name + '/static_pages/html/free_shipping_tabs.html';
      else */
        site = preamble + '://' + server_name + '/static_pages/htmlarch/no_qualify_not_heavy.html';
        
    }
      
   /*if (shipping_type == "F")
      site = preamble + '://' + server_name + '/static_pages/htmlarch/free_shipping_tabs.html';
    else
      site = preamble + '://' + server_name + '/static_pages/htmlarch/no_qualify_not_heavy.html';
    */

    cmCreatePageviewTag("TABS: Product Specifications", "", p_style_number);

  }

  try {
    http.open('GET', site);
    http.onreadystatechange = handleResponse;
    http.send(null);
  } catch (e) {
  }
 
}

function tab_hover(tab) {

  var image;
  var source;
  if(tab == 'desc') {
    image = document.getElementById('overview_img');
    source = 'overview_H.gif';
  } else if(tab == 'specs') {
    image = document.getElementById('specifications_img');
    source = 'specifications_H.gif';
  } else if(tab == 'ship') {
    image = document.getElementById('shipping_img');
    source = 'shipping_H.gif';
  } //else do nothing

  image.setAttribute('src', "/_site_images/_product_page/" + source);
}

function tab_unhover(tab) {

  var image;
  var source;
  if(tab == 'desc') {
    image = document.getElementById('overview_img');
    source = 'overview_L.gif';
  } else if(tab == 'specs') {
    image = document.getElementById('specifications_img');
    source = 'specifications_L.gif';
  } else if(tab == 'ship') {
    image = document.getElementById('shipping_img');
    source = 'shipping_L.gif';
  } //else do nothing

  image.setAttribute('src', "/_site_images/_product_page/" + source);
}

function image_change(img_id, src) {
  var image;
  image = document.getElementById(img_id);
  image.setAttribute('src', src);
}

function preload_product_page_images() {
  //load all tab images to prevent loading issues on JS events
  var img_src_base = "/_site_images/_product_page/";
  var image_object;

  img_list = new Array().concat('overview_L.gif', 'overview_H.gif', 'overview_A.gif', 'specifications_L.gif', 'specifications_H.gif', 'specifications_A.gif', 'shipping_L.gif', 'shipping_H.gif', 'shipping_A.gif', 'zoom_H.gif', '360View_H.gif', 'video_H.gif', 'videoTour_H.gif');

  //IE6 doesn't seem to like preloading unless you create a new object every time
  for(var i = 0; i < img_list.length; i++) {
    image_object = new Image();
    image_object.src = img_src_base + img_list[i];
  }

}

