//All rights reserved rokSolutions, inc.

function isValid(display, fld, fldType, required)
{
	//field type string, numeric
	if(required==1 && fld.value=="")
		return warnInvalid(fld, display, fldType);
	if(fldType=="numeric")
		StripCharacters(fld);
	if(fldType=="numeric" && isNaN(fld.value))
		return warnInvalid(fld, display, fldType);
	if(fldType=="email" && fld.value != "")
	{ 
		atPos = fld.value.indexOf('@');
		atPos2 = fld.value.indexOf('.');
        if (atPos < 1 || atPos == (fld.value.length - 1))	
		{ return warnInvalid(fld, display, fldType);}
		if (atPos2 < 1 || atPos2 == (fld.value.length - 1))	
		{ return warnInvalid(fld, display, fldType);}
		if(!isemail(fld))
		{return warnInvalid(fld, display, fldType);}
    }
    if(fldType=="ssn" && fld.value != "")
    {
    	if(!isSSN(fld))
    	{ return false;	}
    }
    if(fldType=="password" && fld.value!="")
    {
    	if(!isPassword(fld))
    		return false;		
    }
    if(fldType=="date" && fld.value != "")
	{
		if(!isDate(fld))
			return warnInvalid(fld, display, fldType);
	}	
	return true;
	
}

function isemail(fld)
{
	valemail = fld.value;
	var regexp = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/;
	return regexp.test(valemail);	
}

function isSSN(fld)
{
	var valssn=new String(fld.value);
	var regexp = /^(\d{3}-\d{2}-\d{4})$/;
	ret = regexp.test(valssn);
	if(ret==false)
	{ alert("Social Security Number must contain 9 digits and be in the format of xxx-xx-xxxx."); fld.focus(); return false; }
	else
		return true;		
}

function isPassword(fld)
{
		var valpwd= new String(fld.value);
		if(valpwd.length<6)
		{ alert("Password must contain at least 6 characters."); fld.focus(); return false; }
		if(valpwd.length>18)
		{ alert("Password must not contain more than 18 characters"); fld.focus(); return false; }
		if(valpwd!=valpwd2)
		{ alert("Passwords do not match."); return false; }
		var regexp = /[^a-z0-9]$/;
		ret = regexp.test(valpwd);	
		if(ret)
		{ alert("Password must contain letters and numbers only."); fld.focus(); return false; }
		else
		return true;	
}

function StripCharacters(fld)
{
	str = new String(fld.value);
	var myreg = new RegExp(",","g") 
	val1 = str.replace(myreg, "");
	val2 = val1.replace("$", "");
	fld.value = val2;
	
}

function isLenValid(display, fld, fldlen)
{
	nStr = String(fld.value)
	nLen = nStr.length;
	if(nLen > fldlen)
		return warnInvalidLen(fld, display, fldlen);
	else
		return true;
}



function warnInvalid(fld, fldDisplay, fldType)
{
	if(fldType=="email") c = "n"; else c = "";
	alert("Please enter a valid value in the " + fldDisplay + " field.");
	fld.focus();
	return false;
}

function warnInvalidLen(fld, fldDisplay, fldlen)
{
	alert("'" + fldDisplay + "' contains too many characters. The maximum character length is " + fldlen);
	fld.focus();
	return false;
}

function isDate(fld)
{
	var vLen = fld.value
	var val = new String(fld.value);
	valArray = val.split("/");
	mm = valArray[0];
	dd = valArray[1];
	yy = valArray[2];
	
		
	if(isNaN(mm))return false;
	if(isNaN(dd))return false;
	if(isNaN(yy))return false;
	if(yy.length!=4)
	{
		alert("Enter 4 digits for the year.");
		return false;
	}
	if(mm<10 && mm.length==1) 
	{
		var m = new String();
		m = "0" + mm;
		mm = m;
	}
	if(dd<10 && dd.length==1)
	{
		var d = new String();
		d = "0" + dd;
		dd = d;
	}
	
	
	//if(mm.length!=2 || dd.length!=2 || yy.length!=4) alert("Enter 2 digits for the month and day and 4 digits for year. Ex: 01/01/2001")
	if(mm>12)return false;
	if(!CheckDay(mm, dd, yy))return false;
	
	return true;
		

}

function CheckDay(mm, dd, yy)
{
	var badDay = 0
	switch (mm)
	{
		case "01":
			if(dd>31)badDay=1;
			break;
		case "02":
			if(yy % 4 == 0)
				{if(dd>29)badDay=1;	}
			else
				{if(dd>28)badDay=1;}
			break;
		case "03":
			if(dd>31)badDay=1;;
			break;
		case "04":
			if(dd>30)badDay=1;;
			break;
		case "05":
			if(dd>31)badDay=1;;
			break;
		case "06":
			if(dd>30)badDay=1;;
			break;
		case "07":
			if(dd>31)badDay=1;;
			break;
		case "08":
			if(dd>31)badDay=1;;
			break;
		case "09":
			if(dd>30)badDay=1;;
			break;
		case "10":
			if(dd>31)badDay=1;;
			break;
		case "11":
			if(dd>30)badDay=1;;
			break;
		case "12":
			if(dd>31)badDay=1;;
			break;
	}	
	
	if(badDay==1)
		return false;
	else
		return true;
	
}


function BackPage()
{
	history.back()
}


function GetDays(fld, MM, YY)
{
	var gDay
	fld.options.length = 31
			
	switch (MM)
	{
		case "1":
			gDay = 31;
			break;
		case "2":
			if(YY % 4 == 0)
				gDay = 29;
			else
				gDay = 28;
			break;
		case "3":
			gDay = 31;
			break;
		case "4":
			gDay = 30;
			break;
		case "5":
			gDay = 31;
			break;
		case "6":
			gDay = 30;
			break;
		case "7":
			gDay = 31;
			break;
		case "8":
			gDay = 31;
			break;
		case "9":
			gDay = 30;
			break;
		case "10":
			gDay = 31;
			break;
		case "11":
			gDay = 30;
			break;
		case "12":
			gDay = 31;
			break;
	}	
		for(var i=0;i<gDay;i++)
		 {
			fld.options[i].value = i + 1
			fld.options[i].text = i + 1
		 }
		 for(var i = gDay; i<31; i++)
		 {
			fld.options[i].value = ""
			fld.options[i].text = ""
		 }
		 fld.options.length = gDay
	
}

function ConfirmContinue(msg,page)
{
	if(confirm(msg)==true) 
	{
		location.href = page
	}
}

function OpenWindow(theURL,winName,features) 
{ //features: 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=300,height=300'
 	mywin = window.open(theURL,winName,features);
}

function ClosePopUp()
{
 if (typeof(myNewWindow) == "object")
 {
   // myNewWindow.focus();
   myNewWindow.close();
 }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}
var sId;

function OpenLayer(layer)
{
	elm = document.getElementsByTagName("div");
	for (var i = 0; i < elm.length; i++)
	{
		if(elm[i].id!='')
 	   {
		   if(elm[i].id==layer)
	 	   {  MM_showHideLayers(elm[i].id,'','show');   }
		   else if(elm[i].id=='email' || elm[i].id=='contact' || elm[i].id=='map' || elm[i].id=='contactform')
		   { //do nothing 
			}
		   else
		   {  MM_showHideLayers(elm[i].id,'','hide');  }
 	   }
	}
}

function OpenAdminLayer(d)
	{
		elm = document.getElementById(d);
		strdisplay =elm.style.display;
		if(strdisplay.toString()!="none"){elm.style.display="none";   }
		if(strdisplay.toString()=="none" ) {elm.style.display = ""; }
		
		
	}

function CloseLayer(layer)
{
	sId = window.setTimeout("MM_showHideLayers('"+layer+"','','hide');",1500);
}
function StopTimer()
{
	window.clearTimeout(sId);
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		lovejoy_header_02_over = newImage("images/lovejoy_header_02-over.gif");
		lovejoy_header_05_over = newImage("images/lovejoy_header_05-over.gif");
		lovejoy_header_06_over = newImage("images/lovejoy_header_06-over.gif");
		lovejoy_header_07_over = newImage("images/lovejoy_header_07-over.gif");
		lovejoy_header_08_over = newImage("images/lovejoy_header_08-over.gif");
		lovejoy_footer_04_over = newImage("images/lovejoy_footer_04-over.gif");
		lovejoy_footer_05_over = newImage("images/lovejoy_footer_05-over.gif");
		lovejoy_footer_06_over = newImage("images/lovejoy_footer_06-over.gif");
		lovejoy_footer_08_over = newImage("images/lovejoy_footer_08-over.gif");
		dropdown_menu_01_over = newImage("images/dropdown_menu_01-over.gif");
		dropdown_menu_02_over = newImage("images/dropdown_menu_02-over.gif");
		dropdown_menu_03_over = newImage("images/dropdown_menu_03-over.gif");
		dropdown_menu_04_over = newImage("images/dropdown_menu_04-over.gif");
		dropdown_menu_05_over = newImage("images/dropdown_menu_05-over.gif");
		index_02_over = newImage("images/index_02-over.gif");
		index_03_index_02_over = newImage("images/index_03-index_02_over.gif");
		index_05_over = newImage("images/index_05-over.gif");
		index_06_over = newImage("images/index_06-over.gif");
		index_07_over = newImage("images/index_07-over.gif");
		index_08_over = newImage("images/index_08-over.gif");
		index_24_over = newImage("images/index_24-over.gif");
		index_25_over = newImage("images/index_25-over.gif");
		index_26_over = newImage("images/index_26-over.gif");
		index_28_over = newImage("images/index_28-over.gif");
		preloadFlag = true;
	}
}


function ClearEmail()
{
	document.form1.email.value="";	
}

function ProcessEmail()
{
	if(!isemail(document.form1.email))
	{ alert("Please enter a valid value in the email field."); }
	else
	{ document.form1.submit(); }	
}

