var makeRequest = function(rID, url, strElement,oc) {
	new Ajax.Request(url, {
		method: 'get',
		parameters: rID + '&dummy=' + new Date().getTime(),
		onComplete: function(retObj) {
			$(strElement).innerHTML = retObj.responseText;
			if(oc){oc();}
		}
	});
}

var lotAdjust = function(pid,lot,qty){
		if(lot > 1){
                 var mod = qty % lot; 
                 if(mod){
                  qty = (+qty) + (lot - mod);
                   if($('items['+pid+']') != undefined){
                  	$('items['+pid+']').value = qty;
		    }else if($(pid+'_qty') != undefined){
			$(pid+'_qty').value = qty;
		    }
		 }
               }
               return qty;

}

var updateCart = function(pid,lot,qty) {
	qty = lotAdjust(pid,lot,qty);
	new Ajax.Request('cart_update.php', {
		method: 'get',
		parameters: 'add_item=' + pid + '&qty=' + qty + '&lot=' + lot + '&dummy=' + new Date().getTime(),
		onComplete: function(retObj) {
			val = retObj.responseText.split('|');
			if($('cart')){
			new Effect.Highlight('cart',{startcolor:'#FFFF99', endcolor:'#FFFFEE',restorecolor:'#FFE'})
			new Effect.Highlight(pid + '_box', {startcolor:'#222222', endcolor:'#000000',restorecolor:'#000'})		
			new Ajax.Updater('cart', 'module.php', {
 				 parameters: { id: 2 , refresh: 'yes' }
			});

			}else{
			new Effect.Highlight('cart_total')
			new Effect.Highlight(pid + '_row')
			$('cart_total').innerHTML = val[0];
			$(pid + '_cost').innerHTML = val[1];
			if($(pid + '_qty').value == false){$(pid + '_row').hide()}
		}
		}
	});
}

var updateGroup = function(prod_frm) {
	new Ajax.Request('cart_update.php', {
		method: 'get',
		parameters:  $(prod_frm).serialize() + '&dummy=' + new Date().getTime(),
		onComplete: function(retObj) {
			new Effect.Highlight('cart',{startcolor:'#FFFF99', endcolor:'#FFFFEE',restorecolor:'#FFE'})
			//new Effect.Highlight(pid + '_box', {startcolor:'#222222', endcolor:'#000000'})		
			new Ajax.Updater('cart', 'module.php', {
 				 parameters: { id: 2 , refresh: 'yes' }
			});
		}
	});	
}		
			
var switchCart = function(cart_id) {
	new Ajax.Request('cart_update.php', {
		method: 'post',
		parameters: 'cart_id=' + cart_id+ '&dummy=' + new Date().getTime(),
		onComplete: function(retObj) {
			window.location = '?a=25';
		}
	});
}

function chkQty(e,pid,lot,qty){
	var keynum;
	var keychar;
	var numcheck;
	e = e || window.event;
	keynum  = e.keyCode || e.which;
	keychar = String.fromCharCode(keynum);
	if(keynum == '13'){
		updateCart(pid,lot,qty); 
		return false;
	}else if(keynum == '8' || keychar == '\t' || keynum == '37'|| keynum == '39'){
		return true;
	}else{
	numcheck = /\d/;
	return numcheck.test(keychar);
	}
}

var tc=0;
var p=0;
var base;
var cartInView = function(){
//base = $('lmenu').getDimensions().height + $('lmenu').cumulativeOffset().top ;
	var diff = document.viewport.getScrollOffsets().top + 5 - base;
	if(diff < 0){diff = 0;}
	if(tc>15){
		if(diff > 0 && p < diff  && $('cart').cumulativeOffset().top + $('cart').getHeight() < $('right').cumulativeOffset().top + $('right').getHeight()){
			var i = ((diff-p) / 10).ceil();
			p+= i;
			$('cart').setStyle({
 			marginTop: p+5+'px'
			})
		}else if(p>0 && p > diff){
			var i = ((p - diff) / 10).ceil();
			p-= i;
			if(p<0){p=0}
			$('cart').setStyle({
 			marginTop:  p+5+'px'
			})
		}else{
			tc=0;
		}
	}
	tc++;
	
}
var verify = function(url,msg){
	if(!url){
		if($('msg_box').visible()){
		$('msg_box').toggle();
		}
	}else{
		box_c = msg+"<br /><br /><input type='button' value='Yes' onclick=\"window.location ='"+url+"'\" />&nbsp;&nbsp;";
		box_c += "<input type='button'  value='Cancel' onclick='verify()' />";
		$('msg_box').innerHTML = box_c;
		if(!$('msg_box').visible()){
		$('msg_box').toggle();
		}
	}
	return false;
}

var inView = function(element){
	var elemSize = $(element).getDimensions();
	var windowPos = document.viewport.getScrollOffsets();
	var windowSize = document.viewport.getDimensions();
	var mTop = windowSize.height / 2 - elemSize.height / 2 + windowPos.top;
	var mLeft = windowSize.width / 2 - elemSize.width / 2;
		$(element).setStyle({
 		top: mTop+'px',
 		left: mLeft + 85 + 'px'
		})
}

	
Event.observe(window, 'load', function() {
if($('cart')){
base = $('cart').cumulativeOffset().top;
setInterval("cartInView()",50);
Event.observe(window, 'scroll', function() {
tc=0;
});
}
inView('msg_box');
//setInterval("inView('msg_box')",40);
Event.observe(window, 'scroll', function() {
inView('msg_box');
});
});	