﻿function ClearForm(element, value)
{
    if(element.value == value)
        element.value = "";
}

function validateAll()
{
    var blValid = true;
    var panels = new Array();
    panels = $$('div.panelcontent');
    
    for(var i = 0; i < panels.length; i++)
    {
        if(blValid)
            blValid = validatePax(i);    
    }
    return blValid;
}

function checkForm(item)
{
    var prefix = "ctl00_CpMain_RpPax_ctl0";    
    var id = item.id.split('_')[5];  
    var prevLink = document.getElementById(prefix + eval(id - 1) + "_link_" + eval(id - 1));
    
    if(prevLink != null)
    {
        if(validatePax(id - 1))
        {
            switchPanel(id);
            prevLink.className = "hdrlink_valid";        
        }
        else prevLink.className = "hdrlink_invalid";
    }        
    return false;
}

function switchPanel(id)
{   
    var prefix = "ctl00_CpMain_RpPax_ctl0" + id + "_";    
    var selected = document.getElementById("selectedElement"); 
    
    var target = document.getElementById(prefix + "container_" + id);    
    if(target.id != selected.value)
    {        
        Effect.BlindUp(selected.value);  
        selected.value = target.id;
        Effect.BlindDown(target.id);
    }
    return false;
} 

function validatePax(id)
{ 
    var blFormValid = false;
    
    //populate array with placeholder text for each element
    var plText = new Array();            
    plText[0] = "First name";
    plText[1] = "Surname";
    plText[2] = "DD/MM/YYYY";
    plText[3] = "Address";    
    plText[4] = "City";
    plText[5] = "County";
    plText[6] = "Postcode";
    plText[7] = "Email";
    plText[8] = "Telephone";
    
    var panels = new Array();
    panels = $$('div.panelcontent'); 
    blFormValid = Validate(panels[id], plText);         
    return blFormValid;
}

//checks each element against the placeholder value in the array
function Validate(panel, placeholders)
{
    var blValid = true;    
    var blLeadPax = false;
    var elements = new Array();
    var dropDowns = new Array();    
    
    elements = panel.getElementsByTagName('input');     
    if(elements.length == 9)
        blLeadPax = true;
                   
    for(var i = 0; i < elements.length; i++)
        if((placeholders[i] == elements[i].value) || (elements[i].value.length == 0))
            blValid = false;
            
    if(blValid)
    {
        dropDowns = panel.getElementsByTagName('select');
        for(var i = 0; i < dropDowns.length; i++)
            if(dropDowns[i].selectedIndex == 0)
                    blValid = false;
    }
    return blValid;   
}

function validateChange(element, value)
{
    if(element.className == "validation_email")
        showResult(element, validateEmail(element));
    else if(element.className == "validation_postcode")
        showResult(element, validatePostcode(element));    
    else if(element.className == "validation_dob")
        showResult(element, validateDate(element));
    else if(element.className == "validation_select")
        showResult(element, validateSelect(element));
    else showResult(element, validateText(element, value));
}

function showResult(element, isValid)
{
    var img = element.parentNode.getElementsByTagName('img')[0];    
    if(!isValid)
    {
        img.src = "Images/delete.png";
        img.alt = "Invalid Entry";
    }
    else
    {
        img.src = "Images/accept.png";
        img.alt = "Valid Entry";
    }
    img.style.display = "inline";
}

function validateText(element, value)
{
    if((element.value == value) || (element.value.length == 0))
        return false;
    else return true;
}

function validateSelect(element)
{
    if(element.selectedIndex == 0)
        return false;
    else return true;
}

function validateEmail(element)
{   
    var regex = new RegExp("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$");
    return regex.test(element.value);
}

function validatePostcode(element)
{
    var postcode = element.value.toUpperCase();    
    if(postcode.indexOf(" ") == -1)
    {
        var last = postcode.substr(postcode.length - 3, 3);
        postcode = postcode.substr(0, postcode.length - last.length) + " " + last;
    }    
    var regex = new RegExp("^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$");
    return regex.test(postcode);
}

function validateDate(element)
{
    var regex = new RegExp("^([1-9]|(0[1-9])|([1-2][0-9])|3[0-1])\/([1-9]|(0[1-9])|(1[0-2]))\/[0-9]{4}$");    
    return regex.test(element.value);
}

function OpenClose(link)
{
    var items = new Array();
    items = link.parentNode.parentNode.getElementsByTagName('div');
               
    if(link.innerHTML == 'Open Information')
    {
        link.innerHTML = link.title = 'Close Information';
        link.className = "close";                
    }
    else
    {
        link.innerHTML = link.title = 'Open Information';
        link.className = "open";
    }
    Effect.toggle(items[0].id, 'slide', { duration: 0.5 });
}

function ShowPaymentImg(btn)
{
    //alert(btn);
    //var dv = document.getElementById("panel");
    //dv.style.display = "block";
    
    btn.disabled = true;
}

/* Sifr */
var tahoma = { src: 'Includes/swf/tahoma_pound.swf',ratios: [7, 1.32, 11, 1.31, 13, 1.24, 14, 1.25, 19, 1.23, 27, 1.2, 34, 1.19, 42, 1.18, 47, 1.17, 48, 1.18, 69, 1.17, 74, 1.16, 75, 1.17, 1.16]};
sIFR.useStyleCheck = true;
sIFR.activate(tahoma);
sIFR.replace(tahoma, { selector: 'div#right h2',css: ['.sIFR-root { text-align: left; color: #a1293a; }'],wmode: 'transparent' });
sIFR.replace(tahoma, { selector: 'h2#overview',css: ['.sIFR-root { text-align: left; color: #a1293a; }'],wmode: 'transparent' });
sIFR.replace(tahoma, { selector: 'h3',css: ['.sIFR-root { text-align: left; color: #a1293a; }'],wmode: 'transparent' });
sIFR.replace(tahoma, { selector: 'h4' ,css: ['.sIFR-root { text-align: left; color: #a1293a; }'],wmode: 'transparent'});
sIFR.replace(tahoma, { selector: 'p#tel' ,css: ['.sIFR-root { text-align: left; color: #ffffff; }'],wmode: 'transparent'});
