var errorFlag = 0;

function mixArray(theArray){
	for (i = 0; i < theArray.length; i++){
		newIndex = Math.floor(Math.random() * theArray.length);
		tmp = theArray[newIndex];
		theArray[newIndex] = theArray[i];
		theArray[i] = tmp
	}
	return theArray;
}

function FirstSessonVisit(){
		//alert("würfeln");
    var cookieString = "";
    
		for (var pid in pool){
			pool[pid] = mixArray(pool[pid]);
    	var i = 0;
			for(var cid in container){
				if(container[cid]["SID"] == pid){
			    if (i < pool[pid].length){
						containerToPoolWbt[cid] = pool[pid][i++];
					}
					else{
						alert("Zu wenig Seiten im Pool '" + pid + "'");
					}
	    	}
	    }
		}
		
    for(var cid in containerToPoolWbt){
      // Cookie vorbereiten, Format: CONTAINERSEITE,WBTSEITE_AUS_POOL_X#
      cookieString += cid + "," + containerToPoolWbt[cid] + "#";
    }
    cookieString = cookieString.substring(0, cookieString.length -1);
    // Sessioncookie schreiben
    setPoolValue("POOLSEITE"+projectID+CookieUserName, cookieString);
}

function InitPoolSites(PoolSessionCookie){
    // Aufsplitten in Container-WBT-Paare
    var Container_WBT_Split = PoolSessionCookie.split("#");
    // Für alle Paare
    for(var i = 0; i < Container_WBT_Split.length; i++){
			// Aufsplitten in Container und WBT
			var ContainerToWBT = Container_WBT_Split[i].split(",");
			containerToPoolWbt[ContainerToWBT[0]] = ContainerToWBT[1];
    }
}

function isInPool(pid){
	for(var cid in pool){
		for(var i = 0; i < pool[cid]["ANZ"]; i++){
			if(pool[cid][i] == pid){
				return true;
			}
		}
	}
	return false;
}

function isValidPoolValue(PoolSessionCookie){
	// Aufsplitten in Container-WBT-Paare	
  var Container_WBT_Split = PoolSessionCookie.split("#");
  // Prüfen ob Anzahl in Cookies und in Container gleich, sonst evtl. neue Containerseite im Projekt
  var anzContainer = 0;
  for(var sid in container){
  	anzContainer++;
  }
  var isValidC = ((Container_WBT_Split.length) == anzContainer);
  // Für alle Paare
  for(var i = 0; i < Container_WBT_Split.length && isValidC; i++){
    // Aufsplitten in Container und WBT
    var ContainerToWBT = Container_WBT_Split[i].split(",");

    isValidC = typeof(container[ContainerToWBT[0]]) != "undefined" && typeof(pool[container[ContainerToWBT[0]]["SID"]]) != "undefined";

    var isValidP = false;
		if (isValidC){
      thePool = pool[container[ContainerToWBT[0]]["SID"]];
    	for (var j = 0; j < thePool.length && !isValidP; j++){
    		isValidP = (ContainerToWBT[1] == thePool[j]);
			}
		}
	}
	
  return (isValidC && isValidP);
}
