var ns4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var dom = (document.getElementById)? true:false;
var ok_message = "<img src='/htdocs/images/v2/subscribe/checkok.gif' align='absmiddle' alt='' />";
var results = new Array(6);
var processing = new Array(6);
var white_RGB = "#FFFFFF";
results["pseudo"] = 1; //Pseudo OK par défaut
results["passold"] = 0;
results["pass1"] = 0;
results["pass2"] = 0;
results["device"] = 1; // Device OK par défaut
results["miscdevice"] = 0;

processing["pseudo"] = 0;
processing["passold"] = 0;
processing["pass1"] = 0;
processing["pass2"] = 0;
processing["device"] = 0;
processing["miscdevice"] = 0;

// field_pseudo_change
function field_pseudo_change(objet)
{
	processing["pseudo"] = 1;
	account_check_field(objet.name,objet.value);
}

// field_passold_change
function field_passold_change(objet)
{
	processing["passold"] = 1;
	account_check_field(objet.name,objet.value);
}

// field_passold_focus
function field_passold_focus()
{
	var white_RGB = "#FFFFFF";
	document.getElementById('pass1_error').innerHTML= '';
	document.getElementById('facnt_txt_pass1').style.backgroundColor = white_RGB;
	document.getElementById('pass2_error').innerHTML= '';
	document.getElementById('facnt_txt_pass2').style.backgroundColor = white_RGB;
}

// field_pass1_change
function field_pass1_change(objet)
{
	var obj_pass2 = document.getElementById('facnt_txt_pass2');
	processing["pass1"] = 1;
	account_check_field(objet.name,objet.value);
	if (obj_pass2.value != '') field_pass2_change(obj_pass2);
}

// field_pass2_change
function field_pass2_change(objet)
{
	processing["pass2"] = 1;
	account_check_field(objet.name,objet.value, document.getElementById('facnt_txt_pass1').value);
}

// fonction spéciale pour le champ de sélection
function field_device_change(objet)
{
	processing["device"] = 1;
	account_check_field(objet.name,objet.value);
	CheckVisibility();

	document.getElementById('miscdevice_error').innerHTML="";
	document.getElementById('facnt_txt_miscdevice').style.backgroundColor = white_RGB;
	results['miscdevice'] = 0;

	//var value = objet.options[objet.selectedIndex].value;

	//getDescriptionGps(value);
}

// field_miscdevice_change
function field_miscdevice_change(objet)
{
    processing["miscdevice"] = 1;
	account_check_field(objet.name,objet.value,document.getElementById('facnt_sel_device').value);
}

// fonction pour la validation des champs
function submit_click()
{
	if ((processing["pseudo"] == 1) || (processing["passold"] == 1) || (processing["pass1"] == 1) || (processing["pass2"] == 1) || (processing["device"] == 1) || (processing["miscdevice"] == 1))
	{
		setTimeout("submit_click()",0); // The ajax process isn't finished so we wait for it.
		return false;
	}
	var error_message = 0;
	if (document.getElementById('facnt_txt_passold').value != '')
	{
		if (results['passold'] == 0) error_message = 1;
		if ((results['passold'] == 1) && ((results['pass1'] == 0) || (results['pass2'] == 0)))
		{
			error_message = 1;
			field_pass1_change(document.getElementById('facnt_txt_pass1'));
			field_pass2_change(document.getElementById('facnt_txt_pass2'));
		}
	}
	if (results['device'] == 0) error_message = 1;
	if (document.getElementById('facnt_sel_device').value == 1)
	{
		//if (results['miscdevice'] == 0) error_message = 1;
		field_miscdevice_change(document.getElementById('facnt_txt_miscdevice'));
	}
	if (results['pseudo'] == 0) error_message = 1;

	// if there is an error, it returns false and it shows an alert window
	if (error_message == 1)
	{
		document.getElementById('facnt_validation_message').innerHTML = "Gelieve het formulier correct in te vullen";
		return false;
	}
	// Here everything is alright so the changes are performed by an AJAX method
	account_process_change('change_device_id',document.getElementById('facnt_sel_device').value);

	if(document.getElementById('fsubs_txt_country') && document.getElementById('fsubs_txt_lang'))
		account_process_change('change_country_language',document.getElementById('fsubs_txt_country').value + '-' + document.getElementById('fsubs_txt_lang').value);
	else
		account_process_change('change_country_language','fr-fr');

	if (results['miscdevice'] == 1) account_process_change('add_new_device',document.getElementById('facnt_txt_miscdevice').value);
	account_process_change('change_pseudo',document.getElementById('facnt_txt_pseudo').value);
	account_process_change('change_password',document.getElementById('facnt_txt_pass1').value,document.getElementById('facnt_txt_passold').value);

	document.getElementById('facnt_validation_message').innerHTML = "Er werd wel degelijk account gehouden met uw wijzigingen";

	// All fields are cleared
	clear_field('facnt_txt_pseudo',true,false);
	clear_field('facnt_txt_passold',true,true);
	clear_field('facnt_txt_pass1',true,true);
	clear_field('facnt_txt_pass2',true,true);
	clear_field('facnt_sel_device',true,false);

	//alert(document.getElementById('facnt_txt_redirect').value);
		if (document.getElementById('facnt_txt_redirect').value!="" )
		{
		//window.location=document.getElementById('facnt_txt_redirect').value;
		}
	return false;
}

function clear_field(field_name,color_mode,value_mode)
{
	if (color_mode) document.getElementById(field_name).style.backgroundColor = white_RGB;
	if (value_mode) document.getElementById(field_name).value = "";

	field_error_name = field_name.substring(field_name.lastIndexOf("_")+1) + "_error";
	document.getElementById(field_error_name).innerHTML = "";
}

// nMyVal = 1 pour visible et 0 pour invisible
// StrIdObjet est le nom du champ en question

function SetVisibility(strIdObjet,nMyVal) {
// Rend visible ou invisible un objet

 if (dom) {
      document.getElementById(strIdObjet).style.visibility=nMyVal;
      document.getElementById(strIdObjet).value="";
      return;
   }
   if (ie4) {
      eval('document.all.'+strIdObjet+'.style.visibility="'+nMyVal+'"');
      eval('document.all.'+strIdObjet+'.value="'+nMyVal+'"');
      return;
   }
   if (ns4) {
      eval('document.'+strIdObjet+'.visibility="'+nMyVal+'"');
      eval('document.'+strIdObjet+'.value="'+nMyVal+'"');
      return;
   }
}

function CheckVisibility()
{
//Verifie l'état d'un objet et met à jour selon la valeur d'un champ
	var field_misc_device;

	   if (dom) {
	      field_misc_device = document.getElementById('facnt_sel_device');
	   }
	   if (ie4) {
	      field_misc_device = document.all.facnt_sel_device;
	   }
	   if (ns4) {
	      field_misc_device = document.facnt_sel_device;
	   }
//	var option_selected = field_misc_device.selectedIndex; changed index by id_device
	var option_selected = field_misc_device.value;
//	alert(field_misc_device.value);
	if (option_selected == 1)
	{
		SetVisibility('facnt_txt_miscdevice','visible');
		SetVisibility('label_miscdevice','visible');
		SetVisibility('puce','visible');
		SetVisibility('miscdevice_error','visible');
	}
	else
	{
		SetVisibility('facnt_txt_miscdevice','hidden');
		SetVisibility('label_miscdevice','hidden');
		SetVisibility('puce','hidden');
		SetVisibility('miscdevice_error','hidden');
	}
}

$(document).ready(function(){

	$("#bloc-savoir").css("display", "none");
	$("#savoir-plus").css("cursor", "pointer");
	$("#savoir-plus").click(function () {
		$("#bloc-savoir").slideToggle("slow");
	});
});
