
function bssCollect(market_id, participant_id, bookie) {
	   
   if(!market_id || !participant_id || !bookie ||!sportname || !cardName) return false;
	
   var req = null;
   
   if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
   } else if (window.ActiveXObject) {
	   req = new ActiveXObject("Msxml2.XMLHTTP");
	   if (!req) {
		   req = new ActiveXObject("Microsoft.XMLHTTP");
	   }
   }
   
   if (req == null) return false;

   var bssc_url= "scripts/bss_collect.php";
   var link = "/" + fullPath;
   var params = "mid=" + market_id + "&pid=" + participant_id + "&s=" + sportname + "&bk=" + bookie + "&l=" + link + "&cn=" + cardName + "&seid=" + subeventId;

   req.onreadystatechange = function() {}
   
   req.open("POST", bssc_url, true);
   req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   req.setRequestHeader("Content-length", params.length);
   req.setRequestHeader("Connection", "close");
   req.send(params);
}


var bss_pool_url= "scripts/bss_pool.php";
var bss_def_interval = 30000;

var bss_reqs_arr = new Array();
var bss_mids_arr = new Array();
var bss_cards_arr = new Array();
var bss_seids_arr = new Array();
var bss_sports_arr = new Array();
var bss_intervals_arr = new Array();
var bss_limits_arr = new Array();
var bss_timeouts_arr = new Array();
var bss_items_parents_arr = new Array();
var bss_items_col_arr = new Array();

function bssInit(bss_id, market_id, sport, interval, limit, card, subevent_id) {
	
	if(!market_id) bss_mids_arr[bss_id] = null;
	else bss_mids_arr[bss_id] = market_id;
	
	if(!sport) bss_sports_arr[bss_id] = null;
	else bss_sports_arr[bss_id] = sport;
	
	if(!card) bss_cards_arr[bss_id] = null;
	else bss_cards_arr[bss_id] = card;
	
	if(!subevent_id) bss_seids_arr[bss_id] = null;
	else bss_seids_arr[bss_id] = subevent_id;
	
	rand_factor = Math.round(Math.random(2) * 1000);

	if(!interval) bss_intervals_arr[bss_id] = bss_def_interval + rand_factor;
	else bss_intervals_arr[bss_id] = interval*1000 + rand_factor;
	
	if(!limit) bss_limits_arr[bss_id] = 10;
	else bss_limits_arr[bss_id] = limit;
	
	if(zXmlHttp.isSupported()) {
		
		bssPool(bss_id);
	}
}

function bssPool(bss_id) {

	bss_items_parents_arr[bss_id] = document.getElementById("bsStats" + bss_id);

	if(!bss_items_col_arr[bss_id]) bss_items_col_arr[bss_id] = new Array();
	bss_items_col_arr[bss_id] = bss_items_parents_arr[bss_id].getElementsByTagName("tr");
	
	if(!bss_reqs_arr[bss_id]) {
		bss_reqs_arr[bss_id] = zXmlHttp.createRequest();
	} else if (bss_reqs_arr[bss_id].readyState != 0) {
		bss_reqs_arr[bss_id].abort();
	}

	bss_reqs_arr[bss_id].onreadystatechange = function(){ _bssService(bss_id); };
	
	bss_params = "";
	if(bss_sports_arr[bss_id]) bss_params+= "s=" + bss_sports_arr[bss_id] + "&";
	if(bss_cards_arr[bss_id]) bss_params+= "cn=" + bss_cards_arr[bss_id] + "&";
	if(bss_mids_arr[bss_id]) bss_params+="mid=" + bss_mids_arr[bss_id] + "&";
	if(bss_seids_arr[bss_id]) bss_params+="seid=" + bss_seids_arr[bss_id] + "&";
	if(bss_limits_arr[bss_id]) bss_params+="l=" + bss_limits_arr[bss_id];
	
	bss_reqs_arr[bss_id].open("POST", bss_pool_url, true);
	
	bss_reqs_arr[bss_id].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	bss_reqs_arr[bss_id].setRequestHeader("Content-length", bss_params.length);
	bss_reqs_arr[bss_id].setRequestHeader("Connection", "close");
	
	bss_reqs_arr[bss_id].send(bss_params);
}

function _bssService(bss_id) {

	if(bss_reqs_arr[bss_id].readyState == 4) {
		try {
			if(bss_reqs_arr[bss_id].status == 200) {
				
			   	if(bss_reqs_arr[bss_id].responseText.match(/\[\{.+?\}\]/)) {
	
 					var bss_stats = json_parse(bss_reqs_arr[bss_id].responseText);
           
 					bss_stats_length = bss_stats.length;
 					
					for(i=0; i< bss_stats_length; i++) {
						
						item_id = "bss" + bss_id + "item" + i;
							
						var tds_coll = bss_items_col_arr[bss_id][i].getElementsByTagName("td");
						
						for(j=0; j<tds_coll.length; j++) {
						
							switch(tds_coll[j].className) {
								case "bssSn":
									if(bss_stats[i].sn != undefined) tds_coll.item(j).innerHTML = bss_stats[i].sn;
								break;
								case "bssPn":
									if(bss_stats[i].pn != undefined) {
										
										link_el = tds_coll[j].getElementsByTagName("a").item(0)
										if(link_el != undefined) {
											
											link_el.innerHTML = bss_stats[i].pn;
											
											if(bss_stats[i].l != undefined) {
												link = bss_stats[i].l;
												link_el.setAttribute("href", link)
											}
										}
									}
								break;
								case "bssSen":
									if(bss_stats[i].sen != undefined) tds_coll.item(j).innerHTML = bss_stats[i].sen;
								break;
								case "bssMn":
									if(bss_stats[i].mn != undefined) tds_coll.item(j).innerHTML = bss_stats[i].mn;
								break;
								case "bssPrc":
									if(bss_stats[i].prc != undefined) {
										
										if(bss_stats[i].prc < 1) bss_stats[i].prc = "<1";
										tds_coll.item(j).innerHTML = bss_stats[i].prc + "%";
									}
								break;
								case "bssCo":
									if(bss_stats[i].c != undefined) {
										tds_coll.item(j).innerHTML = bss_stats[i].c;
									}
								break;
							}
						}
						
						if(bss_items_col_arr[bss_id][i].style.display == "none") {
							bss_items_col_arr[bss_id][i].style.display = "";
							bss_items_col_arr[bss_id][i].removeAttribute("style");
						}
					}
				}

				bss_timeouts_arr[bss_id] = setTimeout("bssPool('" + bss_id + "')", bss_intervals_arr[bss_id]);
			}
			
		} catch (e) {
			//alert(i + " Exception: " + e + "\n" + e.name + "\n" + e.message + "\n" + bss_id + "\n" + bss_items_parents_arr[bss_id]);
			if(bss_timeouts_arr[bss_id]) clearTimeout(bss_timeouts_arr[bss_id]);
			bss_timeouts_arr[bss_id] = setTimeout("bssPool('" + bss_id + "')", bss_intervals_arr[bss_id]);
		}
	}
}
