// JavaScript Document
//****************************************************
//*   Idea: Help Object                              *
//*   Methods: o.show(object,e), o.hide(object)      *
//*            o.addItem('text1')                    *
//*   Procedure: hideAll()                           *
//****************************************************

if (document.layers)
{
    var doc = 'document.layers', vis = '.visibility';
}
if (document.all)
{
   var doc = 'document.all.', vis = '.style.visibility';
}
if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
{
	var doc = "document.getElementById('";
	var vis = "').style.visibility";
}

function mmshow(object,e) {
    if (e != '') {
        if (document.all||(parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")) {
            if((e.clientX+300)>document.body.clientWidth)
				{x = e.clientX-300+(document.body.scrollLeft-0)}
			else
				{x = e.clientX+(document.body.scrollLeft-0)}
            if((e.clientY+100)>document.body.clientHeight)
				{
					//y=document.body.clientHeight-100+document.body.scrollTop
					y = e.clientY-100-(document.body.scrollTop-0);

				}
			else
				{y = e.clientY+(document.body.scrollTop-0)}
				//alert(document.body.clientHeight+' '+e.clientY+' '+y+' '+document.body.scrollTop)
			


        }
        if (document.layers) {
            x = e.pageX;
            y = e.pageY;
			//width = window.innerWidth
        }
    }

    if (document.layers && document.layers[object] != null) {
        document.layers[object].left = x;
        document.layers[object].top = y;
    }
    else if (document.all) {
        document.all[object].style.posLeft = x;
        document.all[object].style.posTop = y;
    }
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape"){
		document.getElementById(object).style.left = x;
		document.getElementById(object).style.top = y;
	}

    if (document.layers && document.layers[object] != null)
        document.layers[object].visibility = 'visible';
    else if (document.all)
        document.all[object].style.visibility = 'visible';
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
		document.getElementById(object).style.visibility = 'visible';

		//document.getElementById('text1').style.visibility = 'hidden';
}
function mmhide(object) {
    if (document.layers || document.all||(parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape"))
	{
        
		eval(doc + object + vis + ' = "hidden"');
	}
	
}

function hideAll() {
    mmhide('text1');
    mmhide('text2');
    /*hide('text2');
    hide('text3');
    hide('text4');
    hide('text5');
    hide('text6');
    hide('text7');*/
}

function show(object) {
	
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'visible';
        //document.layers[object].display = 'inline';
    else if (document.all) {
        document.all[object].style.visibility = 'visible';
        document.all[object].style.display = 'inline';
        document.all[object].style.zIndex = 100;
    }
	//else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
	else if (document.getElementById)
	{

	document.getElementById(object).style.visibility='visible';
	document.getElementById(object).style.display='inline';

		
		//document.getElementById(object).style.display='inline';
		document.getElementById(object).style.zIndex =100;

	}
	
}
function hide(object) {
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'hidden';
        //document.layers[object].display = 'none';

    else if (document.all){
        document.all[object].style.visibility = 'hidden';
        document.all[object].style.display = 'none';
	}
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
	{
		document.getElementById(object).style.visibility='hidden'
		//document.getElementById(object).style.display='none'
		document.getElementById(object).style.zIndex =100;
	
	}
}
function chkForm(f)
{
formOK = true;
/*if (chkBlank(f.forename.value))
{
	alert('Please enter forename');
	formOK=false;
}
if (chkBlank(f.surname.value))
{
	alert('Please enter surname');
	formOK=false;
}
*/
optionChecked=false;
for (c=0;c<f.mm_action.length;c++){if(f.mm_action[c].checked){optionChecked=true;break}}
if(!optionChecked)
{
	alert('Please select an action (Join, Existing Member or Recover Password)');
	formOK=false;
}
if (f.mm_action[1].checked && chkBlank(f.password.value))
{
	alert('Please enter a password');
	formOK=false;
}
return(chkEmail(f.email.value)&& formOK)
}

/***************************************
 *   chkForm2                          *
 **************************************/


function chkForm2(f)
{
	var formOK = chkScreen1(f);
	formOK = formOK && chkScreen2(f);
	if(f.profileCnt.value <= 0)
	{
		alert('You must check at least 1 profile topic of interest');
		formOK =false;
	}
	return(chkEmail(f.email.value) && formOK)
}
function chkScreen1(f)
{
	var scrOK= true;
	if (chkBlank(f.forename.value))
	{
		alert('Please enter firstname');
		scrOK=false;
	}
	if (chkBlank(f.surname.value))
	{
	alert('Please enter surname');
	scrOK=false;
	}


	if (!chkPassword(f.password.value))
	{
		alert('Please enter a password of at least 6 characters.\n It must contain 1 or more digits.');
		scrOK=false;
	}
	if (f.password.value != f.passwordCopy.value)
	{
		alert('The 2 copies of the password do not match');
		scrOK=false;
	}
	return (scrOK)
}

function toNextScreen(f,pageN)
{
	if(pageN == 2)
	{
		if (chkScreen1(f))
		{
			window.hide('table_1');window.show('table_2');window.hide('table_3');
		}
	}
	if(pageN==3)
	{
		if(chkScreen2(f))
		{
			window.hide('table_1');window.show('table_3');window.hide('table_2');
		}
	}

}
function chkScreen2(f)
{
	var currentYear = new Date();
	var screenOK = true;
	if(!chkBlank(f.birthYear.value)&& (f.birthYear.value<1900||f.birthYear.value>currentYear.getFullYear()))
	{
		alert ('Birth year must be left blank or set between \n1900 and the current year.');
		screenOK = false;
	}
	return(screenOK)
	
}


function chkPassword(passWord)
{
pw_OK = true;
passWord = passWord+"";
if (passWord.length<6)
{
	pw_OK = false;
}
if(passWord.match(/\d/)==null)
{
	pw_OK = false;
}

return (pw_OK)
}

function helpObject()
{
	this.layerList = new Array();
	this.formList = new Array();
	this.width=300; //width of helpbox;
	this. height=100; //height of helpbox
	this.zindex = 101;
	helpObject.prototype.showHelp = showHelp;
	helpObject.prototype.hideHelp = hideHelp;
	helpObject.prototype.hideAll = hideAll;
	helpObject.prototype.AddHelp = AddHelp;
	helpObject.prototype.DelHelp = DelHelp;
	helpObject.prototype.hideForms = hideForms;
	helpObject.prototype.showForms = showForms;
	Array.prototype.IsInArray = IsInArray;
	Array.prototype.arraySeek = arraySeek;

function showHelp(object,e) {
    if (e != '') {
        if (document.all||(parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")) {

            if((e.clientX+this.width)>document.body.clientWidth)
				{x = document.body.clientWidth-this.width+(document.body.scrollLeft-0) }
			else
				{x = e.clientX+(document.body.scrollLeft-0)}
            if((e.clientY+this.height)>document.body.clientHeight)
				{
					y = document.body.clientHeight-this.height+(document.body.scrollTop-0);
				}
			else
				{y = e.clientY+(document.body.scrollTop-0)}

			


        }
        if (document.layers) {
            if((e.pageX+this.width)>window.innerWidth)
				{
					//alert(window.pageXOffset);
					x = e.pageX-this.width+(window.innerWidth-window.pageXOffset)
				}
			else
				{
					//alert(window.pageXOffset);	
					x = e.pageX+(window.pageXOffset-0)
				}

            y = e.pageY;
            if((e.pageY+this.height)>window.innerHeight)
				{
					y = e.pageY - this.height - (window.pageYOffset-0);
				}
			else
				{
					y = e.pageY+(window.pageYOffset-0)
				}

        }
    }
	//alert(x+','+y);
    if (document.layers && document.layers[object] != null) {
        document.layers[object].left = x;
        document.layers[object].top = y;
        document.layers[object].zIndex = this.zindex;
    }
    else if (document.all) {
        document.all[object].style.posLeft = x;
        document.all[object].style.posTop = y;
		document.all[object].style.zIndex = this.zindex;
		
    }
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape"){
		document.getElementById(object).style.left = x;
		document.getElementById(object).style.top = y;
		document.getElementById(object).style.zIndex = this.zindex;
	}

    if (document.layers && document.layers[object] != null)
        document.layers[object].visibility = 'visible';
    else if (document.all)
        document.all[object].style.visibility = 'visible';
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
		document.getElementById(object).style.visibility = 'visible';

		//document.getElementById('text1').style.visibility = 'hidden';
		this.hideForms();
}
function hideHelp(object) {
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'hidden';
    else if (document.all){
        document.all[object].style.visibility = 'hidden';
	}
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
	{
		document.getElementById(object).style.visibility='hidden'
	}
}

function AddHelp()
{
	argc = arguments.length; 
	argv = arguments;
	if (argc == 1)
	{
		if (this.layerList.IsInArray(argv[0]))
		{
			alert('Item of this name already exists')
		}
		else
		{
			this.layerList[this.layerList.length] = argv[0];
		}
	}
	if (argc == 2)
	{
		if (argv[1] == 'form')
		{
			if (this.formList.IsInArray(argv[0]))
			{
				alert('Form of this name already exists')
			}
			else
			{
				this.formList[this.formList.length] = argv[0];
			}
		}
	}
}
function DelHelp (Item)
{
	argc = arguments.length; 
	argv = arguments;
	if (argc == 1)
	{
		if (!this.layerList.IsInArray(argv[0]))
		{
			alert('Help item '+Item+' does not exist');
			return(false)
		}
		else
		{
			this.layerList.splice(this.layerList.arraySeek(argv[0]),1)
		}
	}
	if (argc == 2)
	{
		if(argv[1]=='form')
		{
			if (!this.formList.IsInArray(argv[0]))
			{
				alert('Help item '+Item+' does not exist');
				return(false)
			}
			else
			{
				this.formList.splice(this.formList.arraySeek(argv[0]),1)
			}
		}	
	}
	
}

{}
function hideAll()
{
	for (c=0;c<this.layerList.length;c++)
	{
		hideHelp(this.layerList[c])
	}
	this.showForms();
}

function hideForms()
{
	for (c=0;c<this.formList.length;c++)
	{
		hideHelp(this.formList[c])
	}
}
function showForms()
{
	for (c=0;c<this.formList.length;c++)
	{
		showObject(this.formList[c])
	}
}
function showObject(object)
{
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'visible';
    else if (document.all){
        document.all[object].style.visibility = 'visible';
	}
	else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape")
	{
		document.getElementById(object).style.visibility='visible'
	}	
}

function IsInArray(Item)
{
	var isIn = false;
	for (c=0;c<this.length;c++)
	{
		if (this[c] == Item)
		{
			isIn = true;
			break;
		}
	}
	return(isIn);
}
function arraySeek(Item)
{
	var index = -1;
	for (c=0;c<this.length;c++)
	{
		if (this[c] == Item)
		{
			index = c;
			break;
		}
	}
	return(index);
}
}
function noRtClick(e,msg)
{
	if (e.button == 2)
	{
		alert(msg);
	}
}
