/**
*	@Name:	counter.js
*	@Category: Javascript
*	@Parameters: none
*	@Description: Generic Javascript to set counterdowns elements
*	@License: MIT License
*	@Version: 1.0	
*/
function FixZeros(nleng,number)
{
	var str=number+'';
	while(str.length<nleng)
		str="0"+str;
	return str;
}

function EventCountdown(secspending,textmsg) 
{
	this.counterid=EventCountdown.counters++;
	this.counterid = "c"+this.counterid;
	this.secspending = secspending;
	if(textmsg == null)
		this.textmsg = 'Time over';
	else
		this.textmsg = textmsg;
	
	//write the output	
	this.writecounter = function() {
		document.write(this.setcontainers());
		EventCountdown.Startup();
	}
	//this functions set a div element with span inner document
	this.setcontainers = function() 
	{
		var str = '';
		str=str+'<div class="CountdownContainer" id="counter_'+this.counterid+'">';		
		if((Math.floor(this.secspending /86400))>0)
		{
			str=str+'<span class="counterelements" id="d_'+this.counterid+'">0</span>';
		}
		str=str+'<span class="counterelements" id="h_'+this.counterid+'">0</span>:';
		str=str+'<span class="counterelements" id="m_'+this.counterid+'">0</span>:';
		str=str+'<span class="counterelements" id="s_'+this.counterid+'">0</span>';
		str=str+'</div>';
		return str;
	}
	//substract 1 sec every time and refresh the content
	this.tickertimer = function() 
	{
		if (this.secspending > 0) 
		{
			this.secspending--;
			this.refreshcontent();
		}
		else 
		{
			if(document.getElementById('counter_'+this.counterid))
				document.getElementById('counter_'+this.counterid).innerHTML = '<span class="countermsg">'+this.textmsg+'</span>'; 
			if(document.getElementById('modifyblocker'))
				document.getElementById('modifyblocker').value="true";
			if(document.getElementById('SubmitButton'))
			{
				document.getElementById('SubmitButton').disabled=true;
				document.getElementById('SubmitButton').src="../images/selections_images/generic-submit-disabled.png";
			}
		}		
	}
	//update the content
	this.refreshcontent = function() 
	{
		var sec = this.secspending;
		if (sec>0) 
		{
			var days = Math.floor(sec /86400);
			sec = sec-(days*86400);
			var hours = Math.floor(sec / 3600);
			sec = sec-(hours*3600);
			var mins = Math.floor(sec / 60);
			sec = sec-(mins*60);
			
			if((days==1))
			{
				if(document.getElementById('d_'+this.counterid))
				document.getElementById('d_'+this.counterid).innerHTML = days+" day ";
			}
			if((days>1))
			{
				if(document.getElementById('d_'+this.counterid))
				document.getElementById('d_'+this.counterid).innerHTML = days+" days ";
			}
			//---add a 0 when it requires------
			if(document.getElementById('h_'+this.counterid))
			document.getElementById('h_'+this.counterid).innerHTML = FixZeros(2,hours);
			
			if(document.getElementById('m_'+this.counterid))
			document.getElementById('m_'+this.counterid).innerHTML = FixZeros(2,mins);
			
			if(document.getElementById('s_'+this.counterid))
			document.getElementById('s_'+this.counterid).innerHTML = FixZeros(2,sec);
			
			if(this.secspending>=300)
			{
				if(document.getElementById('modifyblocker'))
				{
					document.getElementById('modifyblocker').value="false";
				}
			}
			else
			{
				if(document.getElementById('modifyblocker'))
				{
					document.getElementById('modifyblocker').value="true";
				}
				
				if(document.getElementById('SubmitButton'))
				{
					document.getElementById('SubmitButton').disabled=true;
					document.getElementById('SubmitButton').src="../images/selections_images/generic-submit-disabled.png";					
				}	
			}						
		} 
		else 
		{
			
			if(document.getElementById('counter_'+this.counterid))
			document.getElementById('counter_'+this.counterid).innerHTML = '<span class="countermsg">'+this.textmsg+'</span>'; 
			if(this.secspending<=0)
			{
				if(document.getElementById('modifyblocker'))
				{
					document.getElementById('modifyblocker').value="true";
				}	
				if(document.getElementById('SubmitButton'))
				{
					document.getElementById('SubmitButton').disabled=true;
				}
			}			
		}
	}
}
EventCountdown.counters = 1;
//allows the option to set more than 1 counter
EventCountdown.counterselements = new Array();

//counter exe function
EventCountdown.execute = function(secspending, textmsg) 
{
	var c = new EventCountdown(secspending, textmsg);
	EventCountdown.counterselements.push(c);
	return c;
}
//time controller for the tickertimer
EventCountdown.Startup = function() 
{
	for (var i in EventCountdown.counterselements) EventCountdown.counterselements[i].tickertimer();
	setTimeout("EventCountdown.Startup()",1000);
}
