function EvCls(clsName, grpAry)
{
	this.clsName = clsName;
	this.grpAry = grpAry;
	
}

function EvGrp(grpID, grpName, evAry)
{
	this.grpID=grpID;
 	this.grpName= grpName;
	this.evAry=evAry;
}



function Event(evID, evName, evStart, numContracts, evClass, isLive, startTime)
{
	this.evID=evID;
 	this.evName= evName;
	this.evStart = evStart;
	this.numContracts = numContracts;
	this.evClass = evClass;
	this.isLive = isLive;
	this.startTime = startTime;
}




function classOrder(a, b){ 
	
	var ret = 	 (a.clsName.toUpperCase()  > b.clsName.toUpperCase() )?1 :-1; 
	return ret;
}





function addCoupons(selEvent, className){
    var headerAdded=false;
	if(null != parent.coupons && parent.coupons.length>1){
        	for(var i = 1; i< parent.coupons.length; i++){
                    var cpn=parent.coupons[i];
                    if(cpn.className==className){
                        if(!headerAdded) {
                           
                            var option = addEvent(selEvent, className + " - Selected Contract Groups", "ma");
                            option.style.color="#ff0000";
                            option.style.backgroundColor="#f0f0f0";	
                            headerAdded=true;
                        }
                        addEvent(selEvent,  " "+cpn.name, "coupon_"+cpn.id);
                    }

			
		}
	}
        
}

function populateSelect(){

	var selEvent = getElementById("eventSelect");
	if(selEvent==null)
		return;
		
	var evClsAry = parent.evClsAry;
	if(evClsAry == null || evClsAry.length==0)
		return;
	
	var option = addEvent(selEvent, "  " , "ma");

	if(null != parent.coupons && parent.coupons.length>1){
		var option = addEvent(selEvent, "--Selected Contract Groups-- " , "ma");
		option.style.color="#ff0000";
		option.style.backgroundColor="#f0f0f0";	
		for(var i = 1; i< parent.coupons.length; i++){
			addEvent(selEvent,  " "+parent.coupons[i].name, "coupon_"+parent.coupons[i].id);
		}
	}


	var option = addEvent(selEvent, "  " , "ma");
	
	for(var i = 0; i< evClsAry.length; i++){
		var evCls = evClsAry[i];
		var grpAry = evCls.grpAry;

		var option = addEvent(selEvent, "  " , "ma");

                addCoupons(selEvent, evCls.clsName);

		for(var j=0; j<grpAry.length; j++){
			var grp = grpAry[j];
			var eventAry = grp.evAry;
			var option = addEvent(selEvent, evCls.clsName + " - " + grp.grpName , "ma");
			option.style.color="#ff0000";
			option.style.backgroundColor="#f0f0f0";	
			
			for(var k=0; k<eventAry.length; k++){
				var theEvent = eventAry[k];
				addEvent(selEvent,  " "+theEvent.evName, theEvent.evID);
			}
		}
	}
	
	var liveEvents = parent.liveEvents;
	if(null != liveEvents && liveEvents.length>0){
		addEvent(selEvent, "  " , "ma");
		var option = addEvent(selEvent, "--Upcoming Events-- " , "ma");
		option.style.color="#ff0000";
		option.style.backgroundColor="#f0f0f0";	
	
		for(var j=0; j<liveEvents.length; j++){
			var theEvent = liveEvents[j];
			addEvent(selEvent,  " "+theEvent.evName, theEvent.evID);
		}
	}


	//add the visited events
	if(null != visEvAry  && visEvAry.length>0){
		addEvent(selEvent, "  " , "ma");
		var option = addEvent(selEvent, "--Visited Events-- " , visEvAry[0].evID);
		option.style.color="#ff0000";
		option.style.backgroundColor="#f0f0f0";	
	
		for(var j=0; j<visEvAry.length; j++){
			var theEvent = visEvAry[j];
			var option = addEvent(selEvent,  " "+theEvent.evName, theEvent.evID);
			
				
		}
	}



}

var selectAdded=false;

var maxLengthOptionText = 60;

function addEvent(elem, text, value){
	var option = document.createElement("OPTION");
        
        //trim the text value to a max length
        if(text.length>maxLengthOptionText)
            text = text.substring(0, maxLengthOptionText) + "...";
        
	option.text=text;
	option.value=value;
	
	if(navigator.org=='netscape' || navigator.org=='mozilla')
	    elem.add(option, null);
	else
	    elem.add(option);

	if(m_eventID==value && !selectAdded){
		option.selected=true;
		selectAdded=true;
	}
		
		
	return option;
}





