//vars

for (i=1; i<=8; i++) {
eval("e"+i+" = new Image()"); eval("e"+i+".src = 'images/faces/e"+i+".gif'");
eval("m"+i+" = new Image()"); eval("m"+i+".src = 'images/faces/m"+i+".gif'");
eval("n"+i+" = new Image()"); eval("n"+i+".src = 'images/faces/n"+i+".gif'");
}

totalFaces = 15;
delay = 250;
shakePeriod = 5000;

var e = new Array(); 
var n = new Array(); 
var m = new Array(); 

//funcs

  function periodicShakeFaces(){
    // alert(1);
    shakeFaces();
    window.setTimeout("periodicShakeFaces();",  shakePeriod );
  }
  
  function shakeFaces(){

    e = new Array(); n = new Array(); m = new Array(); 
    
    e = getNewString(n,m);
    setLine("e");

    n = getNewString(e,m);
    m = getNewString(e,n);
    
    window.setTimeout("setLine('n');", delay );
    window.setTimeout("setLine('m');", delay * 2);
  }
  
  function setLine(prefix,arr){
    if(prefix == 'e') arr = e;
    if(prefix == 'n') arr = n;
    if(prefix == 'm') arr = m;
    for(i=1;i<=totalFaces;i++){
      obj = document.getElementById(prefix+i);
      obj.src = "images/faces/" + prefix + arr[i] + ".gif";
    }
  }
  
  function getNewString(arr1, arr2){
    var arr = new Array();
    for(i = 1; i<= totalFaces;i++){
      while(true){
        var j = myRandom();
        if((arr1[i] != j) && (arr2[i] != j) && (arr[i-1] != j) && (arr[i-2] != j)){
          arr[i] = j;
          break;
        }
      }
    }
    return arr;
  }
  
  function myRandom(){
    return Math.floor(Math.random() * 8)+1;
  }
  
