	var xmlHttp;
	var requestType;
	var div;
	function createXMLHttpRequest() {
		if(window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if(window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();
		}
	
	}
	
	function startRequest( url, qry, type , divid) {
		div = divid;
		createXMLHttpRequest();
		xmlHttp.onreadystatechange = handleStateChange;
		xmlHttp.open(type, url, true);
		if(type == 'POST') {
			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
			xmlHttp.send(qry);
		} else {
			xmlHttp.send(null);
		}
	}
	
	function handleStateChange() {
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.status == 200) {
				document.getElementById(div).innerHTML = xmlHttp.responseText;
			}
		} else {
			document.getElementById(div).innerHTML = '<center>Loading...</center><br>';
		}
	}
	
	
	
	function showAlert(prod)
{
	var browser=navigator.appName;
	var version=navigator.appVersion;
	if((browser.indexOf("Microsoft") >= 0))
		var b='1';
	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("MSIE 7.0") >= 0))
		var b='2';
	if(b==1)
	{
		alert('The item you selected is either backordered, out of stock or unavailable, at this time. You may use our Item Tracking Feature to receive status notification emails for this item as the status changes. We apologize for any inconvenience.');
	}
	else
	{
		document.getElementById('alertBackGround').style.visibility="visible";
		document.getElementById('alertBackGround').style.display="block";
		document.getElementById('alertBoxBackGround').style.visibility="visible";
		document.getElementById('alertBoxBackGround').style.display="block";

		createAlertBackground('ALERT');
		document.getElementById('alertBoxAlert').innerHTML='The item you selected is either backordered, out of stock or unavailable, at this time. You may use our <a href="notifyme.php?product=' + prod + '">Item Tracking Feature</a> to receive status notification emails for this item as the status changes. We apologize for any inconvenience.<br /><br /><input  type="button" value="CLOSE" onclick="closeAlertBox()" />';
		var loc = alertGetCenter();
		document.getElementById('alertBoxContainer').style.top = loc.y - 150;
		document.getElementById('alertBoxContainer').style.left = loc.x - 210;
		document.getElementById('alertBackGround').style.width = loc.w;
		document.getElementById('alertBackGround').style.height = loc.h;
		document.getElementById('alertBoxBackGround').style.width = loc.w;
		document.getElementById('alertBoxBackGround').style.height = loc.h;
	}
}
function createAlertBackground(title)
{
	document.getElementById('alertBoxBackGround').innerHTML='<div class="alertBoxContainer" id="alertBoxContainer"><div id="alertBoxTitle">'+title+'</div><div id="alertBoxAlert"></div></div>';
}
function closeAlertBox()
{
	var browser=navigator.appName;
	var version=navigator.appVersion;
	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("6.") >= 0 && version.indexOf("7.")==0) )
		var b='1';
	if(b!=1)
	{
		document.getElementById('alertBoxAlert').innerHTML='';
		document.getElementById('alertBoxBackGround').innerHTML='';
		document.getElementById('alertBackGround').style.visibility="hidden";
		document.getElementById('alertBackGround').style.display="none";
		document.getElementById('alertBoxBackGround').style.visibility="hidden";
		document.getElementById('alertBoxBackGround').style.display="none";
	}
}

function alertGetCenter()
{
	var ns4=document.layers
	var ie4=document.all
	var ns6=document.getElementById&&!document.all
	var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
	var clientHeight;
	var clientWidth;
	var docTop;
	var docLeft;
	
	if (ie4) 
	{
		clientHeight = document.body.clientHeight;
		clientWidth = document.body.clientWidth;
		docTop = document.body.scrollTop;
		docLeft = document.body.scrollLeft;
	} 
	else if (ns4 || ns6)
	{
		clientHeight = window.innerHeight - 20;
		clientWidth = window.innerWidth - 20;
		docTop = window.pageYOffset;
		docLeft = window.pageXOffset;
	}
    
	var loc = new Object();
	loc.x = docLeft + clientWidth/2;
	loc.y = docTop + clientHeight/2;
	loc.w = clientWidth + docLeft;
	loc.h = clientHeight + docTop + 100;
	return loc;
}

var NUMBER = /^[\-]?\d*$/ ;
var REAL = /^[\-]?\d*\.?\d*$/;

var TEXTONLY = /^[a-zA-Z\.\-\s]*$/ ;
var PASSWORD = /^\w+$/ ;
var TEXT = /^[^<^>]*$/;

var DATE = /^(\d{1,2})\-(\d{1,2})\-(\d{4})$/;
var TIME = /^(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/;

var EMAIL = /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/;
var PHONE = /^[\d\s\-]+$/;

var OK = true;
var MESSAGE = "";


function showEMail ( username , domainname ) {
	document.write( username + '@' + domainname )
}

function showSendFriend ( type ) {
		document.getElementById('sendFriendBox').style.display = type;
}

function formChecker(f) {

	OK = true;
	MESSAGE = "";
	var i,x;
	var ok = true;
	i = f.elements.length;
	
	for (x=0;x<i;x++)
	{
		if(f.elements[x].attributes.getNamedItem('checkit'))
		{
			checkNow(f.elements[x]);
		}
	}
	if (!OK)
	{
		alert(MESSAGE);
	}
	return OK;
}

function checkNow(f)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	switch(type[0])
	{
			
		case "text":
			return checkString(f,TEXT);
			break;
			
		case "email":
			return checkString(f,EMAIL);
			break;

		case "match":
			return checkMatch(f);
			break;				
			
		case "radio":
			return checkRadio(f);
			break;	
			
		default:
			
	}
}

function checkString(f,regX)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');

	if (f.value == "")
	{
		return finish(f,type);
	}
		
	if(!regX.test(f.value))
	{
		return finish(f,type);
	}

	if (type[2])
	{
		var minimum = type[2];
		if ((f.value.length < parseInt(minimum)))
			return finish(f,type);
		else
			return true;
	}
	
}

function checkMatch(f)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	controlToMatch = type[2];

	if (f.value==document.getElementById(controlToMatch).value)
		return true;
	else
		return finish(f,type);
}

function checkRadio(f)
{
	var checked=false;
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	var inputs = document.getElementsByTagName ('input');
	if (inputs) 
	{
		for (var i = 0; i < inputs.length; ++i) 
		{
			if (inputs[i].type == 'radio' && inputs[i].name == f.name)
			if (inputs[i].checked)
			checked=true; 
		}
	}

	if (!checked)
		return finish(f,type);
}

function checkCounty(f)
{
	var checked=false;
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	if(f.selectedIndex<1)
	{
		checked=false;	
	}
	else
	{
		checked=true; 	
	}

	if (!checked)
		return finish(f,type);
}


function finish(f,type)
{
	MESSAGE += type[1] + "\n";
	OK=false;
	return false;
}



var offsetfrommouse=[15,25];
var displayduration=0; 

var defaultimageheight = 40;
var defaultimagewidth = 40;	

var timer;

function gettrailobj(){
if (document.getElementById)
return document.getElementById("preview_div").style
}

function gettrailobjnostyle(){
if (document.getElementById)
return document.getElementById("preview_div")
}


function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : 

document.body
}


function hidetrail(){	
	gettrailobj().display= "none";
	document.onmousemove=""
	gettrailobj().left="-500px"
	clearTimeout(timer);
}

function showtrail(imagename,title,width,height){
	i = imagename
	t = title
	w = width
	h = height
	timer = setTimeout("show('"+i+"',t,w,h);",200);
}
function show(imagename,title,width,height){
 
    var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth - 

offsetfrommouse[0]
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : 

Math.min(window.innerHeight)


		( width == 0 ) ? width = defaultimagewidth: '';
		( height == 0 ) ? height = defaultimageheight: '';
			
		width+=30
		height+=55
		defaultimageheight = height
		defaultimagewidth = width
	
		document.onmousemove=followmouse; 

		
		newHTML = '<div class="border_preview" style="width:'+  width +'px;height:'+ height +'px"><div id="loader_container"></div>';
		newHTML = newHTML + '<h3 class="title_h3">' + ' '+title + '</h3>'
    	newHTML = newHTML + '<div class="preview_temp_load"><img src="' + imagename + '" border="0"></div>';
		newHTML = newHTML + '</div>'; 
		
		if(navigator.userAgent.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf("Opera")==-1 ){
			newHTML = newHTML+'<iframe src="about:blank" scrolling="no" frameborder="0" width="'+width+'" height="'+height+'"></iframe>';
		}		

		gettrailobjnostyle().innerHTML = newHTML;
		gettrailobj().display="block";
}

function followmouse(e){

	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : 

Math.min(window.innerHeight)

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = e.pageX - xcoord - defaultimagewidth; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < defaultimageheight + 2*offsetfrommouse[1]){
			ycoord += e.pageY - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - defaultimagewidth; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (defaultimageheight + 2*offsetfrommouse[1])){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
	}
	gettrailobj().left=xcoord+"px"
	gettrailobj().top=ycoord+"px"

}

var t_id = setInterval(animate,20);
var pos=0;
var dir=2;
var len=0;

function animate()
{
var elem = document.getElementById('progress');
if(elem != null) {
if (pos==0) len += dir;
if (len>32 || pos>79) pos += dir;
if (pos>79) len -= dir;
if (pos>79 && len==0) pos=0;
elem.style.left = pos;
elem.style.width = len;
}
}

function remove_loading() {
this.clearInterval(t_id);
var targelem = document.getElementById('loader_container');
targelem.style.display='none';
targelem.style.visibility='hidden';
var t_id = setInterval(animate,60);
}