/*
Hello, FlowingWoo.com launched June 2008
todo:
recent/random searches
reorg latest pix into view if user chooses fewer cols
resume slideshow when (all) NB closed and focus returned (optional)? 2 complicated?
WebGoggles home option
NB auto slideshow alternative
cache more pix?
BOSS key?
ours goes to 11?
*/
var PIX,MAXROWS=8,MAXCOLS=11,data=[],COLINDEX=-1,canvas,control,PICINDEX=PAUSE=NUMCYCLES=NBCOUNT=0,NBWINDOW,RECIPE='',BRAND='f',spacer=new Image(),wideSpacer=new Image();
function loadCanvas(){frames[0].location.href="canvas.html";}
function init(){
spacer.src="spacer.gif";
wideSpacer.src="widespacer.gif";
canvas=frames[0];
control=frames[1];
setFocus();
if(document.referrer.toLowerCase().indexOf("googleofporn.com")>-1)BRAND='g';
loadCookies();
cookie2ui();
var version_u="http://flowingwu.com/";
if(BRAND=='g')version_u="http://googleofporn.com/";
control.document.getElementById('status').innerHTML="<a href="+version_u+"m/ target=_top>MOBILE</a>";
PIX=new Array(MAXCOLS);
for(var i=0;i<MAXCOLS;i++)PIX[i]=new Array(MAXROWS);
var html='';
for(var i=0;i<MAXCOLS;i++){
 html+="<td valign=top><table cellspacing=0 cellpadding=0>";
 for(var j=0;j<MAXROWS;j++)
  html+="<tr><td><a id="+i+"a"+j+" href='#' onclick='return false' target=_blank><img name="+i+"x"+j+" src=spacer.gif border=0 width=0></a></td></tr>";
 html+="</table></td>";
}
canvas.document.getElementById('yo').innerHTML="<table cellspacing=0 cellpadding=0><tr>"+html+"</tr></table>";
var req=document.location.href;
var reqa=req.indexOf("/?f=");
if(reqa>0)req=unescape(req.substring(reqa+4));
else req='';
if(req){
 while(1){
  var a=req.indexOf("+");
  if(a<0)break;
  req=req.substring(0,a)+" "+req.substring(a+1);
 }
 control.document.fSearch.f.value=req;
 doSearch(req);
}else requestData("http://rawdataserver.com/pb/pornborg0.html");
doResize();
go();
}

function gotFocus(){
//ok resumption of slideshow after NB close...............
}

function go(){
saveCookies();
if(PAUSE){
if(NBCOUNT==1&&NBWINDOW&&NBWINDOW.closed)pauseAll(2);
else{
setTimeout("go()",500);
return;
}
}
var len=data.length;
if(!data||len<1){//ERROR
 setTimeout("go()",500);
 return;
}
if(PICINDEX>=len){
PICINDEX=0;
if(++NUMCYCLES>2){
pauseAll(1);
NUMCYCLES=0;
control.document.getElementById('status').innerHTML="Woo >>>";
}
}
var p=data[PICINDEX++];
var WW=getWinWidth();
var ncol=control.document.fControl.col.value-0;
var w=WW/ncol;
if(++COLINDEX>ncol-1)COLINDEX=0;
for(var i=MAXROWS-1;i>0;i--)PIX[COLINDEX][i]=PIX[COLINDEX][i-1];
canvas.document.images[COLINDEX+'x'+i].src=wideSpacer.src;
PIX[COLINDEX][0]=p;
for(var i=0;i<MAXROWS;i++){
 if(PIX[COLINDEX][i]){
  canvas.document.getElementById(COLINDEX+'a'+i).href=PIX[COLINDEX][i];
  canvas.document.getElementById(COLINDEX+'a'+i).onclick=function(){picClicked(this);return false;}
  if(canvas.document.images[COLINDEX+'x'+i].width&&canvas.document.images[COLINDEX+'x'+i].width!=w)
   canvas.document.images[COLINDEX+'x'+i].width=w;
  canvas.document.images[COLINDEX+'x'+i].src=PIX[COLINDEX][i];
 }
}
if(PICINDEX<data.length){var im=new Image();im.src=data[PICINDEX];}
for(var i=ncol;i<MAXCOLS;i++){
 for(var j=0;j<MAXROWS;j++){
  if(canvas.document.images[i+'x'+j].src!='spacer.gif')
   canvas.document.images[i+'x'+j].src='spacer.gif';
 }
}
var pause=4;
if(ncol==2)pause=3.5;
else if(ncol==3)pause=2.7;
else if(ncol>2)pause=2.2;
setTimeout("go()",pause*1000);
}
function doSearch(q){if(q!=""&&q!=null){requestData("http://rawdataserver.com/cgi-bin/a/find.cgi?pb="+q);}}
function requestData(url){
 var r=false;
 if(window.XMLHttpRequest){
  try{r=new XMLHttpRequest();}
  catch(e){r=false;}
 }else if(window.ActiveXObject){
  try{r=new ActiveXObject("Msxml2.XMLHTTP");}
  catch(e){
   try{r=new ActiveXObject("Microsoft.XMLHTTP");}
   catch(e){r=false;}
  }
 }
 if(r){
  r.open("GET",url,true);
  r.onreadystatechange=function(){if(r.readyState==4&&r.status==200)receiveData(r.responseText)}
  r.send(null)
 }
}
function receiveData(d){
 if(d.indexOf('d=[]')>0||d.indexOf('WebGoggles Search')>0)control.document.getElementById('status').innerHTML="Sorry, no results";
 else if(d.indexOf('d=[')>0)processPicData(d);
}
function processPicData(d){
d="data"+d.substring(d.indexOf("="));
eval(d.substring(0,d.indexOf("']")+3));
if(control.document.fSearch.f.value){
 setFocus();
 var son='s';
 if(data.length==1)son='';
 control.document.getElementById('status').innerHTML=data.length+" result"+son;
}
data.sort(new Function("return .5-Math.random()"));
NUMCYCLES=0;
pauseAll(2);
}
function setFocus(){control.document.fControl.bPause.focus();}
function doResize(){
if(!control)return;
changeCols(control.document.fControl.col.value-0);
}
function changeCols(c){
var w=getWinWidth()/c;
for(var i=0;i<c;i++){for(var j=0;j<MAXROWS;j++)canvas.document.images[i+'x'+j].width=w;}
for(var i=c;i<MAXCOLS;i++){for(var j=0;j<MAXROWS;j++)canvas.document.images[i+'x'+j].src!='spacer.gif';}
}
function getWinWidth(){
var WW=999;
if(navigator.userAgent.indexOf('MSIE')<0){WW=self.innerWidth;}
else{WW=document.body.clientWidth;}
WW-=15;//scrollbar
if(WW<33)WW=33;
else if(WW>2600)WW=2600;
return WW;
}
function pauseAll(p){
if(p>1)PAUSE=1;
if(PAUSE<1||p==1){
PAUSE=1;
control.document.fControl.bPause.style.color="green";
control.document.fControl.bPause.style.fontWeight="bold";
control.document.fControl.bPause.value="CONTINUE SLIDESHOW";
}else{
PAUSE=0;
NBCOUNT=0;
NBWINDOW=null;
control.document.fControl.bPause.style.color="red";
control.document.fControl.bPause.style.fontWeight="normal";
control.document.fControl.bPause.value="Pause Slideshow";
}
}
function picClicked(u){
u=""+u;
if(control.document.fControl.cbAutoPause.checked){
 pauseAll(1);
 NBCOUNT++;
}
setFocus();
NBWINDOW=window.open("http://NAKEDBROWSER.com/?x="+BRAND+"&u="+u,"","");
}
function saveCookies(){
var c=control.document.fControl;
var s='';
for(var i=0;i<c.length;i++){
var n=c[i].name;
if(n){
 var v=c[i].value;
 if(c[i].type&&c[i].type=='checkbox')v=c[i].checked;
 else if(c[i].type&&c[i].type=='button')continue;
 s+="<"+n+">"+v+"</"+n+">";}
}
if(RECIPE!=s){
 setCookie('goop',s);
 RECIPE=s;
}
}
function loadCookies(){RECIPE=getCookie('goop');}
function cookie2ui(){
var c=control.document.fControl;
for(var i=0;i<c.length;i++){
 if(c[i].name){
  var v=getSetting(c[i].name);
  if(v){
   if(c[i].type&&c[i].type=='checkbox'){
    if(v=='true')c[i].checked=true;
    else c[i].checked=false;
   }else c[i].value=v;
  }
 }
}
}
function getSetting(s){
var a=RECIPE.indexOf("<"+s+">");
var b=RECIPE.indexOf("</"+s+">",a);
if(a<0||b<a)return '';
return RECIPE.substring(a+s.length+2,b);
}
function getCookie(key){
 var c=document.cookie;
 var a=c.indexOf(key+"="); //buggish?
 if(a<0)return "";
 a+=key.length+1;
 var b=c.indexOf(";",a);
 if(b<=a)return c.substring(a);
 return c.substring(a,b);
}
function setCookie(key,val){
 if(getCookie(key)==val)return;
 var d=new Date(),p=Date.parse(d);
 d.setTime(p+365*24*60*60*1000);
 var u=d.toUTCString();
 document.cookie=key+"="+val+";expires="+u;
}