String.prototype.trim = function() {
  return this.replace(/(^\s*)|(\s*$)/g,'');
}

function isValidEmailAddress(emailAddress) {
  return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddress.trim()));
}

var obj_border = new Array();
function valid_input(o, tab) {
  var buffer = '';
  var obj = '';
  var texte = '';
  var retour_tmp = '';
  for (var i = 0; i < tab.length; i++) {
	obj = o.elements[tab[i][0]];
	texte = tab[i][1];
	if(!tab[i][2]) { tab[i][2] = ''; }

	if(obj && obj.style && (obj.style.display != 'none')) {	//Vérifie que l'object existe bien
	  retour_tmp = true;
	  switch (obj.type) {
		case 'text' :
		case 'password' :
		case 'textarea' :
		  if ((obj.value == '') || (obj.value == tab[i][2])) { retour_tmp = false; }
		  break;
		case 'select-one' :
		  if (obj.selectedIndex <= 0) { retour_tmp = false; }
		  break;
		case 'checkbox' :
		  if (obj.checked == false) { retour_tmp = false; }
		  break;
		default :
		  switch (obj[0].type) {
			case 'radio' :
			  var checked = false;
			  for (var j = 0; j < obj.length; j++) {
			  	checked = obj[j].checked?true:checked;
			  }
			  if (checked == false) { retour_tmp = false; }
			  break;
	  }}
	  obj.className = (retour_tmp == false)?'invalidInput':'validInput';

	  if (retour_tmp == false) {

		if((buffer == '') && (obj.name != undefined)) {
		  obj.focus();
		}

		buffer += "- "+texte+"\n";
  }}}

  return buffer;
}


//Combo multiple sans Ctrl
//<select name="exemple" multiple="multiple" onMouseDown="GetCurrentListValues(this);" onchange="FillListValues(this);">
var arrOldValues;

function SelectAllList(CONTROL) {
  for(var i = 0;i < CONTROL.length;i++) {
	CONTROL.options[i].selected = true;
}}

function DeselectAllList(CONTROL){
  for(var i = 0;i < CONTROL.length;i++){
	CONTROL.options[i].selected = false;
}}

function FillListValues(CONTROL) {
  var arrNewValues;
  var intNewPos = -1;
  var strTemp = GetSelectValues(CONTROL);
  arrNewValues = strTemp.split(",");
  for(var i=0;i<arrNewValues.length-1;i++) {
	if(arrNewValues[i]==1) {
	  intNewPos = i;
  }}
  if(intNewPos == -1) { return; }

  for(var i=0;i<arrOldValues.length-1;i++) {
	if(arrOldValues[i]==1 && i != intNewPos){
	  CONTROL.options[i].selected= true;
	} else if(arrOldValues[i]==0 && i != intNewPos) {
	  CONTROL.options[i].selected= false;
	}

	if(arrOldValues[intNewPos]== 1) {
	  CONTROL.options[intNewPos].selected = false;
	} else {
	  CONTROL.options[intNewPos].selected = true;
}}}

function GetSelectValues(CONTROL) {
  var strTemp = "";
  for(var i = 0;i < CONTROL.length;i++) {
	if(CONTROL.options[i].selected == true) {
	  strTemp += "1,";
	} else {
	  strTemp += "0,";
  }}
  return strTemp;
}

function GetCurrentListValues(CONTROL) {
  var strValues = "";
  strValues = GetSelectValues(CONTROL);
  arrOldValues = strValues.split(",")
}
//Fin Combo multiple sans Ctrl

function getposOffset(what, offsettype) {
  var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
  var parentEl=what.offsetParent;
  while (parentEl!=null) {
	totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
	parentEl=parentEl.offsetParent;
  }
  return totaloffset;
}

var path = '.';
function maj_panier() {
  var jssrc = path+'/plv-mobilier/ajax_get_panier.php';
  importXML(jssrc, 'maj_panier_CallBack');			// lance la requête
}


function maj_panier_CallBack(xmlDoc) {
  /* Konqueror insists that the timer can keep running until there are 20 alerts (the file is still in the list of files to
	 be checked until at least one alert is dismissed), so I use a timer to delay the alert and allow my script to stop
	 checking the file */
  if( xmlDoc.documentElement && xmlDoc.documentElement.tagName && xmlDoc.documentElement.tagName.toUpperCase() == 'HTML' ) {
	setTimeout('alert(\'For no apparent reason, your browser has turned the clean XML into HTML based garbage.\\nScript aborted.\');',50); return;
  }

  var x = xmlDoc.getElementsByTagName('panier');
  for(i=0; i<x.length; i++) {
	var valueElm = x[i].getElementsByTagName("MONTANT_SOUS_TOTAL_HT").item(0);	  var value_montant_sous_total_ht = valueElm.firstChild.nodeValue;
	var valueElm = x[i].getElementsByTagName("NOMBRE_ARTICLE").item(0);	  var value_nombre_article = valueElm.firstChild.nodeValue;
  }

  if(document.getElementById('resum_panier_en')) {
	var buff = '<strong>&euro;'+value_montant_sous_total_ht+' excl. VAT<br />'+value_nombre_article+'</strong> item'+((value_nombre_article > 1)?'s':'');
	document.getElementById('resum_panier_en').innerHTML = buff;
  } else {
	var buff = '<strong>'+value_montant_sous_total_ht+' &euro; HT<br />'+value_nombre_article+'</strong> article'+((value_nombre_article > 1)?'s':'');
	document.getElementById('resum_panier').innerHTML = buff;
}}

if( window.addEventListener ) {
	window.addEventListener('load',maj_panier,false);
} else if( document.addEventListener ) {
	document.addEventListener('load',maj_panier,false);
} else if( window.attachEvent ) {
	window.attachEvent('onload',maj_panier);
}
