
function validateProductToBasketForm(FormName,LangISO,LimitedQuantity) {
	// Geht von folgendem Formularaufbau aus:
    // Feld[0] = Menge
	// Feld[1] = Submit
	// Feld[2] = hidden ProductStock maxquan
	// Feld[3] = hidden ProductIdentifier
   if (!document.forms[FormName].elements[0].value) return false;
   var quanText = document.forms[FormName].elements[0].value;
   var maxqText = document.forms[FormName].elements[2].value;
   if (!quanText) { return false;}
   if (quanText=="") { return false;}
   if (quanText.match(/^[0-9]{1,3}$/)) {
	  var quanInt = parseInt(quanText);
	  var maxqInt = parseInt(maxqText);
	  if (quanInt > maxqInt) {
	    var ok=false;
		if (LimitedQuantity) {
		   if (LangISO=="DE") {
	          ok=alert('Ihre gewünschte Menge von diesem Artikel ist leider nicht verfügbar.');
		   } else {
	          ok=alert('Sorry, your requested quantity of this product is not available.');
		   }
           document.forms[FormName].elements[0].value='';
		   return false;
		}
		if (LangISO=="DE") {
	       ok=confirm('Ihre gewünschte Menge ist derzeit nicht auf Lager.\nDie Lieferzeit für Ihre Bestellung könnte sich dadurch verlängern.\nTrotzdem fortfahren?');
		} else {
	       ok=confirm('Your requested quantity is currently not in stock.\nDelivery time for your order might therefore become delayed.\nContinue?');
		}
		if (ok==true) {return true;} else {
            document.forms[FormName].elements[0].value='';
			return false;
		}		
	  } else return true;
   } else {
      document.forms[FormName].elements[0].value='';
      return false;
   }
}


function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function validateProductVariantsToBasketForm(FormName,LangISO,LimitedQuantity) {
	// Geht von folgendem Formularaufbau aus:
   // Feld[0,4,8...] = Menge
	// Feld[1,5,9...] = Submit 
	// Feld[2,6,10...] = hidden ProductStock = maxquan
	// Feld[3,7,11...] = hidden DisplayNo = CurrentSelection
	// Feld[length-1] = hidden ProductIdentifier
   if (document.forms[FormName].elements.length<5)  return false;
   var numVariants = (document.forms[FormName].elements.length-1)/4;
   var valuefound=false;
   for (var variant = 0; variant <numVariants; variant++) {
      if (!document.forms[FormName].elements[variant*4].value) continue;
      var quanText = document.forms[FormName].elements[variant*4].value;
      var maxqText = document.forms[FormName].elements[(variant*4)+2].value;
      var variantText = document.forms[FormName].elements[(variant*4)+3].name+"\n"+trim(document.forms[FormName].elements[(variant*4)+3].value);
      if (!quanText) continue;
      if (quanText=="") continue;
      if (quanText.match(/^[0-9]{1,3}$/)) {
         valuefound=true;
         var quanInt = parseInt(quanText);
         var maxqInt = parseInt(maxqText);
         if (quanInt > maxqInt) {
            var ok=false;
		    if (LimitedQuantity) {
		       if (LangISO=="DE") {
	              ok=alert(variantText+':\nIhre gewünschte Menge von diesem Artikel ist leider nicht verfügbar.');
		       } else {
	              ok=alert(variantText+':\nSorry, your requested quantity of this product is not available.');
		       }
               document.forms[FormName].elements[variant*4].value='';
		       return false;
		    }
            if (LangISO=="DE") {
               ok=confirm(variantText+':\nIhre gewünschte Menge ist derzeit nicht auf Lager.\nDie Lieferzeit für Ihre Bestellung könnte sich dadurch verlängern.\nTrotzdem fortfahren?');
            } else {
               ok=confirm(variantText+':\nYour requested quantity is currently not in stock.\nDelivery time for your order might therefore become delayed.\nContinue?');
            }
            if (ok==true) {continue;} else {
               document.forms[FormName].elements[variant*4].value='';
               return false;
            }		
        } else continue;
      } else {
         document.forms[FormName].elements[variant*4].value='';
         continue;
      }
   }
   if (valuefound==true) return true;
   else return false;
}

