﻿/// <reference name="MicrosoftAjax.js" />

/*  Nags head
//  -------------------------------------------------------------   */

function _modal(layer) {
    var _modal = $get('_modal');
   
    if(layer != '') {
    _modal.style.display = 'block'; 
    try {
        this._element= $get(layer);
        this._element.style.zIndex = '10001';
    } catch(oError) { } } else { _modal.style.display = 'none'; }
}

function show_eventssub() {
    Effect.BlindDown($get('eventsSub'), {duration:0.6});
    return false;
}

/*  subscribe to news
//  -------------------------------------------------------------   */
function subscription_setup() {
    _i = document.createElement('IFRAME'); _i.setAttribute('id', 'subscription_frame');
    _i.setAttribute('src', 'about:blank'); document.body.appendChild(_i); 
    $get('subscription_frame').style.display = 'none';
}

function subscription_start() {

    var _nsSub_panel = $get('subscription_panel');
    var _nsSub_link = $get('subscription_link');
    var _bounds = Sys.UI.DomElement.getLocation(_nsSub_link);
    
    _nsSub_panel.style.left = (_bounds.x-200)+'px'; _nsSub_panel.style.top=(_bounds.y-0)+'px';
    _nsSub_panel.style.display = 'block';
    
    _modal('subscription_panel');
}

function subscription_process() {
    var _text = $get('subscription_email');
    var _msg = $get('subscription_msg');
    var _link = $get('subscription_signuplink');
    
    if(!valid_email(_text.value)) { _msg.innerHTML = 'Not a valid email. Try again:'; }
    else { _msg.innerHTML = 'Processing...'; _link.style.visibility = 'hidden'; _text.style.visibility = 'hidden'; 
        var _iframe = $get('subscription_frame');
        _iframe.src = '/news/fullstory.aspx?signup=true&signupemail=' + _text.value;
    }
}

function subscription_result(msg) {
    var _text = $get('subscription_email');
    var _msg = $get('subscription_msg');
    var _link = $get('subscription_signuplink');
    
    _msg.innerHTML = msg;
    window._t = setTimeout('subscription_close()', 3500);
}

function subscription_close() {
    var _nsSub_panel = $get('subscription_panel');
    var _text = $get('subscription_email');
    var _msg = $get('subscription_msg');
    var _link = $get('subscription_signuplink');
    
    _text.value = ''; _msg.innerHTML = 'Enter your email below to subscribe to the news:';
    _link.style.visibility = 'visible'; _text.style.visibility = 'visible'; _nsSub_panel.style.display = 'none';
    _modal('');
    
    window.clearTimeout(window._t);
}

/*  valididate email function
//  -----------------------------------------------------------------   */

function valid_email(value) {
    atpos = value.indexOf('@');stpos = value.lastIndexOf('.');retVal = true;
    if ((value == '')||(atpos == -1 || stpos == -1)||(stpos < atpos)||(stpos - atpos == 1)) { retVal = false; }
    return retVal;}
    

/*  mailing list
//  -----------------------------------------------------------------   */

var ml_area, ml_form, ml_text, ml_name, ml_email;
var ml_init = false;

function ml_signup() {
    if(ml_init == false) _ml_init();

    if(ml_name.value == '' || ml_email.value == '' || !valid_email(ml_email.value)) {
        ml_text.innerHTML = 'Please enter all your details below:';
    } else { 
        ml_form.style.display = 'none';
        
        var ml_req = xeAjaxRequest.createRequest();
        ml_req.open('GET', '/mailinglist.aspx?n=' + ml_name.value + '&e=' + ml_email.value, true);
        ml_req.setRequestHeader('ajaxRequest', 'true');
        ml_req.onreadystatechange = function() {
            if(ml_req.readyState == 4) {
                if(ml_req.status == 200) {
                    ml_text.innerHTML = ml_req.responseText;
                } else { 
                    ml_text.innerHTML = 'Error during signup. <a href="javascript:ml_try()">Try again?</a>';
                }
            }
        }
        
        ml_req.send(null);
    }
    
    return false;
}

function _ml_init() {

    ml_area = $get('ml_area');
    ml_form = $get('ml_form');
    ml_text = $get('ml_text');
    ml_name = $get('ml_name');
    ml_email = $get('ml_email');
    
    ml_init = true;
}

function ml_try() {
    ml_form.style.display = 'block';
    ml_name.value = ''; ml_email.value = '';
    ml_text.innerHTML = 'Sign up to our mailing list to receive all the current ' +
        'happenings of the pub and upcoming events!';
}

