/*
    EFFECTS
*/

// Fish-eye style
function zoom_in(e) {
    var icon_obj = (e) ? e.target : obj ;
    if(!icon_obj) { icon_obj = window.event.srcElement;}
    icon_obj.style.width="51px";
    icon_obj.style.height="71px";
    icon_obj.style.marginTop="0px";
    icon_obj.style.marginLeft="2px";
    icon_obj.style.marginRight="2px";
}
function zoom_out(e, i, obj) {
    var icon_obj = (e) ? e.target : obj ;
    if(!icon_obj) { icon_obj = window.event.srcElement;}
    var cflow_steps = [ ["51px","71px", "0px", "2px", "2px"],
                        ["47px","66px", "5px", "4px", "4px"],
                        ["43px","61px","10px", "6px", "6px"],
                        ["39px","56px","15px", "8px", "8px"],
                        ["35px","51px","20px","10px","10px"]];
    if(i<cflow_steps.length){
        icon_obj.style.width =cflow_steps[i][0];
        icon_obj.style.height=cflow_steps[i][1];
        icon_obj.style.marginTop =cflow_steps[i][2];
        icon_obj.style.marginLeft=cflow_steps[i][3];
        icon_obj.style.marginRight=cflow_steps[i][4];
        (function(i,obj){ 
            window.setTimeout( function(){zoom_out(null,i,obj);} , 100); }
        )(++i,icon_obj);
    }
}

// Change l'image pour la page besoi,n s et services
function chgimg(label) {
    document.getElementById("icon").src = "design/iconb_"+label+".png";
}

function visibilite(thingId){
	var targetElement;
	targetElement = document.getElementById(thingId) ;
	if (targetElement.style.display == "none")
		targetElement.style.display = "block" ;
	else
		targetElement.style.display = "none" ;
}


// Affiche et retire un cadre
function show(divid){
  try{
    document.getElementById(divid).style.display = "block";
  }catch(e){
    document.getElementById(divid).style.display = "block" ;
  }
}

function hide(divid){
  try{
    document.getElementById(divid).style.display = "none";
  }catch(e){
     document.getElementById(divid).style.display = "none" 
  }
}

// Bandeau solutions sur la page accueil
eStat_array = function(){};
var obj_in_move = new eStat_array;
var obj_pitch = new eStat_array;
var obj_effect_on = new eStat_array;
var obj_cycle_len = new eStat_array;
var kill_effect = 1;
var pitch = -1;
var len = 0;
var size = 90;
function mov(id,p){
        var obj = document.getElementById(id);
        if(obj == null){
        	kill_move_effect();
        } else {

        if(obj.style.left == "")
            obj.style.left = "0px";
        if(parseInt(obj.style.left) <= parseInt(obj_cycle_len[id]) )
            obj.style.left = parseInt(obj.style.left) - len + "px";
        else
            obj.style.left = parseInt(obj.style.left) + parseInt(obj_pitch[id]) + 'px';
				}
}
function set_valeur(local_len,local_size){
		len = local_len;
		size = local_size;
}
function move_pause(){
		for (var id in obj_in_move)
    obj_effect_on[id] = 0;
}
function move_play(){
		for (var id in obj_in_move)
    obj_effect_on[id] = 1;
}
function set_play_list(id){
		len= len - size;
		obj_in_move[id] = mov;
    obj_pitch[id] = pitch;
    obj_cycle_len[id]=len;
		move_play(id);
}
function start_move(){
    if(kill_effect == 1){
      kill_effect = 0;
      window.setTimeout( function(){ apply_move(); } , 30);
    }
}
function apply_move(){
    for (var id in obj_in_move)
    if(obj_effect_on[id] == 1)
        obj_in_move[id](id);
    if(kill_effect == 0)
        window.setTimeout( function(){ apply_move(); } , 30);
}
function kill_move_effect(){
    kill_effect = 1;
}


/*
    FUNCTIONS
*/

// Ouvre une pop-up
function openPopup(url, nom, largeur, hauteur, options) {
    var haut = (screen.height-hauteur)/2;
    var Gauche = (screen.width-largeur)/2;
    return window.open(url,nom,"top="+haut+",left="+Gauche+",width="+largeur+",height="+hauteur+","+options);
}

// Ouvre le resutlat du formulaire choisir son offre
function choisirOffre() {
    newpage = openPopup('/offres.html', 'offres', 480, 680, 'toolbar=no,scrollbars=yes,resizable=no');
    newpage.window.opener.name = "main";
}
// Ouvre la demo de l'interface
function showDemo() {
    newpage = openPopup('/demo.html', 'demo', screen.width, screen.height, 'toolbar=no,scrollbars=no,resizable=no');
    newpage.window.opener.name = "main";
}
// Accede a la demo de l'interface
function goDemo() {
    newpage = openPopup('http://rapports.estat.com/autoconnect.swf?login=demo_fr&password=fe01ce2a7fbac8fafaed7c982a04e229 ', 'demo', screen.width, screen.height, 'toolbar=no,scrollbars=no,resizable=no');
    newpage.window.opener.name = "main";
}

function optin()
{
	var date= new Date();
	date.setTime(date.getTime() - 31536000000); // -1 an
	document.cookie = "e=; path=/; expires=" + date.toGMTString() + "; domain=.estat.com" ;
	alert("Le cookie eStat a ete retabli.");
}
function optout()
{
	var date= new Date();
	date.setTime(date.getTime() + 31536000000); // +1 an
	document.cookie = "e=_OPT_OUT_; path=/; expires=" + date.toGMTString() + "; domain=.estat.com" ;
	alert("Le cookie eStat a ete annule.");
	return true;
}

function verif_donnee() {
  var error = 0;
  var error_message="Il manque des variables obligatoires : \n";
  var message_email="";
       
  if (document.forms.form_sabonner.offre.checked == false && document.forms.form_sabonner.presse.checked == false && document.forms.form_sabonner.societe.checked == false && document.forms.form_sabonner.livreblanc.checked == false) {
    error_message = error_message + "selectionner un sujet" + "\n";
    error = 1;
  }

  if (document.forms.form_sabonner.nom.value == '' || document.forms.form_sabonner.nom.value.length < 2) {
    error_message = error_message + "votre nom" + "\n";
    error = 1;
  }

  message_email=checkValidation(document.forms.form_sabonner.email);

  if ( message_email != true) {
		error_message = error_message + message_email + "\n";
    error = 1;
	}

  if (document.forms.form_sabonner.firm.value == '' || document.forms.form_sabonner.firm.value.length < 2) {
    error_message = error_message + "votre entreprise" + "\n";
    error = 1;
  }

  message_Url=checkValidationUrl(document.forms.form_sabonner.website);
  if ( message_Url != true ) {
    error_message = error_message + message_Url + "\n";
    error = 1;
  }

  if (document.forms.form_sabonner.message.value == '' || document.forms.form_sabonner.message.value.length < 2) {
    error_message = error_message + "votre message" + "\n";
    error = 1;
  }

  if (error == 1) {
    alert(error_message);
    return false;
  } else {
    test_ok = true;
    return true;
  }
}

function checkValidation(formInput) {

    if (typeof(formInput) != "object") {
        return("Mauvais Argument");
    }

    var message;

    if (formInput.value.length < 1) {
        message = "votre email";
    } else if (formInput.value.indexOf ('@', 0) == -1) {
        message = "L'adresse ne contient pas de @";
    } else if (formInput.value.indexOf ( '@', 0 ) < 1) {
        message = "L'adresse doit contenir au moins un caractère avant l'@";
    } else if (formInput.value.indexOf ( '.', 0 ) == -1) {
        message = "L'adresse doit contenir au moins le caractère '.'";
    } else if (noValidSuffix(formInput.value)) {
        message = "L'adresse doit contenir un domaine (suffixe).";
    } else {
        message = true;
    }

    return message;
}

function checkValidationUrl(formInput) {

    if (typeof(formInput) != "object") {
        return("Mauvais Argument");
    }

    var message;

    if (formInput.value.length < 1) {
        message = "votre url";
    } else if (formInput.value.indexOf ('http://', 0) == -1) {
        message = "L'adresse ne contient pas de 'http://'";
    } else if (formInput.value.indexOf ( '.', 0 ) == -1) {
        message = "L'adresse doit contenir au moins le caractère '.'";
    } else if (noValidSuffix(formInput.value)) {
        message = "L'adresse doit contenir un domaine (suffixe).";
    } else {
        message = true;
    }

    return message;
}


function noValidSuffix(formInput) {

    var len = formInput.length;
    var pos = formInput.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function toggle(divfils,image,image_open,image_close)
{
    monimage=new Image();
    if (image.src.indexOf('close') > 0)
        monimage.src=image_open;
    else
        monimage.src=image_close;
		
    image.src=monimage.src;

    if (divfils.style.display == "none")
        divfils.style.display = "block";
    else
        divfils.style.display = "none";
}

