//showCase product element
function product( id, weight)
{
    this.id     = id;
    this.weight = weight;
}

// Banners set element
function set(lang1, lang2, prods) {
	this.lang1 = lang1;
	this.lang2 = lang2;
	this.prods = prods;
}

var products = new Array();
var sets = new Array();

function getBanner()
{
    var i;
    var m = 0;
    var range = new Array();
    var rnd;
    var prodID = "";
    var rnd_int = 0;
	for(i = 0; i< products.length; i++)  {
	  m += products[i].weight;
	  range[i] = m;
    }
    if (m <=0 )
		return prodID;
	
	rnd = Math.random();
	
	for(i = 0; i< m; i ++) {
	    if( rnd <= (i+1)/m ){
	       rnd_int = i+1;
	       break;
	    }
	}
	
	for(i = 0; i< range.length; i ++) {
	    if( rnd_int <= range[i]){
	       prodID = products[i].id;
	       break;
	    }
	}
	
	return prodID;

}

function getBannersSet(lang1, lang2)
{ 
	var i;
	var setNo = 0; //-1;
    for(i = 0; i <sets.length; i++ ) {
		if (( sets[i].lang1 == lang1 && sets[i].lang2 == lang2) || ( sets[i].lang1 == lang2 && sets[i].lang2 == lang1)) {
			setNo = i;
			break;
		}
	 }
    return setNo;
}



function getBannerNo(setNo)
{   
    var i;
    var m = 0;
    var range = new Array();
    var rnd;
    var rnd_int = 0;
    var prodID = "";
	for(i = 0; i<sets[setNo].prods.length; i++)  {
	  
	  m += products[sets[setNo].prods[i]].weight;
	  range[i] = m;
	
    }
	if (m <=0 )
		if(setNo > 0) {
			return getBannerNo(0);
			}
	
	rnd = Math.random();
	
	for(i = 0; i< m; i ++) {
	    if( rnd <= (i+1)/m ){
	       rnd_int = i+1;
	       break;
	    }
	}
	
	for(i = 0; i< range.length; i ++) {
	    if( rnd_int <= range[i]){
	       prodID = products[sets[setNo].prods[i]].id;
	       break;
	    }
	}
	
	if(prodID == "" && setNo > 0) {
		getBannerNo(0);
	}
	return prodID;
}
