avrei un problema nel comprendere coem funziona lo script qui sotto

dovrei usarlo in questo modo

<form action"form.html" onsubmit=return checkrequired(this )>
<input type="Text" name="campo1">
<input type="Text" name="campo2">... ecc

submit ecc...
</form>

1) non capisco coem lavora i nquesto caso il this segnato in rosso sopra... prende in esame ogni campo di testo?!?!
quindi e' possibile sostituire al this il nome del campo di testo se volessi lavorare solo su un campo??(ho provato non sembra funzionare forse sbaglio sintassi)

2) non capisco qui sotto nel codice ... come si lavora tramite il parametro document.images e tempogj name ecc..

Potreste darmi uan spiegazione delle varie righe ...? e se possibile rispondere al punto 1?

grazie a tutti! so che sono domande da niubbo.. ma ..effetivamente .... e' cosi' :P lo sono



codice:
function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++){
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
break
}
}
}
}
if (!pass){
alert("Non hai compilato correttamente il form. Alcune informazioni non sono state inserite. Clicca su OK e verifica l'errore")
return false
}
else
return true
}