function IsNumeric(keyCode)
{
	if( (keyCode<48 || keyCode>57) && keyCode!=8 )
	{
		return false;
	}
	return true; //must be valid if here
}

function ShowMarkerMaintenance(URL)
{
	var strURL =  URL + "&ListMode=0"; 
	var winMM = window.open(strURL, "MMWIN", "left=0,top=0,height=690,width=1015,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
	winMM.focus();
}

function ShowSchoolDetails(dfesNo)
{
	ShowPopUp("../SchoolDetails.aspx?hideCancel=1&amp;SchoolID=" + dfesNo);
}


function ShowPopUp(URL)
{
    var winMM = window.open(URL, "PopUp", "left=0,top=0,height=690,width=1015,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes");
	winMM.focus();
	self.document.body.style.cursor='default';
}
function ShowPopUp2(URL)
{
	var winMM = window.open(URL, "PopUp", "left=0,top=0,height=690,width=1015,status=yes,toolbar=no,scrollbar=yes,menubar=no,location=no,scrollbars=yes");
	//winMM.focus();
	self.document.body.style.cursor='default';
}
function ClosePopUp()
{
	window.close();
}

function RemoveHeaderLinks()
{
	var qstr = unescape(location.search);
	qstr = qstr.substring(12,13);
	if(qstr == "1")
	{
	    var btnHome = document.getElementById("_ctl0_YPAdminToolbar_btnHome");
	    var btnLogout = document.getElementById("_ctl0_YPAdminToolbar_btnLogout");
	    
	    if (btnHome)
	    {
	        btnHome.style.visibility = "hidden";
	    }
	    
	    if (btnLogout)
	    {
	        btnLogout.style.visibility = "hidden";
	    }
	    
		//var lnkReturn = document.getElementById("Header_lnkReturn");
		//lnkReturn.href = "#";
		//lnkReturn.innerText="";
		//var lnkLogout = document.getElementById("Header_lnkLogout");
		//lnkLogout.href = "#";
		//lnkLogout.innerText="";
	}
}

function UpdateSelectionCount(checkBox, label, col)
{
	var row;
	row = checkBox.parentNode;
	row = getParentByTagName(row, 'tr');
	var n = parseInt(row.childNodes[col].firstChild.nodeValue);
	var element = document.getElementById(label);
	if (element != null)
	{
		if (element.innerText.length === 0)
		{
			if (checkBox.checked)
			{
				element.value = parseIntWithCommas(element.value) + n;
			}
			else
			{
				element.value = parseIntWithCommas(element.value) - n;
			}
			element.value = addCommas(element.value);
		}
		else
		{
			if (checkBox.checked)
			{
				element.innerText = parseInt(element.innerText) + n;
			}
			else
			{
				element.innerText = parseInt(element.innerText) - n;
			}
			element.innerText = addCommas(element.innerText);
		}		
	}
}

function parseIntWithCommas(s)
{
	return parseInt(s.replace(",",""));
}

function parseFloatWithCommas(s)
{
	return parseFloat(s.replace(",",""));
}

function parseMoney(s)
{
	var pattern = /[.,\d]+/;
	return parseFloatWithCommas(s.substr(s.search(pattern)));
}

function parseMoneyInput(s)
{
	s = s.replace(",", "")
	var pattern = /^\s*((\d*[1-9]\d*(\.\d{0,2})?)|(\d*\.[1-9]\d?)|(\d*\.\d[1-9]))\s*$/;
	if (!pattern.test(s))
	{
		return NaN;
	}
	return parseFloat(s);
}

function parseIntegerInput(s)
{
	s = s.replace(",", "")
	var pattern = /^\s*\d+\s*$/;
	if (!pattern.test(s))
	{
		return NaN;
	}
	return parseInt(s);
}

function manageTicksOnLoad(id)
{
	var grid = document.getElementById(id);
	if (grid != null)
	{
		manageTicks(grid);
	}
}

function toMoney(num)
{
	return "&pound;" + addCommas(num.toFixed(2));
}

function manageTicks(node)
{
	var inputs = node.getElementsByTagName('input');
	if (inputs != null && inputs.length > 1)
	{
		var disable = inputs[0].checked;
		for (var i = 1; i < inputs.length; ++i)
		{
			if (disable && !inputs[i].disabled)
			{
				inputs[i].checked = true;
			}
			inputs[i].disabled = disable;
		}
	}
}

function handleAllTicksClicked(allCheckBox, hiddenFlag)
{
	if (allCheckBox.checked)
	{		
		document.getElementById(hiddenFlag).value = "0";
	}
	else
	{
		document.getElementById(hiddenFlag).value = "1";
	}
	
	while (allCheckBox.tagName != "TBODY")
	{
		allCheckBox = allCheckBox.parentNode;
	}
	manageTicks(allCheckBox);
}

function addCommas(str)
{
	str += '';
	x = str.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) 
	{
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

String.prototype.hasNonWS =
function()
{
	var nonWSPattern = /\S/;
	return nonWSPattern.test(this);
}

String.prototype.trimWS =
function()
{
	return this.replace(/^\s+|\s+$/g, "");
}

function showTitleInStatus(element)
{
	window.status = element.title;
	element.onmouseout = function() {window.status='';return true;};
	return true;	
}

function getParentByTagName(node, tagName)
{
	while (node.tagName.toLowerCase() != tagName)
	{
		node = node.parentNode;
	}
	return node;
}

function fnTrapKD(btn)
{	
	// Allow multiline textboxes to do crlf when Enter is pressed.
	if (document.activeElement.type == "textarea" || event.srcElement.type == "textarea")
		return;
	
	if (document.all)
	{
		if (event.keyCode == 13)
        { 
			event.returnValue=false;
			event.cancel = true;
			if (btn)
			{
				btn.click();
			} 
		}
    }
}

function SetFocus(elementID) 
{
	try 
	{
		document.getElementById(elementID).focus();
	} 
	catch (e) 
	{}
}

function DisableInputElements()
{
    var elem = document.forms[0].elements;
    for (var i = 0; i < elem.length; i++)
    {
        if (elem[i].type == "text" || elem[i].type == "textarea")
        {
            elem[i].readOnly = true;
        } 
        else
        {
            elem[i].disabled = true;
        }
    }
}
