/**
 * check for valid numeric strings	
 */
function IsNumeric(strString) {
   //  check for valid numeric strings	
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
/**
 * check valid search strings	
 */
function searchProducts(thisform){

var sString = thisform.keywords.value;

sString = trimAll(sString);

	if(sString =='' || sString=='Product Search'){		
		thisform.keywords.value='';
		thisform.keywords.focus();
		return false;
	}
	else
	return true;
}
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;
}
/**
 * check valid email strings for newsletter sign up	
 */
function subscribe(thisform){

	if(thisform.email.value == '' || thisform.email.value == 'Your email here'){
	//alert("Please enter email address");
	thisform.email.focus();
	return false;
	}
	if(thisform.email.value){
		
		var filter=/^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]{2,5})+$/;

		if(!filter.test(thisform.email.value)){
			alert('Please enter valid email address');
			thisform.email.select();			
			return false;
		}

	}else
	return true;
}
 function floatValue(val){
		var i = parseFloat(val);
		if(isNaN(i)) { i = 0.00; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		i = parseInt((i + .005) * 100);
		i = i / 100;
		ss = new String(i);
		if(ss.indexOf('.') < 0) { ss += '.00'; }
		if(ss.indexOf('.') == (ss.length - 2)) { ss += '0'; }
		ss = minus + ss;
		
		return ss;
}

function slideShow() {

	//Set the opacity of all images to 0
	$('#gallery a').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	$('#gallery a:first').css({opacity: 1.0});
	
// 	//Set the caption background to semi-transparent
// 	$('#gallery .caption').css({opacity: 0.7});
/*
	//Resize the width of the caption according to the image width
	$('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});*/
	
	//Get the caption of the first image from REL attribute and display it
	$('#gallery .content').html($('#gallery a:first'))
	.animate({opacity: 0.7}, 400);
	
	//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('gallery()',3000);
	
}

function gallery() {
	
	//if no IMGs have the show class, grab the first image
	var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));

	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));	
	
	//Get next image caption
// 	var caption = next.find('img').attr('rel');	
	
	//Set the fade in effect for the next image, show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 3000)
	.removeClass('show');
	
	//Set the opacity to 0 and height to 1px
	$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });	
	
	//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
	$('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '100px'},500 );
}

function redirectToHome(){
document.location.href = "/";
}