/**
*	jQUERY PLUGIN TO MAKE COUNTDOWN FOR 1 WEEK
*	------------------------------------------
*	
*	This plugin makes a countdown clock. You can style them by styling classes: .set0 - .set9
*	Add this plugin to a container to fill it with the clock
*	
*	You can change the initial time like this: $(selector).countdown({option:value, option2:value});
*	Changeable variables are:
*		- timer: 		Set interval (in milliseconds)
*		- initDays: 	The value of the day counter
*		- initHoursT: 	The value of the dozens of hours
*		- initHoursE:	The value of the units of hours
*		- initMinutesT:	The value of the dozens of minutes
*		- initMinutesE:	The value of the units of minutes
*	
*	©2010 - Content Cowboys
**/

(function($){ 
$.fn.countdown = function(options) {

// default options
	var defaults = {
		timer: 60000,
		initDays: 6,
		initHoursT: 2,
		initHoursE: 3,
		initMinutesT: 5,
		initMinutesE: 9,
		dayMax: 9
	};
	
// initial settings, DO NOT TOUCH
	var options = $.extend(defaults, options); 
	
	var currentDays = 0;
	var currentHoursT = 0;
	var currentHoursE = 0;
	var currentMinutesT = 0;
	var currentMinutesE = 0;
	
	var bMinutes = false;
	
	var hourTMax = 2;
	var minuteTMax = 5;
	
	var interval = "";
	
	/** LANGUAGE DEPENDANT **/
	var dagen = "dagen";
	var uren = "uren";
	var minuten = "minuten";
	var root = window.location.href.split('lang=');
	var lang = root[1];
	
	//alert(lang);
	if(lang == "fr") {
		dagen = "jours";
		uren = "heures";
		minuten = "minutes";
	}
	/** END LANGUAGE DEPENDANT **/
	
	obj = $(this);
	
// initialize countdown
	countdown(options.initDays, options.initHoursT, options.initHoursE, options.initMinutesT, options.initMinutesE);
	
// initial function
	function countdown(day, hourT, hourE, minuteT, minuteE) {
		writeHTML(day, hourT, hourE, minuteT, minuteE);
		setCount(day, hourT, hourE, minuteT, minuteE);
		interval = setInterval(startCount, options.timer);
	}
	
	function writeHTML(htmlDay, hmtlHourT, htmlHourE, htmlMinuteT, htmlMinuteE){
		obj.append('<span id="day"></span><span class="countDelimiter">:</span><span id="hourT"></span><span id="hourE"></span><span class="countDelimiter">:</span><span id="minuteT"></span><span id="minuteE"></span><p id="countWhat"><span id="countD">'+dagen+'</span><span id="countU">'+uren+'</span><span id="countM">'+minuten+'</span></p>');
	}
	
// set count initial + every interval
	function setCount(setDay, setHourT, setHourE, setMinuteT, setMinuteE) {
		if(setDay <= options.dayMax) {
			$('#countdown #day').removeClass('set0 set1 set2 set3 set4 set5 set6 set7 set8 set9').addClass('set'+setDay);
			currentDays = setDay;
		} else {
			alert('Er kunnen niet meer als 7 dagen zijn');
		}
		
		if(setHourT <= hourTMax && setHourE < 10) {
			$('#countdown #hourT').removeClass('set0 set1 set2 set3 set4 set5 set6 set7 set8 set9').addClass('set'+setHourT);
			$('#countdown #hourE').removeClass('set0 set1 set2 set3 set4 set5 set6 set7 set8 set9').addClass('set'+setHourE);
			currentHoursT = setHourT;
			currentHoursE = setHourE;
		} else {
			alert('Er kunnen niet meer als 23 uren ingegeven worden');
		}
		
		if(setMinuteT <= minuteTMax && setMinuteE < 10) {
			$('#countdown #minuteT').removeClass('set0 set1 set2 set3 set4 set5 set6 set7 set8 set9').addClass('set'+setMinuteT);
			$('#countdown #minuteE').removeClass('set0 set1 set2 set3 set4 set5 set6 set7 set8 set9').addClass('set'+setMinuteE);
			currentMinutesT = setMinuteT;
			currentMinutesE = setMinuteE;
		} else {
			alert('Er kunnen niet meer als 59 minuten ingegeven worden');
		}
	}
	
// process count
	function startCount() {
		if(bMinutes) {
			bMinutes = false;
			currentMinutesT = minuteTMax;
			currentMinutesE = 10;
			if(currentHoursE > 0){
				currentHoursE --;
			} else {
				if(currentHoursT>0) {
					currentHoursT --;
				} else {
					currentDays --;
					currentHoursT = 2;
					currentHoursE = 3;
				}
				if(currentHoursT < 2) {
					currentHoursE = 9;
				} else {
					currentHoursE = 3;
				}
			}
		}
		
		if(currentMinutesE>0) {
			currentMinutesE --;
		} else {
			currentMinutesE = 9;
			currentMinutesT --;
		}
		if(currentMinutesT == 0 && currentMinutesE == 0) {
			bMinutes = true;
		}
		
		// if countdown complete, stop counting
		if(currentDays+currentHoursT+currentHoursE+currentMinutesT+currentMinutesE <= 0) {
			setCount(0, 0, 0, 0, 0);
			clearInterval(interval);
		} else {
			setCount(currentDays, currentHoursT, currentHoursE, currentMinutesT, currentMinutesE);
		}
	}
};
})(jQuery);
