var refreshSpeed = 30000;
var chIntId;

var chart = {
    'source' : {
        'Pday' : {
            'title' : 'Daily Chart',
            'path' : 'images/01Day/'
        },
        'P5days' : {
            'title' : '5 Days Chart',
            'path' : 'images/05Days/'
        },
        'P30days' : {
            'title' : '30 Days Chart',
            'path' : 'images/30Days/'
        },
        'P60days' : {
            'title' : '60 Days Chart',
            'path' : 'images/60Days/'
        }
    }
};

var viewSelector;

function getPath(type){
    var path;
    switch (type){
        case '5days':
            path = chart.source.P5days.path;
            break;
        case '30days':
            path = chart.source.P30days.path;
            break;
        case '60days':
            path = chart.source.P60days.path;
            break;
        default:
            path = chart.source.Pday.path;
            break;
    }
    return path;
}

function changeChart(obj){
    viewSelector = obj;
    var param = createQueryString(
        {
            "cmd" : "chgChart",
            "type" : obj.getElementsByTagName("option")[obj.selectedIndex].value
        }
    );
    
    sendRequest('POST' ,'ServerResponse.aspx', true, param, function(){
        showLoader(document.getElementById("graphic_container"));
        
        
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
            var type = viewSelector.getElementsByTagName("option")[obj.selectedIndex].value;
            var file = getPath(type) + xmlHttp.responseText;
            var img = document.getElementById("jsx_chart");
            
            var src = img.src.substring(0, img.src.search(/images\//));
            
            img.src = src + file;
            removeLoader();
            
            img.parentNode.style.position = '';
            img.parentNode.style.zIndex = '99';
        }
        else{
        }
    });
}

function showLoader(target){
    target.style.position = 'relative';
            
    var width = target.offsetWidth;
    var height = target.offsetHeight;
    var selfHeight = 60;
    var selfWidth = 130;
    
    var posX = (width - selfWidth) / 2;
    var posY = (height - selfHeight) / 2;
    
    var lImg = document.createElement('img');
        lImg.src = 'images/loading.gif';
        lImg.style.width = selfWidth + 'px';
        lImg.style.height = selfHeight + 'px';
    
    var lCont = document.createElement("div");      
        lCont.id = 'loader_container';
        lCont.style.position = 'absolute';
        lCont.style.zIndex = '1';
        lCont.style.width = selfHeight + 'px';
        lCont.style.height = selfWidth + 'px';
        lCont.style.top = '0';
        lCont.style.left = posX + 'px';
        lCont.appendChild(lImg);
    
    removeLoader();
    target.appendChild(lCont);
}

function removeLoader(){
    if (document.getElementById("loader_container")){
        var loader = document.getElementById("loader_container");
            loader.parentNode.removeChild(loader);
    }
}

function refreshChart(){

    var param = createQueryString(
        {
            "cmd" : "getLastUpdate"
        }
    );
    
   sendRequest('POST' ,'ServerResponse.aspx', true, param, function(){
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
             document.getElementById("indexDateSnapshot").innerHTML = xmlHttp.responseText;
        }
   });

    var image = document.getElementById("jsx_chart");
    if (image.src.search(/\?/) != -1)
        var imgPath = image.src.substring(0, image.src.indexOf("?"));
    else 
        var imgPath = image.src;
        
    
    image.src = String(imgPath) + "?" + String(Math.random());
}

//chIntId = setInterval(refreshChart, refreshSpeed)