/* function finishedLoading()
 * called at the end of this file, which is the last .js file Load()'d
 */
function finishedLoading()
{
	log('finishedLoading()');

	/* disable enter email submit box */
	var enteremailform = $('enteremail');
	if (enteremailform && enteremailform.getInputs)
	{
		log('finishedLoading(): disabling enter email form submit button');
		//enteremailform.getInputs('submit')[0].disable();
		var textinput = enteremailform.getInputs('text')[0];
		if (textinput)
		{
			textinput.style.color = 'gray';
			textinput.onfocus = function()
			{
				var eef = $('enteremail');
				if (eef && eef.getInputs)
				{
					log('textinput.onfocus');
					var ti = eef.getInputs('text')[0];
					if (ti && ti.value == 'Enter email address')
					{
						ti.value = '';
						var tis = ti.style;
						tis.color = 'black';
					}
				}
			};
			if (!textinput.onfocus)
			{
				textinput.onFocus = function()
				{
					var eef = $('enteremail');
					if (eef && eef.getInputs)
					{
						log('textinput.onfocus');
						var ti = eef.getInputs('text')[0];
						if (ti && ti.value == 'Enter email address')
						{
							ti.value = '';
							var tis = ti.style;
							tis.color = 'black';
						}
					}
				};
			}
			textinput.onblur = function()
			{
				var eef = $('enteremail');
				if (eef && eef.getInputs)
				{
					log('textinput.onblur');
					var ti = eef.getInputs('text')[0];
					if (ti && ti.value == '')
					{
						ti.value = 'Enter email address';
						var tis = ti.style;
						tis.color = 'gray';
					}
				}
			};
			if (!textinput.onblur)
			{
				textinput.onBlur = function()
				{
					var eef = $('enteremail');
					if (eef && eef.getInputs)
					{
						log('textinput.onblur');
						var ti = eef.getInputs('text')[0];
						if (ti && ti.value == '')
						{
							ti.value = 'Enter email address';
							var tis = ti.style;
							tis.color = 'gray';
						}
					}
				};
			}
		}
	}
		
	/* css-hide any sublinks in left nav */
	var sidemenu = $('sidemenu');
	if (sidemenu != null)
	{
		log('finishedLoading(): css-hiding leftnav sublinks');
		Element.extend(sidemenu);
		if (sidemenu.down('ul'))
//		if (Element.down(sidemenu,'ul'))
		{
			var sidemenu_ul = sidemenu.down('ul');
			Element.extend(sidemenu_ul);
//			var sidemenu_ul = Element.down(sidemenu, 'ul')
			var array_of_mainlinks = sidemenu_ul.childElements();
			Element.extend(array_of_mainlinks);
//			var array_of_mainlinks = Element.childElements(sidemenu);
			for (var i = 0; i < array_of_mainlinks.length; i++)
			{
				var sub_ul = array_of_mainlinks[i].down('ul');
				Element.extend(sub_ul);
//				var sub_ul = Element.down(array_of_mainlinks[i],'ul');
				if (sub_ul && !(sub_ul.down('a.active')))
				{
					var mainlink = array_of_mainlinks[i].down('a:first-child');
					Element.extend(mainlink);
					mainlink.href = 'javascript:showSublinks('+i+')';
					sub_ul.hide();
				}
			}
		}
	}
	
	
	/* we're done here */
	return true;
}


/* function showSublinks(index)
 */
function showSublinks(whichLink)
{
	log('showSublinks('+whichLink+')');
	var array_of_mainlinks = $($('sidemenu').down('ul')).childElements();
	Element.extend(array_of_mainlinks);
//	var sidemenu_ul = Element.down($('sidemenu'),'ul')
//	var array_of_mainlinks = Element.childElements(sidemenu_ul);
	for (var i = 0; i < array_of_mainlinks.length; i++)
	{
		if (whichLink != i)
		{
			var sub_ul = array_of_mainlinks[i].down('ul');
			Element.extend(sub_ul);
//			var sub_ul = Element.down(array_of_mainlinks[i],'ul');
			if (sub_ul && sub_ul.visible())
//			if (sub_ul && Element.visible(sub_ul))
			{
				if (Effect && Effect.BlindUp)
				{
					Effect.BlindUp(sub_ul, {duration:0.3});
				}
				else
				{
					sub_ul.hide();
//					Element.hide(sub_ul);
				}
			}
		}
	}
	var sub_ul = array_of_mainlinks[whichLink].down('ul');
	Element.extend(sub_ul);
//	var sub_ul = Element.down(array_of_mainlinks[whichLink],'ul');
	if (sub_ul && sub_ul.visible()==false)
//	if (sub_ul && Element.visible(sub_ul)==false)
	{
		if (Effect && Effect.BlindDown)
		{
			Effect.BlindDown(sub_ul, {duration:0.5});
		}
		else
		{
			sub_ul.show();
//			Element.show(sub_ul);
		}
	}
	else if (sub_ul.visible())
//	else if (Element.visible(sub_ul))
	{
		if (Effect && Effect.BlindDown)
		{
			Effect.BlindUp(sub_ul, {duration:0.3});
		}
		else
		{
			sub_ul.hide();
//			Element.hide(sub_ul);
		}
	}
}

function displaySelector(gender,category)
{
	log('base.js::displaySelector('+gender+','+category+')');
	if (category == 'problems')
	{
		var selectorLI = $('problemselector-problem');
		if (selectorLI)
		{
			if (gender == 'men')
			{
				log('base.js::displaySelector('+gender+','+category+'): setting selectorLI.innerHTML to problemseletor-problem-men');
				selectorLI.innerHTML = '<select id="problemselector-problem-men" class="problemselector-problem" name="page"><option value="male/sexual-health-problems/home" id="default" selected="selected">Select a Sexual Health Problem</option><option value="male/sexual-health-problems/androgen-insufficiency-hypogonadism-low-testosterone">Androgen Insufficiency / Low Testosterone / Hypogonadism</option><option value="male/sexual-health-problems/anti-depressants-SSRIs">Anti-depressants / SSRIs</option><option value="male/sexual-health-problems/arterial-insufficiency">Arterial Insufficiency</option><option value="male/sexual-health-problems/bicycle-riding">Bicycle Riding</option><option value="male/sexual-health-problems/cancer-treatment">Cancer Treatment</option><option value="male/sexual-health-problems/depression">Depression</option><option value="male/sexual-health-problems/desire-problems-HSDD">Desire Problems / HSDD</option><option value="male/sexual-health-problems/diabetes-metabolic-syndrome">Diabetes / Metabolic Syndrome</option><option value="male/sexual-health-problems/dihydrotestosterone-levels">Dihydrotestorone (high/low levels)</option><option value="male/sexual-health-problems/ejaculatory-problems">Ejaculatory Problems</option><option value="male/sexual-health-problems/erectile-dysfunction-impotence-ED">Erectile Dysfunction (ED) / Impotence</option><option value="male/sexual-health-problems/high-estrogen">Estrogen (high levels)</option><option value="male/sexual-health-problems/female-partner-sexual-dysfunction">Female Partner\'s Sexual Dysfunction</option><option value="male/sexual-health-problems/genital-pain">Genital Pain</option><option value="male/sexual-health-problems/orgasm-problems">Orgasm Problems</option><option value="male/sexual-health-problems/penile-curvature-peyronies-disease">Penile Curvature / Peyronie\'s Dispase</option><option value="male/sexual-health-problems/priapism">Priapism</option><option value="male/sexual-health-problems/high-prolactin">Prolactin (high levels)</option><option value="male/sexual-health-problems/pelvic-perineal-trauma">Perineal Trauma</option><option value="male/sexual-health-problems/high-SHBG">SHBG (high levels)</option><option value="male/sexual-health-problems/thyroid-problems">Thyroid Problems</option><option value="male/sexual-health-problems/venous-leak">Venous Leak</option></select>';
			}
			else
			{
				log('base.js::displaySelector('+gender+','+category+'): setting selectorLI.innerHTML to problemselector-problem-women');
				selectorLI.innerHTML = '<select id="problemselector-problem-women" class="problemselector-problem" name="page"><option value="female/sexual-health-problems/home" id="default" selected="selected">Select a Sexual Health Problem</option><option value="female/sexual-health-problems/androgen-insufficiency-hypogonadism-low-testosterone">Androgen Insufficiency / Hypogonadism / Low Testosterone</option><option value="female/sexual-health-problems/anti-depressants-SSRIs">Anti-depressants / SSRIs</option><option value="female/sexual-health-problems/bicycle-riding">Bicycle Riding</option><option value="female/sexual-health-problems/birth-control-pill-oral-contraceptives">Birth Control Pill / Oral Contraceptives</option><option value="female/sexual-health-problems/cancer-treatment">Cancer Treatment</option><option value="female/sexual-health-problems/childbirth">Childbirth</option><option value="female/sexual-health-problems/depression">Depression</option><option value="female/sexual-health-problems/desire-problems-HSDD">Desire Problems / HSDD</option><option value="female/sexual-health-problems/diabetes-metabolic-syndrome">Diabetes / Metabolic Syndrome</option><option value="female/sexual-health-problems/dihydrotestosterone-levels">Dihydrotestosterone (high levels)</option><option value="female/sexual-health-problems/endometriosis">Endometriosis</option><option value="female/sexual-health-problems/estrogen-deficiency">Estrogen Deficiency</option><option value="female/sexual-health-problems/female-sexual-arousal-disorder-FSAD">Female Sexual Arousal Disorder (FSAD)</option><option value="female/sexual-health-problems/genital-pain-dyspareunia-VVS">Genital Pain / Dyspareunia / VVS</option><option value="female/sexual-health-problems/hysterectomy">Hysterectomy</option><option value="female/sexual-health-problems/infertility">Infertility</option><option value="female/sexual-health-problems/menopause-perimenopause">Menopause / Peri-menopause</option><option value="female/sexual-health-problems/male-partner-sexual-dysfunction">Male Partner\'s Sexual Dysfunction</option><option value="female/sexual-health-problems/orgasm-problems">Orgasm Problems</option><option value="female/sexual-health-problems/pelvic-perineal-trauma">Perineal Trauma</option><option value="female/sexual-health-problems/persistent-genital-arousal-disorder-PGAD-PSAS">Persistent Genital Arousal Disorder (PGAD) / PSAS</option><option value="female/sexual-health-problems/high-prolactin">Prolactin (high levels)</option><option value="female/sexual-health-problems/sexual-aversion">Sexual Aversion</option><option value="female/sexual-health-problems/thyroid-problems">Thyroid Problems</option></select>';
			}
		}
		else
		{
			log('base.js::displaySelector('+gender+','+category+'): no selectorLI!');
		}
	}
	else if (category == 'treatments')
	{
		// we don't actually need this, cause treatments are only arrived at from men/women pages
		var selectorLI = $('treatmentselector-treatment');
		if (selectorLI)
		{
			if (gender == 'men')
			{
				selectorLI.innerHTML = '';
			}
			else
			{
				selectorLI.innerHTML = '';
			}
		}
		else
		{
			log('base.js::displaySelector('+gender+','+category+'): no selectorLI!');
		}
	}
	else
	{
		log('base.js::displaySelector('+gender+','+category+'): unrecognized category!');
	}
}

function clearTextInput(textinput)
{
	if (!textinput) { return false; }
	textinput.value = '';
}


/* function log(msg)
 * cross-browser debugging log
 */

function log(msg)
{
	if ("console" in window && "log" in console)
	{
		console.log(msg);
	}
	else if ($("console"))
	{
		$("console").innerHTML += msg + "<br />";
	}
	else if (document.getElementById('console'))
	{
		document.getElementById('console').innerHTML += msg + "<br />";
	}
}

/* IE/mac can't deal with prototype, so let's define $ if it's not already there */
if (!$)
{
	function $(id)
	{
		if (!id) { return false; }
		else { return document.getElementById(id); }
	}
}

/*
 * presumably this is semi-okay now...
 */

finishedLoading();
