Recoger parámetros URL con javascript

Cuando uno programa con PHP o ASP, está acostumbreado a pasar parámetros a traves de la url, como:

wwww.midominio.com/page.php?id=13&ref=12

Con el auge de Ajax, se ha vuelto a hacer necesario que sea javascript el que recoja los parámetros pasados por una dirección web. Un ejemplo de recogida sería

<script language="javascript">
var Url = location.href;
Url = Url.replace(/.*\?(.*?)/,"$1");
Variables = Url.split ("&");
for (i = 0; i < Variables.length; i++) {
       Separ = Variables[i].split("=");
       eval ('var '+Separ[0]+'="'+Separ[1]+'"');
}
// para la url de ejemplo
// wwww.midominio.com/page.php?id=13&ref=12
// tendriamos dos variables id y ref con sus valores
//
//Para comprobarlo:
alert(id);
alert(ref);
</script>