var http = getObject();

function addToCart(id)
{
	var url = "addToCart.php?id=" + id;
	
	
	var data = "id=" + id;
	var onprocess= function(event){};
	var onfailure= function(event){};
	var onsuccess= function(event){
		
		if (event.responseText == "TRUE")
		{
			
			var menu = find('masterLinks');
			
			ajax("pagelets/corelinks.php","",onprocess,function(event){
				menu.innerHTML = event.responseText;
				messageBox("The item has been added to your shopping cart.","your shopping cart");
			},onfailure);
		} else
		{
			
		}
	
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
}




function messageBox(message,title)
{
	if (typeof(title)=="undefined")
	{
		title = "untitled dialog";
	}
				var x = window.document.body.clientWidth;
				var dialogX = 350;
				var dialogPosX = (x/2) - (dialogX / 2);
				//positionDialog();
				var log = $('msgBox');
				var fx = new Fx.Styles(log, {
						duration: 700,
						wait: false,
						transition: Fx.Transitions.Quad.easeOut
				});
				log.setHTML("<h4>" + title + "</h4><p>" + message + "</p>");
				fx.start({
					'background-color': ['#000', '#626262'],
					'left': dialogPosX
					
					
				}).chain(function()
					{
						this.start({
							'opacity': [0, 1]
						});
					}
				).chain(function()
					{
						this.start.delay(2000,this,{
							'background-color': ['#626262','#000'],
							
							'opacity': [1, 0]
						});
					}
				);
				
}

function positionDialog()
{

				//var x = window.document.body.clientWidth;
				var size = getWindowSize();
				var x = size[0];
				var dialogX = 250;
				var dialogPosX = (x/2) - (dialogX / 2);
				
				var log = find('msgBox');
				//alert(log);
				log.left = dialogPosX;
				
				
}

function getWindowSize()
{
	 
	 var arr = new Array();
	 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	 
	 if (typeof window.innerWidth != 'undefined')
	 {
		  arr[0] = window.innerWidth;
		  arr[1]  = window.innerHeight;
	 }
	 
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	
	 else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
	 {
		   arr[0]  = document.documentElement.clientWidth;
		   arr[1] = document.documentElement.clientHeight;
	 }
	 
	 // older versions of IE
	 
	 else
	 {
		   arr[0] = document.getElementsByTagName('body')[0].clientWidth;
		   arr[1] = document.getElementsByTagName('body')[0].clientHeight;
	 }
	 
	 return arr;
}



function ajax(url,data,onProcess,onSuccess,onFailure)
{
	url = url + "?" + data;
	http.open('GET',url,true);
	
	http.onreadystatechange = function()
	{
		
		if (http.readyState==4)
		{
			
			if (http.status==0 || (http.status >= 200 && http.status < 300))
				onSuccess(http);
			else
				onFailure(http);
		} else
		{
			onProcess(http);
			
		}
	}
	http.send(null);
}
	
function getObject()
{
	var ro;
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		ro =  new ActiveXObject("Microsoft.XMLHTTP");
	}else
	{
		ro = new XMLHttpRequest();
	}
	return ro;
}

function updateCartItemSize(id,sizeField)
{
	var newVal = sizeField.options[sizeField.selectedIndex].value;
	
	updateCart(id,"p",newVal);
}

function updateCart(id,mode,newVal)
{
	var url = "updateCartItem.php?id=" + id + "&section=" + mode + "&val=" + newVal;
	var data = "";
	var grandTotal = find('grandTotal');
	var onprocess= function(event){};
	var onfailure= function(event){};
	var onsuccess= function(event){
		//alert(event.responseText);
		ajax("cartTotal.php",data,onprocess,function(event){
											grandTotal.innerHTML = event.responseText;
											},onfailure);
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
	
	
}

function updateShipping(sizeField)
{
	var shipping = sizeField.options[sizeField.selectedIndex].value;
	
	var url = "updateCartItem.php?shipping&val=" + shipping;
	var data = "";
	var grandTotal = find('grandTotal');
	var onprocess= function(event){};
	var onfailure= function(event){};
	var onsuccess= function(event){
		//alert(event.responseText);
		ajax("cartTotal.php",data,onprocess,function(event){
											grandTotal.innerHTML = event.responseText;
											},onfailure);
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
}

function updatePersonalInfo(frm)
{
	var first = document.frm.elements["first"].value;
	var last = document.frm.elements["last"].value;
	var email = document.frm.elements["email"].value;
	
	var url = "updateInformation.php?engage&personal&first=" + first + "&last=" + last + "&e=" + email;
	var data = "";

	var onprocess= function(event){};
	var onfailure= function(event){messageBox("We cannot process your request at this time.","update status");};
	var onsuccess= function(event){
		messageBox(event.responseText,"update status");
		
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
	return false;
}

function resetPassword(frm)
{
	var first = document.frm.elements["new"].value;
	var last = document.frm.elements["confirm"].value;
	
	
	var url = "updateInformation.php?engage&reset&new=" + first + "&confirm=" + last;
	var data = "";

	var onprocess= function(event){};
	var onfailure= function(event){messageBox("We cannot process your request at this time.","password reset");};
	var onsuccess= function(event){
		messageBox(event.responseText,"password reset");
		
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
	return false;
}

function updatePassword(frm)
{
	var first = document.frm.elements["new"].value;
	var last = document.frm.elements["confirm"].value;
	
	
	var url = "updateInformation.php?engage&password&new=" + first + "&confirm=" + last;
	var data = "";

	var onprocess= function(event){};
	var onfailure= function(event){messageBox("We cannot process your request at this time.","password change");};
	var onsuccess= function(event){
		messageBox(event.responseText,"password change");
		
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
	return false;
}

function deleteAccount()
{

	
	
	var url = "updateInformation.php?engage&deleteAccount=true";
	var data = "";

	var onprocess= function(event){};
	var onfailure= function(event){messageBox("We cannot process your request at this time.","account deletion");};
	var onsuccess= function(event){
		if (event.responseText=="True")
		{
			location.href="logoff.php";
		} else
		{
			messageBox(event.responseText,"account deletion");
		}
		
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
	return false;
}

function updateCartItemQuantity(id,sizeField)
{
	var newVal = sizeField.options[sizeField.selectedIndex].value;
	
	updateCart(id,"q",newVal);
}

function addToLightbox(id)
{
	var url = "lightboxAjax.php?id=" + id;
	var data = "";
	
	var onprocess= function(event){};
	var onfailure= function(event){};
	var onsuccess= function(event){
		//alert(event.responseText);
		messageBox(event.responseText,"my lightbox");
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);
}

function removeItem(id)
{
	var table = find('shoppingCart');
	var url = "deleteItem.php?id=" + id;
	var data = "";
	var onprocess= function(event){
		//table.empty();
		table.innerHTML="<br/><br/>";
		table.className = "loader";
	};
	var onfailure= function(event){};
	var onsuccess= function(event){
		
		url = "pagelets/cartTable.php?returnAjax=true";
		ajax(url,data,onprocess,function(event) {
			//table.empty();
			table.innerHTML="";
			table.className = "";
			table.innerHTML = event.responseText;
			messageBox("The item has been removed from your shopping cart.","item removed");
			}
		,onfailure);
	};
	
	ajax(url,data,onprocess,onsuccess,onfailure);

}


