var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++)
    {
		var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }

    return true;
}

function stripCharsInBag(s, bag)
{
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {
		var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

function checkInternationalPhone(strPhone)
{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function formvalidate()
{
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address1 = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zip = document.getElementById('zip');
	var email = document.getElementById('email');
	var hphone = document.complaints.hphone;
	var address3 = document.getElementById('address3');
	var borderstyle = '2px solid #f00';
	var pass = 0;

	// Check firstname
	if(firstname.value == "")
	{
		alert('Please enter your First Name.');
		firstname.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}

	// Check lastname
	if(lastname.value == "")
	{
		alert('Please enter your Last Name.');
		lastname.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}

	// Check address
	if(address1.value == "")
	{
		alert('Please enter your Postal Address.');
		address1.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}
	
	// Check city
	if(city.value == "")
	{
		alert('Please enter your City.');
		city.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}
	
	//Check zip code
	if(zip.value == "")
	{
		alert('Please enter your 5-digit Zip Code.');
		zip.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}

	// Check email
	if(email.value == "")
	{
		alert('Your email address is required.');
		email.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}

	// Check phone number
	if ((hphone.value == null) || (hphone.value == ""))
	{
		alert('Your Phone number is required');
		hphone.style.border = borderstyle;
		hphone.focus();
	}

	else if (checkInternationalPhone(hphone.value) == false)
	{
		alert('Please enter a valid phone number');
		hphone.value = "";
		hphone.style.border = borderstyle;
		hphone.focus();
	}

	else
	{
		pass++;
	}

	// Check address
	if(address3.value == "")
	{
		alert('Please enter the Violation Address.');
		address3.style.border = borderstyle;
	}
	
	else
	{
		pass++;
	}
		
	if(pass >= 8)
	{
		return true;
	}
	
	else
	{
		return false;
	}
}

function confirmleaving(newlink)
{
	alert("YOU ARE LEAVING THE CITY OF MONROE WEBSITE.\n\nThe Web site you have selected is an external one located on another server. The City of Monroe has no responsibility for any external web site. It neither endorses the information, content, presentation, or accuracy nor makes any warranty, express or implied, regarding any external site.");
	window.location=(newlink);
}

function photo_open(link, width, height)
{
	var photoWindow = window.open(link,"photo",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width='+width+',height='+height);
}
