// Common Functions

function validateEmail(email)
{
	if ((email.length < 3) || (email.length > 50) || 
			(email.charAt(0) == '@') || (email.charAt(email.length-1) == '@') || 
			(email.charAt(0) == '.') || (email.charAt(email.length-1) == '.') || 
			(email.indexOf('.') == -1) || (email.indexOf('@') == -1) ||
			(email.indexOf('@') != email.lastIndexOf('@')) || 
			(email.indexOf(' ') > 0) || (email.indexOf('?') > 0) || (email.indexOf('..') > 0)
			)
	{
		return false;
	}
	else
	{
		return true;
	}
} 

function validateEmailMV(email, strict)
{
	if(email.length == 0) {
		errorMsg += "\nPlease enter your email address.";
		return false;
	}
	valid_chars = "[^ \(\)<>@,;:\\\"\[\]]";
	
	switch(strict) {
		case 1:
			if(!email.match("^.{2,}@.+$")) {
				errorMsg += "\nPlease supply a valid email address.";
				return false;
			} else {
				return true;
			}

			break;
		case 2:
			re = /^[^ \(\)<>@,;:\\\"\[\]]{2,}@[^ \(\)<>@,;:\\\"\[\]]+$/;
			reQuotas = /^\".*\"@[^ \(\)<>@,;:\\\"\[\]]+$/;
			if (reQuotas.test(email)) {
				return true;
			} else if(!re.test(email)) {
				errorMsg += "\nPlease supply a valid email address.";
				return false;
			} else {
				return true;
			}

			break;
		case 3:
			reQuotas = /^\".*\"@[^ \(\)<>@,;:\\\"\[\]]+\.[^ \(\)<>@,;:\\\"\[\]]+$/;
			re = /^[^ \(\)<>@,;:\\\"\[\]]{2,}@[^ \(\)<>@,;:\\\"\[\]]+\.[^ \(\)<>@,;:\\\"\[\]]+$/
			if (reQuotas.test(email)) {
				return true;
			}
			if(!re.test(email)) {
				errorMsg += "\nPlease supply a valid email address.";
				return false;
			} else {
				return true;
			}
			
			break;
	}

}


function popUpMV(page, h, w, left, top, resize, scrollbars)
{
	resWin = window.open(page, "", "dependent, height=" + h + ", width=" + w + ", left=" + left + ", top=" + top + ", resizable=" + resize + ", scrollbars=" + scrollbars);
}

//table list actions


function datalistRowOver(rowId)
{
	var rowDom = document.getElementById(rowId);
	
	var aElements = rowDom.getElementsByTagName('td');
	
	for(i = 0; i < aElements.length; i++) {
		aElements[i].style.backgroundColor = datalistColors['over'];
//		aElements[i].className = 'datalistover';

	}
}

function datalistRowOut(rowId, defaltColor)
{
	var rowDom = document.getElementById(rowId);
	
	var aElements = rowDom.getElementsByTagName('td');
	
	for(i = 0; i < aElements.length; i++) {
		aElements[i].style.backgroundColor = defaltColor;
//		aElements[i].className = 'datalistout';
	}
}

function datalistRowClick(rowId)
{
	var rowDom = document.getElementById(rowId);
	
	var aElements = rowDom.getElementsByTagName('td');
	
	for(i = 0; i < aElements.length; i++) {
		aElements[i].style.backgroundColor = datalistColors['click'];
//		aElements[i].className = 'datalistclick';
	}
}
//table list actions end

function confirmDeleteMV(item)
{
	if(confirm('Delete ' + item + '?')) {
		return true;
	} else {
		return false;
	}
}

function switchClass(obj,strClassName)
{
	obj.className	= strClassName;
}

function copyrightYear(startYear)
{
	d = new Date();
	
	if (startYear != d.getFullYear())
		{
		return startYear + " - " + d.getFullYear();
		}
	else
		{
		return startYear;
		}
}
		
// End Common Functions

function deleteConfirm(question, idPart)
{
	var inputsDom = document.getElementsByTagName("input");
	var re = new RegExp(idPart, "i")
	
	for(i = 0; i < inputsDom.length; i++) {
		if(re.test(inputsDom[i].id)) {
			// Check if it is checked
			if(inputsDom[i].checked == true) {
				return confirm(question);
			}
		}
	}
	
	return true;
}

function uncheckAll(uniqueId)
{
	var inputsDom = document.getElementsByTagName("input");
	var re = new RegExp(uniqueId, "i")
	
	for(i = 0; i < inputsDom.length; i++) {
		if(re.test(inputsDom[i].id)) {
			inputsDom[i].checked = false;
		}
	}
}

function confirmDelete(item)
{
	if(confirm('Delete ' + item + '?')) {
		return true;
	} else {
		return false;
	}
}

function checkTerms(form)
{
	if(!form.terms.checked) {
		alert("Please confirm you have read and agree the terms of use.");
		return false;
	}
	
	return true;
}