// function from http://forums.devshed.com/t39065/s84ded709f924610aa44fff827511aba3.html// author appears to be Robert Pollardfunction sprintf(){   if (!arguments || arguments.length < 1 || !RegExp)   {      return;   }   var str = arguments[0];
   
   var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;   var a = b = [], numSubstitutions = 0, numMatches = 0;   while (a = re.exec(str))   {      var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];      var pPrecision = a[5], pType = a[6], rightPart = a[7];
      
      numMatches++;      if (pType == '%')      {         subst = '%';      }      else      {         numSubstitutions++;         if (numSubstitutions >= arguments.length)         {            alert('Error! Not enough function arguments (' + (arguments.length - 1)               + ', excluding the string)\n'               + 'for the number of substitution parameters in string ('               + numSubstitutions + ' so far).');         }         var param = arguments[numSubstitutions];         var pad = '';                if (pPad && pPad.substr(0,1) == "'") pad = leftpart.substr(1,1);           else if (pPad) pad = pPad;         var justifyRight = true;                if (pJustify && pJustify === "-") justifyRight = false;         var minLength = -1;                if (pMinLength) minLength = parseInt(pMinLength);         var precision = -1;                if (pPrecision && pType == 'f')                   precision = parseInt(pPrecision.substring(1));         var subst = param;
                  switch (pType)         {         case 'b':            subst = parseInt(param).toString(2);            break;         case 'c':            subst = String.fromCharCode(parseInt(param));            break;         case 'd':            subst = parseInt(param) ? parseInt(param) : 0;            break;         case 'u':            subst = Math.abs(param);            break;         case 'f':
         	if(precision > -1) {
         		 subst = Math.round(parseFloat(param) * Math.pow(10, precision)) / Math.pow(10, precision);
	             var strParam = String(subst);
	             if(strParam.indexOf('.') == -1) {
	             	rightPart += ".";
	             	for(var j=0; j<precision; j++)
	             		rightPart += "0";
	             } else {
	             	subst = String(strParam.substr(0, strParam.indexOf('.')));
	             	rightPart = strParam.substr(strParam.indexOf('.'), strParam.length);
	             	while(rightPart.length < (precision+1)) {
	             		rightPart += "0";
	             	}
	             }
             } else {
				subst = parseFloat(param);
             }            break;         case 'o':            subst = parseInt(param).toString(8);            break;         case 's':            subst = param;            break;         case 'x':            subst = ('' + parseInt(param).toString(16)).toLowerCase();            break;         case 'X':            subst = ('' + parseInt(param).toString(16)).toUpperCase();            break;         }
                  var padLeft = minLength - subst.toString().length;         if (padLeft > 0)         {            var arrTmp = new Array(padLeft+1);            var padding = arrTmp.join(pad?pad:" ");         }         else         {            var padding = "";         }      }      str = leftpart + padding + subst + rightPart;   }   return str;}

function open_zoom_product(product_id) {
	var c_date = new Date();
	window.open("zoom.php?p_id="+product_id, "popup"+c_date.getTime(), "directories=no, location=no, menubar=no, resizable= yes, scrollbars=yes, status=yes, toolbar=no, width=600, height=500");
}


function nothing(z) {
//	alert(z);
}

function open_popup(page) {
	var c_date = new Date();
	window.open(page+".php", "popup_"+page, "directories=no, location=no, menubar=no, resizable=no, scrollbars=yes, status=yes, toolbar=no, width=600, height=500");
}

function check_field() {
	var a_fact_forced_field = new Array('fact_prenom', 'fact_nom', 'fact_adresse', 'fact_cp', 'fact_ville', 'fact_telfix', 'fact_email');

	var a_livr_forced_field = new Array('livr_prenom', 'livr_nom', 'livr_adresse', 'livr_cp', 'livr_telfix', 'livr_ville');
	
	//check billing informations if necessary
	for(var i=0; i<a_fact_forced_field.length; i++) {
		if( document.getElementById(a_fact_forced_field[i]).value == '') {
			alert('Please fill all the required field for the billing address.');
			return false;
		}
	}
	//basic email checking
	if (document.getElementById('fact_email').value.search(/^.+@.+\..+$/)) {
     	alert("Please give a valid email address.")
     	return false;
    }

	//check shipping informations if necessary
	if(document.getElementById('other_addr').checked) {
		for(var i=0; i<a_livr_forced_field.length; i++) {
			if(document.getElementById(a_livr_forced_field[i]).value == '') {
				alert('Please fill all the required field for the shipping address.');
				return false;
			}
		}
	}
	return true;
}



function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
