// Random Banners v1.1 by gaf210
// Upgrades: added function to pick random banner and update div with banner code.

function swap(a, b, array){

 tmp = array[a];
 array[a] = array[b];
 array[b] = tmp;

}
//===========================================================

function rand(bt,tp){
  
 pos = tp - bt;
 rdm = Math.random() * pos;
 rdm = Math.floor(rdm);

 return parseInt(bt) + rdm;
}
//===========================================================

function sortmix(q, order, winsize){

 flr = 0;

 for(i=0;i<q;i++) order[i] = i;

 for(i=0;i<winsize;i++){
  rdm = rand(flr, q); //floor=<rdm<q
  swap(flr,rdm,order);
  flr++;
 }
 
}
//===========================================================
function Largebanners(){

 WINDOW_SIZE = 3;
 
//Random seq creation
 choosenp = new Array;
 sortmix(MAX_BANNERS, choosenp, WINDOW_SIZE);
 //choosenp = array of length MAX_PRODS mixsorted.

//banner HTML string build
// fstring="<marquee direction=\"up\" height=320px scrollamount=3>"
 fstring="<p style=\"font-size: 4pt;\"> Banners selected at random by the Banner Picker by gaf210</p>"
 for(j=0; j<WINDOW_SIZE; j++){
  fstring = fstring + build_html(banners[choosenp[j]],0,0);
 }

// fstring = fstring + "</marquee>" 
 
 return fstring;

}

//===========================================================
function Smallbanners(){

 SWINDOW_SIZE = 4;
 
//Random seq creation
 schoosenp = new Array;
 sortmix(MAX_SBANNERS, schoosenp, SWINDOW_SIZE);
 //choosenp = array of length MAX_PRODS mixsorted.

//banner HTML string build
 sfstring="<div id='bannersbox'> "
 for(k=0; k<SWINDOW_SIZE; k++){
  sfstring = sfstring + build_html(sbanners[schoosenp[k]],0,0);
  
 }

 sfstring = sfstring + "</div>" 
 
 return sfstring;

}

//===========================================================
function Printall(){

 allbanners = "<table><tr><td width=550>";

 for(i=0; i<MAX_BANNERS; i++){
  allbanners += build_html(banners[i],0,0) + "<br>" ;
 }

 allbanners += "</td><td width=350>";

 for(i=0; i<MAX_SBANNERS; i++){
  allbanners += build_html(sbanners[i],0,0) + "<br>" ;
 }

 allbanners += "</td></tr></table>";

 return allbanners;
}
//===========================================================
function getRandomBanner() {
	allbanners = [];
	allbanners = banners.concat(sbanners);
	return(allbanners[rand(0,allbanners.length)]);
}
//===========================================================
function build_html(row, maxwidth, maxheight) {
	final_str = "<a href='";
	if(isNaN(row[0])){
		final_str += row[0];
	} else {
		final_str += "http://www.imvu.com/shop/web_search.php?manufacturers_id=" + row[0];
	}

	final_str +="' target='_blank'>";

	if(maxwidth==0 && maxheight==0){
		final_str += "<img src='" + row[1] + "' border='0'>"; 
	} else {
		final_str += "<img src='" + row[1] + "' border='0' style=\"max-width: " + maxwidth + "px; height:auto;\" onload=\"if (typeof(this.style.maxWidth) == 'undefined'){ if (this.width > " + maxwidth + ") this.style.width='" + maxwidth + "px'; if (this.height > " + maxheight + ") this.style.height='" + maxheight + "px';}\"></a>"; 
	}

	final_str +="</a>";

	return final_str;
}
//========================================================
function update_banner(id) {
	document.getElementById(id).innerHTML = Smallbanners();
	setTimeout ("update_banner('"+ id + "')", 30000);
}
