fixOffset = function(){
	if(!$('#modalContainer').length) return;
	if($.browser.msie){
		$('#modalContainer').css('top', (document.documentElement.scrollTop || document.body.scrollTop)+($(window).height()-$('#modalContainer').height())/2+'px');
		$('#modalContainer').css('left', (document.documentElement.scrollLeft || document.body.scrollLeft)+($(window).width()-$('#modalContainer').width())/2+'px');
	} else {
		$('#modalContainer').css('top', ($(window).height()-$('#modalContainer').height())/2+'px');
		$('#modalContainer').css('left', ($(window).width()-$('#modalContainer').width())/2+'px');
	}
};

var tprod = null;

function hideProduct() {
	tprod = window.clearInterval(tprod);
	$('#cart div.product').slideUp('fast');
}

function addToCart(id, count, elem) {
	showWaiting(elem);
	$.ajax({
		'url' : 'ajax.php?'+sessionID,
		'method' : 'get',
		'dataType' : 'json',
		'data' : {action: 'add', id : id, count : count},
		'success' : function(data) {
			if(data.status == 'ok') {
				tprod = window.clearInterval(tprod);
				$('#cart div.product').slideUp('fast')
									  .html(data.content)
									  .slideDown('fast');
				if(data.sum) {
					$('#pcart a.sum').html(data.sum);
				}
				tprod = window.setInterval('hideProduct()', 3000);
				hideWaiting(elem);
			}
		},
		'error' : function() {
			hideWaiting(elem);
		},
		'timeout' : function() {
			hideWaiting(elem);
		} 
	});
}

function addSubmit(id, field) {
	if($(field) && $(field).val() > 0) {
		addToCart(id, $(field).val(), field);
	} else {
		alert('Please enter quantity!');
	}
	return false;
}

function showWaiting(elem) {
	elem = $(elem);
	var tmp = elem.prev();
	if(!tmp.is('.waiting')) {
		tmp = elem.offset();
		elem.before('<img class="waiting" src="/images/waiting.gif" style="left:'+(tmp.left+elem.innerWidth()/2-10)+'px;top:'+tmp.top+'px;" />');
	}
}

function hideWaiting(elem) {
	var tmp = $(elem).prev();
	if(tmp.is('.waiting')) {
		tmp.remove();
	}
}



function showPopup(url,swidth,sheight) {
	var swidth = swidth||625;
	var sheight = sheight||625;
    var windowXpos = (screen.width - swidth) / 2;
    var windowYpos = (screen.height - sheight) / 2;

	popup=window.open(url,'popup','toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no,width='+swidth+',height='+sheight);
	popup.moveTo(windowXpos, windowYpos);
	popup.focus();
	return false;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);title = args[i+1];
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+title+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+title+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+title+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+title+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.returnValue = (errors == '');
}