﻿function Check_On(check){
    document.getElementById(check).src = 'img/check_on.png';
}

function Check_Off(check){
    document.getElementById(check).src = 'img/check_off.png';
}

function ChangeValue(sender) {
    var str = new String(sender.id);
    var num = str.substring(str.lastIndexOf('_', str.length) + 1, str.length);
    var i;
    var Base = new String(str.substring(0, str.lastIndexOf('_', str.length)));
    var el = null;
    if (document.getElementById(Base.substring(Base.indexOf('_', 0) + 1, Base.length)).value != num)
    {        
        for (i=0; i<=6; i++){
            el = document.getElementById(Base + '_' + i.toString());
            if (el === null)
            {
                continue;
            }
            if (i <= num)
            {
                el.src = getSrcBase(el) + '_on.gif';
            }
            else
            {
                el.src = getSrcBase(el) + '_off.gif';
            }
        }
        Base = Base.substring(Base.indexOf('_', 0) + 1, Base.length);
        document.getElementById(Base).value = num;
    }
    else {
        for (i=0; i<=6; i++){
            el = document.getElementById(Base + '_' + i.toString());
            if (el === null)
            {
                continue;
            }
            el.src = getSrcBase(el) + '_off.gif';
        }
        Base = Base.substring(Base.indexOf('_', 0) + 1, Base.length);
        document.getElementById(Base).value = -1;
    }
}

function getSrcBase(el){
    var str = new String(el.src);
    str = str.substring(0, str.lastIndexOf('_', str.length));
    return str;
}

function setPriceLabel(base) {
    var price = document.getElementById(base).value;
    if (price != ''){
        document.getElementById('lbl' + base).innerText = verbalizePrice(price);
    }
    else{
        document.getElementById('lbl' + base).innerText = '';
    }
}

function setParkingPriceLabel(base) {
    var price = document.getElementById(base).value;
    if (price != '') {
        document.getElementById('lbl' + base).innerText = verbalizeParkingPrice(price);
    }
    else {
        document.getElementById('lbl' + base).innerText = '';
    }
}

function ShowHideFeedback(sender){
    if (sender.checked){
        document.getElementById('feedback').style.visibility = 'visible';
    }
    else{
        document.getElementById('feedback').style.visibility = 'hidden';
    }
}

function CheckMusic(){
    var checkboxes = document.getElementsByName('chkMusic'); 
    var i;
    var bChecked = false;
    for (i = 0; i < checkboxes.length; i++){
        if (checkboxes.item(i).checked){        
            bChecked = true;
            break;
        }
    }
    if (bChecked){
        Check_On('chk_Music');
    }
    else{
        Check_Off('chk_Music');    
    }    
}

function Thumb_On(thumb){
    document.getElementById(thumb).src = 'img/thumb-up_on.png';
}

function Thumb_Off(thumb){
    document.getElementById(thumb).src = 'img/thumb-up_off.png';
}

function Thumb_Change(thumb, pos) {
    if (pos === false || pos === 0){
        Check_Off(thumb);
    }
    else{
        Check_On(thumb);
    }
}

function btnPress(num, sender, base){ 
    var checkbox = document.getElementById('chk_' + base + '_' + num.toString());
    checkbox.checked = !checkbox.checked;
    if (checkbox.checked){
        sender.className= "pseudobutton_down";
    }
    else{
        sender.className= "pseudobutton";
    }        
}

function ClearOtherBoxes(sender){
    var i;
    var strBase = new String(sender.id);
    strBase = strBase.substring(0, strBase.lastIndexOf('_', strBase.length));
    for (i=0; i<=4; i++){
        if (strBase + '_' + i != sender.id){
            if (document.getElementById(strBase + '_' + i) !== null)
            {
                document.getElementById(strBase + '_' + i).checked = false;
            }
        }
    }
}

function SetOverallThumb() {
    var i;
    var bOverall = false;
    var bPrice = false;
    var bService = false;

    var Coll = document.getElementById('OverallImpression');
    bOverall = Coll.value != '-1';

    Coll = document.getElementById('Price');
    bPrice = Coll.value != '-1';

    Coll = document.getElementById('Service');
    bService = Coll.value != '-1';

    Thumb_Change('chk_OverallImpression', bOverall || bPrice || bService);
}

function SetWaitlineThumb(){    
    var i;
    var bWalkin = false;
    var bVIP = false;
    var bBooking = false;
    
    var Coll = document.getElementsByName('WaitLineWalkIn');
    for (i=0; i<Coll.length; i++){
        bWalkin = bWalkin || Coll.item(i).checked;
    }
    
    Coll = document.getElementsByName('WaitLineVIP');
    for (i=0; i<Coll.length; i++){
        bVIP = bVIP || Coll.item(i).checked;
    }
    
    Coll = document.getElementsByName('WaitLineBooking');
    for (i=0; i<Coll.length; i++){
        bBooking = bBooking || Coll.item(i).checked;
    }

    Thumb_Change('chk_WaitLine', bWalkin || bVIP || bBooking);
}

function setParkingThumb(){
    var i;
    var bOwns = false;
    var bDistance = false;
    var bPrice = false;
    
    var Coll = document.getElementsByName('ParkingOwned');
    for (i=0; i<Coll.length; i++){
        bOwns = bOwns || Coll.item(i).checked;
    }
    
    Coll = document.getElementsByName('ParkingDistance');
    for (i=0; i<Coll.length; i++){
        bDistance = bDistance || Coll.item(i).checked;
    }
    
    //Coll = document.getElementsByName('ParkingPrice');
    Coll = document.getElementById('ParkingPrice');
    bPrice = (Coll.value != '-1');

    Thumb_Change('chk_Parking', bOwns || bDistance || bPrice);
}

function SetFeedbackThumb(summaryId, feedbackId) {
    var i;
    var bSummary = false;
    var bFeedback = false;

    bSummary = document.getElementById(summaryId).value.length > 0;
    bFeedback = document.getElementById(feedbackId).value.length > 0;

    Thumb_Change('chk_Feedback', bSummary || bFeedback);
}

function verbalizePrice(price){
    switch (price){
        case '0':{
            return 'Free';
            break;
        }
        case '1':{
            return 'Very economical - entry free, less than $5 per drink';
            break;
        }
        case '2':{
            return 'Economical - entry about $5, about $5 per drink';
            break;
        }
        
        case '3':{
            return 'Moderate - entry about $10, about $10 per drink';
            break;
        }
        
        case '4':{
            return 'Moderately posh - entry about $15, about $15 per drink';
            break;
        }
        
        case '5':{
            return 'Posh - over $20 per entry, over $20 per drink';
            break;
        }
        default:{
            return '';
        }
    }
}

function verbalizeParkingPrice(price) {
    switch (price) {
        case '0': 
            {
                return 'Free';
                break;
            }
        case '1': 
            {
                return 'Very economical - less than $ per night, less than $1 per hour';
                break;
            }
        case '2': 
            {
                return 'Economical - less than $10 per night, less than $3 per hour';
                break;
            }

        case '3': 
            {
                return 'Moderate - about $10 per night, about $3 per hour';
                break;
            }

        case '4': 
            {
                return 'Moderately posh - over $15 per night, about $5 per hour';
                break;
            }

        case '5': 
            {
                return 'Posh - over $20 per night, over $5 per hour';
                break;
            }
        default: 
            {
                return '';
            }
    }
}

function setMood(summaryInput, moodInput, mood){
    switch (mood){
        case '1':
            summaryInput.style.color = 'Green';
            break;
        case '0':            
            summaryInput.style.color = 'Black';
            break;
        case '-1':
            summaryInput.style.color = 'Red';
            break;
    }
    moodInput.value = mood;
}
