﻿// JavaScript Document
function ShowWait(aContainerID, aFormID, aUrl)
{
	if (validate(aFormID)) {
		// display "searching..." div
		GenerateWaitingDiv(aContainerID, aFormID, aUrl);
	}
}

function toggleInfo(ref) {
	var element = document.getElementById(ref);
	if(element.style.display == "none")
		element.style.display="";
	else
		element.style.display="none";
	return false;
}

validate = function()
{
	var validMail = new RegExp("^(\"([^\"\\r\\\\]|\\\\[\"\\r\\\\])*\"|([-a-z0-9!#$%&'*+/=?^_`{|}~]|\\.)*)@[a-z0-9][\\w\\.-]*[a-z0-9]*\\.[a-z][a-z\\.]*[a-z]$","i");
	var validName = /^[\-\ \'\.a-zA-Z]*$/;
	return function(aFormId)
	{
		var formElements = document.getElementById(aFormId), res = true;
		if (formElements && (formElements = formElements.elements))
			for (var el, i=0; i < formElements.length; ++i)
			{
			    el = formElements[i]
			    var isEmpty = !el.value.replace(/(^\s*)|(\s*$)/, "")
			    if (/(\s|^)isReq(\s|$)/.test(el.className) && (isEmpty || (!validName.test(el.value) && !el.getAttribute('novalidname'))) && !(res = false))
				{
					alert(isEmpty ? "Field is required" : "Letters, spaces or dashes")
					el.focus();
					if (el.type == 'text') el.select();
				}
				else if (/(\s|^)isMail(\s|$)/.test(el.className) && !validMail.test(el.value.replace(/^\s+|\s+$/g, '')) && !(res = false))
				{
					alert("Please enter a valid email address")
					el.focus();
					if (el.type == 'text') el.select();
				}
				if (!res) break
			}
		return res
	}
}()

function wopen(url, name, w, h)
{
	w += 32;
	h += 96;
	var win = window.open(url,
		name,
		'width=' + w + ', height=' + h + ', ' +
		'location=no, menubar=no, ' +
		'status=no, toolbar=no, scrollbars=yes, resizable=no');
	win.resizeTo(w, h);
	win.focus();
}

clearFlag = false;
function showInfo(ref) {
	var element = document.getElementById(ref), selelement;
	if(selelement = element.parentNode.selectedItemId)
		document.getElementById(selelement).style.display = "none";
	if(selelement == ref)
		element.parentNode.selectedItemId = "";
	else
	{
		element.parentNode.selectedItemId = ref;
		if (element.offsetHeight)
			element.parentNode.selectedItemId = "";
		else
			element.style.display = "block";
	}
	return false;
}
// This function is used to popup any window 
function AnyPopup(href, name, windowStyles) {
    if (!name) name =  '_blank';
    if (!windowStyles) windowStyles =  WINDOW_STYLE['ANYPOPUPDEFAULT'];
	var hWnd = window.open(href, name, windowStyles);
	if (window.focus) hWnd.window.focus();
}

checkRadio = function(aTd)
{
	aTd.setAttribute("selected","true")
	var cell
	for(var i = 0; i < aTd.parentNode.cells.length; ++i)
		if ((cell = aTd.parentNode.cells[i]) != aTd && cell.getAttribute("selected"))
		{
				cell.removeAttribute("selected")
				cell.className = cell.className.replace("special","")
				cell.getElementsByTagName("input")[1].value=0;
		}
	aTd.getElementsByTagName("input")[0].checked=true;
	aTd.getElementsByTagName("input")[1].value=1;
}

CheckNamesFML = function(names) {
	var error = false;
	if (
   /^[A-Za-z-. ]*$/.test(names = names.replace(/(^\s*)|(\s*$)/g, "")) &&
   (names = names.split(" ")).length > 1 &&
   names[names.length - 1].length > 1
  ) {
		var ch1 = /^([A-Za-z]+[.]?[-]?)*$/,
    ch2 = /[-]{1}$/
		for (var i = 0; i < names.length; ++i) {
			if (!ch1.test(names[i]) || ch2.test(names[i])) {
				error = true;
				break;
			}
		}
	}
	else
		error = true;
	if (error) {
		alert("Error: Please enter a first and last name");
		return false;
	}
	return true;
}

function CheckName(aContainerID, aFormID, aUrl, aFullName) {
	if (CheckNamesFML(aFullName)) {
		// display "searching..." div
		GenerateWaitingDiv(aContainerID, aFormID, aUrl);
	}
}


function GenerateWaitingDiv(aContainerID, aFormID, aUrl)
{
	var mainContent = document.getElementById(aContainerID);
	var chld = mainContent.childNodes, chldStyle;
	for (var i = 0; i < chld.length; ++i) {
		if (chld[i].style) {
			chld[i].style.display = "none";
		}
	}
	// ignore "aUrl" parameter -- it used to be inserted inside new "div" element (created below), but caused incorrect redirects as some of the "aUrl" values were relative vs absolute.
	// (instead of inserting passed url, just submit the form)
	var newEl = document.createElement('div');
	newEl.innerHTML = "<h1>Searching...</h1><p class=\"center\">&#160;</p><p class=\"center\"><img src=\"images/loading.gif\" alt=\"Searching..\" width=\"32\" height=\"32\" /></p><p class=\"center\"><br />Please wait a moment. If this page does not refresh, <a href=\"javascript:void(0)\" onclick=\" if (window.event) { event.cancelBubble = true; event.returnValue = false}; var o = document.getElementById('" + aFormID + "'); if(o) o.submit(); return false\">click here</a>.</p>";
	mainContent.appendChild(newEl);
	setTimeout("document.getElementById('" + aFormID + "').submit();", 2000);
}