RADIO='radio'
SELECT='select-one'

function go(href)
{
	window.location.href = href; 
}


/* Fonction d'initialisation de forme */ 
/* les arguments sont de type String au format: "nom=valeur" */
function init_form(forme)
{
	for(i=1; i<arguments.length; i++)
	{
		nom_arg = arguments[i].substring(0, arguments[i].indexOf('='))
		val_arg = arguments[i].substr(arguments[i].indexOf('=') + 1)
		for(j=0; j<forme.elements.length; j++)
		{
			cur_obj = forme.elements[j]
			if( cur_obj.name == nom_arg )
			{
				if( cur_obj.type == SELECT )
				{
					for(k=0; k<cur_obj.options.length; k++)
						if( cur_obj.options[k].value == val_arg )
							cur_obj.options[k].selected = true
				}
				else
					cur_obj.value = val_arg
			}
		}
	}

	return false
}

/* Fonction de validation de forme */ 
/* les arguments sont de type String au format: "message|nom=flags/pattern" */
function valid_form(forme)
{
	b = true
	for(i=1; i<arguments.length && b; i++)
	{
		msg = arguments[i].substring(0, arguments[i].indexOf('|'))
		nom = arguments[i].substring(arguments[i].indexOf('|')+1, arguments[i].indexOf('='))
		flags = arguments[i].substring(arguments[i].indexOf('=')+1, arguments[i].indexOf('/'))
		pattern = arguments[i].substr(arguments[i].indexOf('/') + 1)
		re = new RegExp(pattern, flags)
		for(j=0; j<forme.elements.length && b; j++)
		{
			cur_obj = forme.elements[j]
			if( cur_obj.name == nom )
			{
				if( cur_obj.type == RADIO )
				{
					c = false
					cur_obj = forme.elements[cur_obj.name]
					for(k=0; k<cur_obj.length && !c; k++)
						if ( cur_obj[k].checked )
							c = re.test(cur_obj.value)
					b = c
				}
				else
					b = re.test(cur_obj.value)
				if (!b)
					alert(msg)
			}
		}
	}
	return b
}

function verifyPwd(input1, input2, msg){
	if(input1.value != input2.value){
		alert(msg);
		input1.value = '';
	}
}

function verifyPwdLength(input, msg){
	var aInput = input.value;
	if(aInput.length < 4){
		alert(msg);
		input.value = '';
	}
}

function format_date(aDate){
	return aDate.substring(0,2)+"/"+aDate.substring(2,4)+""+aDate.substring(4);
}


//Verificateur de date
function makeArray()    {
    this[0] = makeArray.arguments.length;
    for (i = 0; i<makeArray.arguments.length; i++)
        this[i+1] = makeArray.arguments[i];
}

var daysofmonth   = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

function LeapYear(year) {
    if ((year/4)   != Math.floor(year/4))   return false;
    if ((year/100) != Math.floor(year/100)) return true;
    if ((year/400) != Math.floor(year/400)) return false;
    return true;
}

function ValidDate(day,month,year) {
  if(day != 0 && month > 0 && month < 13 && year > 1900){
    if ( (LeapYear(year) && (day > daysofmonthLY[month])) ||
         (!LeapYear(year) && (day > daysofmonth[month])) ){
        return false;
    }else{
        return true;
    }
  }else{
  	return false;
  }
}

function getDay(day) {		
	if (day.substring(0,1) == '0')
		day = day.substring(1,2);
	return parseInt(day);
}

function getMonth(month) {
	if (month.substring(0,1) == '0')
		month = month.substring(1,2);
	return parseInt(month);
}

function getYear(year) {		
	return parseInt(year);
}

function testDate(day,month,year) {

	var aDay = getDay(day.value);
	var aMonth = getMonth(month.value);
	var aYear = getYear(year.value);

	if (!ValidDate(aDay,aMonth,aYear)) {
        document.maj_date_note.elements['ComplementDemande1.date_accept_note'].value = '';
    }else{
	    document.maj_date_note.elements['ComplementDemande1.date_accept_note'].value = (day.value.length==1?'0'+day.value:day.value) + (month.value.length==1?'0'+month.value:month.value) + year.value;
	}
}

function advance(currentField,nextField) {
    if (currentField.value.length == 2)	
        document.maj_date_note[nextField].focus();
}

function formatter(currentField){
	if (currentField.value.length == 1	)
		currentField.value = '0'+currentField.value;
}



/* ------------------------
   Email validation script Debut
   ------------------------ */
var rEmail1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
var rEmail2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");	 

function isOneEmail(str) {
	var atIndex1 = str.indexOf("@");
	var atIndex2 = str.lastIndexOf("@");
	if (atIndex1 == atIndex2)
		return true;
	else{
		return false;
	}
}


function regExpSupported() {
  var supported = 0;
  if (window.RegExp) {
	var tempStr = "a";
	var tempReg = new RegExp(tempStr);
	if (tempReg.test(tempStr)) 
	  supported = 1;
    }
  	return supported;
  }	

function isEmail(str) {
  if (!regExpSupported()) {
	if ((str.indexOf(".") > 2) && (obj.indexOf("@") > 0)){
		if ( isOneEmail(str) )
  			return true;
  		else{
  		   return false;
  		}
	}
  }else if ( rEmail1.test(str) || rEmail2.test(str)) {
  	if ( isOneEmail(str) )
  			return true;
  	else{
  		   return false;
  	}
  }
  return false;
}

/* ------------------
   seller pages
   ------------------ */
function sellerEmailValidation(email,errormsg,id) {
	if ( !isEmail(email) ){
		alert(errormsg);
		if (id == 'protection') document.valider.elements['Company.email'].value = '';
		if (id == 'creer') document.creer.elements['Client.email'].value = '';
		if (id == 'fusion') document.fusion.elements['Client.email'].value = '';
		if (id == 'enregistrer') document.enregistrer.elements['Client.email'].value = '';
		if (id == 'exception') document.valider.elements['Utilisateur.email'].value = '';
		return false;
	}else
		return true;
}

function isEmailKey(evt) {
	if (navigator.appName.indexOf("Netscape") != -1)
		keyCode = evt.which;
	else
		keyCode = evt.keyCode;
	return !( (keyCode >= 0 && keyCode <= 44) || keyCode == 47 || (keyCode >= 58 && keyCode <= 63) || (keyCode >= 91 && keyCode <= 94) ||  keyCode == 96 || (keyCode >= 123) );
}

function processInput(fld, evt) {
	if (isEmailKey(evt)) return true;
	return false;
}
/* ------------------------
   Email validation script Fin
   ------------------------ */


/* ------------------------
Date validation script Debut
------------------------ */
   
function isNumberKey(evt) {
	if (navigator.appName.indexOf("Netscape") != -1)
		keyCode = evt.which;
	else
		keyCode = evt.keyCode;
	return !( (keyCode >= 0 && keyCode <= 47) || (keyCode >= 58 && keyCode <= 248) );
}

function processDate(fld, evt) {
	if (isNumberKey(evt)) return true;
	return false;
} 

function ctrDate(fld,day,month,year,msg) {
	if(day.value!="" && month.value!="" && year.value!=""){
		var aDay = getDay(day.value);
		var aMonth = getMonth(month.value);
		var aYear = getYear(year.value);

		if (!ValidDate(aDay,aMonth,aYear)) {
			if (aYear < 1900){
	    		year.value='';
	    		year.focus();
	    	}
			alert(msg);
	    }else{
		    fld.value = (day.value.length==1?'0'+day.value:day.value) + (month.value.length==1?'0'+month.value:month.value) + year.value;		
		}
	}
}
/* ------------------------
Date validation script Fin
------------------------ */
