//cookie stuff
function setCookie(name, value, expires, path, domain, secure){
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name){
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

//popup
function popup( url, w, h, windowName, r, s, m, t ) {
	win = window.open(url, windowName, 'height=' +h+ ', width=' +w+ ', resizable=' +r+ ', status=no, scrollbars=' +s+ ', location=no, menubar=' +m+ ', toolbar=' +t+ ', left=50, top=50');
}

//form validation
function isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}
function isPhone(string) {
	var phone = string.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	if (isNaN(parseInt(phone)) || phone.length != 10) {
	   return false;
	}
	else {
		return true;	
	}
}
function isFieldEmpty(string) {
	if ((string != "") && (string != null)) // just check that it's not empty
        return true;
    else
        return false;
}   
function isFieldProper(string) {
    if (string.search(/^\w+( \w+)?$/) != -1) // check for illegal characters
        return true;
    else
        return false;
}   

function validate(page,form){
	if (page == 'contact'){
	var listerrors = '';
		if (isFieldEmpty(form.sender_name.value) == false) {
			listerrors += "- What is your name?\n";
		}
		if (isFieldEmpty(form.address.value) == false) {
			listerrors += "- Address\n";
		}
		if (isFieldEmpty(form.city.value) == false) {
			listerrors += "- City\n";
		}
		if (isFieldEmpty(form.state.value) == false) {
			listerrors += "- State\n";
		}
		if (isFieldEmpty(form.zip.value) == false) {
			listerrors += "- Zip Code\n";
		}
		if (isFieldEmpty(form.sender_email.value) == false) {
			listerrors += "- Please tell me your e-mail address.\n";
		}
		else if (isEmail(form.sender_email.value) == false) {
			listerrors += "- Your e-mail address isn't valid.\n";
		}
		if (isFieldEmpty(form.phone.value) == false) {
			listerrors += "- Phone number\n";
		}
		else if (isPhone(form.phone.value) == false) {
			listerrors += "- Phone number is invalid\n";
		}
		if (isFieldEmpty(form.event_date.value) == false) {
			listerrors += "- Event Date\n";
		}
		
	    if (listerrors != "")	{
			alert("Please correct the following errors:\n\n" + listerrors);
			return false;
		} else	{
			return true;
		}
	}
	else if (page == 'order'){
	var listerrors = '';
		if (isFieldEmpty(form.first_name.value) == false || isFieldEmpty(form.last_name.value) == false) {
			listerrors += "- Full Name\n";
		}
		if (isFieldEmpty(form.address.value) == false) {
			listerrors += "- Address\n";
		}
		if (isFieldEmpty(form.city.value) == false) {
			listerrors += "- City\n";
		}
		if (isFieldEmpty(form.state.value) == false) {
			listerrors += "- State\n";
		}
		if (isFieldEmpty(form.zip.value) == false) {
			listerrors += "- Zip Code\n";
		}
		if (isFieldEmpty(form.sender_email.value) == false) {
			listerrors += "- Email Address\n";
		}
		else if (isEmail(form.sender_email.value) == false) {
			listerrors += "- Valid Email Address\n";
		}
		if (isFieldEmpty(form.phone1.value) == false || isFieldEmpty(form.phone2.value) == false || isFieldEmpty(form.phone3.value) == false) {
			listerrors += "- Phone Number\n";
		}
		else if (isPhone(form.phone1.value +'-'+ form.phone2.value +'-'+ form.phone3.value) == false) {
			listerrors += "- Phone number is invalid\n";
		}
		
	    if (listerrors != "")	{
			alert("Please complete the following fields:\n\n" + listerrors);
			return false;
		} else	{
			return true;
		}
	}
}