/*************************** 
 * Countdown:  Counts down to the time sopecifed by the parameter
 * Params:     Current Time, Intial Start time to count down to.
 * Return:     Time
 ***************************/

function counter(initialTime){


	  var initialStartDate = new Date(""+initialTime+"");
	  var currentDate      = new Date();

//********************
	now = new Date();
	var hours = now.getHours();
	var minutes = now.getMinutes();
	var seconds = now.getSeconds();
	
	var day = now.getDate(); //returns the day of the month
	var year = now.getFullYear()
	var month=new Array(12)
	month[0]="January"
	month[1]="February"
	month[2]="March"
	month[3]="April"
	month[4]="May"
	month[5]="June"
	month[6]="July"
	month[7]="August"
	month[8]="September"
	month[9]="October"
	month[10]="November"
	month[11]="December"
	
	var dayOfWeek=now.getDay(); //sunday=0; monday=1, tue=2, wed=3, thur=4, fri=5, sat=6
	var weekday=new Array(7)
	weekday[0]="Sunday"
	weekday[1]="Monday"
	weekday[2]="Tuesday"
	weekday[3]="Wednesday"
	weekday[4]="Thursday"
	weekday[5]="Friday"
	weekday[6]="Saturday"

	var formalMonth = month[now.getMonth()];
	var formalSeconds = seconds.toString();
  	if (formalSeconds.length < 2) {
	    formalSeconds = "0" + formalSeconds;
	}
	
	var formalDays;
	
	var secondsTotalClient = seconds + (minutes * 60) + (hours*60*60);
	var initTime = 0;
	//document.cookie = 'secondsTotalClient='+secondsTotalClient; 
	if (secondsTotalClient >=50400) { //if the client's time is greater then 2PM
		//**********************
		//* will figure out the day of month that the next monday is.
		if (dayOfWeek > 4) { //if day of week is greater then thursday (if it's friday or saturday)
			day = day + (8 - dayOfWeek); 
		} else {
			day = day + 1;
		}
		//alert('Today is '+ weekday[dayOfWeek]+' Next start day of the month is '+day);
		//*
		//**********************
		formalDays = day.toString();
		if (formalDays.length <2) {
			formalDays = "0" + formalDays;
		}	
		initTime = formalMonth+' '+formalDays+', '+year+' 11:59:59';
		
		//alert(initTime);
		
	} else { // if it's before 2 PM
		if (dayOfWeek == 6) { //if Saturday
			day = day + 2;
		} else if (dayOfWeek == 0) { //if Sunday
			day = day + 1;
		}
		formalDays = day.toString();
		if (formalDays.length <2) {
			formalDays = "0" + formalDays;
		}	
		initTime = formalMonth+' '+formalDays+', '+year+' 11:59:59';
	}

	initialStartDate = new Date(""+initTime+"");
	//alert(initialStartDate);
//******************
	  
	  count=Math.floor((initialStartDate.getTime()-currentDate.getTime())/1000);
	  
	//alert(count);
	//exit();
	 /********************
	  * If we reached the end of the time
	  ********************/
	 if(count<=0){
	 	//alert('redirecting to video.php');
     		document.getElementById('hours').innerHTML = "00";
     		document.getElementById('minutes').innerHTML = "00";
     		document.getElementById('seconds').innerHTML = "00";
     		window.location = "video.php";
    	 }
    
    	/*********
    	 * DISPLAY THE SECONDS
    	 *********/
    	secondsX = count%60;
    	
    	if(secondsX == "0" |
    	   secondsX == "1" | 
    	   secondsX == "2" |
    	   secondsX == "3" | 
    	   secondsX == "4" | 
    	   secondsX == "5" |
    	   secondsX == "6" | 
    	   secondsX == "7" | 
    	   secondsX == "8" |
    	   secondsX == "9" ){
    	   
    	  secondsX = "0"+secondsX;
    	 }

    	
  	//document.getElementById('seconds').innerHTML = count%60;
  	document.getElementById('seconds').innerHTML = secondsX;
  	
  	/********
  	 * GET THE MINUTES LEFT AND DISPLAY
  	 ********/
  	count=Math.floor(count/60);
  	minutesX = count%60;
  	
  	if(minutesX == "0" || 
    	   minutesX == "1" || 
    	   minutesX == "2" ||
    	   minutesX == "3" || 
    	   minutesX == "4" || 
    	   minutesX == "5" ||
    	   minutesX == "6" || 
    	   minutesX == "7" || 
    	   minutesX == "8" ||
    	   minutesX == "9" ){
    	   
    	  minutesX = "0"+minutesX;
    	 }
  	
  	
  	document.getElementById('minutes').innerHTML = minutesX;

  	/********
  	 * GET THE HOURS LEFT AND DISPLAY
  	 ********/
	var countdownMaxHrs = 24;
	if (dayOfWeek == 5 && secondsTotalClient >=50400) { //if Friday
		countdownMaxHrs = countdownMaxHrs * 4;
	} else if (dayOfWeek == 6) { //if Saturday
		countdownMaxHrs = countdownMaxHrs * 3;
	} else if (dayOfWeek == 0) { //if Sunday
		countdownMaxHrs = countdownMaxHrs * 2;
	}
  	count=Math.floor(count/60);
  	hoursX = count%countdownMaxHrs;
  	
  	if(hoursX == "0" || 
    	   hoursX == "1" || 
    	   hoursX == "2" ||
    	   hoursX == "3" || 
    	   hoursX == "4" || 
    	   hoursX == "5" ||
    	   hoursX == "6" || 
    	   hoursX == "7" || 
    	   hoursX == "8" ||
    	   hoursX == "9" ){
    	   
    	  hoursX = "0"+hoursX;
    	 }
  	
  	
  	document.getElementById('hours').innerHTML = hoursX;
 	
 	
 	setTimeout("counter('"+initialTime+"')",600);
	  
	 
 }
