
//Parfois, il est utile de pouvoir demander a l'utilisateur de se logger et d'appeller une fonction de callback
var callbackFunctionAfterLogin = false;

function permitCartValidate(permit)
{
  if(permit == false)
  {
    $("cart_validate_enabled").hide();
    $("cart_validate_disabled").show();
  }
  else
  {
    $("cart_validate_enabled").show();
    $("cart_validate_disabled").hide();
  }
}

function trySubmitBasket(address)
{
  if( $("promocode") && $("promocode").value != "" ) {
    AjaxCheckPromoCode();
    return;
  }
  
  if( $("cgv_box").checked == false ) {
    alert("Vous devez accepter les conditions gÃ©nÃ©rales de vente");
    return;
  }
  
  var lcurrentValue = $('userIsAuthenticatedFlag').firstChild.data;
  
  if( lcurrentValue == 1 )
  {
  document.forms['formBasket'].submit();
  }
  else
  {
    callbackFunctionAfterLogin = function() {
      document.forms['formBasket'].submit();
    }
      
  //signalAuthenticateOrRegister();
  afficheMaPopUp()
  }
}

function AjaxGetChoice(currentPromo, plannedPromo, code, currentValue, plannedValue)
{
  if( confirm("Votre commande b\351n\351ficie exceptionnellement "+
              "d'une remise temporaire automatique de "+
              currentValue+
              " et vous revient donc \340 "+
              currentPromo+
              " euros.\n"+
              "Votre code promotionnel personnel de "+
              plannedValue+
              " vous permet d'obtenir votre commande pour "+
              plannedPromo+
              " euros.\n\n"+
              "\312tes-vous certain(e) de vouloir utiliser votre code promotionnel "+
              "personnel ?")
    )
  {
    // set again promo code here
    $("promocode").value = code;
    // force validation
    AjaxCheckPromoCode("force");
  }
  else
  {
	  permitCartValidate(true);
  }
}
function AjaxRemovePromoCode()
{
  showRequestLoading();
  permitCartValidate(false);
    
  new Ajax.Request(
      '/Cart/AjaxRemovePromoCode',
      {
      method: 'post',
      onSuccess: function() {
                    window.location.reload();
                 }
      }
  );
}

function AjaxCheckPromoCode(force)
{
  if( $("promo_code") )
  {
	  // function to check promo code
	  if( $("promocode") )
	  {
	    promocode = $("promocode").value;
	  }
	  else promocode = null;
	  
	  if(force == "force") forced = "true";
	  else forced = "false";
	  
	  new Ajax.Request(
	      '/Cart/AjaxCheckPromoCode',
	      {
	      method: 'post',
	      parameters: {promocode:promocode,force:forced},
	      onSuccess: function(xhrresp) {
	                    showRequestLoading();
	                    permitCartValidate(false);
	                    setInnerHTML($("promo_code"), xhrresp.responseText);
	                 }
	      }
	  );
	}
	else
	{
	  // alert("soucis");
	}
}

function AjaxUpdateLibraryOnConnect()
{
  // function to update library list during creation
  if( $("updatableLibrary") )
  {
    new Ajax.Request(
        '/TpStepManagement/AjaxUpdateLibraryOnConnect',
        {
        method: 'post',
        onSuccess: function(xhrresp) {
                      $("updatableLibrary").innerHTML = xhrresp.responseText;
                   }
        }
    );
  }
}


/**
 *
 * Try to authenticate an user
 */

function ajaxTryAuthUser(tab)
{	
	var llogin;
	var lpassword;
	

	if(!tab){
		llogin    = $('connexionLogin').value;
		lpassword = $('connexionPass').value;
	}else{
		llogin		= tab[0];
		lpassword	= tab[1];
	}
	
	
	if( llogin != '' && lpassword !='' )
	{
		new Ajax.Request(
		    '/MyAccount/login',
		    {
			  method: 'post',
			  parameters: {login:llogin,password:lpassword},
			  onSuccess: function( xhrresp ) {
				
				  	AjaxUpdateLibraryOnConnect();
				  	
				  	if( xhrresp.responseText == 'LOGINOK' || xhrresp.responseText=='LOGINOKTP3' )
				  	{
				  	
				  	if(xhrresp.responseText=='LOGINOKTP3'){
				  		PopUpOldMember();
				  	}
				  	
				  	monrepereDeConnexion= true;
				  	
				  	if(thisMovie("configurateurFlex") ){
						sendLoogedToActionScript();// function qui est dans la template  NewOneFlex
					}
				  	
				  	new Ajax.Updater(
					    'loginInfoSpace',
					    '/MySpace/GetMyMenu',
					    {
						        method: 'post'
						}
					);
					
					
					
					
					$('newsletter_space').innerHTML = 'Espace perso <strong><a  href="javascript:void(0)" onclick="clickPersonalSpace()" id="txt_espace_perso">Fermer</a></strong> <a href="javascript:void(0)" onclick="clickPersonalSpace()"><img src="/images/espace_perso/close_06.gif" width="16" height="16" border="0" align="absmiddle"></a>';
						  	
					if(!tab)
						personalSpaceLinkFollow( '/MySpace/MyCoords' );
					
					$('userIsAuthenticatedFlag').firstChild.data = '1';
				  	//openPersonalSpace()	
				  	
				  		if( callbackFunctionAfterLogin != false )
				  		{
				  			setTimeout( 'callbackFunctionAfterLogin();', 1000 );
				  		}
				  		
				  		
				  		
				  	}
				  	else{
				  
				  		monrepereDeConnexion= false;
				  	  if( xhrresp.responseText == 'FILLFORM' )
				  	  {
				  	    new Ajax.Updater(
					    'loginInfoSpace',
					    '/MySpace/GetMyMenu',
					    {
						        method: 'post'
						}
					);
				  	    personalSpaceLinkFollow( '/MyAccount/AddMissingCoords' );
				  	    $('userIsAuthenticatedFlag').firstChild.data = '1';
				  	  }
				  	  else
				  	  {
				  		popupConfirmationMessage( xhrresp.responseText, 300, 100, false );
				  	  }
				  	  
				  	}
				}
			}
		); 
	}
	if(tab)
		return monrepereDeConnexion;
}

var monrepereDeConnexion;

function ajaxNewsLetterOk()
{
	var emmail    = document.forms['Newsletter'].elements['email'].value;
	
	
	if( emmail != '')
	{
		new Ajax.Request(
		    '/newsletter/Subscribe',
		    {
		        method: 'get',
		        parameters: {email:emmail},
		        onComplete: function( xhr ){
		        	
		        	popupConfirmationMessage( xhr.responseText, 400, 200, true )
		        	
		        }
			}
		); 
	}
document.forms['Newsletter'].elements['email'].value="";
}

function deletePic( picid )
{ 
  new Ajax.Request(
      '/MySpace/deletePic',
      {
	      method: 'get',
	      parameters: {picid:picid},
	      onComplete: function() {
	        personalSpaceLinkFollow( '/frontend_dev.php/MySpace/MyPics' );
	      }
      }
  );  
}


function showRequestLoading()
{
	if( $('RequestLoading') )
  {
		$('RequestLoading').style.position  ='absolute';
		$('RequestLoading').style.zIndex    = '10000';
			
		// utiliser ici u ntop relatif!
		// $('RequestLoading').style.top       = '44%';
		$('RequestLoading').style.top       =
		  ( (document.all)?document.body.scrollTop:window.pageYOffset ) +250;
		$('RequestLoading').style.left      = '44%';
		
		$('RequestLoading').style.display   = 'block';
	}
}

function hideRequestLoading()
{
	$('RequestLoading').style.display='none';
}

Ajax.Responders.register({
  onCreate: function() {
    showRequestLoading();
  	//Ajax.activeRequestCount++;
  },
  onComplete: function() {
    hideRequestLoading();
  	//Ajax.activeRequestCount--;
  }
});



function PopUpOldMember(){
popUpOpaciteStatic('/MyAccount/PopUp', 660, 631); 
}


 function copyText(id, file) {
      $(id).value = basename(file.value);
    }
    
    function basename(filename) {
     var out = '';
     // si la chaine est vide on retourne false
     if(filename =='') {
         return false;
         
     }
     // si la chaine se termine par un / ou \ on le supprime.
     var slashpos = filename.lastIndexOf('/');
     
     var antislashpos = filename.lastIndexOf(""+ String.fromCharCode(92) +"");
     var strlen = filename.length;
     //alert(strlen+' ' + antislashpos+" " +String.fromCharCode(92));
     if((slashpos +1) == strlen) {
         
         out = basename(filename.substring(0,strlen-1));
         return out;
     }
     if((antislashpos +1) == strlen) {
         
         out = basename(filename.substring(0,strlen-1));
         return out;
     }
     if(slashpos > antislashpos) {
         
         return filename.substring(slashpos +1 , strlen);
         
     } else {
         
         return filename.substring(antislashpos +1 , strlen);
     }
      
     return false;
}

// evaluate script in Ajax generated content
function setInnerHTML(divContent, HTML) {
  divContent.innerHTML=HTML; 
  var All=divContent.getElementsByTagName("*");
  for (var i=0; i<All.length; i++) {
    All[i].id=All[i].getAttribute("id")
    All[i].name=All[i].getAttribute("name")
    All[i].className=All[i].getAttribute("class")
  }
  var AllScripts=divContent.getElementsByTagName("script")
  for (var i=0; i<AllScripts.length; i++) {
     var s=AllScripts[i];
     if (s.src && s.src!="") {
        // Précédement asynchrone, mis en synchrone pour éviter des problèmes de dépendances de scripts
        eval(getFileContent(s.src))
     }
     else {
        eval(s.innerHTML)
     }
  }
}


function thisMovie(movieName) {
      if (navigator.appName.indexOf("Microsoft") != -1) {
          return window[movieName];
      } else {
          return document[movieName];
      }
}