/**
 * SBI IR
 * Per Fredrik Plars 051118
 *
 */
function oR(aid){
    newsPopup(aid,null);
}
function oI(aid){
    alert("Not implemented ! "+aid);
}
function oP(aid){
    newsPopup(aid,null);
}
function oN(aid){
    newsPopup(aid,null);
}
/**
 * Metoden anropas när musen för sig över ett diagram.
 * Date är datumet för aktuell musposition
 * Value är värdet för det aktuella datumet
 */
function sV(date,value){
    var statusBar = document.getElementById("dateValueBar");
    if(statusBar){
        statusBar.innerHTML = date+': '+value;
    }
}
/**
 * Show news in a popup window
 */
function newsPopup(aid,newsPage){
    var file = "../common/defaultnews.page"; // default
    if(newsPage!=null)
        file = newsPage;
    var magic ="?magic=(cc (newsid "+aid.split(',').join(' ')+"))";
    magic = magic.replace(/&amp;/g, '&');
    var width="700";
    var height="500";
    popup=window.open(file+magic,"news","width="+width+",height="+height+",resizable=yes,scrollbars=yes");
    popup.moveTo((screen.width - width)/2, (screen.height - height)/2);
    popup.focus();
}

function openWindow(file,width,height){
    popup=window.open(file,"Popup","width="+width+",height="+height+",resizable=yes,scrollbars=yes");
    if (popup == null) {
        alert("Cant open popup window. Maybe a popup blocker is pressent ?");
        return true;
    }
    popup.moveTo((screen.width - width)/2, (screen.height - height)/2);
    popup.focus();
    return false;
}
function selectChange(form){
    if(form.from!=null)
    form.from.value="yyyy-mm-dd";
     if(form.to!=null)
    form.to.value="yyyy-mm-dd";
}

function setFocus(form){
    // Clear from and to field
    //form.from.focus();
    if(form.from.value=="yyyy-mm-dd")
        form.from.value="";

    if(form.to.value=="yyyy-mm-dd")
        form.to.value="";
}

function changeList(form,url){
    if(form.options){ // select list
        var p = form.options[form.selectedIndex].value;
        if(p!=''){
            url = url.replace('_arg1', p);
            self.location=url;
        }
    }

}
function changeDiagram(windowobj,form,alignment,url){
    var toDay = new Date();
    toDay.setHours(00,00,00,00);
    url = url.replace(/&amp;/g, '&');
    var p; // Period
    var period = form.period;// Period object
    if(period.options){ // select list
        p = period.options[period.selectedIndex].value;
    }else{
        p = '1m';
    }
    url = url.replace('_period', p);

    /** Date check from and to dates **/
    var to = form.to.value;
    var from = form.from.value;
    var fromdate = convertIntoDate(from);
    var todate = convertIntoDate(to);

    if(form.from!=null){
        if(fromdate==null){
            if(to=='')
                selectChange(form);
            else{
                alert("From date must be entered "+to);
                return false;
            }
        }else if(fromdate >= toDay){
            alert("Fromdate can't be in the future ! ");
            return false;
        }
        url = url.replace('_from', from);
    }
    if(form.to!=null){
        if(to!='' && todate==null){
            alert("Todate format must be yyyy-mm-dd ");
            return false;
        }else if(to!='' && todate >= toDay){
            alert("To date can't be in the future ! ");
            return false;
        }else if(to!='' && todate <= fromdate){
            alert("Fromdate can't be grater then todate ");
            return false;
        }
        url = url.replace('_to', to);
    }

    var indices = form.idx;
    if(indices){
        var idx="";
        for(var i=0;i<indices.length;i++){
            if(indices[i].checked==true){
                idx+=(indices[i].value+" ");
            }// end if
        }//end for
        if(indices.checked==true){
            idx+=(indices.value+" ");
        } // end if
        idx = idx.substring(0,url.length-1);
        url = url.replace('_idx', idx);
    }

    var stocks = form.stk;
    if(stocks){
        var stk="";
        for(var i=0;i<stocks.length;i++){
            if(stocks[i].checked==true){
                stk+=(stocks[i].value+" ");
            }// end if
        }//end for
        if(stocks.checked==true){
            stk+=(stocks.value+" ");
        } // end if
        stk = stk.substring(0,url.length-1);
        url = url.replace('_stk', stk);
    }
    if(form.insidersource)
        url = url.replace('_insidersource', form.insidersource.checked==true?'true':'false');
    if(form.newssource)
        url = url.replace('_newssource', form.newssource.checked==true?'true':'false');
    if(form.presssource)
        url = url.replace('_presssource', form.presssource.checked==true?'true':'false');
    if(form.reportsource)
        url = url.replace('_reportsource', form.reportsource.checked==true?'true':'false');
    //alert(url);

    if(alignment=='right')
        windowobj.iserverright.location.href = url;
    else{
        windowobj.iserverbottom.location.href = url;
    }
    return false;
}

function convertIntoDate(indate){
    if(indate.indexOf("-",indate.indexOf("-")+1)!=7)
        return null;
    var outdate = new Date();
    var year=indate.substring(0,4);
    var month=indate.substring(5,7);
    var day=indate.substring(8,10);
    outdate.setFullYear(year,month-1,day);
    outdate.setHours(00,00,00,00);
    return outdate;
}

/* Per Fredrik Plars made SIX AB 050926
*  Nerladdnings url till SBI:s excel tjänst
*/
function excelDownload(form){
    var url="http://ir.svenskborsinfo.se/sbiir/act?action=data&format=excel";
    //url+="&prompt=true";
    // Extra parameters
    if(form.sortAscending){
        url+="&sortasending="+(form.sortAscending.checked ? 'true' : 'false');
    }

    if(form.freezepane){
        url+="&freezepane="+(form.freezepane.checked ? 'true' : 'false');
    }
    var period = form.period;
    if(period){
        for(var i=0;i<period.length;i++){
            if(period[i].checked==true){
                url+="&period="+period[i].value;
                break;
            }// end if
        }// end for
    }else{
        alert("Missing period !");
    }
    var fields = form.fields;
    var checkedFields=0;
    if(fields){
        url+="&tsid=";
        for(var i=0;i<fields.length;i++){
            if(fields[i].checked==true){
                checkedFields++;
                url+=(fields[i].value+",");
            }// end if
        }//end for
        if(fields.checked==true){ // Single checkbox
            url+=(fields.value+",");
            checkedFields++;
        }
        url= url.substring(0,url.length-1);
    }else{
        alert("Missing field !");
        return false;
    }

    if(checkedFields==0){
        alert("One field must be selected");
        return false;
    }
    url = url.replace(/&amp;/g, '&');
    //window.open(url);
    parent.top.location.href = url;
    //window.location.href = url;
    return false;
}

function getObj(objName){
    if(document.layers){//NN4+
        return  document.layers[objName];
    }else if(document.getElementById){	  //gecko(NN6) + IE 5+
        return  document.getElementById(objName);
    }else if(document.all){	// IE 4
        return  document.all[szDivID];
    }
    return null;
}

function showLayer(objName, iState){ // 1 visible, 0 hidden
    var obj = getObj(objName);
    if(obj!=null){
        obj.style.visibility = iState ? "visible" : "hidden";
        obj.style.display = iState ? "block" : "none";
    }
    return;

}
/*
Per Fredrik Plars 051026
Hides and unhide layer
*/
function showHide(objName)
{
    var obj = getObj(objName);
    if(obj!=null){
        var state = obj.style.visibility;
        //alert('State'+state);
        if(state=="")
            state = "hidden";

        obj.style.visibility = state=="hidden" ? "visible" : "hidden";
        obj.style.display = state=="hidden" ? "block" : "none";
    }
    return;
}


function XHConn()
{
    var xmlhttp, bComplete = false;
    try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) { try { xmlhttp = new XMLHttpRequest(); }
    catch (e) { xmlhttp = false; }}}
    if (!xmlhttp) return null;
    this.connect = function(sURL, sMethod, sVars, fnDone)
    {
        if (!xmlhttp) return false;
        bComplete = false;
        sMethod = sMethod.toUpperCase();
        try {
            if(sMethod == "GET"){
                xmlhttp.open(sMethod, sURL+"?"+sVars, true);
                sVars = "";
            }else{
                xmlhttp.open(sMethod, sURL, true);
                xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            }
            xmlhttp.onreadystatechange = function(){
                if (xmlhttp.readyState == 4 && !bComplete){
                    bComplete = true;
                    fnDone(xmlhttp);
                }};
            xmlhttp.send(sVars);
        }
        catch(z) { return false; }
        return true;
    };
    return this;
}



var myConn = new XHConn();
if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");

function registerAlert(form) {
    var fnWhenDone = function (oXML) { alert(oXML.responseText); };
    var min = form.min.value;
    min = min.replace('.',',');
    var max = form.max.value;
    max = max.replace('.',',');
    myConn.connect("../common/notification.action", "POST",
            "tsid=" + form.tsid.value +
            "&min="+ min +
            "&max="+ max +
            "&email="+ form.email.value, fnWhenDone);

    //form.email.value="";
    //form.min.value="";
    //form.max.value="";
    return false;

}

