
var now = new Date();
var one_year= new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);

CFCFcities="Montréal,Québec";
CKYcities="Winnipeg";
ATVcities="Moncton,Saint John,Sydney,Halifax";
CFTOcities="Toronto,North Bay,Sault Ste. Marie,Sudbury,Kitchener,Ottawa,Timmins";
CFCNcities="Calgary,Lethbridge,Edmonton";
SASKCTcities="Prince Albert,Regina,Saskatoon,Yorkton";
CIVTcities="Vancouver";
ASNcities="Atlantic Canada";

/* guess the timezone based on system clock. I can't guess Sask accurately as
 * far as I know. */
 function guessTimezone(){
 var MyTZ = "CFTO";
 var dayLightSavingsTime = isDayLightSavingsTime();

 var today = new Date();
 var currentOffset = (today.getTimezoneOffset() / 60) ;
 if(dayLightSavingsTime){currentOffset = currentOffset + 1;}

   switch(currentOffset){
   case 5: MyTZ ="Toronto";break;
   case 6: MyTZ ="Winnipeg";break;
   case 7: MyTZ ="Calgary";break;
   case 8: MyTZ ="Vancouver";break;
   case 4: MyTZ ="Halifax";break;
   case 3.5:   MyTZ ="Saint John";break;
   default:    MyTZ ="Toronto";break;
   }
return MyTZ;
}

function isDayLightSavingsTime(){
dt = true;
var today = new Date();
var thisMonth = today.getMonth();
var thisDate = today.getDate();
var thisDay = today.getDay();

var gmt = new Date;
var lsm = new Date;
var lso = new Date;
lsm.setMonth(3); // April
lsm.setDate(1);
var day = lsm.getDay();// day of week of 1st
lsm.setDate(8-day); // first Sunday
lso.setMonth(9); // October
lso.setDate(31);
day = lso.getDay();
lso.setDate(31-day);
if (gmt < lsm || gmt >= lso) {

dt = false;
}
return dt;
}

var myCity = getCookie("ctvUserCity");
if((!myCity)||(myCity.length<=4)||(myCity=="SASKCT")){
myCity=guessTimezone();
// myCity="Toronto";

}

var myArea = cityToArea(myCity);
if (myArea=="na"){
  myCity = "Toronto";
  myArea = "CFTO";
}

function getCookie (cookieName) {
  var cookieValue = null;
  var posName = document.cookie.indexOf(escape(cookieName) + '=');
  if (posName != -1) {
    var posValue = posName + (escape(cookieName) + '=').length;
    var endPos = document.cookie.indexOf(';', posValue);
    if (endPos != -1) {
      cookieValue = unescape(document.cookie.substring(posValue,endPos));
    } else {
      cookieValue = unescape(document.cookie.substring(posValue));
    }
  }
  return cookieValue;
}


function switchCity(_cityI,_page){
  _city=_cityI.value;
  area = cityToArea(_city);
  setCookie("ctvUserArea",area,one_year,"/");
  setCookie("ctvUserCity",_city,one_year,"/");
  myCity = getCookie("ctvUserCity");
  if (myCity==null){
  alert("To get your local TV Listings, your browser must be set to accept cookies.\n");
	  myCity = guessTimezone();
  }
  if(_page == "home"){ showHide('homeWhatsOn');
  }
  else if(_page == "showsHome"){
     showHideShows('showsHome',false);}
  else  { getLocation(myCity,_page);  }
}



function getCityCodeFromCity(_city){
  switch(_city){
		case 'Montréal':   cityCode ="CFCF";break;
		case 'Québec':     cityCode ="CFCF";break;
		case 'Winnipeg':   cityCode ="CKY";break;
		case 'Halifax':    cityCode ="ATV";break;
		case 'Moncton':    cityCode ="ATV";break;
		case 'Saint John': cityCode ="ATV";break;
		case 'Sydney':     cityCode ="ATV";break;
		case 'Toronto':    cityCode ="CFTO";break;
		case 'North Bay':  cityCode ="MCTVCT";break;
		case 'Sault Ste. Marie': cityCode ="MCTVCT";break;
		case 'Sudbury':    cityCode ="MCTVCT";break;
		case 'Timmins':    cityCode ="MCTVCT";break;
		case 'Kitchener':  cityCode ="CKCO";break;
		case 'Ottawa':     cityCode ="CJOH";break;
		case 'Calgary':    cityCode ="CFCN";break;
		case 'Lethbridge': cityCode ="CFCN";break;
		case 'Edmonton':   cityCode ="CFRN";break;
		case 'Prince Albert': cityCode ="SASKCT";break;
		case 'Regina':     cityCode ="SASKCT";break;
		case 'Saskatoon':  cityCode ="SASKCT";break;
		case 'Yorkton':    cityCode ="SASKCT";break;
		case 'Vancouver':   cityCode ="CIVT";break;
                case 'Atlantic Canada': cityCode="ASN";break;
		default: cityCode="CFTO";break;
	}
	return cityCode;
}
function getLocation(_city, _page){
  city=getCityCodeFromCity(_city);
    switch (_page){
    case 'home':   window.location.href = "/home"; break;
    case 'tvlist': window.location.href = "/generic/generated/tvlist/"+city+_page+".html"; break;
    case 'show':   window.location.href = "/generic/generated/shows/home.html"; break;
    default: window.location.href = "/generic/generated/tvlist/"+city+_page+".html"; break;
  }

//     switch (_page){
//       case 'home':   alert("/home"); break;
//       case 'tvlist': alert("/generic/generated/tvlist/"+city+_page+".html"); break;
//       case 'show':   alert("/generic/generated/shows/home.html"); break;
//       default: alert("/generic/generated/tvlist/"+city+_page+".html"); break;
//       }
                      
}

function printList(_city,_page,_next) {
  window.open('/generic/generated/tvlist/'+_city+_page+_next+".html", 'PopUpPrintList', 'height=564,width=646,menubar=yes,toolbar=yes,navbar=no,scrollbars=yes,resizable=yes');
  return false;
}

function checkValidCity(_city,_area){
  if (((_city==null)||(_city==""))||((_area==null)||(_area==""))){
    myCity = "Toronto";
    myArea = "CFTO";
  }else{
    myArea = cityToArea(_city);
  }
}

function cityToArea(_city){
  // CFCN,CFRN,,CIVT,,CKY,,SASKCT,,MCTVCT,CFTO,CKCO,CJOH,,CFCF,,ATV
  // CFCN CFRN CIVT CKY SASKCT MCTVCT CFTO CKCO CJOH CFCF ATV
  if (CFCNcities.indexOf(_city)!=-1){
    area="CFCN";
  } else if (CIVTcities.indexOf(_city)!=-1){
    area="CIVT";
  } else if (CKYcities.indexOf(_city)!=-1){
    area="CKY";
  } else if (SASKCTcities.indexOf(_city)!=-1){
    area="SASKCT";
  } else if (CFTOcities.indexOf(_city)!=-1){
    area="CFTO";
  } else if (CFCFcities.indexOf(_city)!=-1){
    area="CFCF";
  } else if (ATVcities.indexOf(_city)!=-1){
    area="ATV";
  } else if (ASNcities.indexOf(_city)!=-1){
    area="ASN";
  } else {
    area = "na";
  }
  return area;
}

function getCityByCookie(_city){
	if (_city=="CIVT"){
		dw="Vancouver";
	}else if (_city=="CFRN"){
		dw="Edmonton";
	}else if (_city=="CFCN"){
		dw="Calgary/Lethbridge";
	}else if (_city=="SASKCT"){
		dw="Saskatchewan";
	}else if (_city=="CKY"){
		dw="Winnipeg";
	}else if (_city=="MCTVCT"){
		dw="Northern Ontario";
	}else if (_city=="CFTO"){
		dw="Toronto";
	}else if (_city=="CKCO"){
		dw="Kitchener";
	}else if (_city=="CJOH"){
		dw="Ottawa";
	}else if (_city=="CFCF"){
		dw="Montreal";
	}else if (_city=="ATV"){
		dw="Atlantic Canada";
        }else if (_city=="ASN"){
                dw="Atlantic Canada";
	}else{
		dw="Unknown City";
	}
  //return dw;
  return _city;
}

function setDay(newDay){
	var today = new Date();
	dayNumber = today.getDay();
	spotlightDay = newDay - dayNumber;
	if(spotlightDay <0){spotlightDay = 7 + spotlightDay}
	showSpotlight(spotlightDay,newDay);
}

function showSpotlight(spotlightDay,navDay){
	navDay = navDay - 1;
	if(navDay < 0){ navDay = 7 + navDay}
	spotlightNavItems =  document.getElementById("comingUpNav").getElementsByTagName("td");
	for (i=0; i<7; i++){
		spotlightNavItems[i].style.backgroundColor="#DCDCDC";
		spotlightNavItems[i].style.color="black";
	}
	spotlightNavItems[(navDay)].style.backgroundColor="#B71C00";
	spotlightNavItems[(navDay)].style.color="white";


	spotlightAreaArray = document.getElementById("spotlightContainer").getElementsByTagName("table");
		for (i=0; i<7; i++){
			/* hide days */
		document.getElementById("comingUpGroup" + i).style.display="none";
			/* hide areas */
		var currentSpotlightAreaDay = document.getElementById("comingUpGroup" + i).getElementsByTagName("div");
			for (j=0; j<currentSpotlightAreaDay.length; j++){
			currentSpotlightAreaDay[(j)].style.display = "none";
			}

		}
		/* show spotlight day */
	document.getElementById("comingUpGroup" + spotlightDay).style.display="block";

		/* show spotlight area */
	document.getElementById(showArea + spotlightDay).style.display="block";

}

function showHide(whichWhatsOn){
now = new Date();
one_year = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);
myCity = getCookie("ctvUserCity");
myArea = cityToArea(myCity);

if ((myArea=="na")||(myCity==null)){
myCity = guessTimezone();
myArea = cityToArea(myCity);
}

 		var URL = "/generic/generated/boss/homeInside" + myCity + ".html";
 		
 		callToServer(URL);
 		

}

function showHideShows(whichWhatsOn,onLoad){

now = new Date();
one_year = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);
myCity = getCookie("ctvUserCity");
myArea = cityToArea(myCity);

if ((myArea=="na")||(myCity==null)){
myCity = guessTimezone();
myArea = cityToArea(myCity);

}

if (whichWhatsOn == "showsInside"){
 if(myArea != "CFTO" || onLoad == false ){
 		var URL = "/mar/generated/shows/showsTicker" + myArea + ".html";
 		
 		callToServer(URL);
 }
}
if (whichWhatsOn == "showsHome"){
document.getElementById("onTonightCustomize").elements["city"].value = myCity;
if(myArea != "CFTO" || onLoad == false ){
 		var URL = "/mar/generated/shows/showsHomeInside" + myArea + ".html";
 		
 		callToServer(URL);}
}
}

