var ua = navigator.userAgent;
ResizeScreen();

function onloadEvents()
{
    BustFrames();
    RemoveLinkBox();
    RemoveAltTooltips();
    if (typeof(initialiseIE) == 'function') initialiseIE();
}

function ResizeScreen() 
{ 
    if (!document.getElementById) return; 
    if (screen.width < 1024) 
    { 
        document.getElementById('screen800').disabled = false;
        if (document.getElementById('screen800index')) document.getElementById('screen800index').disabled = false; 
    } 
}

function PreloadImages() 
{ 
    if (document.images) 
    { 
        for (var i = 0; i < PreloadImages.arguments.length; i++) 
        { 
            var img = new Image(); 
            img.src = PreloadImages.arguments[i]; 
        } 
    } 
}

function RemoveAltTooltips() 
{ 
    if (document.images && ua.indexOf('MSIE') != -1) 
    { 
        var i, imgs = document.images; 
        if (imgs.length > 0 && imgs[0].getAttribute)
        {
            for (i = 0; i < imgs.length; i++) 
            { 
                if (imgs[i].getAttribute('alt') != '' && imgs[i].getAttribute('title') == '') imgs[i].setAttribute('title','');
                if (imgs[i].parentNode.getAttribute('title') != '') imgs[i].setAttribute('title',imgs[i].parentNode.getAttribute('title'));
            }
        } 
    } 
}

function BustFrames()
{
    if (window.top.location != window.self.location)
    {
        window.top.location.href = window.self.location.href;
    }
}

function RemoveLinkBox()
{
    if (!document.links) return;
    for (i = 0; i < document.links.length; i++)
    {
        document.links[i].onfocus = function ()
        {
            if (this.blur) this.blur();
        }
    }
}

function PrintPage()
{
    if (document.getElementById('printpage')) document.getElementById('printpage').onclick = function() { window.print(); }
}

// CONTACT FORM
        
function SetContactInfo()
{
    if (!document.getElementById('contactform')) return;
    var mail = document.getElementById('mail'), contactmail = document.getElementById('contact_mail'), tel = document.getElementById('tel'), contacttel = document.getElementById('contact_tel'), email = document.getElementById('email'), contactemail = document.getElementById('contact_email'), work = document.getElementById('work'), specific = document.getElementById('enquiry_specific'), general = document.getElementById('enquiry_general');

    mail_els = new Array(), tel_els = new Array(), email_els = new Array(), work_els = new Array();
    
    createFormElementsArray(mail, mail_els);
    createFormElementsArray(tel, tel_els);
    createFormElementsArray(email, email_els);
    createFormElementsArray(work, work_els);
    
    toggleFormElements(contactmail, mail, mail_els);
    toggleFormElements(contacttel, tel, tel_els);
    toggleFormElements(contactemail, email, email_els);
    toggleFormElements(specific, work, work_els);
    if (general.checked == true) disableFormElements(work, work_els);
    
    contactmail.onclick = function () { toggleFormElements(this, mail, mail_els); }
    contacttel.onclick = function () { toggleFormElements(this, tel, tel_els); }
    contactemail.onclick = function () { toggleFormElements(this, email, email_els); }
    specific.onclick = function () { toggleFormElements(this, work, work_els); }
    general.onclick = function () { disableFormElements(work, work_els); }
    
    document.getElementById('contactform').onsubmit = ValidateContact;
}

function createFormElementsArray(ob,els)
{
    var tags = [ob.getElementsByTagName('input'), ob.getElementsByTagName('select'), ob.getElementsByTagName('textarea')];
    for (var t = 0; t < tags.length; t++)
    {
        for (e = 0; e < tags[t].length; e++)
        {
            els.push(tags[t][e]);
        }
    }    
}

function disableFormElements(ob,els) 
{
    ob.style.display = 'none';
    for (var e = 0; e < els.length; e++) 
    { 
        els[e].disabled = true; 
    } 
}

function toggleFormElements(obj,ob,els) 
{
    for (var e = 0; e < els.length; e++) 
    { 
        ob.style.display = (obj.checked == true) ? 'block' : 'none';
        els[e].disabled = (obj.checked == true) ? false : true;
    } 
}

function ValidateContact() 
{ 
    var els = this.elements, req = ['name','aitest','address1','town','county','postcode','email'], fail = false;
    req = req.toString();
    for (e = 0; e < els.length; e++) 
    {
        if (req.indexOf(els[e].name) != -1 && els[e].disabled == false && els[e].value == '') fail = true; 
    }
    if (document.getElementById('contact_mail').checked == false && document.getElementById('contact_tel').checked == false && document.getElementById('contact_email').checked == false) fail = true;
    if (document.getElementById('contact_tel').checked == true) 
    { 
        if (document.getElementById('tel1a').value == '' || document.getElementById('tel1b').value == '') 
        { 
            if (document.getElementById('tel2a').value == '' || document.getElementById('tel2b').value == '') 
            { 
                if (document.getElementById('tel3a').value == '' || document.getElementById('tel3b').value == '') fail = true; 
            } 
        } 
    }
    if (fail == true) 
    { 
        alert ('Required field(s) missing!'); 
        return false; 
    } 
    else 
    { 
        return true; 
    } 
}
