﻿// JScript File
//@:Author Mohd Irfan Date:28/July/2007


/* Preload images script */
var myimages=new Array()

function preloadimages(){
	for (i=0;i<preloadimages.arguments.length;i++){
		myimages[i]=new Image();
		myimages[i].src=preloadimages.arguments[i];
	}
}

var thisDate = 1;							// Tracks current date being written in calendar
var wordMonth = new Array("<b>Jan</b>","<b>Feb</b>","<b>Mar</b>","<b>Apr</b>","<b>May</b>","<b>June</b>","<b>July</b>","<b>Aug</b>","<b>Sep</b>","<b>Oct</b>","<b>Nov</b>","<b>Dec</b>");
var today = new Date();						// Date object to store the current date
var todaysDay = today.getDay() + 1;			// Stores the current day number 1-7
var todaysDate = today.getDate();			// Stores the current numeric date within the month
var todaysMonth = today.getUTCMonth() + 1;  // Stores the current month 1-12


var todaysYear = today.getFullYear();					// Stores the current year
var monthNum = todaysMonth;						        // Tracks the current month being displayed

//@:TODO Modify this for just showing the month instead of full year

var yearNum = todaysYear;						// Tracks the current year being displayed
var firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));	// Object Storing the first day of the current month
var firstDay = firstDate.getUTCDay();					// Tracks the day number 1-7 of the first day of the current month
var lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));	// Tracks the last date of the current month
var numbDays = 0;
var calendarString = "";

var varOnLoad = true;

//Sapinder 
var ExecuteCallback=false;
//	changedate(): Moves to next or previous month or year, or current month depending on the button clicked.
function changedate(buttonpressed) {
        
     
	if (buttonpressed == "prevyr") yearNum--;
	else if (buttonpressed == "nextyr") yearNum++;
	else if (buttonpressed == "prevmo") 
	{
	    monthNum--;
	    var getMonth = monthNum;
	    getMonth=getMonth + "/" + yearNum;
	    GetDatesCallServer(getMonth);
	}
	else if (buttonpressed == "nextmo") 
	{
	monthNum++;
	var getNextMonth = monthNum;
	    getNextMonth=getNextMonth + "/" + yearNum;
	    GetDatesCallServer(getNextMonth);
	}
	else  if (buttonpressed == "return") { 
		monthNum = todaysMonth;
		yearNum = todaysYear;
	}

	if (monthNum == 0) {
		monthNum = 12;
		yearNum--;
	}
	else if (monthNum == 13) {
		monthNum = 1;
		yearNum++
	}
    
	lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));
	numbDays = lastDate.getDate();
	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));
	firstDay = firstDate.getDay() + 1;
    //yearNum=yearNum.substring(0,2);
	
	
	createCalendar();
	mozBrow();
	
	return;
	
}

function mozBrow()
{
var browserName=navigator.appName; 

 if(browserName != "Microsoft Internet Explorer")
 {
     var mozBrowser=document.getElementById('higlighCtrl');     
     mozBrowser.style.setProperty('padding-top',174+"px",null);

 }
 else
  {   var mozBrowser=document.getElementById('higlighCtrl');
      
   }
   }//Irfan to store current dates rowId..
var fillweek=' ';
//Irfan:createCalendar(): Renders the calander into the page 
function createCalendar() {
      
	calendarString = '';
	var daycounter = 0;

    calendarString += '<table style="margin-bottom:1px;width:98%;padding-left:9px; float:left;border-right:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-top:1px solid #CCCCCC;border-bottom:1px solid white;background:url(images/cale_newsfeedbg.gif) repeat-x;" width="34.4%"; border="0"  cellpadding="0" cellspacing="1"  >';
    calendarString += '<tr>';
//	calendarString += '<td colspan=\"2\" align=\"left\" valign=\"center\" ><a  onMouseOver=\"document.PrevYr.src=\'images1\/previous\.gif\';\" onMouseOut=\"document.PrevYr.src=\'images1\/previous\.gif\';\" onClick=\"changedate(\'prevyr\')\"><img style=\"padding-left:5px;padding-right:5px\" name=\"PrevYr\" src=\"images1\/previous\.gif\"  border=\"1\" alt=\"Prev Year\"\/><\/a>';
	calendarString += ' <td colspan=\"2\" align=\"left\" valign=\"center\" ><a href=\"#\" onMouseOver=\"document.PrevMo.src=\'images1\/previous\.gif\';\" onMouseOut=\"document.PrevMo.src=\'images1\/previous\.gif\';\" onClick=\"changedate(\'prevmo\')\"><img name=\"PrevMo\" src=\"images1\/previous\.gif\"  border=\"1\" alt=\"Prev Month\"\/><\/a><\/td>';
	/***** This line is used for displaying the Month Heading*************/
	calendarString += '<td align=\"left\" valign=\"center\" colspan=\"4\"><b>' + wordMonth[monthNum-1] + '&nbsp;' + yearNum + '<\/b><\/td>';
	calendarString += '<td align=\"right\" colspan=\"2\" valign=\"center\" ><a href=\"#\" onMouseOver=\"document.NextMo.src=\'images1\/SlideShow_Forward\.gif\';\" onMouseOut=\"document.NextMo.src=\'images1\/SlideShow_Forward\.gif\';\" onClick=\"changedate(\'nextmo\')\"><img name=\"NextMo\" src=\"images1\/SlideShow_Forward\.gif\"  border=\"1\" alt=\"Next Month\"\/><\/a>';
//	calendarString += '<a href=\"#\" onMouseOver=\"document.NextYr.src=\'images1\/SlideShow_Forward\.gif\';\" onMouseOut=\"document.NextYr.src=\'images1\/SlideShow_Forward\.gif\';\" onClick=\"changedate(\'nextyr\')\"><img name=\"NextYr\" style=\"padding-left:5px;padding-right:5px\" src=\"images1\/SlideShow_Forward\.gif\"  border=\"1\" alt=\"Next Year\"\/><\/a><\/td>';

	

	calendarString += '<\/tr>';
	calendarString += '<tr width="60">';
	
	//irfan:Display the Days as D e.g:S For Sunday 
	calendarString += '<td style="color:red;"  align=\"center\" valign=\"center\" width=\"10\" height=\"22\"><b>S</b><\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">M</b><\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">T</b><\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">W<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">T</b><\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">F</b><\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\" width=\"10\" height=\"22\">S</b><\/td>';
	calendarString += '<\/tr>';

	thisDate == 1;

	for (var i = 1; i <= 6; i++) {
	    var rowIndex="Row" + i + "-";               //for adding ids to the rows(weeks)
	    //var rowIndex=i + "-";               //for adding ids to the rows(weeks)
	    //alert(rowIndex);
	    var trId = 'tr' + i;
        if(i<6){	    
		calendarString += '<tr id=\"'+trId+'\"  bgcolor=\"#f5f5f5\" onMouseOver=\"changeColor(this.id)\" onclick=\"newColor(this.id)\" onMouseOut=\"prevColor(this.id)\" >';
		}
		else{
		calendarString += '<tr style=\"border-bottom:(images/calbg.jpg) no-repeat;\" id=\"'+trId+'\"  bgcolor=\"#f5f5f5\" onMouseOver=\"changeColor(this.id)\" onclick=\"newColor(this.id)\" onMouseOut=\"prevColor(this.id)\" >';
		}
		//Code for week tab Zone
		//document.getElementById('weekSelected').innerHTML= ;
		
		for (var x = 1; x <= 7; x++) {
		    //alert(rowIndex);
            //code to assign range to weekTabs
           
			daycounter = (thisDate - firstDay)+1;
			thisDate++;
			if ((daycounter > numbDays) || (daycounter < 1)) {
				calendarString += '<td align=\"center\"  height=\"18\" width=\"20\" id=\"'+(rowIndex+x) +'\" >&nbsp;<\/td>';
				
			} else {
				if (((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum))){
					if ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum)) {
						

						//Irfan:see if this works
						//this is for current date
						
						calendarString += '<td align=\"center\" bgcolor=\"#99999\" font-size=\"1.4em\"  height=\"20\" width=\"10\" id=\"'+(rowIndex+x) +'\"   onclick=\"getDates(this.id)\"  style=\"cursor:pointer\" >' + daycounter + '<\/td>';
						//to store the index of the current date
						fillweek=(rowIndex+x);
						}			
					/*This Line Generates the First date of the New Year--irfan!*/

					else
						
					calendarString += '<td align=\"center\" height=\"20\" bgcolor=\"#f5f5f5\" width=\"10\" id=\"'+(rowIndex+x) +'\" onclick=\"getDates(this.id)\">' + daycounter + '<\/td>';
					
					
				 } 
				    else {
					
					//Sapinder sir asked to read the date and put it in alert for testing purpose
					//calendarString += '<td align=\"\" bgcolor=\"#f5f5f5\"   height=\"20\" width=\"10\" id=\"'+(rowIndex+x) +'\" onMouseDown=\"dateReturnedByFirstSelectedDate=getFirstSelectedDate(this.innerHTML)\" onMouseup=\"getLastSelectedDate(this.innerHTML,dateReturnedByFirstSelectedDate)\">' + daycounter + '<\/td>';
					//calendarString += '<td align=\"\" bgcolor=\"#f5f5f5\"   height=\"20\" width=\"10\"  id=\"'+(rowIndex+x) +'\"   onclick=\"getDates(this.innerHTML,this.id)\">' + daycounter + '<\/td>';
					//change on 5 NOV-2007
					//calendarString += '<td align=\"\"   height=\"20\" width=\"10\"   id=\"'+(rowIndex+x) +'\"   onclick=\"getDates(this.id)\" style=\"cursor:pointer\">' + daycounter + '<\/td>';
					//to make sundays red
					if(x==1){
					calendarString += '<td align=\"\" style="color:red;"  height=\"20\" width=\"10\"   id=\"'+(rowIndex+x) +'\"   onclick=\"getDates(this.id)\" style=\"cursor:pointer\">' + daycounter + '<\/td>';
					}
					else{
					calendarString += '<td align=\"\"  height=\"20\" width=\"10\"   id=\"'+(rowIndex+x) +'\"   onclick=\"getDates(this.id)\" style=\"cursor:pointer\">' + daycounter + '<\/td>';
					}
					//alert((rowIndex+x));    
					
					//Code to Dynamically generate the WeekTab 13/08/07 1:20 A:M
//					for(var clear=1;clear<=6;clear++)
//					{
//					document.getElementById('w'+clear).innerHTML=" ";
//					}
                    //dynamically render the weektabs and generating them 
                    var weektab='<ul class=\"footerlinksinline1\">';
                    for(var weekindex=1;weekindex<=i;weekindex++)
					{ 
					//assign RowIndex to Weeks
					//alert(weekindex);
					//Manindra[20-10-07]
					weektab +='<li><a a  onclick=\"getDates('+weekindex+')\" style=\"cursor:pointer \">Week'+weekindex+'</a></li>';
                     if(i!=weekindex)
                     {                                      
                     weektab+='<li>|</li>';
                    }
                    
                             
					//document.getElementById('w'+(weekindex)).innerHTML="week"+(weekindex);
					}
					weektab+='</ul>';
					//alert(weektab);
					var text1=unescape(location.href);
                    var name2=text1.substr(text.indexOf('?category')+12);
                    var name1=text1.substr(text.indexOf('?Page')+3);
                    var compare1=name2.charAt(0);
                    var compare2=name1.charAt(0);
                    if(compare1!="i" && compare2!="g")
                    {
					    document.getElementById('weektab').innerHTML=weektab;
					}
			}
		}
	}

calendarString += '<\/tr>';
		         
		
		
}

	//calendarString += '<tr><td colspan=\"7\" nowrap align=\"center\" valign=\"center\"  width=\"203\" \"><a href=\"javascript:changedate(\'return\')\">Date preview:<b> '+ todaysDate + "/" +monthNum + "/"+ todaysYear+ '<\/b><\/a><\/td><\/tr><\/table></div>';

	var object=document.getElementById('eventcalendar');
	object.innerHTML= calendarString;
	thisDate = 1;
	
	
};
//Function to Change the background color of the Row When moouse is over it
function changeColor(chColor)
{
//alert(chColor);
document.getElementById(chColor).bgColor="#f5f5f5";
}
function prevColor(prev)
{
document.getElementById(prev).bgColor="#f5f5f5";
}
function newColor(newCol)
{
document.getElementById(newCol).bgColor="#99999";

}
//functiom to get the Ids of the firstDate  and lastdate of the week  based on the seleted date

//check if the request comes from cricket don't send the callback request:25Sep2007
//@ToDo simply do it for ?
var text=unescape(location.href);
var name=text.substr(text.indexOf('?category')+12);
var name1=text.substr(text.indexOf('?Page')+3);
var compare1=name.charAt(0);
var compare2=name1.charAt(0);
//var name=text.substr(text.indexOf('?category')+0);
//var compareIt=name.charAt(0);
function getDates(recieveId)
{
//  if(compare1!="i" && compare2!="g")
////  if(compareIt!="?")
//  {
   var rowId=new Array();
   if(recieveId ==1 || recieveId==2 || recieveId==3 || recieveId==4 || recieveId==5 || recieveId==6)
   {
        //rowId[0] stores the clicked weeks ID..
        rowId[0]="Row"+recieveId;
     } 
  
    
   else
   {
        rowId=(recieveId).split('-');
     
   }
     //document.getElementById('tr1').style.backgroundcolor='#FFFF';
   for(var i=1;i<=7;i++)
   {   
        var fDate=document.getElementById(rowId[0]+ "-" + i).innerHTML;
        if(fDate!= "&nbsp;")
        break;
   }     
   for(var j=7;j>0;j--)  
   {
        var lDate=document.getElementById(rowId[0]+ "-" + j).innerHTML;
        if(lDate != "&nbsp;")
        break;
   }
  
   //to display the day month and year depending upon the user selection
 
   var dateClicked =" " + wordMonth[monthNum-1] + " " +  fDate + " " + "to" + " " + lDate + "," + yearNum ;
  
   //to supply the date selected by the user to the <span> in the header of the WeeklyEventsControl
   document.getElementById('weekSelected').innerHTML= dateClicked ;
   var sendFirstDate =monthNum + "/" + fDate + "/" +yearNum; 
   var sendSecondDate=monthNum + "/" + lDate+ "/" +yearNum;
   var sendDates=sendFirstDate + "," + sendSecondDate;
   
   //Call Server:1 step of client callback
   //show the ProgressBarDiv
   GetDatesCallServer(sendDates);
   var UxProgressImageDiv = document.getElementById('ProgressImageDiv');
   UxProgressImageDiv.style.display = "block";
    
//   }
// else
// {
// alert('press navigation buttons to see more records');
// return false;
// }    
  
}
//Irfan:function to recive data from the ServerData 4th(Final)Step of client back 
function  GetDatesReceiveServerData(context)
{

        //to retrive the  string added int the RaiseCallBack to trap the user input        
        var newContext=context.substr(0,2);
        if(newContext == "w^")  
        {
            document.getElementById('renderRepeater').innerHTML=context.substr(2);
        }
        else
        {
        document.getElementById('highlightsControl').innerHTML=context.substr(2);
        }
        
        //change for ajax-loader image
          //hide the ProgressBarDiv
         var UxProgressImageDiv = document.getElementById('ProgressImageDiv');
         UxProgressImageDiv.style.display = "none";
    
}


//Variable to hold the result returned by function getFirstSelectedDate()
var dateReturnedByFirstSelectedDate

//Function To Get The First Date selected by the user 
function getFirstSelectedDate(startDate)
{
 var dateReturnedByFirstSelectedDate=startDate
 return dateReturnedByFirstSelectedDate;
}

//Function To Get The Last Date Selected By the User
function getLastSelectedDate(reciveClickedDate,secondDate)
{
   var displayDate=reciveClickedDate
   displayDate="You have Selected" + " " + secondDate + "/" + monthNum + "/" + yearNum + " " +"and" + " " + displayDate+ "/" + monthNum +"/"+yearNum 
   //my=alert(displayDate)
   return 
}

//change ends


//function checkevents(day,month,year,week,dayofweek) {
//var numevents = 0;
//var floater = 0;
//	for (var i = 0; i < events.length; i++) {
//		if (events[i][0] == "W") {
//			if ((events[i][2] == dayofweek)) numevents++;
//		}
//		else if (events[i][0] == "Y") {
//			if ((events[i][2] == day) && (events[i][1] == month)) numevents++;
//		}
//		else if (events[i][0] == "F") {
//			if ((events[i][1] == 3) && (events[i][2] == 0) && (events[i][3] == 0) ) {
//				easter(year);
//				if (easterday == day && eastermonth == month) numevents++;
//			} else {
//				floater = floatingholiday(year,events[i][1],events[i][2],events[i][3]);
//				if ((month == 5) && (events[i][1] == 5) && (events[i][2] == 4) && (events[i][3] == 2)) {
//					if ((floater + 7 <= 31) && (day == floater + 7)) {
//						numevents++;
//					} else if ((floater + 7 > 31) && (day == floater)) numevents++;
//				} else if ((events[i][1] == month) && (floater == day)) numevents++;
//			}
//		}
//		else if ((events[i][2] == day) && (events[i][1] == month) && (events[i][3] == year)) {
//			numevents++;
//		}
//	}

//	if (numevents == 0) {
//		return false;
//	} else {
//		return true;
//	}
//}




//function floatingholiday(targetyr,targetmo,cardinaloccurrence,targetday)
// {

//var firstdate = new Date(String(targetmo)+"/1/"+String(targetyr));	// Object Storing the first day of the current month.
//var firstday = firstdate.getUTCDay();	// The first day (0-6) of the target month.
//var dayofmonth = 0;	// zero out our calendar day variable.

//	targetday = targetday - 1;

//	if (targetday >= firstday) {
//		cardinaloccurrence--;	// Subtract 1 from cardinal day.
//		dayofmonth = (cardinaloccurrence * 7) + ((targetday - firstday)+1);
//	} else {
//		dayofmonth = (cardinaloccurrence * 7) + ((targetday - firstday)+1);
//	}
//return dayofmonth;
//}
////this is needed for correct Working of the Calendar
//events= new Array( );



