/* MENU */
droplayer=new Array();
droplayer[0]="Sub1";
droplayer[1]="Sub2";
droplayer[2]="Sub3";
droplayer[3]="Sub4";

// simple browser check
v4=(parseInt(navigator.appVersion)>=4 && parseInt(navigator.appVersion)<=5)?1:0
ie=(document.all && v4)?1:0
ns=(document.layers && v4)?1:0
dom=(document.getElementById) && !ie;

// code for drops
function getElem(p2) 
{
	var Elem;
   	 Elem = eval(document.getElementById(p2));
     return(Elem);
}

function showdrop(thelayer)
{
	keep=thelayer;
	hideall();
	showitnow=1;


	showsubmenus();
	showit(thelayer);
}

function showsubmenus()
{
	// show container 'submenus'
	if(ie){ eval('document.all.submenus.style.visibility="visible"') }
	if(ns){ eval('document.submenus.visibility="visible"') }
	if(dom)
	{
		e=getElem('submenus'); 
		e.style.visibility="visible";
	}
}

function showit(thelayer)
{
	if(ie){ eval(droplayer[thelayer]+'.style.visibility="visible"') }
	if(ns){ eval('document.'+droplayer[thelayer]+'.visibility="show"');}
	if(dom)
	{ 
		e=getElem(droplayer[thelayer]); 
		e.style.visibility="visible";
	}
}

function hidedrop()
{
	keep=-1;
	setTimeout('hideall()',500);
}

keep=-1

function hideall(){
	for(i=0;i<droplayer.length;i++)
	{  
		hideit=0; checkmousepos(i)
		if(ie && keep!=i){ 
			if(hideit){ eval(droplayer[i]+'.style.visibility="hidden"') } 
			}
		if(ns && keep!=i){ 
			if(hideit){ eval('document.'+droplayer[i]+'.visibility="hide"') }
			}
		if(dom && keep!=i){ 
			if(hideit)
			{ 
				var e=getElem(droplayer[i]); 
				e.style.visibility="hidden";
			}
		}
	}
	if(keep==-1) {
		hidesubmenus();
	}
}

function hidesubmenus()
{
	// hide container 'submenus'
	if(ie){ eval('document.all.submenus.style.visibility="hidden"') }
	if(ns){ eval('document.submenus.visibility="hide"') }
	if(dom)
	{
		var e=getElem('submenus'); 
		e.style.visibility="hidden";
	}
}

// deal with cursor over layer
document.onmousemove = getmousepos
if (ns) document.captureEvents(Event.MOUSEMOVE)

function getmousepos(e)
{
	if(ns || dom){mousex=e.pageX; mousey=e.pageY}
	if(ie){mousex=event.clientX; mousey=event.clientY;}
}

function checkmousepos(i)
{          
	if(ns)
	{   //  alert(getElem(droplayer[i]));
		x_min=eval('document.'+droplayer[i]+'.left')
		x_max=x_min+eval('document.'+droplayer[i]+'.clip.width')
		y_min=eval('document.'+droplayer[i]+'.top')
		y_max=y_min+eval('document.'+droplayer[i]+'.clip.height')
	}    
	if( dom)
	{  var e=getElem(droplayer[i]);
		x_min=e.style.left;
		x_min=e.style.right;
		x_max=x_min+e.style.width;
		y_min=e.style.top;
		y_max=y_min+e.style.height;
	}    
	if(ie)
	{     
		x_min=eval(droplayer[i]+'.style.pixelLeft')
		x_max=x_min+eval(droplayer[i]+'.style.pixelWidth')
		y_min=eval(droplayer[i]+'.style.pixelTop')
		y_max=y_min+eval(droplayer[i]+'.style.pixelHeight')
	}
	if (mousex>=x_min && mousex<=x_max && mousey>=y_min && mousey<=y_max)
	{
		hideit=0; setTimeout('hideall()',500)
	}
	else { hideit=1 }
	return hideit
}


/* BOOKMARK */
var bookmarkurl="http://www.daltonkingswell.com/";
var bookmarktitle="D'Alton Kingswell";

function bookmark()
{
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4))
	{
		window.external.AddFavorite(bookmarkurl,bookmarktitle);
	}
	else
	{
		var URL='bookmark.html';
		var day = new Date();
		var id = day.getTime();
		eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200');");
	}
}

/* VALIDATE TELL A FRIEND FORM */

function validate_tell_a_friend_form(f) {
	if (isFilled(f.to_first_name)==false) {
		alert("TO First Name field cannot be blank");
		f.to_first_name.focus();
		return false;
	}
	if (isFilled(f.to_last_name)==false) {
		alert("TO Last Name field cannot be blank");
		f.to_last_name.focus();
		return false;
	}
	if (isFilled(f.to_email)==false) {
		alert("TO Email Address field cannot be blank");
		f.to_email.focus();
		return false;
	}
  	if (isValidEmail(f.to_email.value)==false) {
		alert("Invalid TO Email Address!");
		f.to_email.focus();
		f.to_email.select();
		return false;
  	}
	if (isFilled(f.from_first_name)==false) {
		alert("FROM First Name field cannot be blank");
		f.from_first_name.focus();
		return false;
	}
	if (isFilled(f.from_last_name)==false) {
		alert("FROM Last Name field cannot be blank");
		f.from_last_name.focus();
		return false;
	}
	if (isFilled(f.from_email)==false) {
		alert("FROM Email Address field cannot be blank");
		f.from_email.focus();
		return false;
	}
  	if (isValidEmail(f.from_email.value)==false) {
		alert("Invalid FROM Email Address!");
		f.from_email.focus();
		f.from_email.select();
		return false;
  	}
	return true;
}

/* FORM VALIDATION FUNCTIONS */
function isFilled(elm) {
	if (elm.value=="" || elm.value==null) {
		return false;
	} else {
		return true;
	}
}

function isInt(elm) {
	if (elm.value == "") {
		return false;
	}
	for (var i = 0; i < elm.value.length; i++) {
		if (elm.value.charAt(i) < "0" || elm.value.charAt(i) > "9") {
			return false;
		}
	}
	return true;
}

function isValidEmail(email) {
	invalidChars = " /:,;";
	for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1) {
			return false;
		}
	}
	atPos = email.indexOf("@",1)	// there must be one "@" symbol
	if (atPos == -1) {
		return false;
	}
	if (email.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
		return false;
	}
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1) {	// and at least one "." after the "@"
		return false;
	}
	if (periodPos+3 > email.length)	{	// must be at least 2 characters after the "."
		return false;
	}
	return true;
}


