﻿// JavaScript Document
/* DO NOT CHANGE ANYTHING BELOW THIS LINE */
var $master_countdown = jQuery.noConflict();
var $master_countdown_message_class = 'master-coundown-message';
var $master_countdown_seconds_in_day = 86400;
var $master_countdown_seconds_in_hour = 3600;
var $master_countdown_seconds_in_minute = 60;

$master_countdown( document ).ready( master_countdown_READY );

function master_countdown_READY(){
	master_countdown_HTML_init();
	master_countdown_set_timer();
}

function master_countdown_set_timer(){
	
	var $countdown_element_locations = $master_countdown( '.master-countdown' );
	$countdown_element_locations.each( function(){
		var $ending_unix_time = master_countdown_return_ending_unixtime( $master_countdown( this ).children( '.master-countdown-end-unix-time' ) )
		var $current_time = new Date();
		var $current_unix_time = Math.floor( $current_time.getTime() / 1000 );
		var $time_difference = $ending_unix_time - $current_unix_time;
	
		if( $time_difference >= 0 )
			setInterval( master_countdown_format_HTML, 1000 )	
	});
}

function master_countdown_HTML_init(){
	
	var $countdown_element_locations = $master_countdown( '.master-countdown' );
	var $message_element = '<span class="' + $master_countdown_message_class + '"></span>';
	$countdown_element_locations.each( function(){
		$master_countdown( this ).append( $message_element );
	});		
	
	master_countdown_format_HTML();
}

function master_countdown_format_HTML(){
	
	var $countdown_element_locations = $master_countdown( '.master-countdown' );
	$countdown_element_locations.each( master_countdown_create_countdown_inner_HTML );
}

function master_countdown_create_countdown_inner_HTML(){
	
	var $ending_unix_time = master_countdown_return_ending_unixtime( $master_countdown( this ).children( '.master-countdown-end-unix-time' ) )
	var $current_time = new Date();
	var $current_unix_time = Math.floor( $current_time.getTime() / 1000 );
	var $time_difference = $ending_unix_time - $current_unix_time;
	
	if( $time_difference < 0 ){
		var $countdown_message = $master_countdown( this ).children( '.master-countdown-end-message' ).html();
		$master_countdown( this ).children( '.master-coundown-message' ).html( $countdown_message );	
	}else{
		var $countdown_message_format = $master_countdown( this ).children( '.master-countdown-html-format' ).html();
		$master_countdown( this ).children( "." + $master_countdown_message_class ).html( $countdown_message_format );	
		$master_countdown( this ).children( "." + $master_countdown_message_class ).children( '.master-timer' ).html( master_countdown_format_time( $time_difference ) );
	}
}

function master_countdown_return_ending_unixtime( $ending_time_location ){
	return $ending_time_location.html();
}

function master_countdown_format_time( $unixtime ){
	$days = master_countdown_pad_number( master_countdown_number_of_days( $unixtime ), 2 );
	$hours = master_countdown_pad_number( master_countdown_number_of_hours( $unixtime ), 2 );
	$minutes = master_countdown_pad_number( master_countdown_number_of_minutes( $unixtime ), 2 );
	$seconds = master_countdown_pad_number( master_countdown_number_of_seconds( $unixtime ), 2 );
	
	//if( $days != 0 && $hours != 0 && $minutes != 0 )
		$returnString = $days + "D : " + $hours + "H : " + $minutes + "M : " + $seconds + "S";
	//else
	//	$returnString = "00D : 00H : 00M";
		
	return $returnString;
}

function master_countdown_number_of_days( $unixtime ){
	var $days = Math.floor( $unixtime / $master_countdown_seconds_in_day );
	return $days;
}

function master_countdown_number_of_hours( $unixtime ){

	var $remainder = $unixtime - master_countdown_number_of_days( $unixtime ) * $master_countdown_seconds_in_day;
	var $hours = Math.floor( $remainder / $master_countdown_seconds_in_hour );

	return $hours;
}

function master_countdown_number_of_minutes( $unixtime ){
	var $remainder = $unixtime - master_countdown_number_of_days( $unixtime ) * $master_countdown_seconds_in_day - master_countdown_number_of_hours( $unixtime ) * $master_countdown_seconds_in_hour;
	var $minutes = Math.floor( $remainder / $master_countdown_seconds_in_minute );

	return $minutes;
}

function master_countdown_number_of_seconds( $unixtime ){
	var $seconds = $unixtime - master_countdown_number_of_days( $unixtime ) * $master_countdown_seconds_in_day - master_countdown_number_of_hours( $unixtime ) * $master_countdown_seconds_in_hour - master_countdown_number_of_minutes( $unixtime ) * $master_countdown_seconds_in_minute;

	return $seconds;
}

function master_countdown_pad_number( $number, $length ) {
   
    var $string = '' + $number;
    while( $string.length < $length )
        $string = '0' + $string;
   
    return $string;
}

