///// detection navigateur
var isNS4=(document.layers) ? 1 : 0;
var isIE4=(document.all)? 1 : 0;
var isMoz=((document.getElementById) && !(isIE4)) ? 1 :0;
var flagsubmit=0;
var flag_frametmp=false;
var flag_frametmp_reloaddoc=false;

function getlayer(name)
{
        if(isNS4){
                layer=findLayer(name, document);
                return layer;
        } else if (isIE4){
                return document.all[name];
        } else if (isMoz) {
                return document.getElementById(name);
        }
        return null;
}

function getlayer_window(window,name)
{
        if(isNS4){
                layer=findLayer(name,window.document);
                return layer;
        } else if (isIE4){
                return window.document.all[name];
        } else if (isMoz) {
                return window.document.getElementById(name);
        }
        return null;
}

function getmouse(e)
{
        var mouse=new Array();
        mouse.x=0; mouse.y=0;
        if(isNS4||isMoz){
                mouse.x=e.pageX; mouse.y=e.pageY;
        }else if(isIE4){
                mouse.x=event.x+document.body.scrollLeft; mouse.y=event.y+document.body.scrollTop;
        }
        return mouse;
}

function dump_object(objet)
{
var i,chaine;

for ( i in objet )
	{
	chaine += i + " = " + objet[i] + "<br>";
	}

document.write(chaine);
}

function movecurseurmore(extremite,idanim,sens,pas)
{
for (i=1;i<=pas;i++) 
	{
	movecurseur(extremite,idanim,sens);
	}
}

function movecurseur(extremite,idanim,sens)
{

eval('var debut=debut' + idanim);
eval('var fin=fin' + idanim);
 
curseur=(getlayer('curseur'+ extremite + idanim));

//if ( extremite == "debut" )
//	{
	if ( sens == "+" )
		{
/// eviter que début dépasse fin
		if ( ( extremite == "debut" ) && ( debut == fin ) )
			return;
		nblayer=eval(extremite + idanim)+1;
		casebarre=getlayer('case' + nblayer + '_' + idanim);
		if ( casebarre )
			{
//			dump_object(casebarre.style);//backgroundImage
			if ( extremite == "debut" )
				{
				//casebarre.style.backgroundImage='url("image/bulle0.gif")';
   			casebarre.style.backgroundColor='#B2B5EF';
   			}
   		else
				{
				///casebarre.style.backgroundImage='url("image/bulle.gif")';
   			casebarre.style.backgroundColor='#3473CB';
   			}
         eval(extremite + idanim + "++");
///			dump_object(curseur.style);
         eval('curseur' + extremite + idanim + "+=dxcurseur");
			eval('curseur.style.left = ' + 'curseur' + extremite + idanim);
			}		
		}
	else
		{
/// eviter que fin descende sous debut
		if ( ( extremite == "fin" ) && ( debut == fin ) )
			return;
		nblayer=eval(extremite + idanim);
		casebarre=getlayer('case' + nblayer + '_' + idanim);
		if ( casebarre )
			{
//			dump_object(casebarre.style);//backgroundImage
			if ( extremite == "debut" )
   			casebarre.style.backgroundColor='#3473CB';
   		else
   			casebarre.style.backgroundColor='#B2B5EF';

         eval(extremite + idanim + "--");
         eval('curseur' + extremite + idanim + "-=dxcurseur");
			eval('curseur.style.left = ' + 'curseur' + extremite + idanim);
			}		
		}			
//// update l'INPUT
	layerinput=getlayer(extremite + idanim);
	layerinput.value=eval(extremite + idanim);//debut;
}

function update_inputs(idanim)
{
layerinput=getlayer('debut' + idanim);
eval('layerinput.value=debut' + idanim);
layerinput=getlayer('fin' + idanim);
eval('layerinput.value=fin' + idanim);
layerinput=getlayer('statut' + idanim);
eval('layerinput.value=statut' + idanim);
layerinput=getlayer('tri' + idanim);
eval('layerinput.value=tri' + idanim);
}

function transfertdiv(windowfrom,iddivfrom,windowto,iddivto)
{

divfrom=getlayer_window(windowfrom,iddivfrom);
divto=getlayer_window(windowto,iddivto);

/// transfert de l'html
divto.innerHTML=divfrom.innerHTML;

}

function input_get_value(idinput)
{
var input=getlayer(idinput);
if ( input )
	return input.value;
else
	return false;
}

function valideffect(windowto,idsprite,idtransfo,ideffect)
{

layerfrom=getlayer('containereffect');

layerto=getlayer_window(windowto,'effect' + ideffect + '_' + idtransfo);
if ( layerto )
	layerto.innerHTML=layerfrom.innerHTML;
else
	{
	layerto=getlayer_window(windowto,'effects' + idtransfo);
	layerto.innerHTML=layerto.innerHTML + '<div id=\'effect' + ideffect + '_' + idtransfo +'\'>' +
	layerfrom.innerHTML + '</div>';
	}

///// bouton modify
layerbouton=getlayer_window(windowto,'boutonmodify');
var chainetmp=layerbouton.innerHTML;

var rexp1 = new RegExp ('remplace1', 'gi') ;
chainetmp=chainetmp.replace(rexp1,idtransfo);
var rexp2 = new RegExp ('remplace2', 'gi') ;
chainetmp=chainetmp.replace(rexp2,ideffect);

//var htmlparam,valeur;
//var rexp3 = new RegExp ('remplacebm', 'gi') ;
}

function transfertbm(windowto,idtransfo,ideffect)
{
layerto=getlayer_window(windowto,'bmeffect' + idtransfo + '_' + ideffect);
//layerto.innerHTML=chainetmp;
layerto.innerHTML='<INPUT  TYPE="button" VALUE="Modify effect" ' +
		'onClick="modifyeffect(\'' + idtransfo + '\',\'' + ideffect + '\')">';
}

function suppreffect(idtransfo,ideffect)
{
layerto=getlayer('effect' + ideffect + '_' + idtransfo);
layerto.innerHTML='';
}

function input_put_value(idinput,valeur)
{
if ( valeur != false )
	{
	var input=getlayer(idinput);
	if ( input )
		{
		input.value=valeur;
		return 0;
		}
	else
		return -1;
	}
else
	return -2;
}

function moveanim(idanim,sens)
{
var indice;
var i;

indice = get_key_from_value(tab_ordre_anim,idanim);

if ( sens == 'up' )
	{
	i=indice-1;
	while ( ( i >= 0 ) && ( tab_ordre_anim[i] == 'deleted' ))
		i--;
	
	if ( i >= 0 )
		{
		var param1=input_get_value('param1' + idanim);
		var param2=input_get_value('param2' + idanim);
		var param3=input_get_value('param3' + idanim);
		var param4=input_get_value('param4' + idanim);
		var typetransfo1=input_get_value('typetransfo' + idanim);

		var idtmp=tab_ordre_anim[i];

		var param12=input_get_value('param1' + idtmp);
		var param22=input_get_value('param2' + idtmp);
		var param32=input_get_value('param3' + idtmp);
		var param42=input_get_value('param4' + idtmp);
		var typetransfo2=input_get_value('typetransfo' + idtmp);

		layer=getlayer('activemorphing' + idanim);
		if ( layer )
			var activemorphing1=layer.checked;

		layer=getlayer('activemorphing' + idtmp);
		if ( layer )
			var activemorphing2=layer.checked;
		
		layer1=getlayer('anim' + i);
		layer2=getlayer('anim' + indice);
		var chainetmp=layer1.innerHTML;
		layer1.innerHTML=layer2.innerHTML;
		layer2.innerHTML=chainetmp;
		tab_ordre_anim[i]=tab_ordre_anim[indice];
		tab_ordre_anim[indice]=idtmp;
		eval('tri' + idanim + '=' + i);
		eval('tri' + idtmp + '=' + indice);

		input_put_value('param1' + idanim,param1);
		input_put_value('param2' + idanim,param2);
		input_put_value('param3' + idanim,param3);
		input_put_value('param4' + idanim,param4);
		input_put_value('typetransfo' + idanim,typetransfo1);
		
		input_put_value('param1' + idtmp,param12);
		input_put_value('param2' + idtmp,param22);
		input_put_value('param3' + idtmp,param32);
		input_put_value('param4' + idtmp,param42);
		input_put_value('typetransfo' + idtmp,typetransfo2);

		///update des inputs
		update_inputs(idanim);
		update_inputs(idtmp);
		
		/// restituate active morphing
		layer=getlayer('activemorphing' + idanim);
		if ( layer )
			{
			layer.checked=activemorphing1;
			layer=getlayer('shape2_' + idanim);
			if ( activemorphing1 == false )
				layer.style.display="none";
			else
				layer.style.display="block";
			}

		layer=getlayer('activemorphing' + idtmp);
		if ( layer )
			{
			layer.checked=activemorphing2;
			layer=getlayer('shape2_' + idtmp);
			if ( activemorphing2 == false )
				layer.style.display="none";
			else
				layer.style.display="block";
			}
		
		}		
	}
else if ( sens == 'down' )
	{
	i=indice+1;
	while ( ( i < tab_ordre_anim.length ) && ( tab_ordre_anim[i] == 'deleted' ))
		i++;
	
	if ( i < tab_ordre_anim.length )
		{
		var param1=input_get_value('param1' + idanim);
		var param2=input_get_value('param2' + idanim);
		var param3=input_get_value('param3' + idanim);
		var param4=input_get_value('param4' + idanim);
		var typetransfo1=input_get_value('typetransfo' + idanim);

		var idtmp=tab_ordre_anim[i];

		var param12=input_get_value('param1' + idtmp);
		var param22=input_get_value('param2' + idtmp);
		var param32=input_get_value('param3' + idtmp);
		var param42=input_get_value('param4' + idtmp);
		var typetransfo2=input_get_value('typetransfo' + idtmp);

		layer=getlayer('activemorphing' + idanim);
		if ( layer )
			var activemorphing1=layer.checked;

		layer=getlayer('activemorphing' + idtmp);
		if ( layer )
			var activemorphing2=layer.checked;

		layer1=getlayer('anim' + i);
		layer2=getlayer('anim' + indice);
		var chainetmp=layer1.innerHTML;
		layer1.innerHTML=layer2.innerHTML;
		layer2.innerHTML=chainetmp;
		tab_ordre_anim[i]=tab_ordre_anim[indice];
		tab_ordre_anim[indice]=idtmp;
		eval('tri' + idanim + '=' + i);
		eval('tri' + idtmp + '=' + indice);

		input_put_value('param1' + idanim,param1);
		input_put_value('param2' + idanim,param2);
		input_put_value('param3' + idanim,param3);
		input_put_value('param4' + idanim,param4);
		input_put_value('typetransfo' + idanim,typetransfo1);

		input_put_value('param1' + idtmp,param12);
		input_put_value('param2' + idtmp,param22);
		input_put_value('param3' + idtmp,param32);
		input_put_value('param4' + idtmp,param42);
		input_put_value('typetransfo' + idtmp,typetransfo2);

		///update des inputs
		update_inputs(idanim);
		update_inputs(idtmp);

		/// restituate active morphing
		layer=getlayer('activemorphing' + idanim);
		if ( layer )
			{
			layer.checked=activemorphing1;
			layer=getlayer('shape2_' + idanim);
			if ( activemorphing1 == false )
				layer.style.display="none";
			else
				layer.style.display="block";
			}

		layer=getlayer('activemorphing' + idtmp);
		if ( layer )
			{
			layer.checked=activemorphing2;
			layer=getlayer('shape2_' + idtmp);
			if ( activemorphing2 == false )
				layer.style.display="none";
			else
				layer.style.display="block";
			}

		}		
	
	}

}

function setshape(idanim,cases,numobject)
{
eval('var debut=debut' + idanim);
eval('var fin=fin' + idanim);
eval('var tri=tri' + idanim);
eval('var statut=statut' + idanim);

layer=getlayer('activemorphing' + idanim);
var activemorphing=layer.checked;

//// dimensions de l'animation
var largeur=input_get_value('largeur');
var hauteur=input_get_value('hauteur');

windowsetshape=window.open("setshape.php?idsprite=" + idanim  + "&cases=" + cases + '&flagstatut=' + statut 
+ '&largeur=' + largeur + '&hauteur=' + hauteur + "&debut=" + debut + "&fin=" + fin + "&tri=" + tri + "&numobject=" + numobject
+ "&activemorphing=" + activemorphing,
"setanim" + idanim,"left=100,top=100,menubar=no,width=850,status=yes,height=400,toolbar=no,scrollbars=yes");
windowsetshape.focus();
}

function setanim(idanim,cases)
{

eval('var statut=statut' + idanim);

layer=getlayer('activemorphing' + idanim);
var activemorphing=layer.checked;

if ( statut == 'new' )
	alert('You must set a shape before animate it');
else
	{
	eval('var debut=debut' + idanim);
	eval('var fin=fin' + idanim);
	eval('var tri=tri' + idanim);
	
	//formulaire=document.forms[p_form];
	windowsetanim=window.open("setanim.php?idanim=" + idanim + "&debut=" + debut + 
	"&fin=" + fin + "&tri=" + tri + "&cases=" + cases + '&flagstatut=' + statut + "&activemorphing=" + activemorphing,
	"setanim" + idanim,"left=100,top=100,menubar=no,width=850,status=yes,height=400,toolbar=no,scrollbars=yes");
	windowsetanim.focus();//'setanim' + idanim
	}
}

function transfertblocanim(iddivto,idanim,cases,debut,fin,typeanim,typeobject,tri)
{

/////div de reception
divto=getlayer_window(window.opener,iddivto);

//// frame temp
if(isNS4)
		{
		frametmp=findLayer('frametmp',window.opener.frames['frametmp'].document);
      }
else if (isIE4)
		{
		frametmp=window.opener.frames['frametmp'].document.all['frametmp'];
      }
else if (isMoz)
		{
		frametmp=window.opener.frames['frametmp'];//.document.getElementById('frametmp');
		}

//dump_object(frametmp.frameElement);

frametmp.location.href='loadblocanim.php?idanim=' + idanim + '&cases=' + cases + '&debut=' + debut + '&fin=' + fin + '&typeanim=' + typeanim + '&typeobject=' + typeobject + '&tri=' + tri;

//dump_object(frametmp.frameElement);
//dump_object(divto);
/// transfert de l'html
divto.innerHTML=frametmp.frameElement.innerHTML;

//framechat=parent.frames['framechat'];
}

function setstatus(window,idanim,statut)
{

statustable2(window,idanim,statut);

//div=getlayer_window(window,"descranim" + idanim);
//div.innerHTML="OK";

eval('window.statut' + idanim + '="' + statut + '"');
layerinput=getlayer_window(window,'statut' + idanim);
layerinput.value=statut;
//
}

function update_description(idanim,description)
{

span_description=getlayer_window(window.opener,'description_' + idanim);
span_description.innerHTML='-&nbsp;'+description;

}

function verifytac()
{
layer=getlayer('accepttac');

if ( layer.checked == false )
	{
	alert('You must accept Terms of Service to continue');
	return false;	
	}
return true;	
}

function statustable2(window,idanim,statut)
{
div=getlayer_window(window,idanim);
div.className='boite'+statut;

if ( statut == 'ok' )
	Rounded('div#'+idanim,'all','#FFFFFF','#eef5e3','border #747a6e',true);
else if ( statut == 'new' )
	Rounded('div#'+idanim,'all','#FFFFFF','#dddddd','border #8c8c8c',true);
}

function selectmodelshape(divid)
{

var k=1;

while ( k<=window.opener.maxidsprite )
	{
	layer=getlayer_window(window.opener,'model' + k);
	if ( layer )
//		dump_object(layer);
		alert(k + ':' + layer.checked);
	k++;
	}
}

function activemorphing(idsprite)
{
	layer=getlayer('activemorphing' + idsprite);
	if ( layer.checked == false )
		{
		layer=getlayer('shape2_' + idsprite);
		layer.style.display="none";
		}
	else
		{
		layer=getlayer('shape2_' + idsprite);
		layer.style.display="block";
		}
			
}

function showhide_rb(idrb,idspan)
{
	layer=getlayer(idrb);
	layerspan=getlayer(idspan);

	if ( layer.checked == false )
		{
		layerspan.style.display="none";
		}
	else
		{
		layerspan.style.display="inline";
		}	
}

function showhide_span(idspan)
{
	layer=getlayer(idspan);

	if ( layer.style.display == "none")
		{
		layer.style.display="inline";
		}
	else
		{
		layer.style.display="none";
		}	
}

function showgradient(idbutton,idspan,idbutton2)
{
	layerbutton=getlayer(idbutton);
	layerbutton2=getlayer(idbutton2);
	layerspan=getlayer(idspan);

	layerspan.style.display="inline";
	layerbutton.style.display="none";
	layerbutton2.style.display="inline";

}

function hidegradient(idbutton,idspan,idbutton2,idinput,idexemple)
{
	layerbutton=getlayer(idbutton);
	layerbutton2=getlayer(idbutton2);
	layerspan=getlayer(idspan);

	layerspan.style.display="none";
	layerbutton.style.display="none";
	layerbutton2.style.display="inline";

	layerinput=getlayer(idinput);
	layerinput.value='';

	layerexemple=getlayer(idexemple);
	layerexemple.style.backgroundColor='#FFFFFF';
	
}

function updategradient(idinput)
{

layer=getlayer(idinput);
layer1=getlayer('color1_'  + idinput);
layer2=getlayer('color2_'  + idinput);
if ( layer1.value != '' && layer2.value != '' )
	layer.value='grad(' + layer1.value + ',' + layer2.value + ')';
else if ( layer1.value == '' && layer2.value != '' )
	layer.value=layer2.value;
else
	layer.value=layer1.value;
}

function popup_color_picker(layerinput,layerexemple)
{

url='colorpicker.php?layerinput=' + layerinput + '&layerexemple=' + layerexemple;

cpwidth=400;
cpheight=300;
x= (window.screen.width - cpwidth ) /2;
y= (window.screen.height - cpheight ) /2;

var windowcolor=window.open(url, 'colorpicker', 'resizable=no, location=no, width=' + cpwidth + ',height=' + cpheight + 
',left=' + x+ ',top=' + y + ', menubar=no, status=yes, scrollbars=no, menubar=no');

}

function popup_font_picker(layerid,layerdescr)
{

url='fontbrowser_html.php?layerid=' + layerid + '&layerdescr=' + layerdescr;

fbwidth=800;
fbheight=500;
x= (window.screen.width - fbwidth ) /2;
y= (window.screen.height - fbheight ) /2;

windowfontbrowser=window.open(url,'fontbrowser', 'resizable=no, location=no, left=' +x + 
', top=' + y + ', width=' + fbwidth + ',height=' + fbheight + ', menubar=no, status=no, scrollbars=yes, menubar=no');
windowfontbrowser.focus();
}

function popup_setposition(layerid,layerdescr,typeobject)
{

layeridinput=getlayer(layerid);

url='setposition.php?layerid=' + layerid + '&layerdescr=' + layerdescr + '&defaut=' + layeridinput.value + '&typeobject=' + typeobject;

windowsetposition=window.open(url,'setposition', 
'left=300, top=200, resizable=no, location=no, width=500,height=300, menubar=no, status=no, scrollbars=no, menubar=no');
windowsetposition.focus();

}

function valideform()
{

frametmp=getlayer('frametmp');
frametmp.src='viewresult.php?' + idflash + '&idanim=' + idanim;
flagsubmit=1;

}

function suppranim(idflash,idanim,idsprite,cases)
{
//clearanim(idflash,idanim,idsprite,cases);
eval('var tri=tri' + idanim)
layer=getlayer('anim' + tri);
layer.innerHTML='';
tab_ordre_anim[tri]='deleted';

//// suppression directe des sprites uniquement
if ( idsprite.length == 0 )
	{
	frametmp=getlayer('frametmp');
	// on fourni idsprite dans le cas de la suppression d'une transfo
	frametmp.src='suppranim.php?idflash=' + idflash + '&idanim=' + idanim + '&idsprite=' + idsprite;
	}
	
}

function clearanim(idflash,idanim,idsprite,cases)
{

setstatus(window,idanim,'new');

///// curseurs
curseur=(getlayer('curseurdebut' + idanim));
curseur.style.left = 0;
eval('curseurdebut' + idanim + '=0');
curseur=(getlayer('curseurfin' + idanim));
var tmp=( cases * dxcurseur ) - dxcurseur;
curseur.style.left = tmp;
eval('curseurfin' + idanim + '=' + tmp);
///// valeurs début et fin
eval('debut' + idanim + '=0');
eval('fin' + idanim + '=' + cases);
/// inputs
layerinput=getlayer('debut' + idanim);
layerinput.value=0;
layerinput=getlayer('fin' + idanim);
layerinput.value=cases;
/// barre
for (i=1;i<=cases;i++)
	{	
	casebarre=getlayer('case' + i + '_' + idanim);
	casebarre.style.backgroundColor='#3473CB';
	}
// description
div=getlayer("descranim" + idanim);
div.innerHTML="";
// statut
layerinput=getlayer('statut' + idanim);
layerinput.value='new';
eval('statut' + idanim + '="new"');

///// clear des paramètres de transformation si besoin
layerparam=getlayer('paramtransfo' + idanim);
if ( layerparam )
	{
	layerparam.innerHTML='';
	input_put_value('typetransfo' + idanim,'NULL');
	}

}

function copyanim(idanim)
{
//alert(document.location);

document.location='copyanim.php?idanim=' + idanim;

}

function choosefill(idinput)
{

layerinput=getlayer(idinput);
var valeur=layerinput.value;
valeur=escape(valeur);
url='choosefill.php?idinput=' + idinput + '&defaultvalue=' + valeur;

cfwidth=750;
cfheight=660;
x= (window.screen.width - cfwidth ) /2;
y= (window.screen.height - cfheight ) /2;

//url=escape(url);
//alert(url);
windowcf=window.open(url,'choosefill', 'resizable=no, location=no, width=' + cfwidth + ',height=' + cfheight + 
',left=' + x + ', top=' + y + ', menubar=no, status=no, scrollbars=yes');
windowcf.focus();

}

////// appelé au chargement de setflash.php
///// mise à jour des inputs par rapport aux variables javascript
///// utile lorsqu'on "reload" car les inputs "cachés" conservent la dernière valeur entrée
function onload_update_input_setflash()
{

var k=1;

while ( k<=maxidsprite )
	{
	layer=getlayer('debut' + k);
	if ( layer )
		update_inputs(k);
		
	k++;
	}

}

////// sauvegarde des données actuelles
function saveflash()
{
	///// flag pour reloader frametmp
	flag_frametmp=true;

	formulaire=document.forms['setflash'];

	formulaire.action='saveflash.php';
	
	formulaire.target='frametmp'	;

	formulaire.submit();
	
//// rétablissement des valeurs d'origine
	formulaire.target="";
	formulaire.action='viewresult.php';

}

function check_color(idinput)
{
regexp = new RegExp ("#[0-9A-Fa-f]{1,6}") ;
layerinput=getlayer(idinput);
matchregexp = regexp.exec(layerinput.value);
//alert(matchregexp);
if (matchregexp == null)
	{
	    alert("Color must be an hexadecimal triplet like #FFFFFF");
	    layerinput.value='#FFFFFF';
	}
else
	{
	
	if ( layerinput.value.length != matchregexp[0].length )
		alert('Bad value ' + layerinput.value +  ' changed to ' + matchregexp[0]);
	
//	alert(layerinput.value.length + ";" + matchregexp.length);
    layerinput.value=matchregexp[0];

	}

}

function check_text(idinput,defaut,longueur)
{
//regexp = new RegExp ("#[0-9A-Fa-f]{1,6}") ;
layerinput=getlayer(idinput);
//matchregexp = regexp.exec(layerinput.value);
//alert(matchregexp);
if ( layerinput.value == '')
	{
	    alert('Text field can\'t be empty');
	    layerinput.value=defaut;
	}

if ( layerinput.value.length > longueur )
	{
	    alert('Text length is limited to ' + longueur + ' characters');
	    layerinput.value=layerinput.value.substring(0,longueur);
	}

}

function check_pourc(idinput,defaut)
{
regexp = new RegExp ("[0-9]{1,3}") ;
layerinput=getlayer(idinput);
matchregexp = regexp.exec(layerinput.value);
//alert(matchregexp);
if (matchregexp == null)
	{
	    alert("Value must be a number between 0 and 100");
	    layerinput.value=defaut;
	}
else
	{
	
	if ( layerinput.value.length != matchregexp[0].length )
		alert('Bad value ' + layerinput.value +  ' changed to ' + matchregexp[0]);
	
//	alert(layerinput.value.length + ";" + matchregexp.length);
    layerinput.value=matchregexp[0];

	}

}

function check_integer(idinput,max,defaut)
{
regexp = new RegExp ("[0-9]+") ;
layerinput=getlayer(idinput);
matchregexp = regexp.exec(layerinput.value);
//alert(matchregexp);
if (matchregexp == null)
	{
	    alert("Value must be a number between 0 and " + max);
	    layerinput.value=defaut;
	}
else
	{
	
	if ( layerinput.value.length != matchregexp[0].length )
		alert('Bad value ' + layerinput.value +  ' changed to ' + matchregexp[0]);
	
//	alert(layerinput.value.length + ";" + matchregexp.length);
    layerinput.value=matchregexp[0];
    
    if ( layerinput.value > max )
		{
		alert('Max allowed value is ' + max);
		layerinput.value=max;
    	}

	}

}

function reloadimg()
{

images=document.getElementsByTagName('img');

var nbimages = images.length;

for (c = 0; c < nbimages; c++)
	{
	if (images[c].id.substring(0,9) == 'imgreload' )
		{
		source=images[c].src;
		images[c].src=source;
		}
	}

}
////// sauvegarde des données actuelles
function newflash()
{

///// flag pour reloader frametmp
flag_frametmp_reloaddoc=true;

frametmp=getlayer('frametmp');
frametmp.src='newflash.php';
//	alert(frametmp.src);
}

function update_rand_zone(inputid,flag)
{
if ( flag == "n" )
	{
	layerinput=getlayer(inputid);
	layerfrom=getlayer('n_' + inputid);

	layerinput.value=layerfrom.value;
	}
else if ( flag == "r" )
	{
	layerinput=getlayer(inputid);
	layerfrom1=getlayer('1_' + inputid);
	layerfrom2=getlayer('2_' + inputid);

	layerinput.value='RANDOM(' + layerfrom1.value + ',' + layerfrom2.value + ')';
	}
}

function clear_input(inputid)
{

//var rexp = new RegExp ('\b#[0-9]{1,6}\b', 'gi') ;
//layerinput=getlayer(inputid);
//var m = rexp.exec
alert('fonction effacée par erreur à refaire');
//layerinput.value='';
}

function cpt_lettre(idtext)
{

layerinput=getlayer(idtext);

layertext=getlayer('text_' + idtext);
layertext.innerHTML= 'Length ' + layerinput.value.length;
}

function onloadframetmp()
{
frametmp=getlayer('frametmp');

if ( frametmp.src.search('refreshshape.php') >= 0 )
	{
	update_shape_param(current_typeshape,current_idshape);
	current_typeshape='';
	current_idshape='';
	}
//	alert(frametmp.src.search('refreshshape.php'));

/// après l'execution de scripts dans la frame, on reload null.php.
/// évite que le dernier script soit relancé si on fait un back
//// flag_frametmp est utile lorsque on fait un "submit" d'un "form" dans cette frame
//// en effet, le "src" n'est pas modifié donc pas "détecté"
if ( frametmp.src.search('null.php') == -1 || flag_frametmp == true)
	{
	frametmp.src='null.php';
	flag_frametmp=false;
	}

if ( flag_frametmp_reloaddoc == true )
	{
	document.location='setflash.php';
	}
	
}

function flash_html(larg,haut,chemin)
{

chaine='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ' +
 ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,24,0" ' +
' width="' + larg + '" height="' + haut + '"> ' +
' <param name=movie value="' + chemin + '">' +
' <param name=quality value=high>' +
' <embed src="' + chemin + '" quality=high ' +
' pluginspage="http://www.macromedia.com/go/getflashplayer" ' +
 ' type="application/x-shockwave-flash" width="' + larg + '" height="' + haut + '">' +
'  </embed></object>';
return chaine;
}