﻿$(document).ready(function(){
  // For the menu item hover color
	$(".flyout > li").hover(function(){
    var bgImg = $(this).css("background-image");
		$(this).css("background-image", HoverImgOf(bgImg));
	},function() {
		var bgImg = $(this).css("background-image");
		$(this).css("background-image", NormalImgOf(bgImg));
	});

	$(".flyout ul li").hover(function(){
		$(this).css("background-color", "#727272");
	},function() {
		$(this).css("background-color", "#515151");
	});
  
});

// This function is called after page has finished loading
$(window).bind('load', function() {
  //$('#divLoading').hide();
  HideLoading();
});

function HoverImgOf(filename)
{
  if (filename.indexOf("-hover.") > 0)
    return filename;
    
  var re = new RegExp("(.+?)(-down)?\\.(gif|png|jpg)(\\)?)", "g");
	return filename.replace(re, "$1-hover.$3$4");
}
function NormalImgOf(filename)
{
	var re = new RegExp("(.+)-(hover|down)\\.(gif|png|jpg)(\\)?)", "g");
	return filename.replace(re, "$1.$3$4");
}

function ShowLoading()
{
  $('#divLoading').slideDown(500);
}
function HideLoading()
{
  $('#divLoading').slideUp(500);
}

function ShowNotification(msg, time, e)
{
  // Get mouse position
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
  
	if (e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	}
  else
  {
    alert(msg);
    return;
  }
  /*
	else if (e.clientX || e.clientY)
	{
		posx = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
		posy = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	}
  */
  
  $('#divNotification').css('left', posx+20);
  $('#divNotification').css('top', posy);
  $('#divNotification').html(msg);
  $('#divNotification').show();
  setTimeout("$('#divNotification').fadeOut(1000)", time);
}

function AddToCart(productId, e)
{
  xmlhttp=GetXmlHttpObject();
  
  // Validate
  if (xmlhttp==null) {
    alert ("Your browser does not support HTTP Request");
    return;
  }
  
  var itemId = productId;
  var ddSize = $('#size_'+productId);
  if(ddSize.length > 0) // Size dropdown exists
  {
    if(ddSize.attr('selectedIndex') == 0)
    {
      alert("You must select a size!");
      ddSize.focus();
      return;
    }
    itemId = $('#size_'+productId).val();
  }
  
  //ShowLoading();
    
  var qty = $('#txtQty_'+productId).val();
  //alert('qty = ' + qty);
  
  var url="AddToCart.php?itemId=" + itemId + "&qty=" + qty;
  //alert('url = ' + url);
  xmlhttp.open("GET", url, true);
  
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState==4) // Request complete
    {
      //alert("Response text = "+xmlhttp.responseText);
      $('#basketNumItems').html(xmlhttp.responseText);
      //HideLoading();
      ShowNotification("Item added to basket.", 1200, e);
    }
  }
  
  xmlhttp.send(null);
}

function GetXmlHttpObject()
{
  if (window.XMLHttpRequest)
  {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    return new XMLHttpRequest();
  }
  if (window.ActiveXObject)
  {
    // code for IE6, IE5
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
  return null;
}

function RemoveFromBasket(productId)
{
  if(confirm('Are you sure that you want to delete this item from your shopping basket?'))
  {
    $('#txtQty_'+productId).val('0');
    document.formBasket.submit();
  }
}


function Popup(url)
{
  popup = window.open(url, 'popup', 'width=700,height=450,scrollbars=1');
  if(window.focus) popup.focus();
  return false;
}

//e.g. AddNameValueToQueryString("a", "s", "a=1&b=2&c=3") returns "a=s&b=2&c=3" 
//e.g. AddNameValueToQueryString("a", "s", "b=2&c=3") returns "b=2&c=3&a=s" 
function AddNameValueToQueryString(name, value, str)
{
  var pos, str_left, str_right;
  
  regexp = new RegExp('(^|&)' + name + '=[^&]*', 'g');
  pos = str.search(regexp);
  
  if(pos != -1)
  {
    str_left = str.substr(0, pos + 1);
    
    if(str_left.substr(str_left.length - 1 == "&"))
      str_left = str.substr(0, str_left.length - 1);
      
    str_right = str.substr(pos + 1 + RegExp["$&"].length);
    
    str = AddToQueryString('', str_left);
    str = AddToQueryString(str, str_right);
    str = AddToQueryString(str, name + '=' + value);
  }
  else
    str = AddToQueryString(str, name + '=' + value);

    
  return str;
}


function AddToQueryString(query_string, str)
{
  if(query_string.length > 0)
  {
    if(str.length > 0)
      query_string += '&' + str;
  }
  else
    query_string += str;
    
  return query_string;
}

// Form validations
function NumbersOnly(e)
{
  var keycode = e.charCode ? e.charCode : e.keyCode;
  if (keycode == 8 || //backspace
      keycode == 37 || //left
      keycode == 39 || //right
      keycode == 46 || //del
      (keycode >= 48 && keycode <= 57)) {
    return true;
  }
  return false;
}