/**
 * @author joerg
 */

function randomNumber(limit)
{
  return Math.floor(Math.random()*limit);
}

function ripString(str)
{
	var ret = "";
	var sz = str.length;
	var c='';
	var c2='';

	for(var cnt = 0; cnt < sz;)
	{
		c = str.charAt(cnt);
		if((c != '\n') && (c != '\r') && (c != '\r'))
		{
			switch(randomNumber(7))
			{
			case 1 :
				ret += c;
			case 2:
				c2 = str.charAt(randomNumber(sz));
				if((c2 != '\n') && (c2 != '\r') && (c2 != '\r'))
					ret += c2;
			default :
				ret += c;
				cnt++;
			}
		}
		else
		{
			ret += c;
			cnt++;
		}
	}
	
	return ret;
}


function swapNodes(obj)
{
	if(obj.hasChildNodes())
	{
		i1 = randomNumber(obj.childNodes.length);
		i2 = randomNumber(obj.childNodes.length);		
		o = obj.childNodes[i1].cloneNode(true);
		obj.replaceChild(obj.childNodes[i2].cloneNode(true),obj.childNodes[i1]);
		obj.replaceChild(o,obj.childNodes[i2]);		
	}
}

function ripNode(obj)
{
	var x;
	
	if(obj == null)
		return;
	for(x = 0; x < obj.childNodes.length; x++)
	{
		if(obj.childNodes[x].nodeType == 3)
			obj.childNodes[x].nodeValue = ripString(obj.childNodes[x].nodeValue);
		else if(obj.childNodes[x].nodeType == 1)
		{
			if(obj.childNodes[x].nodeName == "IMG")
			{
				obj.childNodes[x].height /= 2;
				obj.childNodes[x].width = obj.childNodes[x].width / 1.5;
				var table = document.createElement('table'); 
				var tr1 = document.createElement('tr'); 
				var tr2 = document.createElement('tr'); 
				var td1 = document.createElement('td'); 
				var td2 = document.createElement('td'); 
				var td3 = document.createElement('td'); 
				var td4 = document.createElement('td'); 
				var o1 = obj.childNodes[x].cloneNode(true);
				var o2 = obj.childNodes[x].cloneNode(true);
				var o3 = obj.childNodes[x].cloneNode(true);
				var o4 = obj.childNodes[x].cloneNode(true);
				
				table.setAttribute("class","invisibletable");
				
				table.appendChild(tr1);
				tr1.appendChild(td1);
				tr1.appendChild(td2);
				table.appendChild(tr2);
				tr2.appendChild(td3);
				tr2.appendChild(td4);
				
				td1.appendChild(o1);
				td2.appendChild(o2);
				td3.appendChild(o3);
				td4.appendChild(o4);
				obj.replaceChild(table,obj.childNodes[x]);
			}
			else
				ripNode(obj.childNodes[x]);
		}
	}
	swapNodes(obj);
	swapNodes(obj);
	swapNodes(obj);
}

function mangleDiv(idname)
{	
	obj = $(idname);
	ripNode(obj);
	
	swapNodes(obj);
	swapNodes(obj);
	swapNodes(obj);
}
