String.prototype.trim = function(){return this.replace(/(^\s*)|(\s*$)/g, "");};
String.prototype.startsWith = function(str){return this.substring(0,str.length)==str;};
String.prototype.endsWith = function(str){return this.lastIndexOf(str)==this.length-str.length;};
String.prototype.pad = function(l, s, t){
	return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
		+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
		+ this + s.substr(0, l - t) : this;
}

var timeout	= 500, ddm_show_timer = 0, ddm_hide_timer = 0;
var closetimer = 0;
var ddmenuitem = 0;
function hideDropDowns(tab, no_delay) {
	if (ddm_show_timer){window.clearTimeout(ddm_show_timer); ddm_show_timer = 0;}
	//var exit_ddmenuitem = tab? document.getElementById('dropdown' + tab): ddmenuitem;
	//if(exit_ddmenuitem){
		//console.log("hide "+ tab +", "+ no_delay);
		var t = no_delay? 0: 500;
		if (t){ddm_hide_timer = window.setTimeout("hideDropDowns("+ tab +",true);", t); return;}
		else if (ddm_hide_timer){window.clearTimeout(ddm_hide_timer); ddm_hide_timer = 0;}
		
		if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
		
		if (no_delay){
			var NewImage;
			for (var i=1; i<13; i++){
				if (document.getElementById('tab' + i)){
					if (document.getElementById('tab12')){
						newImage = "url(../images/TG/bg_nav_li_a.png)";
					} else {
						newImage = "url(../images/GO/cat_downarrow.gif)";
					}
					document.getElementById('tab' + i).style.backgroundImage = newImage;
				}
			}
		}
		ddmenuitem = null;
	//}
}
function showDropDown(tab,t) {
	//console.log("show "+ tab +", "+ t);
	var new_ddmenuitem = document.getElementById('dropdown' + tab);
	
	if (ddm_hide_timer && new_ddmenuitem === ddmenuitem){window.clearTimeout(ddm_hide_timer); ddm_hide_timer = 0;}
	else if (new_ddmenuitem !== ddmenuitem) hideDropDowns(null, true);
	
	if (new_ddmenuitem === ddmenuitem) return;
	
	if (t){ddm_show_timer = window.setTimeout("showDropDown('"+ tab +"');", t); return;}
	else if (ddm_show_timer){window.clearTimeout(ddm_show_timer); ddm_show_timer = 0;}
	
	ddmenuitem = new_ddmenuitem;
	
	ddmenuitem.style.visibility = 'visible';
	if (document.getElementById('newslett')) {
		var newImage = "/images/TG/bg_emailblock_off.jpg";
		document.getElementById('newslett').src = newImage;
	}
	var newImage = "url()";
	document.getElementById('tab' + tab).style.backgroundImage = newImage;
}

function showEmailBlock() {
	ddmenuitem = document.getElementById('emailblock');
	ddmenuitem.style.visibility = 'visible';
	var newImage = "/images/TG/bg_emailblock_on.jpg";
	document.getElementById('newslett').src = newImage;
}
function hideEmailBlock() {
	ddmenuitem = document.getElementById('emailblock');
	ddmenuitem.style.visibility = 'hidden';
	var newImage = "/images/TG/bg_emailblock_off.jpg";
	document.getElementById('newslett').src = newImage;
}
function showMoreViewed () {
	document.getElementById('moreViewed').style.display = 'block';
	document.getElementById('moreLink').style.display = 'none';
}
function isEmpty(fld){
	return ! (fld 
  		&& ( (typeof(fld)=="string" && fld.length) || (typeof(fld)=="object" && fld.value.length) )
	);
}
function isNotEmpty(fld){
	return ! isEmpty(fld);
}
function alltrim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;   
}
function isEmail(mailvalue) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mailvalue))
	{	return (true)
	}
	return (false)
}

var util = new function(){
	var swf_v_player;
	var swf_v_player_canvas = {backgroundColor:"#E3ECED"};
	//var swf_v_player_screen = {width:640, height:480};
	var swf_v_player_controls = {
		all: false, play: true, time: false, scrubber: true, mute: false, volume: false, fullscreen: false,
		sliderGradient: 'none', sliderColor: '#BFD4D7', progressColor: '#AEC8CC', progressGradient: 'none',
		volumeSliderGradient: 'none', volumeSliderColor: '#000000',
		backgroundGradient: 'none', backgroundColor: 'transparent',
		borderRadius: 20,
		height: 25,
		opacity: 1
	};
	var swf_v_player_plugins = {
		//controlbar: null
		controls: swf_v_player_controls
	};
	
	this.do_video_init = function(obj){
		if (typeof(obj)=="object" && !swf_v_player.initPlay) setTimeout("util.do_video_init(0)", 300);
		else {//alert(clip.initPlay);
			//var clip = swf_v_player.getClip(0);
			if (!swf_v_player.initPlay) swf_v_player.pause();
			swf_v_player["initPlay"] = true;
			//clip.update({autoPlay:false, initPlay:true});
		}
	};
	
	this.add_flash_video = function(node_id, url, initPlay, COMPANYWEB){
		if(!this.flash_video_ok())return false;
		switch (COMPANYWEB){
			case "TG":swf_v_player_canvas.backgroundColor = "#E3ECED"; break;
			case "GO":swf_v_player_canvas.backgroundColor = "#F8EFDC"; break;
			case "KM":swf_v_player_canvas.backgroundColor = "#E6E6E6"; break;
		}
		swf_v_player = flowplayer(node_id, "/flash/flowplayer-3.1.2.swf", {
			clip: {autoPlay: true, scaling: "fit", onStart: this.do_video_init},
			canvas: swf_v_player_canvas, plugins: swf_v_player_plugins
		});
		swf_v_player["initPlay"] = initPlay? true: false;
		swf_v_player.play({url: url});
		return true;
	};
	
	this.set_flash_video = function(node_id, url, initPlay){
		if(!this.flash_video_ok())return false;
		swf_v_player.stop();
		swf_v_player["initPlay"] = initPlay? true: false;
		swf_v_player.play({url: url});
		return true;
	};
	
	this.show_flash_video = function(node_id){	//use to avoid display toggle glitches in firefox
		document.getElementById(node_id).style.display="block";
		document.getElementById(node_id).style.height="auto";
		if(swf_v_player){swf_v_player.show(); swf_v_player.resume();}
	};
	
	this.hide_flash_video = function(node_id){	//use to avoid display toggle glitches in firefox
		if(swf_v_player){swf_v_player.pause(); swf_v_player.hide();}
		document.getElementById(node_id).style.height="0px";
	};
	
	this.flash_video_ok = function(){
		if (typeof(flowplayer)=="undefined"){alert("A flash video player is not installed!");return false;}else return true;
	};
	
//end util
};
function MovetoCart()
{
	var frm = document.getElementById("frmwishlist");
	frm.action = "/buywishlist.asp";
	frm.submit();
}
function DeleteWishList()
{
	var r = confirm("Would you like to remove the selected item(s) from your Wish List?");
	if (r == true)
	{
		var frm = document.getElementById("frmwishlist");
		frm.action = "/mywishlist-del.asp";
		frm.submit();
	}
}
function newSearch() {
	var form = document.forms["frmSearch"];
	if (form.keyword.value.toLowerCase().trim().startsWith("enter an item")){
		alert("Please enter a keyword or item number before continuing.");
		return false;
	}
}