
function buildXHTML() {
var divName="channelfinder";

var stationNotAvailable;
commaSeparator = ' - ';
openBSeparator = ' - ';
closeBSeparator = null;
var oddrow = 'odd';
var evenrow = 'even';
var notavailableText = 'Not Available';
availableText = 'Channel'
var errorMsgZip="Sorry, we do not have information for that ZIP Code";
var errorMsgPostal="Sorry, we do not have information for that Postal Code";

	var returnStr = '';
	var jsonStr = '';

	if ( window.resultStr !== undefined ) jsonStr = eval((window.resultStr));

	if(jsonStr.length == 0) {

	} else {

		var userInputZip = window.location.href.split('zip=')[1] ? window.location.href.split('zip=')[1].split('&')[0] : '';

		if(jsonStr[0].zip != userInputZip) {
			$('.channel_finder .error_text').show();

			if(jsonStr[0].zip == '12345') $('.channel_finder .error_text').html(errorMsgZip);
			else $('.channel_finder .error_text').html(errorMsgPostal);

			return false;

		} else {

			var cfDiv = getAttrsTextNode('div', 'class=zcc-wrap', null);

			var cfZipDiv = getAttrsTextNode("div", "class=zcc-head", null);
			cfZipDiv.appendChild(getAttrsTextNode('span', "class=zcc-zip-label", "For zipcode "));
			cfZipDiv.appendChild(getAttrsTextNode('span', "class=zcc-zip", jsonStr[0].zip));
			cfZipDiv.appendChild(getAttrsTextNode('span', "class=zcc-stn", " - " + jsonStr[0].sList ));
			cfDiv.appendChild(cfZipDiv);

			if(jsonStr[0].cable!=null || jsonStr[0].satellite!=null) {


				if(jsonStr[0].cable!=null) {
					$(cfDiv).append("<h2 class='zcc-provider-type'>Cable Providers</h2>");
					$(cfDiv).append("<table class=zcc-provider-cable><col width='45%'></table>")
					getLupRow($(cfDiv).find("table"), jsonStr[0].cable);
				}

				if(jsonStr[0].satellite!=null) {
					$(cfDiv).append("<h2 class='zcc-provider-type'>Satellite Providers</h2>");
					$(cfDiv).append("<table class=zcc-provider-satellite><col width='45%'></table>")
					getLupRow($(cfDiv).find("table.zcc-provider-satellite"), jsonStr[0].satellite);
				}



			} else if(jsonStr[0].stnChn!=null) {

				getStnRow(cfDiv, jsonStr[0].stnChn);
			}
		}

		if(cfDiv.innerHTML!="") returnStr = cfDiv.innerHTML;
		document.getElementById(divName).innerHTML = returnStr;

	}

}


function getLupRow(cfDiv, lineups) {

	var row = '';
	lineups = $.map(lineups, function(n, i){
      return n.stns == null ? null : n;
    });

	for( var i=0 ; i < lineups.length ; i++ ) {
		if(i%2) row = "even";
		else row = "odd";

		var cfPro = getAttrsTextNode('span', 'class=zcc-providers-info', null);
		$(cfPro).html("<span class='class=zcc-provider-name'>" + lineups[i].lname + "</span>" + 
			"<span class='zcc-separator'>" + commaSeparator + "</span>" + 
			"<span class='zcc-location'>" + lineups[i].llocation + "</span>"
		);
		if ( lineups[i].ldevice != "Cable" ) {
			$(cfPro).append("<span class='zcc-separator'>" + openBSeparator + "</span>" + 
			"<span class='zcc-device'>" + lineups[i].ldevice + "</span>");
		}

		var cfStnChns = getAttrsTextNode('div', 'class=zcc-station-channel-list', null);

			for( var j=0; j < lineups[i].stns.length;j++) {

				var cfStnName = lineups[i].stns[j].stn;

				cfStnChn = getAttrsTextNode('span', 'class=zcc-station-channel', null);

				cfStnChn.appendChild(getAttrsTextNode('span', 'class=zcc-station', cfStnName));

				if(lineups[i].stns[j].chns!=null) {
					var channelArr = getAttrsTextNode('span', 'class=zcc-channels', null);

					for( var k=0; k < lineups[i].stns[j].chns.length;k++) {
						channelArr.appendChild(getAttrsTextNode('span', 'class=zcc-channel', availableText+" "+lineups[i].stns[j].chns[k]));
					}

					cfStnChn.appendChild(channelArr);
				}

				if(/[HD]/g.test(cfStnName)) {
					cfStnChn.appendChild(getAttrsTextNode('span', 'class=zcc-station-hd::title=HBO', null));
				}

				cfStnChns.appendChild(cfStnChn);

			}
		$(cfDiv).append("<tr class='"+row+"'><td>"+$(cfPro).html()+"</td><td>"+$(cfStnChns).html()+"</td></tr>");
	}
}
function goform(field)
{
      field.value = (field.value).replace(/\s*/g,'');
	  document.zccCfForm.submit();
}

$(document).ready(function() {
    buildXHTML();
});
