glow.ready(function() {

//

var hasStorage = (window.sessionStorage) ? true : false; // Test for local storage
var agent = navigator.userAgent.toLowerCase();

var is_iphone = (agent.indexOf('iphone')!=-1);
var is_ipod = (agent.indexOf('ipod')!=-1);

if (is_iphone || is_ipod) {
    glow.dom.get('body').addClass('iphone');
}

function alertOutput(alertInput) { // Safe alert logging
    if (window.console) {
        window.console.log(alertInput);
    } else {
        alert(alertInput);
    }
}

glow.dom.get('input').each(function() { // Empty input fields on focus
    var inputField = glow.dom.get(this);
    if(inputField.attr('value')) {
        var inputText = inputField.attr('value');
        glow.events.addListener(inputField,'focus',function() {
            if(inputField.val() == inputText) { inputField.val(''); }
        });
        glow.events.addListener(inputField,'blur',function() {
            if(inputField.val() == '') { inputField.val(inputText); }
        });
    }
});

glow.dom.get('textarea').each(function() { // Empty textarea fields on focus
    var textArea = glow.dom.get(this);
    if(textArea.val()) {
        var inputText = textArea.val();
        glow.events.addListener(textArea,'focus',function() {
            if(textArea.val() == inputText) { textArea.html(''); }
        });
        glow.events.addListener(textArea,'blur',function() {
            if(textArea.val() == '') { textArea.html(inputText); }
        });
    }
});

function fillPanel() {
    if (!(glow.env.ie == 6)) {
        if(hasStorage === true && sessionStorage.panel ) {
            makePanel(sessionStorage.panel);
        } else {
            var contactMarkup = glow.net.get('/contact/',{
                async:true,
                onLoad:function(response) {
    // Insert panel data
                    var bodyContent = response.text().match(/<div class="vcard">([\s\S]*?)<\/div>/)[1];
                    glow.dom.create(bodyContent);
                    if(hasStorage === true) {
                        sessionStorage.panel = bodyContent;
                        makePanel(sessionStorage.panel);
                    } else {
                        makePanel(bodyContent);
                    }
                }
            });
        }
    }
}

function makePanel(panelContent) {
    var panelMarkup = glow.dom.create('<div id="panel"></div>');
    glow.dom.get('.inner').prepend(panelMarkup);
    glow.dom.get('#panel').css('height',0);
    panelMarkup = glow.dom.get('#panel');
    panelMarkup.html(panelContent);
// Remove unwanted elements
    glow.dom.get('#panel .no-panel').destroy();
// Add extra elements
    var getDirections = glow.dom.create('<p class="fwd"><a href="/contact/">Get directions</a></p>');
    var contactLink = glow.dom.create('<p>Need something specific?</p><p class="fwd"><a href="/contact/">See more contact details</a></p>');
    glow.dom.get('#panel .panel-tel h2').removeClass('first-heading');
    glow.dom.get('#panel .panel-adr').append(getDirections);
    glow.dom.get('#panel .panel-email p').addClass('email-us');
    glow.dom.get('#panel .panel-email').append(contactLink);
// Add triggers & events
    panelMarkup.prepend('<p class="trigger">X</p>');
    glow.dom.get('#contact').addClass('trigger');
    toggleOnClick('#panel', '.trigger');
// unObfuscate
    unobfuscate();
}

// Slide panel	
function toggleOnClick(elmToToggle, elmToClick) {
    elmToToggle = glow.dom.get(elmToToggle);
    glow.events.addListener(elmToClick, 'click', function() {
        glow.anim.slideToggle(elmToToggle,0.5);
        return false;
    });
}

function unobfuscate() {
    glow.dom.get('.email').each(function(){
        var anchor = glow.dom.get(this);
        if (anchor.hasClass('unobfuscated')) {
            return false;
        }
        var href = anchor.attr('href').split('/');
        href = href[href.length - 1];
        var address = href.replace(/[a-zA-Z]/g,function(c){
            return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);
        });
        if (href != address) {
            anchor.attr('href','mailto:' + address);
            anchor.text(address);
            anchor.addClass('unobfuscated');
        }
    });
}

if (glow.env.ie == 6 && glow.dom.get('body').hasClass('page_contact')) { unobfuscate(); }

fillPanel();

//
});

