// preload menu images
home_out = new Image();
home_out.src = "images/menu/home_out.gif"
home_over = new Image();
home_over.src = "images/menu/home_over.gif"

around_out = new Image();
around_out.src = "images/menu/around_out.gif"
around_over = new Image();
around_over.src = "images/menu/around_over.gif"

gallery_out = new Image();
gallery_out.src = "images/menu/gallery_out.gif"
gallery_over = new Image();
gallery_over.src = "images/menu/gallery_over.gif"

contact_out = new Image();
contact_out.src = "images/menu/contact_out.gif"
contact_over = new Image();
contact_over.src = "images/menu/contact_over.gif"

find_out = new Image();
find_out.src = "images/menu/find_out.gif"
find_over = new Image();
find_over.src = "images/menu/find_over.gif"

bus_out = new Image();
bus_out.src = "images/menu/bus_out.gif"
bus_over = new Image();
bus_over.src = "images/menu/bus_over.gif"


document.observe("dom:loaded", function() {
  // display 'home' page by default
  send_request('home.html');
});



// send ajax request for new content to be displayed
function switch_content(e, page, no_menu)
{
    // browser switch
    if (!e) {
        var e = window.event;
    }
    var elem = (e.srcElement) ? e.srcElement : e.target;
    /*if (!no_menu && elem.getAttribute("id") == "current") {
        return false;
    }*/

    // switch active on other menus if change menu flag was given
    if (!no_menu) {
        var activeMenus = null;
        activeMenus = $$('[id="current"]');
        if (activeMenus.length && elem.getAttribute("id") != "current") {
            activeMenus.each(   function(s) {
                                    s.removeAttribute("id");
                                    if (s.src) {
                                        s.src = s.src.replace(/_over/, "_out");
                                    }
                                });
        }
        if (elem.tagName != 'IMG') {
            var page_images = $$('IMG');
            var image_src = 'images/menu/' + page.substring(0,page.length-5);
            if (page_images.length) {
                page_images.each(   function(s) {
                                        if (s.src && s.src.match(image_src)) {
                                            s.src = s.src.replace(/_out/, "_over");
                                            s.setAttribute("id", "current");
                                        }
                                    });
            }
        } else {
            elem.setAttribute("id", "current");
        }
    }

    // fade out old content
    $('content').fade({ duration: 0.5 });
    setTimeout(function(){send_request(page);}, 500);
}

function send_request(page)
{
    var myrequest = new Ajax.Updater('content', page, {
            onSuccess: function(transport) {
                // fade in new content
                $('content').appear({ duration: 0.5 });
            },
            onFailure: function() {
                alert('Unable to retrieve page data');
            }
    });
}

function change_color(e, newImage)
{
    // browser switch
    if (!e) {
        var e = window.event;
    }
    var elem = (e.srcElement) ? e.srcElement : e.target;

    if (e.type == 'mouseover') {
//        if (elem.getAttribute("id") != "current") {
            elem.style.cursor  = 'pointer';
//        }
    } else if (e.type == 'mouseout') {
        elem.style.cursor='auto';
    }
    if (elem.getAttribute("id") != "current") {
        elem.src = newImage.src;
    }
}

// contact form
function sendMail() {
        $('label_name').style.color ="black";
        $('label_email').style.color ="black";
        $('label_subject').style.color ="black";
        $('label_hearabout').style.color ="black";
        $('label_message').style.color ="black";

    if (!$F('contact_name')) {
        $('contact_status').innerHTML = 'Please enter a name.';
        $('label_name').style.color ="red";
        $('contact_name').focus();
        return false;
    }
    if (!$F('contact_email')) {
        $('contact_status').innerHTML = 'Please enter an email address.';
				$('label_email').style.color ="red";
				$('contact_email').focus();
        return false;
    } else {
        if (!is_valid_email($F('contact_email'))) {
            $('contact_status').innerHTML = 'Email address is not valid.';
						$('label_email').style.color ="red";
						$('contact_email').focus();
						$('contact_email').select();
            return false;
        }
    }
    if (!$F('contact_subject')) {
        $('contact_status').innerHTML = 'Please enter a subject.';
        $('label_subject').style.color ="red";
        $('contact_subject').focus();
        return false;
    }
    if (!$F('contact_msg')) {
        $('contact_status').innerHTML = 'Please enter a message.';
        $('label_message').style.color ="red";
        $('contact_msg').focus();
        return false;
    }

    $('contact_status').innerHTML = 'Trying to send mail.';
    $('contact_send').disabled = true;
    $('contact_msg').disabled = true;
    $('contact_name').disabled = true;
    $('contact_email').disabled = true;
    $('contact_subject').disabled = true;
    $('contact_hearabout').disabled = true;
    $('contact_phone').disabled = true;

	  var msg = $F('contact_msg');
		var name = $F('contact_name');
		var email = $F('contact_email');
		var subject = $F('contact_subject');
		var phone = $F('contact_phone');
		var hearabout = $F('contact_hearabout');

    var mailRequest = new Ajax.Updater('contact_status', 'contact.php', {
        parameters: {msg: msg, name: name, email: email, subject: subject, phone: phone, hearabout: hearabout}
    });
}

function is_valid_email(email)
{
    return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

