// JavaScript Document

<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}
//-->

//Global JS functions for adding events and ajax cross browser
function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	}else if(obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	}else{
		//error
	}
}

function featured_snapto(img){
	for(var x = 1; x <= featured_max; x++){
		if(x == img){
			$('#faderimg' + x).fadeIn('def');
			featured_selected = x;
		} else {
			$('#faderimg' + x).fadeOut('def');
		}
	}
}

function featured_next(){
	if (featured_selected >= featured_max){
		featured_snapto(1);
	}else{
		featured_snapto(featured_selected + 1);
	}
}

function featured_prev(){
	if (featured_selected <= 1){
		featured_snapto(featured_max);
	}else{
		featured_snapto(featured_selected - 1);
	}
}

function featured_timer(){
	if (feat_mo == 0){
		featured_next();
	}
}

function featured_preload(){
	var imgpreload = new Array();
	for(var x = 1; x <= featured_max; x++){
		imgpreload[x] = new Image();
		imgpreload[x].src = featured_img[x];
	}
}

function featured_play(){
	featured_interval = setInterval("featured_timer()",3000);
}

function featured_pause(){
	clearInterval(featured_interval);
}

var featured_selected = 1;
var feat_mo = 0;
var featured_interval = 0;

function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}

function nocache(){
	var d = new Date();
	return ((d.getTime())*1)
}

function is_child(parent_name, child_ele){
	if (child_ele.tagName != 'BODY'){
		if (child_ele.id == parent_name){
			return true;
		}else{
			return is_child(parent_name, child_ele.parentNode);
		}
	}else{
		return false;
	}
}

//end global functions

// Delete contents of a text box
function del_contents(ele, text){
	if (ele.value == text){
		ele.value = "";
	}
}
// ... then add them back in
function add_contents(ele, text){
	if (ele.value == ""){
		ele.value = text;
	}
}

//start ajax search
var search_obj = createRequestObject();
var search_sent = 0;

function search_type(ele){
	if (ele.value.length <= 2){
		document.getElementById('search_results').innerHTML = '&nbsp;';
	}else{
		//Category
		//var catdd = document.getElementById('q_cat');
		//var catid = catdd.options[catdd.selectedIndex].value;
		//Brand
		//var branddd = document.getElementById('q_brand');
		//var brandid = branddd.options[branddd.selectedIndex].value;
		
		search_obj.abort();
		search_obj.open('get', '/ajax_search.php?q=' + ele.value + '&nocache=' + nocache());
		search_obj.onreadystatechange = search_response;
		search_obj.send(null);
	}
}

function search_response(){
	if(search_obj.readyState == 4){
		if(search_obj.status == 200){
			search_show();
			document.getElementById('search_results').innerHTML = search_obj.responseText;
		}
	}
}

var recent_click_obj = '';

addEvent(document,"click",hide_menus);

function hide_menus(event){
	if (!event){
        event = window.event;
    }
	target = event.target ? event.target : event.srcElement;
	
	recent_click_obj = target;
	
	if (is_child('search',recent_click_obj) != true){
			search_hide();
	}
}

function search_show(){
	document.getElementById('search_results_container').style.display = 'block';
}

function search_hide(){
	document.getElementById('search_results_container').style.display = 'none';
	document.getElementById('search_results').innerHTML = '&nbsp;';
}
//end ajax search

//side tabs

function side_tab(tabid){
	if (tabid == 2){
		document.getElementById('side_tab_1').className = 'side_tab_featured';
		document.getElementById('side_tab_2').className = 'side_tab_top_sellers_sel';
		document.getElementById('side_tab_content_1').style.display = 'none';
		document.getElementById('side_tab_content_2').style.display = 'block';
	}else{
		document.getElementById('side_tab_1').className = 'side_tab_featured_sel';
		document.getElementById('side_tab_2').className = 'side_tab_top_sellers';
		document.getElementById('side_tab_content_1').style.display = 'block';
		document.getElementById('side_tab_content_2').style.display = 'none';
	}
}

//dropdown menu

function m_over(ele){
	for (var i=0; i<ele.childNodes.length; i++) {
		node = ele.childNodes[i];
		if (node.nodeName=="DIV") {
			if (node.className == 'submenu'){
				ele.className = 'category_level1_hover ';
				node.style.display='block';
			}
		}
	}
}

function m_out(ele){
	for (var i=0; i<ele.childNodes.length; i++) {
		node = ele.childNodes[i];
		if (node.nodeName=="DIV") {
			if (node.className == 'submenu'){
				ele.className = 'category_level1';
				node.style.display='none';
			}
		}
	}
}

// image preloading
img_src = Array(
"/images/button_add_small_hover.jpg",
"/images/button_add_to_basket_hover.jpg",
"/images/button_checkout_hover.jpg",
"/images/button_enquiry_hover.jpg",
"/images/button_large_hover.jpg",
"/images/button_methods_hover.jpg",
"/images/button_more_info_hover.jpg",
"/images/button_update_hover.jpg",
"/images/settings_menu_item_on.jpg",
"/images/sub_cat_help_hover.jpg",
"/images/button_help_hover.jpg",
"/images/button_help_hover.png",
"/images/button_small_hover.jpg",
"/images/button_selector_hover.png",
"/images/raceparts_button_add_small_hover.jpg",
"/images/raceparts_button_add_to_basket_hover.jpg",
"/images/raceparts_button_checkout_hover.jpg",
"/images/raceparts_button_enquiry_hover.jpg",
"/images/raceparts_button_more_info_hover.jpg",
"/images/redline_button_add_small_hover.jpg",
"/images/redline_button_add_to_basket_hover.jpg",
"/images/redline_button_checkout_hover.jpg",
"/images/redline_button_enquiry_hover.jpg",
"/images/redline_button_more_info_hover.jpg",
"/images/sub_cat_help_hover.png",
"/images/xenons_button_add_small_hover.jpg",
"/images/xenons_button_add_to_basket_hover.jpg",
"/images/xenons_button_checkout_hover.jpg",
"/images/xenons_button_enquiry_hover.jpg",
"/images/xenons_button_large_hover.jpg",
"/images/xenons_button_methods_hover.jpg",
"/images/xenons_button_more_info_hover.jpg",
"/images/xenons_button_small_hover.jpg",
"/images/xenons_button_update_hover.jpg",
"/images/button_selector_hover.jpg"
);

img_array = new Array();

for (counter in img_src) {
	img_array[counter] = new Image();
	img_array[counter].src = img_src[counter];
}

/* disabled on this site 
// Product Scroller
var scroll_size = 20;
var scroll_time = 50;
var scroll_flag = 0;

function scroll_left_start(){
	scroll_flag = setInterval('scroll_left()',scroll_time);
}
function scroll_right_start(){
	scroll_flag = setInterval('scroll_right()',scroll_time);
}
function scroll_end(){
	clearInterval(scroll_flag);
}

function scroll_left(){
	var outer = document.getElementById('scroller_outer');
	outer.scrollLeft = (parseInt(outer.scrollLeft) - scroll_size);
	if (parseInt(outer.scrollLeft) < scroll_size){
		outer.scrollLeft = 0;
		scroll_end();
	}
}
function scroll_right(){
	var outer = document.getElementById('scroller_outer');
	outer.scrollLeft = (parseInt(outer.scrollLeft) + scroll_size);
	if (outer.scrollLeft > (outer.scrollWidth - scroll_size)){
		outer.scrollLeft = outer.scrollWidth;
		scroll_end();
	}
}
*/
var hide_child = 0;
var hide_child_timer = 0;
var hide_child_l2 = 0;
var hide_child_timer_l2 = 0;

var menu_displayed = new Array;
function menu_child_select(child_id, level, exclude_selected){
	if (menu_displayed[level] > 0){
		menu_child_hide(menu_displayed[level], level, 0);
	}
	if (level == 1){
		if (menu_displayed[2] > 0){
			menu_child_hide(menu_displayed[2], 2, 0);
		}	
	}
	clearTimeout(hide_child_timer);
	clearTimeout(hide_child_timer_l2);
	menu_displayed[level] = child_id;
	if (!exclude_selected){
		document.getElementById('menu_item_' + child_id).className = 'menu_item_selected';
	}
	if (document.getElementById('menu_' + child_id)){
		document.getElementById('menu_' + child_id).style.display='block';
	}
}

function menu_child_hide_timed(child_id, level){
	if (level == 1){
		hide_child = child_id;
		clearTimeout(hide_child_timer);
		hide_child_timer = setTimeout("menu_child_hide(" + child_id + "," + level + ",1)",500);
	}else{
		hide_child_l2 = child_id;
		clearTimeout(hide_child_timer_l2);
		hide_child_timer_l2 = setTimeout("menu_child_hide(" + child_id + "," + level + ",1)",500);
	}
}

function menu_child_hide(child_id, level, showdefault){
	document.getElementById('menu_item_' + child_id).className = '';
	if (document.getElementById('menu_' + child_id)){
		document.getElementById('menu_' + child_id).style.display='none';
	}
	if (showdefault){
		menu_child_select(menu_l1_selected,1,1);
		menu_child_select(menu_l2_selected,2,1);
	}
}

function menu_hide_level(level){
	if (menu_displayed[level] > 0){
		menu_child_hide(menu_displayed[level], level);
	}
}

function menu_child_keep(menuid, level){
	if (level == 2){
		clearTimeout(hide_child_timer_l2);
	}
	clearTimeout(hide_child_timer);
}

function toggle_filters(){
	if(document.getElementById('filter_block').style.display=='block'){
		document.getElementById('filter_block').style.display='none';
		document.getElementById('toggle_filter_html').innerHTML='<img src="/images/expander_plus.jpg" alt="Show" class="image_align_middle" /> Refine your results';
	}else{
		document.getElementById('filter_block').style.display='block';
		document.getElementById('toggle_filter_html').innerHTML='<img src="/images/expander_minus.jpg" alt="Hide" class="image_align_middle" /> Refine your results';
	}
}

function show_cart(){
	document.getElementById('mini_cart').style.display='block';
	document.getElementById('mini_cart_link').className='mini_cart_open';
}

function hide_cart(){
	document.getElementById('mini_cart').style.display='none';
	document.getElementById('mini_cart_link').className='';
}

var overlay_obj = createRequestObject();
var overlay_sent = 0;

function overlay_show(lurl){
	overlay_obj.abort();
	overlay_obj.open('get', '/olay/' + lurl + '&nocache=' + nocache());
	overlay_obj.onreadystatechange = overlay_show_response;
	overlay_obj.send(null);
	return false;
}

function overlay_show_response(){
	if(overlay_obj.readyState == 4){
		if(overlay_obj.status == 200){
			document.getElementById('olay_content').innerHTML = overlay_obj.responseText;
			document.getElementById('olay').style.display = '';
		}
	}
}

function overlay_hide(){
	document.getElementById('olay').style.display = 'none';
}

function show_sub_cat_overlay(ele_id){
	document.getElementById('sub_cat_overlay_layer_' + ele_id).style.display='block';
}

function hide_sub_cat_overlay(ele_id){
	document.getElementById('sub_cat_overlay_layer_' + ele_id).style.display='none';
}
