var loading_move = null;
var preview_move = null;
var xmlDoc_main = null;
var xmlDoc_cart = null;
var xmlDoc_register = null;
				
function GetXmlHttpObject()
	{
		var xmlHttp=null;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp= new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return xmlHttp;
	}
	
function process_request(cmd,tags,target)
	{
		//alert(cmd);
		if(cmd)
		{
			if(target == 'main' || target== 'preview' || target == 'register' || target == 'reminder')
			{
				show_loading();
			}
			else
			{
				show_loading_cart();	
			}
			//alert('Checking Registration');			
			xmlHttp = GetXmlHttpObject();
			if (xmlHttp==null)
			  {
				 alert ("Your browser does not support AJAX!");
				return;
			  } 
			url_temp = url+"&session="+session+"&cmd="+escape(cmd)+tags;
			//alert(url_temp);
			xmlHttp.onreadystatechange = change_content;
			xmlHttp.target = target;
			xmlHttp.open("GET",url_temp,true);
			xmlHttp.send(null);
		}
		//alert('Done '+xmlHttp.faq);
	}
		
function change_content()
	{
		if (xmlHttp.readyState==4)
		{
			//alert('We are back');
			if(xmlHttp.target == 'main')
			{
				xmlDoc_main = xmlHttp.responseXML.documentElement;
				document.getElementById("main_area").innerHTML = xmlDoc_main.getElementsByTagName("main_area")[0].firstChild.nodeValue;
				kill_loading();
			}
			else if(xmlHttp.target == 'preview')
			{
				kill_loading();
				xmlDoc_main = xmlHttp.responseXML.documentElement;
				place_quick_order(xmlDoc_main.getElementsByTagName("main_area")[0].firstChild.nodeValue);				
			}
			else if(xmlHttp.target == 'register')
			{
				kill_loading();
				xmlDoc_register = xmlHttp.responseXML.documentElement;
				res = xmlDoc_register.getElementsByTagName("response")[0].firstChild.nodeValue;
				mac = xmlDoc_register.getElementsByTagName("macks")[0].firstChild.nodeValue;
				validate_reg(res,mac);				
			}
			else if(xmlHttp.target == 'reminder')
			{
				kill_loading();
				xmlDoc_register = xmlHttp.responseXML.documentElement;
				res = xmlDoc_register.getElementsByTagName("response")[0].firstChild.nodeValue;
				mac = xmlDoc_register.getElementsByTagName("macks")[0].firstChild.nodeValue;
				validate_reminder(res,mac);				
			}
			else if(xmlHttp.target == 'redirect_cart')
			{
				window.location = root_url+'store/'+ref+'/cart';				
			}
			else
			{
				xmlDoc_cart = xmlHttp.responseXML.documentElement;
				total_items = parseInt(xmlDoc_cart.getElementsByTagName("cart_count")[0].firstChild.nodeValue);
				document.getElementById("cart_count").innerHTML = xmlDoc_cart.getElementsByTagName("cart_items")[0].firstChild.nodeValue;
				document.getElementById("shoppingcart").innerHTML = xmlDoc_cart.getElementsByTagName("cart")[0].firstChild.nodeValue;
				/*
				if(xmlDoc_cart.getElementsByTagName("cart_shipping")[0].firstChild)
				{
				document.getElementById("shoppingcart_ship").innerHTML = 'Shipping: '+xmlDoc_cart.getElementsByTagName("cart_shipping")[0].firstChild.nodeValue;
				}
				else
				{
				document.getElementById("shoppingcart_ship").innerHTML = '';	
				}
				*/
				document.getElementById("cart_total_span").innerHTML = xmlDoc_cart.getElementsByTagName("cart_total")[0].firstChild.nodeValue;
				checkout_button();
			}			
		}
	}

function checkout_button()
	{
		if(total_items > 0)	{ document.getElementById("checkout").style.display = 'inline';	document.getElementById("checkout").style.visibility = 'visible'; }
		else				{ document.getElementById("checkout").style.display = 'none';	document.getElementById("checkout").style.visibility = 'hidden'; }	
	}

function moveit()
{
	var height = (document.all) ? document.body.clientHeight : window.innerHeight;
	var width  = (document.all) ? document.body.clientWidth : window.innerWidth;
	var myScroll = (document.all) ? document.body.scrollTop : window.pageYOffset;
	var objCSS = getObject('main_cart');
	if (objCSS==null) return;

	oldtop = parseFloat(objCSS.style.top);
	if (!oldtop) // Come in from the bottom
	{
	oldtop =  height + (total_items*40);
	}

	newtop = (height + myScroll) - (total_items*40) - 95;

	objCSS.style.top = Math.round(newtop - (newtop - oldtop) * 0.8);
	objCSS.style.left = width - 202;
	objCSS.style.display = 'block';
	objCSS.style.visibility = 'visible';

	setTimeout("moveit()",40);

return;
}

function move_loading()
{
	var height = (document.all) ? document.body.clientHeight : window.innerHeight;
	var myScroll = (document.all) ? document.body.scrollTop : window.pageYOffset;
	var objCSS = getObject('loading');
	if (objCSS==null) return;

	oldtop = parseFloat(objCSS.style.top);
	if (!oldtop)
	{
	oldtop = 0;
	}

	newtop = (myScroll);

	objCSS.style.top = Math.round(newtop - (newtop - oldtop) * 0.8);
	objCSS.style.display = 'block';
	objCSS.style.visibility = 'visible';

	loading_move = setTimeout("move_loading()",40);

return;
}

function move_preview()
{
	var height = (document.all) ? document.body.clientHeight : window.innerHeight;
	var myScroll = (document.all) ? document.body.scrollTop : window.pageYOffset;
	var objCSS = getObject('preview');
	if (objCSS==null) return;

	oldtop = parseFloat(objCSS.style.top);
	if (!oldtop)
	{
	oldtop = 0;
	}

	newtop = (myScroll);

	objCSS.style.top = Math.round(newtop - (newtop - oldtop) * 0.8);
	objCSS.style.display = 'block';
	objCSS.style.visibility = 'visible';

	preview_move = setTimeout("move_preview()",40);

return;
}

function show_loading()
{
	document.getElementById('loading').style.top = (document.all) ? document.body.scrollTop : window.pageYOffset;
	move_loading();	
}

function kill_loading()
{
	clearTimeout(loading_move);	
	var objCSS = getObject('loading');
	objCSS.style.display = 'none';
	objCSS.style.visibility = 'hidden';
}

function show_loading_cart()
{
	total_items = 1;
	document.getElementById("shoppingcart").innerHTML = '<center><object type="application/x-shockwave-flash" data="'+cart_loading+'" width="160" height="40"><param name="movie" value="'+cart_loading+'" /><param name="wMode" value="transparent" /></object></center>';
	document.getElementById("cart_total_span").innerHTML = '0';	
}

function show_preview(tag,tick,nick)
	{
		document.getElementById('preview').style.top = (document.all) ? document.body.scrollTop : window.pageYOffset;
		move_preview();
		var html = '<table cellpadding="0" cellspacing="0" border="0">';
		html +='<tr><td style="text-align:right;" align="right"><a href="javascript: close_preview();">Close Preview [X]</a></td></tr>';
		html +='<tr><td><img src="'+tag+'" border="0"/></td></tr>';
		if(nick){		
		html +='<tr><td align="center"><a href="javascript: quick_order(\''+tick+'\',\'cart\')"><img src="'+root_url+'images/quickorder_but.jpg" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript: more_information(\'&item='+tick+'\')"><img src="'+root_url+'images/moreinfo_but.jpg" border="0" /></a></td></tr>';}
		html +='</table>';
		
		document.getElementById('preview_content').innerHTML  = html;
	}
	
function close_preview()
	{
		//document.getElementById('large_preview').style.display = 'none';
		document.getElementById('preview').style.display = 'none';
		document.getElementById('preview_content').innerHTML = '';
		clearTimeout(preview_move);
		preview_move = null;
	}

function quick_order(tag,target)
	{
		if(document.getElementById('preview').style.display != 'none'){close_preview();}
		process_request('item_quick','&target='+target+'&item='+tag,'preview');
		document.getElementById('preview').style.top = (document.all) ? document.body.scrollTop : window.pageYOffset;
	}
	
function get_register(tag)
	{
		if(document.getElementById('preview').style.display != 'none'){close_preview();}
		process_request('register','','preview');
		document.getElementById('preview').style.top = (document.all) ? document.body.scrollTop : window.pageYOffset;
	}
	
function check_register()
	{
		var mess = 'Please Check the Following:\n============================\n';
		var temp = mess;
		if(document.getElementById('reg_USER').value.length == 0){ mess += ' --> User\n';}
		if(document.getElementById('reg_EMAIL').value.length == 0){ mess += ' --> Email\n';}
		if(document.getElementById('reg_PASS').value != document.getElementById('reg_PASS2').value){ mess += ' --> Passwords do not match\n';}
		if(document.getElementById('reg_PASS').value.length < 6){ mess += ' --> Passwords must be longer than 6 characters\n';}
		
		if(mess == temp){ process_request('register_check','&USER='+escape(document.getElementById('reg_USER').value)+'&EMAIL='+escape(document.getElementById('reg_EMAIL').value),'register');}
		else{alert(mess); return false;}		
	}
	
function validate_reg(res,mac)
	{
		if(res == 'NONE' && mac == 'NONE')
		{document.getElementById('REGISTER').submit();}
		else if (mac == 'check')
		{
			nick = confirm(res); 
			if(nick)
			{
				close_preview();
				process_request('remember_do','&tid='+xmlDoc_register.getElementsByTagName("tid")[0].firstChild.nodeValue,'preview');
			}
			return false;		
		}
		else{alert(res); return false;}
	}
	
function get_forgotten(tag)
	{
		if(document.getElementById('preview').style.display != 'none'){close_preview();}
		process_request('reminder','','preview');
		document.getElementById('preview').style.top = (document.all) ? document.body.scrollTop : window.pageYOffset;
	}
	
function check_reminder()
	{
		var mess = 'Please Check the Following:\n============================\n';
		var temp = mess;
		if(document.getElementById('reg_EMAIL').value.length == 0){ mess += ' --> Email\n';}
		if(mess == temp){ process_request('reminder_check','&EMAIL='+escape(document.getElementById('reg_EMAIL').value),'reminder');}
		else{alert(mess); return false;}		
	}
	
function validate_reminder(res,mac)
	{
		if(mac == 'NONE')
		{
			document.getElementById('preview_content').innerHTML = res;
		}
		else{alert(res); return false;}
	}
	
function place_quick_order(tick)
	{
		move_preview();
		document.getElementById('preview_content').innerHTML = tick;
	}
	
function more_information(tick,bac)
	{
		if(!bac){bac = 'main';}
		if(document.getElementById('preview').style.display != 'none'){close_preview();}
		process_request('item','&back='+bac+'&item='+tick,'main');
	}

function cart_del_confirm(tag)
	{
		var sav = confirm('Please confirm the removal this Saved Cart.\n==========================\n\nDo you want to proceed with the removal?');	
		if(sav){window.location = root_url+'store/'+ref+'/delete_cart/'+tag}
		//else{return false;}
		
	}
	
function order_del_confirm(tag)
	{
		var sav = confirm('Please confirm the removal this Incomplete Order.\n==========================\n\nDo you want to proceed with the removal?');	
		if(sav){window.location = root_url+'store/'+ref+'/delete_order/'+tag}
		//else{return false;}
		
	}

function empty_cart()
{
	var con = confirm('WARNING!!!\n-----------------------------------\nYou are about to Empty the Shopping Cart\nPlease confirm your decision.');
	if(con == 1)
	{
		process_request('empty','','cart');	
	}
	return false;
}

function toggle_subs_filters(tar)
{
	if(document.getElementById(tar).style.display == 'inline')
	{	
		document.getElementById(tar).style.display = 'none';
		document.getElementById(tar+'_img').src = root_url+'images/expand.jpg';
	}
	else
	{	
		document.getElementById(tar).style.display = 'inline';
		document.getElementById(tar+'_img').src = root_url+'images/deexpand.jpg';
	}
}

function show_info(tig)
{
	//alert(tig);
	togglecla('descr_menu','item_area_menu_off'); 		togglecla('descr','item_area_hidden');
	togglecla('specs_menu','item_area_menu_off'); 		togglecla('specs','item_area_hidden');
	togglecla('additional_menu','item_area_menu_off'); 	togglecla('additional','item_area_hidden');
	//Show
	togglecla(tig+'_menu','item_area_menu_on'); 		togglecla(tig,'item_area_shown');
}

function sub_search()
	{
		//Set the last page login value
		//alert('Searching');
		document.getElementById('last').value = "search";
		var tags = 'brands:'; 
		var ticks = 0;
		for(i=1;i<brands.length;i++)
		{
			if(document.getElementById('brand_'+brands[i]).checked)
			{
				if(ticks != 0){ tags += '|';}
				tags += brands[i];
				ticks++;
			}	
		}
		//alert('Do Search - Brands Done '+tags);
		tags += '||options:';
		ticks = 0;
		for(i=1;i<option.length;i++)
		{
			if(document.getElementById('option_'+option[i]).checked)
			{
				if(ticks != 0){ tags += '|';}
				tags += option[i];
				ticks++;
			}	
		}
		
		temp = document.getElementById('sort');
		tags += '||sort:'+escape(temp[temp.selectedIndex].value);
		temp = document.getElementById('limit');
		tags += '||limit:'+escape(temp[temp.selectedIndex].value);
		//alert('Do Search - Option Done '+tags);
		process_request('search','&filters='+escape(tags),'main');
	}
	
function getObject(loobject)
{
	if (document.getElementById)
	{
		loobject = document.getElementById(loobject);
	}
	else if (document.all)
	{
		loobject = document.all.item(loobject);
	}
	else
	{
		loobject = null;
	}

return loobject;
}

function redo_total()
{
	
	var its  = document.getElementById('qt_vals').value.split('|');
	var cost = parseFloat(document.getElementById('qt_cost').value);
	//alert(cost);
	var tot = 0;
	for(i=0;i<its.length;i++)
	{
		if(document.getElementById('q'+its[i]).value.length > 0)
		{
			var mon = parseInt(document.getElementById('q'+its[i]).value);
			var inv = parseInt(document.getElementById('q'+its[i]+'_inv').value);
			//alert(mon);
			if(mon > inv)
			{
				var out = confirm('We are sorry.\nThe number you are request exceeds our current inventory for that size.\n Would you like to order the '+inv+' we have in stock?');
				//alert(out+' Confirmed');
				if(out){mon = inv;}
				else{mon = 0;}
			}
			document.getElementById('q'+its[i]).value = mon;
		}
		else
		{
			var mon = 0;	
		}
		
		document.getElementById('qt'+its[i]).innerHTML = '$'+formatAsMoney((mon*cost));
		tot = tot + (mon*cost);
	}
	document.getElementById('qt_main_total').innerHTML = '$'+formatAsMoney(tot);
}

function addtocart(tig,nick,target)
{
	var its  = document.getElementById('qt_vals').value.split('|');
	var stri = '';
	for(i=0;i<its.length;i++)
	{
		var amn = document.getElementById('q'+its[i]).value;
		stri += its[i]+':'+amn+'|';
	}
	if(nick){close_preview();}	
	process_request('add','&target='+target+'&item='+tig+'&items='+escape(stri),target);
}

window.onload = function() { 
		//alert('Here we are');
		if(show_cart){ checkout_button();	moveit(); }
		kill_loading();
	}

function formatAsMoney(mnt) 
{
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt) ) ? mnt + '.00' : ( (mnt*10 == Math.floor(mnt*10) ) ? mnt + '0' : mnt);
}

function togglecla(tabID,clas) 
{
	//alert(tabID+' Class Target');
	document.getElementById(tabID).className = clas;
	return false;
} 

function printable(url)
{
	window.open(url,'mywindow','width=710,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=no')
}

