


// contact

if ((jQuery.browser.msie && jQuery.browser.version == 6.0) == false) {

    jQuery('#navsignup, #navsignup2, #subnavsignup').click(function(e) {
        e.preventDefault();

        jQuery("#simpleModel").modal({
            closeHTML: "<a href='#' title='Close' class='modal-close'><img src='images/closelabel.gif' width='66' height='22' alt='close' border='0' /></a>",
            position: ["15%", ],
            overlayId: 'contact-overlay',
            containerId: 'contact-container',
            onOpen: contact.open,
            onShow: contact.show,
            onClose: contact.close
        });

    });



    var contact = {
        message: null,
        open: function(dialog) {
            // add padding to the buttons in firefox/mozilla
            if (jQuery.browser.mozilla) {
                jQuery('#contact-container .contact-button').css({
                    'padding-bottom': '2px'
                });
            }
            // input field font size
            if (jQuery.browser.safari) {
                jQuery('#contact-container .contact-input').css({
                    'font-size': '.9em'
                });
            }

            // dynamically determine height
            var h = 280;

            var title = jQuery('#contact-container .contact-title').html();
            jQuery('#contact-container .contact-title').html('Loading...');
            dialog.overlay.fadeIn(200, function() {
                dialog.container.fadeIn(200, function() {
                    dialog.data.fadeIn(200, function() {
                        jQuery('#contact-container .contact-content').animate({
                            height: h
                        }, function() {
                            jQuery('#contact-container .contact-title').html(title);
                            jQuery('#contact-container form').fadeIn(200, function() {
                                jQuery('#contact-container #first_name').focus();
                            });
                        });
                    });
                });
            });
        },
        show: function(dialog) {
            jQuery('#contact-container .contact-send').click(function(e) {
                e.preventDefault();
                // validate form
                if (contact.validate()) {
                    jQuery('#contact-container .contact-message').fadeOut();
                    jQuery('#contact-container .contact-title').html('Sending...');
                    jQuery('#contact-container form').fadeOut(200);
                    jQuery('#contact-container .contact-content').animate({
                        height: '0px'
                    }, function() {
                        jQuery('#contact-container .contact-loading').fadeIn(200, function() {
                            jQuery.ajax({
                                url: 'form.php',
                                data: jQuery('#contact-container form').serialize(),
                                type: 'post',
                                cache: false,
                                success: function(data) {
                                    jQuery('#contact-container .contact-loading').fadeOut(200, function() {
                                        jQuery('#contact-container .contact-title').html('Thank you!');
                                        //msg.html(data).fadeIn(200);
                                    });
                                },
                                error: contact.error
                            });
                        });
                    });
                }
                else {
                    if (jQuery('#contact-container .contact-message:visible').length > 0) {
                        var msg = jQuery('#contact-container .contact-message div');
                        msg.fadeOut(200, function() {
                            msg.empty();
                            contact.showError();
                            msg.fadeIn(200);
                        });
                    }
                    else {
                        jQuery('#contact-container .contact-message').animate({
                            height: '30px'
                        }, contact.showError);
                    }

                }
            });
        },
        close: function(dialog) {
            jQuery('#contact-container .contact-message').fadeOut();
            jQuery('#contact-container .contact-title').html('');
            jQuery('#contact-container form').fadeOut(200);
            jQuery('#contact-container .contact-content').animate({
                height: 40
            }, function() {
                dialog.data.fadeOut(200, function() {
                    dialog.container.fadeOut(200, function() {
                        dialog.overlay.fadeOut(200, function() {
                            jQuery.modal.close();
                        });
                    });
                });
            });
        },
        error: function(xhr) {
            alert(xhr.statusText);
        },
        validate: function() {
            contact.message = '';

            var email = jQuery('#contact-container #email_address').val();
            if (!email) {
                contact.message += 'Email is required. ';
            }
            else {
                if (!contact.validateEmail(email)) {
                    contact.message += 'Email is invalid. ';
                }
            }

            if (contact.message.length > 0) {
                return false;
            }
            else {
                return true;
            }
        },
        validateEmail: function(email) {
            var at = email.lastIndexOf("@");

            // Make sure the at (@) sybmol exists and  
            // it is not the first or last character
            if (at < 1 || (at + 1) === email.length)
                return false;

            // Make sure there aren't multiple periods together
            if (/(\.{2,})/.test(email))
                return false;

            // Break up the local and domain portions
            var local = email.substring(0, at);
            var domain = email.substring(at + 1);

            // Check lengths
            if (local.length < 1 || local.length > 64 || domain.length < 4 || domain.length > 255)
                return false;

            // Make sure local and domain don't start with or end with a period
            if (/(^\.|\.$)/.test(local) || /(^\.|\.$)/.test(domain))
                return false;

            // Check for quoted-string addresses
            // Since almost anything is allowed in a quoted-string address,
            // we're just going to let them go through
            if (!/^"(.+)"$/.test(local)) {
                // It's a dot-string address...check for valid characters
                if (!/^[-a-zA-Z0-9!#$%*\/?|^{}`~&'+=_\.]*$/.test(local))
                    return false;
            }

            // Make sure domain contains only valid characters and at least one period
            if (!/^[-a-zA-Z0-9\.]*$/.test(domain) || domain.indexOf(".") === -1)
                return false;

            return true;
        },
        showError: function() {
            jQuery('#contact-container .contact-message')
				.html(jQuery('<div class="contact-error"></div>').append(contact.message))
				.fadeIn(200);
        }
    };

    // osx
    jQuery("#osx-dialog a.demo").click(function(e) {
        e.preventDefault();

        jQuery("#osx-modal-content").modal({
            overlayId: 'osx-overlay',
            containerId: 'osx-container',
            closeHTML: '<div class="close"><a href="#" class="simplemodal-close"><img src="images/closelabel.gif" width="66" height="22" alt="close" border="0" /></a></div>',
            minHeight: 80,
            opacity: 65,
            position: ['0', ],
            overlayClose: true,
            onOpen: OSX.open,
            onClose: OSX.close
        });
    });

}