Ciao a tutti, ho un problema con questo codice, come posso fare a passare più valori in querystring. Mi spiego meglio: nell'url ora inserisco ad esempio: x=111&y=111 e funziona.
Ma per mettere un numero n di x e un numero n di y (x=111&y=111&y=222&x=222 ecc) come faccio?
ecco il codice:


<html>
<head>

<script languange="javascript">
var canvas, ctx;
var id = 1;
var i=0;
var results;

function gup(param_name){ //LA FUNZIONE GUP GESTISCE L'INSERIMENTO DEI PARAMETRI VIA QUERYSTRING

param_name = param_name.replace(/[\[]/,'\\\[').replace(/[\]]/,'\\\]');
var regexS = "[\\?&]"+param_name+'=([^&#]*)';
var regex = new RegExp( regexS );
results = regex.exec( window.location.href );

if( results == null ){
return "";
}

else{

return results[1];
}
} //Fine gup()


function init(){
canvas = document.getElementById('canvas'); //CANVAS & IMMAGINE
ctx = canvas.getContext('2d');
img = new Image();
img.src = 'blu.jpg';

img.onload = function (){
ctx.drawImage(img,0,0,1024,768);
setInterval(print_arc,1000);
//RICHIAMA LA FUNZIONE print_arc CHE FA "LAMPEGGIARE" UN CERCHIO
}
} //Fine init()





function print_arc(){

var x=gup('x');
var y=gup('y');

if(x>1024 || y>768){
alert('hai inserito dei valori troppo grandi'); //Nel caso in cui i valori inseriti siano maggiori della dimensione dell'immagine 1024*768
}

else{
switch(id){
case 1: //CERCHIO COLORATO
ctx.fillStyle = 'rgba(0,255,0,4)';
ctx.arc(x,y,10,0,Math.PI*2,true);
ctx.fill();
id=0;
break;

case 0: //CERCHIO TRASPARENTE
ctx.drawImage(img, x-50, y-50, 150, 150, x-50, y-50, 150, 150);
id=1;
break;
} //Fine switch
} //Fine else

} //Fine print_arc()

</script>
</head>
<body onLoad="init();">
<canvas id="canvas" width="1024" height="768"></canvas>
</body>
</html>



PS c'è anche il caricamento di un'immagine ma per quello non penso ci siano problemi.