function ScreenDimensions() {
	var x, y;
	if (self.innerHeight) {
		x = self.innerWidth;
		y = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	} else if (document.body) {
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
    return {width:x, height:y};
}

function Dimensions() {
	var x, y;
	var test1 = document.body.scrollHeight;
    var test2 = document.body.offsetHeight;
	if (test1 >= test2) {
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	} else {
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	var screenDim = ScreenDimensions();
	if (screenDim.width > x) {
		x = screenDim.width;
	}
	if (screenDim.height > y) {
		y = screenDim.height;
	}
    return {width:x, height:y};
}
function getScrollTop() {
	var scrollTop = 0;
	if (document.documentElement && document.documentElement.scrollTop > 0) {
// IE6 +4.01 and user has scrolled
		scrollTop = document.documentElement.scrollTop;
	} else {
		if (document.body && document.body.scrollTop) {
// IE5 or DTD 3.2
			scrollTop = document.body.scrollTop;
		}
	}
	return scrollTop;
}

function DisableComplexObjects() {
	setComplexObjectStyle(true);
}
function setComplexObjectStyle(style) {
	var frm = document.getElementsByTagName("form");
	for (var i = 0, len = frm.length; i < len; i++) {
		var complexObjects = frm[i].getElementsByTagName("select");
		for (var j = 0, jlen = complexObjects.length; j < jlen; j++) {
			complexObjects[j].disabled = style;
		}
	}
}
function EnableComplexObjects() {
	setComplexObjectStyle(false);
}

function setDivSize(divId, width, height) {
	var divStyle = document.getElementById(divId).style;
    //For Alert Box position for IE, Opera, Safari
	divStyle.posLeft = width;
	divStyle.posTop = height;
    //For Alert Box position for Firefox
	divStyle.left = width + "px";
	divStyle.top = height + "px";
}

function ShowAlert(AlertBoxID,alertBoxMesasge,alertBoxMesasgeId) {
	if(!alertBoxMesasgeId)
		alertBoxMesasgeId="alertbox_type_1_message";

	var alertBox = document.getElementById(AlertBoxID);
	alertBox.style.display="block";
	var currWidth = document.body.scrollLeft + (window.screen.width / 3);
	var currHeight = getScrollTop() + (window.screen.height / 4);

	//Hide complex objects
	setDivSize(AlertBoxID,currWidth,currHeight);
	setDivSize("SNAMaskFrame", currWidth, currHeight);

    //Make modal by blocking other layers
	var screenSize = Dimensions();
	var maskStyle = document.getElementById("SNAMaskLayer").style;
	maskStyle.top = 0;
	maskStyle.left = 0;
	maskStyle.width = screenSize.width;
	maskStyle.height = screenSize.height;
	maskStyle.display = "block";

	document.getElementById(alertBoxMesasgeId).style.display="block";
	document.getElementById(alertBoxMesasgeId).innerHTML=alertBoxMesasge;

	displayMaskFrame(alertBox.offsetWidth,alertBox.offsetHeight);

	DisableComplexObjects();
	handleTabKeyPress(alertBox);
	handleKeyPress();
}


//Detect if mozilla or IE event & return the key pressed
function getCharCode(event) {
	var charCode;
	if (event.charCode) {
		charCode = event.charCode;
	} else {
		charCode = event.keyCode;
	}
	return charCode;
}
//Detect if mozilla or IE event
function getEvent(ieEvent,mozEvent) {
	var event;
	if (mozEvent) {
		event = mozEvent;
	} else {
		event = ieEvent;
	}
	return event;
}

//trap backspace and Shift+tab. Permits tab to move between popup data entry items
function handleKeyPress() {
	var catchbackspace = function(mozEvent) {
		var e=getEvent(window.event,mozEvent);
		var charCode = getCharCode(e);
		if ((charCode==8) || (charCode==9)){
			//alert("Backspace key was pressed.");
			return false;
		}
	}
	document.onkeydown=catchbackspace;
	document.onkeyup=catchbackspace;
}

function enableKeyPress() {
	document.onkeydown=null;
	document.onkeyup=null;
}
function handleTabKeyPress(divElem) {
	var inputElems = divElem.getElementsByTagName("input");
	var buttonFound = setButtonFunction(inputElems);
	if (!buttonFound) {
		var tableElems = divElem.getElementsByTagName("input");
		for (var j = 0, numTables = tableElems.length; j < numTables;j++) {
			inputElems = tableElems[j].getElementsByTagName("input");
			buttonFound = setButtonFunction(inputElems);
			if (buttonFound) {
				break;
			}
		}
	}
}

function setButtonFunction(inputElems) {
	var buttonFound = false;
	for (var i = 0, len = inputElems.length; i < len; i++) {
		var inputItem = inputElems[i];
		if (inputItem.type == "button") {
			buttonFound = true;
			inputItem.focus();
			inputItem.onkeydown = function(keyEvent) {
				var charCode = getCharCode(getEvent(window.event,keyEvent));
				if (charCode == 9) {
					return false;
				} else {
					return true;
				}
			}
			break;
		}
	}
	return buttonFound;
}

function ShowAlertSaveChanges(AlertBoxID,alertBoxMesasge,alertBoxMesasgeId, callBackFunction) {
	ShowAlert(AlertBoxID,alertBoxMesasge,alertBoxMesasgeId);
	document.getElementById("SaveBtn").onclick = function(){ callBackFunction('YES');};
	document.getElementById("CancelBtn").onclick = function(){ callBackFunction('NO');};
	DisableComplexObjects();
}

function ShowAlertAndRedirectPage(AlertBoxID,alertBoxMesasge,alertBoxMesasgeId) {
	ShowAlert(AlertBoxID,alertBoxMesasge,alertBoxMesasgeId);
	if(RedirectUrl.length > 0){
		document.getElementById("okButton").onclick = function(){ location.href=RedirectUrl};
		DisableComplexObjects();
	}
}

function CloseAlert(AlertBoxID) {
	document.getElementById(AlertBoxID).style.display="none";
	document.getElementById("SNAMaskLayer").style.display="none";
	document.getElementById("SNAMaskFrame").style.display="none";
	EnableComplexObjects();
	enableKeyPress();
}

function Navigation(confirmation)
{
	if(confirmation == "YES")
	{
		/*if(document.getElementById('rdoYes').checked)
		{*/
		formSubmit('snaFormId',nextOkURL);
	}
	else
	{
		formSubmit('snaFormId',nextCancelURL);
	}
		//CloseAlert("alertbox_type_2");
	/*}
	else
	{
		//document.getElementById("globalModifiedFlag").value = "YES";
		CloseAlert("alertbox_type_2");
	}*/
}


function deleteGoal(confirmation)
{
	obj = getObject('hdn_ClearAllFlag');
	if(confirmation == 'ok')
	{
		obj.value="true";
		document.getElementById('snaFormId').submit();
	}
	else
	{
		obj.value="false";
		CloseAlert("alertbox_type_5");
	}
}


function checkvalidate1(){

if(document.Alert.rdo_skip[0].checked){
		document.frm_educationPlan.action = proceedURL;
		document.frm_educationPlan.submit();
		return true;
		}
else{
		document.frm_educationPlan.action = skipURL;
		document.frm_educationPlan.submit();
		return true;
		}
}

function checkvalidate2(obj){

if(document.Alert.rdo_skip[0].checked){
		document.location="pro_plan.html";
		return true;
		}
else{
		document.location="evaluation.html";
		return true;
		}
}

function checkvalidate3(obj){

if(document.Alert.rdo_skip[0].checked){
		document.location="evaluation.html";
		return true;
		}
else{
		document.location="evaluation2.html";
		return true;
		}
}

function showgoals(id) {
	document.getElementById("back").style.href="goals.html";
}


function addmore(id) {
	document.getElementById("addmore").style.display="block";
}



// For Editable  Text box

function editText(id) {
	document.getElementById(id).className="InputText";
}

function completeEdit(id) {
	document.getElementById(id).className="InputText_noborder";
}


function NavToggle(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('nav'+i)) {
		//document.getElementById('nav'+i).style.display='none';
		document.getElementById('nav'+i).className='InActi';
		}

	}
	//if (d) {d.style.display='block';
	if (d) {d.className='Acti';


	}
}

//For Calculation

function plans(id) {
	if(document.getElementById("calculationBack")){
		document.location="index.html";
	}
}


//For Customer page
function cstomer(id) {
	if(document.getElementById("custok")){
		document.location="goals.html";
	}
}

function cstomer1(id) {
	if(document.getElementById("custcancel")){
		document.location="index.html";
	}
}




//For Evaluation Page
function LauchIPS(id) {
	if(document.getElementById("launch")){
		document.location="LaunchIPS.html";
	}
}

//For Application Page
function application(id) {
	if(document.getElementById("remarks")){
		document.location="remarks.html";
	}
}


function application1(id) {
	if(document.getElementById("next")){
		document.location="index1.html";
	}
}

function appBack(id) {
	if(document.getElementById("appback")){
		document.location="evaluation.html";
	}
}

function ShowToolTip(text,event) {
	var tooltip = document.getElementById("tooltip");
	var ttStyle = tooltip.style;
	var mouseLoc = getMouseLoc(event);
	ttStyle.display = "block";
	ttStyle.position = "absolute";
	setDivSize("tooltip",mouseLoc.x,mouseLoc.y);
	setDivSize("SNAMaskFrame",mouseLoc.x,mouseLoc.y);
	displayMaskFrame(tooltip.offsetWidth, tooltip.offsetHeight);
	ttStyle.width = 100;
	tooltip.innerHTML = text;
}

function displayMaskFrame(width,height) {
	var maskFrameStyle = document.getElementById("SNAMaskFrame").style;
	maskFrameStyle.display = "inline";
	maskFrameStyle.width = width;
	maskFrameStyle.height = height;
}

function CloseToolTip(text) {
	document.getElementById("tooltip").style.display = "none";
	document.getElementById("SNAMaskFrame").style.display = "none";
}

function getMouseLoc(e) {
	var posx = 0;
	var posy = 0;
	//var e = window.event;
	if(!e) e=window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	if((ScreenDimensions().width-100)<posx)
	{
		posx=posx-100;
	}

	return new Point(posx,posy);
}

function Point(x,y) {
	this.x = x;
	this.y = y;
}
