stripos. Case insensitive strpos. I just checked it in the console, and it exists.
function striReplace(%source, %search, %replace)
{
%len = strlen(%search);
while((%i = stripos(%source, %search)) >= 0)
{
%source = getSubStr(%source, 0, %i) @ %replace @ getSubStr(%source, %i + %len, strlen(%source) - %i - %len);
}
return %source;
}