/**
 * @author srini
 */

var monthArray = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

 function EOSTourDatesBuildStructure(tdAllFlag,divObj,rssContentId){
	
	var tourDateCount = 0;
	xmlDom = rssModuleArray[rssContentId];
	var tempXmlDom = xmlDom;
	var tourDatesWrapper = document.createElement('div');
	$(tourDatesWrapper).attr("class","tourDatesWrapper");
	var totalTourItems = ($(xmlDom).find('item').length);
	var tourDateLimit = tdAllFlag ? totalTourItems : tourDateMaxItems;


	var itemLen=$(tempXmlDom).find('item').length;
	var titleText=($(tempXmlDom).find('item').children("title").text());

	if (!(itemLen == 1 && (jQuery.trim(titleText).indexOf("Sorry",0)!=-1))) {
		var tempDiv = document.createElement("div");
		$(tempXmlDom).find('item').each(function(){
			if((tourDateCount<(tdPageNameNo*tourDateMaxItems)) && (tourDateCount>=((tdPageNameNo-1)*tourDateMaxItems)) ){
				var title = $(this).find("title").text();
				var desc = $(this).find("description").text();	
				var count = 0;			
				var dateString;
				var buyLink;
				tempDiv.innerHTML = desc;				
				$(tempDiv).find("a").each(function(){
						switch(count)
								{
								case 0:
								  break;
								case 1:
								
								   dateString = $(this).html();
								  
   							       break;
								case 2:
								   buyLink = $(this).attr("href");								   
								
								}
								count++;
							$(this).remove();
														
				});
				var venueString = $(tempDiv).html().split("People");
				venueString = venueString[0].split("Appearing");
				venueString = venueString[0].split("Buy");
			    venueString = venueString[0].replace("<br>"," ");
				venueString = venueString.replace("<BR>"," ");
				venueString = venueString.replace("<br/>"," ");
				venueString = venueString.replace("<BR/>"," ");
				//writeToConsole("split br/" +  venueString);
				tourDatesUnit = createEosTourDateUnit(dateString,venueString,buyLink);
				$(tourDatesWrapper).append(tourDatesUnit);	
			}
			tourDateCount++;
			
			if (tourDateCount == tourDateLimit*tdPageNameNo) {
				return false;
			}
			
		});
		tempXmlDom = xmlDom;
	tdPageNameNoPos = tdPageNameNo+1;
	tdPageNameNoNeg = tdPageNameNo-1;
	
	if (tdPageNameNo * tourDateMaxItems >= itemLen && tdPageNameNo == 1) {
		    $(divObj).find(".module .content .foot").empty();
	}
	else if(tdPageNameNo * tourDateMaxItems >= itemLen) {
		   $(divObj).find(".module .content .foot").empty();
		     $(divObj).find(".module .content .foot").append('<div class="nav_page"><ul><li class="jump next"><span>Next</span></li><li class="page"></li><li class="jump prev"><a onClick=' + 'showEosPrevPageTour("'+divObj+'","'+rssContentId+'")' + '>Prev</a></li></ul></di>');
		   $(divObj).find(".module .content .foot").append('<span class="clear"/>');
			$(tourDatesWrapper).append('<span class="clear"/>');
			if(tdPageNameNo!=1){
				$(divObj).find(".module .content .foot .nav_page ul li.page").append("<a onClick="+ "showEosCurrentPageTour("+ tdPageNameNoNeg + ",'" +divObj+ "','" + rssContentId +"')"+">" + tdPageNameNoNeg + "</a>");
			}
			$(divObj).find(".module .content .foot .nav_page ul li.page").append("<a class='active' onClick=" + "showEosCurrentPageTour(" + tdPageNameNo+",'" + divObj + "','" + rssContentId +"')" +">" + tdPageNameNo + "</a>");
			
	}
	else if(tdPageNameNo==1){
		    $(divObj).find(" .module .content .foot").empty();	
			var tempString = '<div class="nav_page"><ul><li class="jump next"><a onClick=' + "showEosNextPageTour('" + divObj+"','" +rssContentId +"')" + '>Next</a></li><li class="page"></li><li class="jump prev"><span>Prev</span></li></ul></div>';
		    $(divObj).find(" .module .content .foot").append(tempString);
		   $(divObj).find(".module .content .foot").append('<span class="clear"/>');		
			$(tourDatesWrapper).append('<span class="clear"/>');
			$(divObj).find(".module .content .foot .nav_page ul li.page").append("<a class='active' onClick="+ "showEosCurrentPageTour(" + tdPageNameNo + ",'" + divObj + "','" + rssContentId + "')"+" >" + tdPageNameNo + "</a>");			
			if((itemLen/tourDateMaxItems)>tdPageNameNo){
				$(divObj).find(" .module .content .foot .nav_page ul li.page").append("<a onClick=" + "showEosCurrentPageTour("+tdPageNameNoPos+",'" + divObj + "','" + rssContentId + "')" +" >" + tdPageNameNoPos + "</a>");			
			}
	}
	else{
		   $(divObj).find(" .module .content .foot").empty();		
		   $(divObj).find(".module .content .foot").append('<div class="nav_page"><ul><li class="jump next"><a onClick=' + "showEosNextPageTour('"+ divObj + "','" + rssContentId +"')"+ '>Next</a></li><li class="page"></li><li class="jump prev"><a onClick=' + "showEosPrevPageTour('"+divObj+"','" + rssContentId + "')"+ '>Prev </a></li></ul></di>');
		  $(divObj).find(".module .content .foot").append('<span class="clear"/>');	
			$(tourDatesWrapper).append('<span class="clear"/>');	
			$(divObj).find(".module .content .foot .nav_page ul li.page").append("<a onClick="+ "showEosCurrentPageTour(" + tdPageNameNoNeg + ",'" + divObj+ "','" + rssContentId + "')" + ">" + tdPageNameNoNeg + "</a>");			
			$(divObj).find(" .module .content .foot .nav_page ul li.page").append("<a class='active' onClick=" + "showEosCurrentPageTour("+ tdPageNameNo +",'" + divObj + "','" + rssContentId + "')" +">" + tdPageNameNo + "</a>");			
			$(divObj).find(" .module .content .foot .nav_page ul li.page").append("<a onClick=" + "showEosCurrentPageTour("+ tdPageNameNoPos + ",'" + divObj + "','" + rssContentId +"')" + ">" + (tdPageNameNoPos) + "</a>");						
	}


	}

	if ($(xmlDom).find('item').length <= 0){
		$(tourDatesWrapper).append('<span class="tdErrorText">'+ tdNoShowsText + '</span>');
	}else if (jQuery.trim(titleText).indexOf("Sorry",0)!=-1) {
			//writeToConsole("Not able to get feed");
			$(tourDatesWrapper).append('<span class="tdErrorText">'+ tdNoShowsText + '</span>');
	}else {
		if(!tdAllFlag && totalTourItems > tourDateLimit) {
			
		}
		if(tdAllFlag) {
			$(tourDatesUnit).addClass("lastUnit");
		}
	}
	return tourDatesWrapper;
}

function createEosTourDateUnit(dateString,venueString,buyLink){
	tourDatesUnit = document.createElement('div');
	$(tourDatesUnit).attr("class","tourDatesUnit");
	var tempdateString = dateString.split(",");
	dateString = tempdateString[0];
	tempdateString = dateString.split(" ");
	writeToConsole(tempdateString);
	dateString = $.inArray(tempdateString[0], monthArray);
	dateString = dateString+1;
	if(dateString != "-1"){
		tdDateUnit = document.createElement('div');
	$(tdDateUnit).attr("class","tdDateField");
	$(tdDateUnit).append('<div class="tdMonth">'+ dateString + '/' +'</div><div class="tdDD">'+ tempdateString[1] +'</div>');		
	}
	
	
	//create tourVenueBuyWrapper	
	tourVenueBuyWrapper = document.createElement('div');
	$(tourVenueBuyWrapper).attr("class","tourVenueBuyWrapper");

	//create tour venue unit
	tdVenueField = document.createElement('div');
	$(tdVenueField).attr("class","tdVenueField");
	$(tdVenueField).append('<div class="tdVenue">' + venueString + '</div>');
	
	$(tourVenueBuyWrapper).append(tdVenueField);
	
	//create purchase tickets unit
	if (buyLink != ""){
		tdBuyLinksField = document.createElement('div');
		$(tdBuyLinksField).attr("class","tdBuyLinksField");
		$(tdBuyLinksField).append('<div class="tdBuyLinks"><a target="_blank" href="'+ buyLink +'">Purchase Tickets</a></div>');
		$(tourVenueBuyWrapper).append(tdBuyLinksField);
		$(tourVenueBuyWrapper).append('<div class="clear"></div>');		
	}

	
	$(tourDatesUnit).append(tdDateUnit);
	$(tourDatesUnit).append(tourVenueBuyWrapper);
	$(tourDatesUnit).append('<div class="clear"></div>');
	return tourDatesUnit;
}


function showEosNextPageTour(divObj,rssContentId){
	var divObjChild = $(divObj).find('.module .content .description');
	tdPageNameNo++;
	tourDatesWrapper = EOSTourDatesBuildStructure(false,divObj,rssContentId);
	$(divObjChild).empty();
	$(divObjChild).append(tourDatesWrapper);
}
function showEosCurrentPageTour(iPageNo,divObj,rssContentId){
	var divObjChild = $(divObj).find('.module .content .description');
	tdPageNameNo=iPageNo;
	tourDatesWrapper = EOSTourDatesBuildStructure(false,divObj,rssContentId);
	$(divObjChild).empty();
	$(divObjChild).append(tourDatesWrapper);
}
function showEosPrevPageTour(divObj,rssContentId){
	var divObjChild = $(divObj).find('.module .content .description');
	tdPageNameNo--;
	tourDatesWrapper = EOSTourDatesBuildStructure(false,divObj,rssContentId);
	$(divObjChild).empty();
	$(divObjChild).append(tourDatesWrapper);
}
