 /* AJAX Calculate Prices
    Author: GC Web Studio - Gustavo Campos me@guscampos.com
  */		
  function windowsLoaderAdd(func) {
				windowsLoader[windowsLoader.length] = func;
			}
			function windowsLoadFunc() {
				for(i=0;i<windowsLoader.length;i++) {
					eval(windowsLoader[i]);
				}
			}
			function loadFunc() {
				window.onload = windowsLoadFunc;
			}
			windowsLoader = new Array();

			dom = {  
			  
			  winSize: function() {
				  
				var de = document.documentElement;
				var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
				var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
				return [w,h];

			  },
				
			  elementSize: function(element) {				  
				var dimensions = $(element).getDimensions(); 
				var w = dimensions.width; 
				var h =  dimensions.height;
				return [w,h];
			  },
			  
			  scrollXY: function() {
				  
				  var scrOfX = 0, scrOfY = 0;
				  if( typeof( window.pageYOffset ) == 'number' ) {
					//Netscape compliant
					scrOfY = window.pageYOffset;
					scrOfX = window.pageXOffset;
				  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
					//DOM compliant
					scrOfY = document.body.scrollTop;
					scrOfX = document.body.scrollLeft;
				  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
					//IE6 standards compliant mode
					scrOfY = document.documentElement.scrollTop;
					scrOfX = document.documentElement.scrollLeft;
				  }
		
					return [scrOfX,scrOfY];
				  
			  },
			  
			  moveDiv: function(what) {
				var div = $(what);
				if (event == null)
					event = window.event;
					
				var target = event.target != null ? event.target : event.srcElement;
				var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
				var scrollLeft = document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft;	
				div.style.left = (event.clientX + scrollLeft) - 205 + 'px';
				div.style.top = event.clientY + scrollTop + 5 + 'px';  
			  },

			  
			  getPrice:function(mode) {
				  	
					if($('form_pricing').print_colors.value == '') { 
						return false;
					}
					
					var formVals = Form.serialize($('form_pricing'));
					new Ajax.Request('/js/ajax/dom.php?action=getQuote&'+formVals+'&mode='+mode, 
						{   method: 'post',
						
							onSuccess: function(transport) {   
								  
								 var output = transport.responseText || 'Error 1';		
								 $('price').show();
								 $('price').innerHTML = output;	
							},
								
							onLoading: function() {
								$('price').innerHTML = '<img src="/images/loading.gif" border="0">';							
								
							},
							
							onLoaded: function() {
								var output = transport.responseText || '0';									
								
							},
							onFailure: function() { alert('Error'); } 
						}
					 ); 
				},
				
				cartDelete:function(id) {
				  	
					new Ajax.Request('/js/ajax/dom.php?action=cartDelete&id='+id, 
						{   method: 'post',
						
							onSuccess: function(transport) {   								  
								 var output = transport.responseText || 'Error 1';	
								 document.location.href='/cart.php';
								 
							},
								
							onFailure: function() { alert('Error'); } 
						}
					 ); 
				},
				
				getUPS:function() {
					 $('ratesUPS').hide();
					 if($('form_ups').zip.value == '' || $('form_ups').zip.length == 5) {
						alert("Please enter a valid US zip code");	
						return false;
					 }
					 $('ratesUPS').show();
					 $('ratesUPS').innerHTML = '<img src="/images/loading.gif" border="0">';	
					 new Ajax.Updater('ratesUPS','/js/ajax/dom.php?action=getUPS&zip='+$('form_ups').zip.value,{asynchronous:true});  

				},
				
				updateCartTotal:function() {
					 $('cartTotal').innerHTML = '<img src="/images/loading.gif" border="0">';
					 new Ajax.Updater('cartTotal','/js/ajax/dom.php?action=updateCartTotal&class_id='+$('form_ups').shipping_method.value,{asynchronous:true});    
				},
				
				startQuote:function(run_size) {
					if($('form_pricing').product.value != '') { 
						$('prices').show();
						$('prices').innerHTML = '<img src="/images/loading.gif" border="0">';
						new Ajax.Updater('prices','/js/ajax/dom.php?action=startQuote&product='+$('form_pricing').product.value+'&run_size='+run_size,{asynchronous:true}); 
					} else {
						$('prices').hide();
					}
				},
				
				getColors:function(mode) {

					$('colors').show();
					$('colors-cbo').innerHTML = '<img src="/images/loading.gif" border="0">';
					new Ajax.Updater('colors-cbo','/js/ajax/dom.php?action=getColors&run_size='+$('form_pricing').run_size.value+'&mode='+mode,{asynchronous:true}); 	
						
				},
				applyCoupon:function() {
					 $('cartTotal').innerHTML = '<img src="/images/loading.gif" border="0">';
					 new Ajax.Updater('cartTotal','/js/ajax/dom.php?action=applyCoupon&coupon_code='+$('coupon').value,{asynchronous:true});    
					 dom.updateCartTotal();
				},
				
				 //Fade in/out scroller by Gustavo Campos - www.gcwebstudio.com
				  //requires prototype.js
				  //if no prototype is found, change $('loungeCont' + w) to document.getElementById('loungeCont' + w);
				  //free for everyone to use
				  
				  currPanel : 1,
				  nextPanel : 1,			  
				  panelTimer : null,
				  panelDelay : 5,
				  panelSpeed : 10, 
				  panelButtons : false,
				  panelTotal : 0,

				  fadeIn: function(w,m) {
					 
					   var c;				   
					   var opacity = 0;
					   var timer = 0;
					   var speed = Math.round(500/100);
					   c = $('loungeCont' + w);
					   if(dom.panelButtons) {
						   b = $('spot' + w);
					   }
					   
					   $('loungeCont' + dom.currPanel).hide();
					   if(dom.panelButtons) {
						   $('spot' + dom.currPanel).removeClassName('ison');
					   }
					   c.style.opacity = opacity; 
					   c.style.MozOpacity = opacity; 
					   c.style.KhtmlOpacity = opacity; 
					   c.style.filter = "alpha(opacity="+opacity+")"; 
					   c.show();
					   if(dom.panelButtons) {
						   b.addClassName('ison');
					   }
								   
					   for(i=0;i<=100;i++) {
						   setTimeout("dom.showIt("+i+","+w+")",(timer*speed));
						   timer++;
					   }
					  
					  if(timer >= 100) { dom.currPanel = w;	}
					  if(m == 1) {
						  clearInterval(dom.panelTimer);
						  dom.initFades();
					  }
					 
				  },
				
				  showIt : function(o,w) {	
					var c;
					c = $('loungeCont' + w);
					c.style.opacity = (o / 100); 
					c.style.MozOpacity = (o / 100); 
					c.style.KhtmlOpacity = (o / 100); 
					c.style.filter = "alpha(opacity=" + o + ")"; 
				  },
				  
				  rotateFades: function() {
					var total = dom.panelTotal;
					if(total == 1) { return false; }
					if(dom.nextPanel == total) {
						dom.nextPanel = 1;
					} else {
						dom.nextPanel = dom.currPanel + 1;
					}
					dom.fadeIn(dom.nextPanel,2);
				
				  },
				  
				  initFades: function() {
					  dom.panelTimer = setInterval("dom.rotateFades()",(dom.panelDelay*1000));
				  }
				
			}