﻿window.RadomOrderDiv = function (topNode) {
	if (!topNode) return;
	var firstNode = topNode.firstChild;
	if (firstNode && firstNode.tagName == null) firstNode = firstNode.nextSibling;
	if (firstNode && firstNode.tagName == null) firstNode = firstNode.nextSibling;
	if (!firstNode) return;
	var Load = function () {
		ToViewRadmonOrderDiv(firstNode);
	}
	var GetRadmonIndexByTime = function (total) {
		var dt = new Date();
		var timer = dt.getTime();
		var radomIndex = timer % total;
		return radomIndex;
	}
	var GetRadmonIndex = function (total) {
		var radom = Math.random() * total;
		var radomIndex = parseInt(radom);
		return radomIndex;
	}
	var ToViewRadmonOrderDiv = function (firstNode) {
		var arr = [firstNode];
		var nextDiv = firstNode;
		var splitArr = [];
		while (nextDiv.nextSibling != null) {
			if (firstNode.tagName == nextDiv.nextSibling.tagName) { arr.push(nextDiv.nextSibling); }
			else { splitArr.push(nextDiv.nextSibling); }
			nextDiv = nextDiv.nextSibling;
		}
		var newArr = [];
		for (var i = 0, len = arr.length; i < len; i++) {
			var index = GetRadmonIndex(arr.length);
			var div = arr[index];
			newArr.push(div);
			arr.splice(index, 1);
		}
		var span = document.createElement("span");
		for (var i = 0, len = newArr.length; i < len; i++) {
			span.appendChild(newArr[i]);
		}
		for (var i = 0, len = splitArr.length; i < len; i++) {
			span.appendChild(splitArr[i]);
		}
		for (var i = 0, len = newArr.length; i < len; i++) {
			topNode.appendChild(newArr[i]);
			if (i < splitArr.length) topNode.appendChild(splitArr[i]);
		}
	}
	Load();
}
//引用的代码
/*
<script type="text/javascript" src="http://.../RadomOrderDiv.js"></script>
*/
//调用示例
/*
<div id="list001">
		<div>12312232111</div>
		<div>22212232111</div>
		<div>33312232111</div>
</div>
<script type="text/javascript">new window.RadomOrderDiv(document.getElementById('list001'));</script>
*/

