var tilpcJSON = '/ELECTION/2008/primary/json/top_candidates.html';


function loadDelegateResults(){
 CSIManager.getInstance().call(tilpcJSON,'',['cnnPrimaryResults'], [loadDelegateResultsHandler], true);

	
}

function loadDelegateResultsHandler(obj){try{
	return getDelegateResultsTable(obj);
}catch(e){return '<div style="display:none">'+ 'Error name: "' + e.name + '" Message: '+ e.message + ' [ ' + e.number + ' ]</div>';}}




function getDelegateResultsTable(obj) {
var returnHTML = '';
var parties = obj['parties'];



if(typeof($(parties[0]))!= 'undefined' ){

		returnHTML += '<div class="cnnELFollowHead">Road to the White House</div>';
		
		for (var j=0;j<parties.length;j++) {
		var partyObj = parties[j];
		var partyName = ( partyObj.party == 'D' || partyObj.party.toUpperCase() == 'DEM' ) ? 'Democrats' : 'Republicans';
		var partyNameHeader = ( partyObj.party == 'D' || partyObj.party.toUpperCase() == 'DEM' ) ? 'Democrats' : 'Republicans';
		var partyinitial = ( partyObj.party == 'D' || partyObj.party.toUpperCase() == 'DEM' ) ? 'D' : 'R';
		var partyURL = '/ELECTION/2008/primaries/results/scorecard/#'+ partyinitial;
		var deltowin = partyObj.ctdelegatestowin ;
		var candidatelname = partyObj.lname;
		
		if (partyinitial == 'D'){
		var delHeader = 'Superdelegates' ;
		}else if (partyinitial == 'R'){
		var delHeader = 'Unpledged RNC' ;
		}
		
		returnHTML += '<div class="cnnPad18Top"></div><div class="cnnWireBox"><div class="cnnBoxHeader"><div></div></div><div class="cnnBoxContent"><table cellspacing="0" cellpadding="0" border="0" width="281"><colgroup><col width="145"><col width="136"></colgroup>';
		returnHTML += '<tr><td><div class="cnnERTW_title"><a href="'+partyURL+'">'+partyName+' &raquo;</a></div></td><td style="vertical-align:middle;">TOTAL DELEGATES</td></tr>';
		returnHTML += '<tr><td colspan="2"><div class="cnnElexGreyL"></div></td></tr>';
		
		for (var k=0;k<partyObj.candidates.length;k++) {
		var candidateObj = partyObj.candidates[k];
		var candidatelname = candidateObj.lname ;
		var candidatelnamelower = candidateObj.lname.toLowerCase() ;
		var candidateid = candidateObj.id ;
		var candidateURL = '/ELECTION/2008/primaries/results/candidates/#'+ candidateid;
		var candidateFullname = candidateObj.fname + ' ' +candidateObj.lname ;
		var pledgedDelegates = candidateObj.edelegates_all ;
		var unpledgedDelegates = candidateObj.udelegates_all ; 
		var totalDelegates = candidateObj.tdelegates_all ;

		if ( candidateid == '1187') { continue;} // Removing Huckabee
		returnHTML += '<tr>';
		returnHTML += '<td><a href="'+candidateURL+'"><img src="http://i.cdn.turner.com/cnn/.element/img/2.0/sect/politics/'+candidatelnamelower+'.jpg" width="125" height="70" alt="" border="0" style="margin:9px 11px 9px 9px;"></a></td>';
		returnHTML += '<td>';	
		returnHTML += '<div class="cnnERTW_cand">';	
		returnHTML += '<div><a href="'+candidateURL+'"><b>'+candidateFullname+'</b></a></div>';	
		returnHTML += '<div class="data">';
        returnHTML += '<div class="data_l">Pledged:</div>';
		returnHTML += '<div class="data_r">'+commify(pledgedDelegates)+'</div>';
		returnHTML += '</div>';
		returnHTML += '<div class="data">' ;
		returnHTML += '<div class="data_l">'+delHeader+'</div>' ;
		returnHTML += '<div class="data_r">'+commify(unpledgedDelegates)+'</div>';
		returnHTML += '</div>';
		returnHTML += '<div class="data total">';
		returnHTML += '<div class="data_l">Total:</div>';
		returnHTML += '<div class="data_r">'+commify(totalDelegates)+'</div>';
	    returnHTML += '</div></div></td></tr><tr><td colspan="2"><div class="cnnElexGreyL"></div></td></tr>';
				
		}
		returnHTML += '<tr height="30"><td style="vertical-align:middle;"><div style="font-size:11px;padding-left:9px;"><a href="/ELECTION/2008/">Election Center &raquo;</a></div></td><td style="vertical-align:middle;">Needed to Win: <b>'+deltowin+'</b></td></tr>';
		returnHTML += '</table></div><!--/cnnBoxContent--><div class="cnnBoxFooter"><div></div></div></div><!-- /cnnWireBox -->';
		

		}		

		returnHTML += '<div class="cnnELPBNote" style="font-size: 10px; line-height: 12px; color: rgb(51, 51, 51);">* Needed to Win: Total number of delegate votes needed by a candidate to win the party&#39;s nomination.</div></div>';

		}
return returnHTML;
}
