﻿
Array.prototype.find = function(val){
    for(i=0; i<this.length; i++){
        if(this[i] == val) return i;
    }
    return -1;
}
var maxcomp = 5;
var comparison = [];
var compardata = {};
var hdnf;

function compare(chkbox, sid, hdn){
    if(hdn != undefined) hdnf = hdn;
    var hf = hdnf.value;
    var c2 = hf.split(",");
    for(i = 0; i<c2.length; i++){
        var j = comparison.find(c2[i]);
        if (j == -1 && c2[i].length > 0) comparison.push(c2[i]);
    }
    var id = comparison.find(sid);
    var evnt = '';
    if(id >= 0) {
        comparison.splice(id, 1);
        evnt = 'remove';
        if(compardata[sid] != undefined) compardata[sid].checked = false;
        compardata[sid] = undefined;
        //handleOnCompare(chkbox, {_event:'remove', _ids:hv});
    }else{
        if(comparison.length < maxcomp){
            comparison.push(sid); 
            //alert("compare: " + comparison.length.toString());
            evnt = 'add';
            compardata[sid] = chkbox;
            //handleOnCompare(chkbox, {_event:'add', _ids:hv});
        }else{
            chkbox.checked = false;
            alert("Maximum comparison reached (" + comparison.length.toString()+ ") \n"+comparison.toString()+"\nPlease uncheck one to add a new comparison." );
        }
    }
    hdnf.value = comparison.toString(); 
    if(evnt.length) handleOnCompare(chkbox, {_event:evnt, _ids:hdnf.value});
    //alert("hidden value: " + hdn.value);
}
function handleOnCompare(sender, e){
    alert(sender.toString()+ " event fired: " + e._event + "\nIDs: " + e._ids);
    
}
var req
function loaddata(url, target) {
  document.getElementById(target).innerHTML = ' Fetching data...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {loaddataDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
}  

function loaddataDone(url, target) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req.responseText;
    } else {
      document.getElementById(target).innerHTML=" loaddata Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}

function load(name, div) {
	loaddata(name,div);
	return false;
}



