function trim (myString)
{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 

function valideCode ( language )
{
	$('gtinText').value = trim( $('gtinText').value );
	//$('EPCText').value = trim( $('EPCText').value );
	/*if ( $('gtinText').value.length == 0 && $('EPCText').value.length == 0 )
	{
	   alert( 'Un des deux champs doit être renseigné' );
	}*/

	if ( isNaN( $('gtinText').value ) )
	{
	   if ( language == "EN")
		alert( 'GTIN have to be a number' );
	   else if( language == "FR" ) 
		alert( 'Le GTIN doit etre un nombre.' );
	   return;
	}
			
	/*if ( $('gtinText').value.length > 0 && $('EPCText').value.length > 0 )
	{
	   alert('On ne peut remplir un GTIN et un EPC en meme temps.');
	   return;
	}*/

	// Scan de code 2D => Séparation du GTIN et du N° Serie
	if ( $('gtinText').value.length >14 )
	{
	    var firstNum = ($('gtinText').value).substr(0, 2);

	    if( firstNum != "01" )
	    {
		    if ( language == "EN")
			    alert( "Entered Code does not have a valid format" );
		    else if ( language == "FR" )
			    alert( "Le Code rentré n'a pas le format valide pour la plateforme" );
		    return;
	    }

	    var gtin = ($('gtinText').value).substr(2, 14);
	    var secondNum = ($('gtinText').value).substr(16, 2);
	    var serial = "";
	    if (secondNum == "21")
	       serial = ($('gtinText').value).substr(18, 7);

	    $('gtinText').value = gtin;
	    $('serialText').value = serial;
	}

	// Scan de code GTIN => Ajout du 0 en prefixe
	if ( $('gtinText').value.length == 13 )
	   $('gtinText').value = 0 + $('gtinText').value;

	if ( $('gtinText').value.length != 14 && $('gtinText').value.length > 0 )
	{
	   if ( language == "EN")
	   	alert( "GTIN must have comprise 14 numbers" );
	   else if ( language == "FR" )
	   	alert( 'Le GTIN doit comporter 14 chiffres.' );

	   return;
	}

	/*if ( $('EPCText').value.length != 24 && $('EPCText').value.length > 0 )
	{ 
	   alert( 'L\'EPC code doit comporter 24 chiffres.' );
	   return;
	}*/

	if ( $('gtinText').value.length > 0 && !compareGtinKey( $('gtinText').value ) )
	{
	   if ( language == "EN")
	   	alert( "GTIN key is not correct" );
	   else if ( language == "FR" )
	   	 alert('La clé du Gtin est invalide');

	   return;
	}

	if ( $('gtinText').value.length > 0 )
	{
	   new Ajax.Updater( 'realContent', 'mod_ONS.php',  {method: 'post', parameters: {gtin: $('gtinText').value, serial: $('serialText').value}, evalScripts: true} );
	}
	/*else if ( $('EPCText').value.length > 0 )
	{
	   new Ajax.Updater( 'realContent', 'mod_ONS.php',  {method: 'post', parameters: {epc: $('EPCText').value}, evalScripts: true} );
	}*/

} 

function seDeconnecter ()
{
   new Ajax.Updater( 'contentWithMenuDemo', 'demo.php', {method: 'post', parameters: {logout: 'logout'}, evalScripts: true } );
}

function searchNewCode ( sLogin )
{
   new Ajax.Updater( 'realContent', 'demo.php', {method: 'post', parameters: {newCode: 'newCode'}, evalScripts: true } );
}

function gtinKey ( sGtin )
{
  var factor = 3;
  var sum = 0;
  for ( var index = (sGtin.length)-1; index > 0; --index)
  {
    sum += sGtin.substr(index-1, 1) * factor;
    factor = 4 - factor;
  }
   return ((1000 - sum) % 10);
}

function compareGtinKey ( sGtin )
{
   var key = gtinKey( sGtin );
   if ( gtinKey( sGtin ) != sGtin.substr(sGtin.length - 1, 1) )
     return 0;
   return 1;
}

function sendWebService( WSDL, isSearch )
{
   var aTabInput = new Array();

   var aTabInputRequestedData = $$('#dataRequestDetail input');
   var aTabInputSession = $$('#session input');

   if ((aTabInputSession.length != 0 || aTabInputRequestedData.length != 0) && isSearch == 1)
   {
   	var aTabInputReqData = new Array();
   	var aTabInputSess = new Array();
   
	for (i = 0; i < aTabInputRequestedData.length; ++i)
	   aTabInputReqData[i] = new Array(aTabInputRequestedData[i].name, aTabInputRequestedData[i].value);
	for (i = 0; i < aTabInputSession.length; ++i)
	   aTabInputSess[i] = new Array(aTabInputSession[i].name, aTabInputSession[i].value);

	//aTabInput['requestedData'] = aTabInputRequestedData;
	//aTabInput['session'] = aTabInputSession;
	aTabInput[0] = aTabInputReqData;	
	aTabInput[1] = aTabInputSess;
	var sTabInput = aTabInput.toJSON();
   }
   $('webserv').innerHTML = '<div style="text-align: center"><img src="images/ajax-loader.gif" alt="Chargement En Cours" /></div>';
   new Ajax.Updater ('webserv', 'clientWebServ.php', {method: 'post', parameters: {WSDL: WSDL, tabInput: sTabInput}, evalScripts: true});
}

