﻿var _ajax_helper_url = '../AjaxHelper.aspx'
var _update_interval_main = 60
var _update_timer
var _surveys_selected_count

function refreshSession() {
    new Ajax.Request(
        _ajax_helper_url,
        {
            method: "get"
        }
    );
}

function scheduleMainUpdate() {
    $('update_in').innerHTML = _update_interval_main
    _update_timer = setTimeout('countdownMainUpdate();', 1000)
}

function cancelMainUpdate() {
    $('update_in').ancestors().first().innerHTML = "";
    clearTimeout(_update_timer);
}

function countdownMainUpdate() {
    $('update_in').innerHTML = $('update_in').innerHTML - 1
    if ($('update_in').innerHTML != 0) {
        _update_timer = setTimeout('countdownMainUpdate();', 1000)
    }
    else {
        $('update_in').ancestors().first().innerHTML = "<div>Updating</div><img src='../images/ajax-loader.gif' />";
        //$('update_in').innerHTML = " <img src='../images/ajax-loader.gif' /> ";
        //setTimeout("document.forms[0].submit();", 2000)
        window.location.href = window.location.href;
    }

}

function setupCalendar(sID) {
    if ($(sID))
        Calendar.setup({
            inputField: sID,            // id of the input field
            ifFormat: "%m/%d/%Y",     // format of the input field
            firstDay: 1,              // 0-6, 1 means Monday
            weekNumbers: true,
            showsTime: false
        });
}

function setWaitMode(el) {
    el.value = "Please wait...";
    return true;
}

function setImageWaitMode(el) {
    el.src = "../images/ajax-loader.gif";
    return false;
}

function campaignChanged(sender, index) {
    selectCampaign(sender.options[index].value)
}

function selectCampaign(campaignID) {
    clearActions();

    $$('TR.mygrid_row[campaign!=' + campaignID + ']').invoke('hide');

    $$('TR.mygrid_row[campaign=' + campaignID + ']').invoke('show');

    $$('INPUT[type=checkbox]').each(function(el) { el.checked = false })

    ajax_select_campaign(campaignID);
}

function clearActions() {
    $('txtSelectedSurveys').value = '';
    $('divActions').select('input[type = image, class!=show_always]').each(function(el) { enableButton(el, false) })
    _surveys_selected_count = 0
}

function enableButton(btn, bEnable) {
    try {
        if (bEnable)
            btn.removeClassName('disabled_button')
        else
            btn.addClassName('disabled_button');

        btn.disabled = !bEnable;
    }
    catch (e) { }
}

function addGroup() {
    var sMessage = prompt('New group name:', 'New group')
    if (sMessage != null) { //if not cancelled
        if (sMessage == '')
            alert('Group name can not be empty string!')
        else
            ajax_save_group(0, sMessage)
    }
}

function renameGroup(gid, el) {
    //selectGroup(gid);
    var sGroupName = $(el).previous().innerHTML;
    var sMessage = prompt('New name for group "' + sGroupName + '":', sGroupName)
    if (sMessage != null) { //if not cancelled
        if (sMessage == '')
            alert('Group name can not be empty string!')
        else
            ajax_save_group(gid, sMessage)

    }
}

function deleteGroup(gid, el) {
    var sGroupName = $(el).previous().previous().innerHTML;
    if (confirm('Delete group "' + sGroupName + '". Are you sure?'))
        ajax_delete_group(gid)
}

function deleteContact() {
    ajax_delete_contact($('divContactDetailsID').innerHTML)
}


function ajax_select_campaign(id) {
    var scriptsrc = _ajax_helper_url + '?req=select_campaign&campaign_id=' + id
    var scriptid = '_select_campaign_script'
    _dom_insert_script(scriptsrc, scriptid)
}

function ajax_save_group(id, name) {
    var scriptsrc = _ajax_helper_url + '?req=save_group&group_id=' + id + '&group_name=' + encodeURIComponent(name)
    var scriptid = '_save_group_script'
    _dom_insert_script(scriptsrc, scriptid)
}

function ajax_delete_group(id) {
    var scriptsrc = _ajax_helper_url + '?req=delete_group&group_id=' + id
    var scriptid = '_delete_group_script'
    _dom_insert_script(scriptsrc, scriptid)
}

function ajax_delete_contact(id) {
    var scriptsrc = _ajax_helper_url + '?req=delete_contact&contact_id=' + id
    var scriptid = '_delete_contact_script'
    _dom_insert_script(scriptsrc, scriptid)
}


function _response_action(bSuccess, sErrorMessage) {
    if (bSuccess) {
        //__doPostBack('upContacts', 'bla bla');
        window.location.href = window.location.href;
    }
    else
        alert(sErrorMessage)
}

function _dom_insert_script(src, id) {
    try {

        //find document head tag
        var head = document.getElementsByTagName('head')[0]
        // remove old script-node (if there is one..)
        var el = document.getElementById(id);
        if (el) {
            head.removeChild(el);
        }
        // set new script node
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.id = id
        script.src = src + '&now=' + (new Date()).getTime()
        head.appendChild(script);

        //ie6 fix
        pausecomp(1000);

    }
    catch (e) { }
}

function pausecomp(millis) {
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while (curDate - date < millis);
}


function displayFilterRows(el, className) {

    if (el.checked)
        $$('TR.' + className).invoke('show');
    else
        $$('TR.' + className).invoke('hide');
}

//Watermark
function watermarkFocus(el_id) {
    var el = $(el_id)
    var watermark_text = el.readAttribute('watermark_text')

    if (el.value == watermark_text)
        el.value = ''

}

function watermarkBlur(el_id) {
    var el = $(el_id)
    var watermark_text = el.readAttribute('watermark_text')

    if (el.value == '')
        el.value = watermark_text

}


/////////////////////////////////////////
// Wizzard
/////////////////////////////////////////

function hideQuestion(guid) {
    //alert(guid);
    if ($(guid + '_divMessage').innerHTML.trim() == '') {
        $(guid + '_divHeaderPreviewText').show();
        $(guid + '_divHeaderPreviewText').innerHTML = $(guid + '_txtQuestionText').value
        $(guid + '_txtQuestionText').blur();
        $(guid + '_tblHeader').hide();
        $(guid + '_contentHeader').hide();
        $(guid + '_img_colapse').hide();
        $(guid + '_img_expand').show();

        //try { $(guid + '_child_divHeader').hide(); } catch (e) { }
        
    }
}

function showQuestion(guid) {
    hideAllQuestions();
    $(guid + '_divHeaderPreviewText').hide();
    $(guid + '_tblHeader').show();
    $(guid + '_contentHeader').show();
    $(guid + '_img_colapse').show();
    $(guid + '_img_expand').hide();

    //try { $(guid + '_child_divHeader').show(); } catch (e) { }
}

function hideAllQuestions() {
    //Close all
    $$("#phQuestions LI").each(function(el) { hideQuestion(el.id.replace('li_', '')) });
}

function hideSurveyDetails() {
        
        $('divSurveyPreview').show();
        $('txtSurveyName').blur();
        $('divSurveyPreviewText').innerHTML = $('txtSurveyName').value
        $('divSurveyDetails').hide();
        $('txtSurveyPreviewVisible').value = 1;
    
}

function showSurveyDetails() {
    $('divSurveyPreview').hide();
    $('divSurveyDetails').show();
    $('txtSurveyPreviewVisible').value = 0;
}

///////////////////////////////////////////
// Manage and results
///////////////////////////////////////////
function selectSurvey(cb) {
    var row = $(cb.id).ancestors()[1];
    var surveyid = row.readAttribute('surveyid');
    var tb = $('txtSelectedSurveys');
    var sSurveys = tb.value;

    if (cb.checked == true) {
        sSurveys = sSurveys + '#' + surveyid + "#;";
        _surveys_selected_count = _surveys_selected_count + 1
    }
    else {
        sSurveys = sSurveys.replace('#' + surveyid + "#;", '');
        _surveys_selected_count = _surveys_selected_count - 1
    }
    tb.value = sSurveys;

    var selected_surveyid = sSurveys.replace(/;/g,'').replace(/#/g,'')
   
    enableButton($('btnEdit'), _surveys_selected_count == 1)
    enableButton($('btnFollowUp'), _surveys_selected_count == 1)
    enableButton($('btnDistribute'), _surveys_selected_count == 1)
    enableButton($('btnPreview'), _surveys_selected_count == 1)
    enableButton($('btnPostOnFB'), (_surveys_selected_count == 1) && ($('fb_icon_' + selected_surveyid) != null))
    enableButton($('btnDelete'), _surveys_selected_count >= 1)
    enableButton($('btnActivate'), _surveys_selected_count >= 1)
    enableButton($('btnDeactivate'), _surveys_selected_count >= 1)

    enableButton($('btnAnalyze'), _surveys_selected_count == 1)
    enableButton($('btnRoi'), _surveys_selected_count == 1)
    enableButton($('btnDeleteData'), _surveys_selected_count >= 1)
    enableButton($('btnExport'), _surveys_selected_count == 1)
    enableButton($('btnReporting'), true)

}

function answerTypeChangedHandler(sender, index) {
    var ctrlID = $(sender.o_A).up(4).id.replace('_divHeader', '')
    answerTypeChanged(ctrlID, sender.options[index].value)
}

function answerTypeChanged(ctrlID, atvalue) {
    $(ctrlID + '_divCaption').hide();
    $(ctrlID + '_divRequired').hide();
    $(ctrlID + '_divFieldSize').hide();
    $(ctrlID + '_divDefaultValue').hide();
    $(ctrlID + '_divEnterChoices').hide();
    $(ctrlID + '_divChooseChoices').hide();
    $(ctrlID + '_divPersonalInfo').hide();
    $(ctrlID + '_divRegular').hide();
    $(ctrlID + '_divAggregation').hide();
  
    //Multiple choice
    if (atvalue == 1) {
        $(ctrlID + '_divRegular').show();
        $(ctrlID + '_divEnterChoices').show();
        $(ctrlID + '_divRequired').show();
    }

    //Single choice
    if (atvalue == 3) {
        $(ctrlID + '_divEnterChoices').show();
        $(ctrlID + '_divRequired').show();
        $(ctrlID + '_divRegular').show();
    }

    //Dropdown
    if (atvalue == 4) {
        $(ctrlID + '_divEnterChoices').show();
       // $(ctrlID + '_divChooseChoices').show();
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
       // $(ctrlID + '_divFieldSize').show();
        $(ctrlID + '_divRegular').show();
    }

    // CUSTOM_INPUT_TEXT = 5
    if (atvalue == 5) {
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
        $(ctrlID + '_divFieldSize').show();
        $(ctrlID + '_divDefaultValue').show();
        $(ctrlID + '_divRegular').show();
    }

    //CUSTOM_INPUT_NUMBER = 6
    if (atvalue == 6) {
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
        //  $(ctrlID + '_divFieldSize').show();
        $(ctrlID + '_divDefaultValue').show();
        $(ctrlID + '_divRegular').show();
        $(ctrlID + '_divAggregation').show();
    }

    //CUSTOM_INPUT_DATE_TIME = 7
    if (atvalue == 7) {
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
        //   $(ctrlID + '_divFieldSize').show();
        //   $(ctrlID + '_divDefaultValue').show();
        $(ctrlID + '_divRegular').show();
    }

    //CUSTOM_INPUT_EMAIL = 9
    if (atvalue == 9) {
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
        //  $(ctrlID + '_divFieldSize').show();
        //   $(ctrlID + '_divDefaultValue').show();
        $(ctrlID + '_divRegular').show();
    }

    // CUSTOM_INPUT_PHONE = 10
    if (atvalue == 10) {
        $(ctrlID + '_divCaption').show();
        $(ctrlID + '_divRequired').show();
        // $(ctrlID + '_divFieldSize').show();
        //  $(ctrlID + '_divDefaultValue').show();
        $(ctrlID + '_divRegular').show();
    }

    //personal info
    if (atvalue == 8) {
        $(ctrlID + '_divPersonalInfo').show();
        $(ctrlID + '_divRegular').hide();
    }
    
       //not set
    if (atvalue != 0) 
       $(ctrlID + '_divMessage').hide();
    else
       $(ctrlID + '_divMessage').show();
    

}

