/**
 * This code removes link to current page from top menu.
 */
$(document).ready(function(){
    $("#page_page1").parent().parent().remove();
});


jQuery.altAlert = function (options)  
{  
    var defaults = {  
        modal: true,
        title: 'My title',
        buttons: {  
             "Ok": function()  
             {  
                 jQuery(this).dialog("close");  
             }  
         }  
    };  
    jQuery.extend(defaults, options);    
    delete defaults.autoOpen;     
    window.alert = function ()  
    {  
         defaults.title =  arguments[0]; 
         jQuery("<div><span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 20px 0;\"></span>"+arguments[1].replace(/\n/, "<br />")+"</div>").dialog(defaults);  
    };  
};

(function($) {
    $.fn.poll = function(options){
       var $this = $(this);
       // extend our default options with those provided
       var opts = $.extend({}, $.fn.poll.defaults, options);
       setInterval(update, opts.interval);

       // method used to update element html
       function update(){
           $.ajax({
               type: opts.type,
               url: opts.url,
               success: opts.success
           });
       };
    };

    // default options
    $.fn.poll.defaults = {
       type: "POST",
       url: ".",
       success: '',
       interval: 2000
    };


})(jQuery);


function isValidPage() {
    if ( validPage ) {
        return true;
    } else {
        alert( noValidMessageHeader, noValidMessage );      
        return false;
    }
}

function setDialogs() {
    $(".dialog").dialog({ autoOpen: false, width: 400});
}

function toggleSliderbox(slider, section, state)
{
    $("#" + slider)[0].focus();
    if(state) {
        $('#section_' + section).show();
    } else {
        $('#section_' + section).hide();
    }
    $.getJSON(
        controllerURL + '/sliderbox',
        {
            page: saveparamPage,
            slider: slider,
            state: state
        },
        onAjaxSliderbox
    );
}

function onAjaxSliderbox(obj)
{
    $('#page_total_inner').html(obj.page_total);
    setProgress('currentPageCompletion', obj.currentPageCompletion);
    setProgress('allPagesCompletion', obj.allPagesCompletion);
    for (var key in obj.update) {
        $('#section_' + key).html(obj.update[key]);
    }
    setDialogs();
}

function sendLocation(select)
{
    for (var i=0; i < select.length; i++){
        if (select[i].selected){
            var val = select[i].value;
        }
    }
    
    $.get(
            '',
            {
                user_location: val
            },
            onAjaxLocation
    );
}

function onAjaxLocation(data)
{
    
}

function activateGroupItem(groupID, itemID) 
{
    $("#" + groupID + " div>input").attr("disabled", "disabled");
    $("#" + groupID + " div>select").attr("disabled", "disabled");
    $("#" + groupID + " span>input").attr("disabled", "disabled");
    $("#" + groupID + " span>select").attr("disabled", "disabled");
    if (itemID.length) {
        $("#" + itemID + " input, #" + itemID + " select").attr("disabled", "");
        groups = $("#" + itemID + " input[type=\"radio\"]");
        groups.each(function(i, item){
            if (item.checked) {
                activateGroupItem(item.name, item.value);
            }
        });
    }
}

function activateComparisonPeriod(select) 
{
    itemID = parseInt(select.value);
    
    $("#quarter").css("display", "none");
    $("#month").css("display", "none");
    $("#year").css("display", "none");
    
    switch(itemID) {
        case 1:
            $("#year").css("display", "block");
            break;
        case 2:
            $("#quarter").css("display", "block");
            break;
        case 3:
            $("#month").css("display", "block");        
    }
}

function activatePeriod(select) 
{
    itemID = parseInt(select.value);
    switch(itemID) {
        case 2:
            $("#quarter").attr("disabled", "");
            $("#month").attr("disabled", "disabled");
            break;
        case 3:
            $("#quarter").attr("disabled", "disabled");
            $("#month").attr("disabled", "");
            break;
        default:
            $("#quarter").attr("disabled", "disabled");
            $("#month").attr("disabled", "disabled");       
    }
}

function sendParam(name)
{
    var elements = $("input[name='" + name + "'], select[name='" + name + "']");
    var val = elements.attr('value');  
    for (var i=0; i < elements.length; i++){
        if (elements[i].checked){
            var val = $.trim(elements[i].value);
        }
    }
    
    $.getJSON(
            controllerURL + '/saveparam',
            {
                param: name, 
                value: val,
                page: saveparamPage
            },
            onAjaxSuccess
    );
}

function onAjaxSuccess(obj)
{
    if (obj.warnToSaveData === true) {
        //console.log(obj.warnToSaveData);
        window.warnToSaveData = true;
    }
    
    $('#page_total_inner').html(obj.page_total);
    $('#section_total_' + obj.section_total_block_id).html(obj.section_total);
    $('#trip_emission_' + obj.trip_emission_block_id).html(obj.trip_emission);
    setProgress('currentPageCompletion', obj.currentPageCompletion);
    setProgress('allPagesCompletion', obj.allPagesCompletion);
    for (var key in obj.update) {
        $('#section_' + key).html(obj.update[key]);
    }
    validPage = obj.valid_page=="true"?true:false;
    setDialogs();
}

function setProgress(progress_id, percents)
{
    $('#' + progress_id + " div").css("width", percents + "%");
}

function checkData(userId,myLocation,sid)
{
    $.get("/fi/user/ajax/nordicoffset/", { id: userId, sid: sid, location: myLocation },
              function(data){
                if(data != -1) {
                    console.log(data);
                    var url = "/fi/user/page/show/name/compensation";    
                    $(location).attr('href',url);
                } else {
                    setTimeout('checkData(\''+userId+'\',\''+myLocation+'\',\''+sid+'\')', 3000);
                }
              }, 
              'json'); 
}

function myPopup(allTotal,userId,myLocation,sid) {
    window.open( "http://www.nordicoffset.com/neutraloffice.php?id="+userId+"&co="+allTotal+"&location="+myLocation, "myWindow", 
    "status = 1, height = 650, width = 800, resizable = 1" );
    
    $('#nordicoffsetCompensation').css('display','table');  
    checkData(userId,myLocation,sid);
}




