var RcurrentTime = new Date();

   var regerrmessage="<tr class='tableOddRow'><td class='borderStyle padL10' colspan='3' style='text-align:center;'>";
   regerrmessage=regerrmessage+"ERROR</td></tr>";

   function toTitleCase(str)
   {
    return str.replace(/\w\S*/g, function(txt){
		return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
	});
   }

//   var xmlurls = "http://www.shrimadrajchandramission.org/app/Schedules/GetUpcomingEvents?EventTypes=VSA";
   var xmlurls = mvcApplicationURL+"Schedules/GetUpcomingEvents?EventTypes=VSA";
//    var xmlurls = "GetUpcomingEvents.xml";
	
	function sGetHttp(){   
	if (window.XMLHttpRequest)
	 {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttps=new XMLHttpRequest();
	 }
	else
	 {// code for IE6, IE5
	  xmlhttps=new ActiveXObject("Microsoft.XMLHTTP");
	 }
    try{
	xmlhttps.open("GET",xmlurls,false);     
	xmlhttps.send();     
	}catch (err){return null;}
	if (window.DOMParser)
	 {
	  parser=new DOMParser();
	  xmlDocs=parser.parseFromString(xmlhttps.responseText,"text/xml");   
	 }
	else // Internet Explorer
	 {
	  xmlDocs=new ActiveXObject("Microsoft.XMLDOM");
	  xmlDocs.async="false";
	  xmlDocs.loadXML(xmlhttps.responseText);     
	 } 
	 var ScheduleViewDataModels = xmlDocs.getElementsByTagName("ScheduleViewDataModel");
	 if (ScheduleViewDataModels.length > 0) {return ScheduleViewDataModels;}
	 else return null;
	}//GetHttp

    function sthreemonths(within3months){ 
     var date3Months = new Date(RcurrentTime.getUTCFullYear(),RcurrentTime.getUTCMonth() + 3,RcurrentTime.getUTCDate());//alert(date3Months);
	 if (within3months < date3Months){return true;}
	 else {return false};
	}//end threemonths

    function sreverseDate(inreverseDate){
     var tmp1 = inreverseDate.indexOf('-');
	 var tmp2 = inreverseDate.lastIndexOf('-');
     var inrevDateDy = (inreverseDate.substring(0,tmp1));
     var inrevDateMt = (inreverseDate.substring(tmp1+1,tmp2));
     var inrevDateYr = (inreverseDate.substring(tmp2+1,inreverseDate.length+1));
     var revnewDate = new Date();
	 revnewDate.setFullYear(inrevDateYr,inrevDateMt-1,inrevDateDy);
	 return revnewDate;    
	}//end reverseDate

    function smakeDate(inDate){
	 var DateYr = (inDate.substring(0,4));
     var DateMt = (inDate.substring(5,7));
     var DateDy = (inDate.substring(8,10));
     var newDate=new Date();
     newDate.setFullYear(DateYr,DateMt-1,DateDy);
	 return newDate;
	}//end makeDate

   function sgetDay(inDay){
    var inDayrt = inDay.toString().substring(8,10);
    if (inDayrt.search(" ") != -1){inDayrt=inDayrt.slice(0,1);}
	if (inDayrt.charAt(0)==0){inDayrt=inDayrt.slice(1);inDayrt=inDayrt.charAt(0);}
	return inDayrt;
   }//end getDay

	function smakeMonth(inMonth){
     var DateMt1 = inMonth.getMonth() + 1;
     var DateMt2 = 0;
     switch (DateMt1){
      case 1:DateMt2 = "Jan"; return DateMt2; break;
      case 2:DateMt2 = "Feb"; return DateMt2; break;
      case 3:DateMt2 = "Mar"; return DateMt2; break;
      case 4:DateMt2 = "Apr"; return DateMt2; break;
      case 5:DateMt2 = "May"; return DateMt2; break;
      case 6:DateMt2 = "Jun"; return DateMt2; break;
      case 7:DateMt2 = "Jul"; return DateMt2; break;
      case 8:DateMt2 = "Aug"; return DateMt2; break;
      case 9:DateMt2 = "Sep"; return DateMt2; break;
      case 10:DateMt2 = "Oct"; return DateMt2; break;
      case 11:DateMt2 = "Nov"; return DateMt2; break;
      case 12:DateMt2 = "Dec"; return DateMt2; break;}
	}//end makeMonth

    function sappendDate(inAppend){
     var inDay3 = sgetDay(inAppend);
	 var appendtoDate = "th";
      if (inDay3 == 01 || inDay3 == 21 || inDay3 == 31){appendtoDate = "st";}
      if (inDay3 == 02 || inDay3 == 22)                {appendtoDate = "nd";}
      if (inDay3 == 03 || inDay3 == 23)                {appendtoDate = "rd";}
      appendtoDate=appendtoDate.sup();
	  return appendtoDate;
	}//end appendDate

    var s = '';
		     
	function sgetHttpOnce(){
     s = sGetHttp();
	}

    function sgetYcount(BEventCode,eMonth,BPassedarg){
     var countS=0;
     for (var b=0;b<s.length;b++)
     {
	  try{if (s[b].getElementsByTagName("evtRegTabCode")[0].hasChildNodes()){
       BevtRegTabCode=(s[b].getElementsByTagName("evtRegTabCode")[0].childNodes[0].nodeValue);}else BevtRegTabCode='';
      }catch (exp){BevtRegTabCode='';}
      try{if (s[b].getElementsByTagName("evtDateTime")[0].hasChildNodes()){
       BevtDateTime=(s[b].getElementsByTagName("evtDateTime")[0].childNodes[0].nodeValue);}else BevtDateTime='';
      }catch (exp){BevtDateTime='';}
      try{if (s[b].getElementsByTagName("evtDesc")[0].hasChildNodes()){
        BevtDesc=(s[b].getElementsByTagName("evtDesc")[0].childNodes[0].nodeValue);}else BevtDesc='';
      }catch (exp){BevtDesc='';}
      var tstDate = new Date();
	   tstDate = smakeDate(BevtDateTime);
      var tstCurrMonth = tstDate.getMonth();

	  if (eMonth == tstCurrMonth && BevtDesc.indexOf("Seva Week")!= -1){  
        if (BPassedarg=='sevaW'){
	     if (BevtDesc.indexOf("Seva Week") != -1 && BevtDesc.indexOf("end") == -1){countS++;}}
        if (BPassedarg=='sevaWkd'){
	     if (BevtDesc.indexOf("Seva Weekend") != -1){countS++;}}
	  }//end if
	 }//end for
	 return countS;
	}//end getScount


	function iterateXML(eM,Passedarg,repeats){
	 var counter1 = 0;var counter2=0;
	 var Dataarray = new Array(repeats);
     for (xv = 0; xv < repeats; xv++) {Dataarray [xv] = new Array(2)} 
	 for (var w=0;w<s.length;w++)
     {
//	 if (counter2==repeats){break;}
	   try{if (s[w].getElementsByTagName("evtRegTabCode")[0].hasChildNodes()){
        evtRegTabCode=(s[w].getElementsByTagName("evtRegTabCode")[0].childNodes[0].nodeValue);}else evtRegTabCode='';
       }catch (exp){evtRegTabCode='';}
       try{if (s[w].getElementsByTagName("evtDateTime")[0].hasChildNodes()){
        evtDateTime=(s[w].getElementsByTagName("evtDateTime")[0].childNodes[0].nodeValue);}else evtDateTime='';
       }catch (exp){evtDateTime='';}
       try{if (s[w].getElementsByTagName("evtNewDate")[0].hasChildNodes()){
        evtNewDate=(s[w].getElementsByTagName("evtNewDate")[0].childNodes[0].nodeValue);}else evtNewDate='';
       }catch (exp){evtNewDate='';}
       try{if (s[w].getElementsByTagName("evtMonth")[0].hasChildNodes()){
        evtMonth=(s[w].getElementsByTagName("evtMonth")[0].childNodes[0].nodeValue);}else evtMonth='';
       }catch (exp){evtMonth='';}
       try{if (s[w].getElementsByTagName("evtYear")[0].hasChildNodes()){
        evtYear=(s[w].getElementsByTagName("evtYear")[0].childNodes[0].nodeValue);}else evtYear='';
       }catch (exp){evtYear='';}
       try{if (s[w].getElementsByTagName("evtDesc")[0].hasChildNodes()){
        evtDesc=(s[w].getElementsByTagName("evtDesc")[0].childNodes[0].nodeValue);}else evtDesc='';
       }catch (exp){evtDesc='';}
	   var regDate = new Date();
	   regDate = smakeDate(evtDateTime);
	   var CurrMonth = regDate.getMonth();
       var regDline = '';var regDlineMt2 = '';var regDlineDy = '';var regDlineappend = '';

	  if (eM == CurrMonth && evtDesc.indexOf("Seva Week")!= -1){  

       var line1='';var line2='';var line3a='';var line3='';var line4='';
	   var line5a='';var line5='';	  
      try{if (s[w].getElementsByTagName("isRegistrationReq")[0].hasChildNodes()){
       regReq=(s[w].getElementsByTagName("isRegistrationReq")[0].childNodes[0].nodeValue);}else regReq='';
      }catch (exp){regReq='';}
      try{if (s[w].getElementsByTagName("evtRegistrationLink")[0].hasChildNodes()){
       evtreglink=(s[w].getElementsByTagName("evtRegistrationLink")[0].childNodes[0].nodeValue);}else evtreglink='';
      }catch (exp){evtreglink='';}
       try{if (s[w].getElementsByTagName("evtShibirDates")[0].hasChildNodes()){
        evtShibirDates=(s[w].getElementsByTagName("evtShibirDates")[0].childNodes[0].nodeValue);}else evtShibirDates='';
       }catch (exp){evtShibirDates='';}
       try{if (s[w].getElementsByTagName("evtPlace")[0].hasChildNodes()){
        evtPlace=(s[w].getElementsByTagName("evtPlace")[0].childNodes[0].nodeValue);}else evtPlace='';
       }catch (exp){evtPlace='';}
       try{if (s[w].getElementsByTagName("evtRegCloseDate")[0].hasChildNodes()){
        evtRegCloseDate=(s[w].getElementsByTagName("evtRegCloseDate")[0].childNodes[0].nodeValue);}else evtRegCloseDate='';
       }catch (exp){evtRegCloseDate='';}/*
       try{if (s[w].getElementsByTagName("evtRegRequiredNote")[0].hasChildNodes()){
        evtRegRequiredNote=(s[w].getElementsByTagName("evtRegRequiredNote")[0].childNodes[0].nodeValue);}else evtRegRequiredNote='';
       }catch (exp){evtRegRequiredNote='';}
	   try{if (s[w].getElementsByTagName("showNote")[0].hasChildNodes()){
        showNote=(s[w].getElementsByTagName("showNote")[0].childNodes[0].nodeValue);}else showNote='';
       }catch (exp){showNote='';}
       try{if (s[w].getElementsByTagName("evtNote")[0].hasChildNodes()){
        evtNote=(s[w].getElementsByTagName("evtNote")[0].childNodes[0].nodeValue);}else evtNote='';
       }catch (exp){evtNote='';}*/
       if (evtRegCloseDate!=''){
        regDline = sreverseDate(evtRegCloseDate);
        regDlineMt2 = smakeMonth(regDline);
        regDlineDy = sgetDay(regDline);
	    regDlineappend = sappendDate(regDline);
       }
      if (Passedarg=='sevaW'){
	   if (evtDesc.indexOf("Seva Week") != -1 && evtDesc.indexOf("end") == -1){
        Dataarray[counter2][0] = evtShibirDates+' ('+evtPlace+')';
	    if (regReq == "true"){
         Dataarray[counter2][1] = "<a href='/seva-activities/seva-registration-808.htm'>";
 		 Dataarray[counter2][2] = "<span class='sevaContribute floatR fs11'>Register</span></a>";
        }
		else if (regReq == "false"){
         Dataarray[counter2][1]='';Dataarray[counter2][2]='';
		}counter2++;
       }
      }//end Passedarg

      if (Passedarg=='sevaWkd'){
	   if (evtDesc.indexOf("Seva Weekend") != -1){
        Dataarray[counter2][0] = evtShibirDates+' ('+evtPlace+')';
	    if (regReq == "true"){
         Dataarray[counter2][1] = "<a href='/seva-activities/seva-registration-808.htm'>";
 		 Dataarray[counter2][2] = "<span class='sevaContribute floatR fs11'>Register</span></a>";
        }
		else if (regReq == "false"){
         Dataarray[counter2][1]='';Dataarray[counter2][2]='';
		}counter2++;
       }
      }//end Passedarg  

	  }//end if eM
//	  counter2++;
	 }//end for
	 return Dataarray;
	}//end iterateXML
	
	function swrite_tabData(){
	 var EventCode = 'V';
	 var tableRCount = 1;tableCCount = 1;
	 var tableROdd = '<tr class="tableOddRow">'; var tableREven = '<tr class="tableEvenRow">';
	 var tableRClose = '</tr>'; var tableDClose = '</td>';
     lineTRData = '<td class="borderStyle padL10">';
     var RowRepeat;
     for (var eM1=0;eM1<12;eM1++ ){

     tableCCount = 1;
     var sVC = sgetYcount('V',eM1,'sevaW');
	 var sVWC = sgetYcount('V',eM1,'sevaWkd');
     if (sVC > sVWC){RowRepeat = sVC}
     else if (sVC = sVWC){RowRepeat = sVC}
     else if (sVC < sVWC){RowRepeat = sVWC}
	 var sevaW = iterateXML(eM1,'sevaW',sVC);
	 var sevaWkd = iterateXML(eM1,'sevaWkd',sVWC);

	 for (yv=0;yv<RowRepeat;yv++ ){
	 if (tableRCount%2){ /*odd*/
      lineTROpen = tableROdd;}
     else lineTROpen = tableREven;
	  line1 = tableRCount;
      if (sevaW != '' || sevaWkd != ''){
	   document.write(lineTROpen);	 
	    document.write(lineTRData);document.write(line1);document.write(tableDClose);
		document.write(lineTRData);
       if (yv < sVC){
		if (sevaW[yv][0] == null){
        document.write('-');
		document.write('');
		document.write('');
		}else{
        document.write(sevaW[yv][0]);
		document.write(sevaW[yv][1]);
		document.write(sevaW[yv][2]);}
		}else {
        document.write('-');
		document.write('');
		document.write('');}
	   document.write(tableDClose);		
	   document.write(lineTRData);
      if (yv < sVWC){
	   if (sevaWkd[yv][0] == null){
        document.write('-');
		document.write('');
		document.write('');
	   }else{
        document.write(sevaWkd[yv][0]);
		document.write(sevaWkd[yv][1]);
		document.write(sevaWkd[yv][2]);}
	   }else{
        document.write('-');
		document.write('');
		document.write('');}
	    document.write(tableDClose);		
 	   document.write(tableRClose);	 
	   tableRCount = tableRCount+1;
	   }//end if sevaW not null
	  }//end RowRepeat loop
     }//for eM1 loop
    }//end write_tabData()
