
function toggleVisibility(sectionId, source)
{
	var control = document.getElementById(sectionId);

	// need to collapse
	if (source.className.indexOf('_Expanded') >= 0)
	{
		source.className = source.className.replace('_Expanded', '_Collapsed');
		control.style.display = "none";
	}
	else
	{
		source.className = source.className.replace('_Collapsed', '_Expanded');
		control.style.display = "block";
	}
}

function OnRollOver(img)
{
	img.src = img.src.replace('.', '_selected.');
}

function OnRollOut(img)
{
	img.src = img.src.replace('_selected.', '.');
}


function validateform()
{
	var name = document.getElementById('name');
	var companyName = document.getElementById('companyname');
	var address = document.getElementById('address');
	var position = document.getElementById('position');
	var email = document.getElementById('email');
	var telephone = document.getElementById('telephone');
	var message = document.getElementById('message');

	if (name != null && name.value.length <= 3)
	{
		alert('Please enter your name');
		return false;
	}

	var filter = /^.+@.+\..{2,3}$/
	if (email != null)
	{
		var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
		if (!email.value.match(re))
		{
			alert('Please enter a valid email address');
			return false;
		}
	}

	if (message != null && message.value.length <= 15)
	{
		alert('Please enter your message, it must be longer than 15 characters');
		return false;
	}

	if (position != null && position.value.length <= 2)
	{
		alert('Please enter your position, e.g. Head of Sales');
		return false;
	}

	if (companyName != null && companyName.value.length <= 3)
	{
		alert('Please enter your company name');
		return false;
	}


	return true;
}

function clockupdate(objId)
{
	thistime = new Date()

	var suffix = "th";

	switch (thistime.getDate())
	{
		case 1:
		case 21:
		case 31:
			suffix = "st";
			break;
		case 2:
		case 22:
			suffix = "nd";
			break;
		case 3:
		case 23:
			suffix = "rd";
			break;
	}

	thistime = thistime.format("dddd, d@ MMMM, yyyy, h:mm:ss tt");
	thistime = thistime.replace("@", suffix);

	var bgclocknoshade = document.getElementById(objId);
	bgclocknoshade.innerHTML = thistime;
	var timer = setTimeout("clockupdate('" + objId + "')", 1000);
}

function countDownClock(objId, targetDate, PreText, OnOrAfterMsg)
{
	var DisplayFormat = "<span class='days'>%%D%% Days</span>, <span class='hours'>%%H%% Hours</span>, <span class='minutes'>%%M%% Minutes</span>, <span class='seconds'>%%S%% Seconds.</span>";

	var dthen = new Date(targetDate);
	var dnow = new Date();
	ddiff = new Date(dthen - dnow);

	var secs = Math.floor(ddiff.valueOf() / 1000);

	var target = document.getElementById(objId);

	if (secs < 0)
	{
		target.innerHTML = OnOrAfterMsg;
	}
	else
	{
		var displayStr = PreText + DisplayFormat.replace(/%%D%%/g, calcage(secs, 86400, 100000));
		displayStr = displayStr.replace(/%%H%%/g, calcage(secs, 3600, 24));
		displayStr = displayStr.replace(/%%M%%/g, calcage(secs, 60, 60));
		displayStr = displayStr.replace(/%%S%%/g, calcage(secs, 1, 60));
		
		target.innerHTML = displayStr;

		setTimeout("countDownClock('" + objId + "','" + targetDate + "','" + PreText + "','" + OnOrAfterMsg + "')", 1000);
	}
}

function calcage(secs, num1, num2)
{
	s = ((Math.floor(secs / num1)) % num2).toString();
	if (s.length < 2)
		s = "0" + s;
	return "<b>" + s + "</b>";
}


function KeyPressDigit(sender, args)
{
	if (args.get_keyCharacter() == sender.get_numberFormat().DecimalSeparator)
	{
		args.set_cancel(true);
	}
} 
