var F;
var P1pivot, P1re1, P1re2, P1re3, P1su1, P1su2, P1su3, P1High, P1Close, P1Low;
var P2pivot, P2re1, P2re2, P2re3, P2su1, P2su2, P2su3, P2High, P2Close, P2Low;
var P3pivot, P3re1, P3re2, P3re3, P3su1, P3su2, P3su3, P3High, P3Close, P3Low;
var P4pivot, P4re1, P4re2, P4re3, P4su1, P4su2, P4su3, P4High, P4Close, P4Low;

function CalcularPivot(method) {
    switch (method) 
    {
        case '0':
            tradicional();
            /*Printem la fòrmula*/
            document.getElementById('titolformules').style.display = 'block';
            document.getElementById('formules').innerHTML = "<li><span>Pivot = ( High + Close + Low ) / 3</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R1 = 2 * Pivot - Low</span> - Normal Trading Range</li>";
            document.getElementById('formules').innerHTML += "<li><span>S1 = 2 * Pivot - High</span> - For The Next Period</li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R2 = Pivot + (Resistance1 - Support1)</span> - Extreme Trading Range</li>";
            document.getElementById('formules').innerHTML += "<li><span>S2 = Pivot - (Resistance1 - Support1)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R3 = High + 2*(Pivot - Low)</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S3 = Low - 2*(High - Pivot)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>M5 = (R2+R3)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M4 = (R1+R2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M3 = (P+R1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M2 = (P+S1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M1 = (S1+S2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M0 = (S2+S3)/2;</span></li>";
            break
       case '1':
            camarilla();
            /*Printem la fòrmula*/
            document.getElementById('titolformules').style.display = 'block';
            document.getElementById('formules').innerHTML = "<li><span>Pivot = ( High + Close + Low ) / 3</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R1 = ((High - Low) * (1.1 / 12)) + Close </span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S1 =  Close - ((High - Low) * (1.1 / 12))</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R2 = ((High - Low) * (1.1 / 6)) + Close</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S2 = Close - ((High - Low) * (1.1 / 6))</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R3 = ((High - Low) * (1.1 / 4)) + Close</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S3 = Close - ((High - Low) * (1.1 / 4))</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>M5 = (R2+R3)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M4 = (R1+R2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M3 = (P+R1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M2 = (P+S1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M1 = (S1+S2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M0 = (S2+S3)/2;</span></li>";
           break
        case '2':
            fibonacci();
            /*Printem la fòrmula*/
            document.getElementById('titolformules').style.display = 'block';
            document.getElementById('formules').innerHTML = "<li><span>Pivot = ( High + Close + Low ) / 3</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R1 = Pivot + 0.382 * (High - Low)</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S1 = Pivot - 0.382 * (High - Low)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R2 = Pivot + 0.618 * (High - Low)</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S2 = Pivot - 0.618 * (High - Low)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R3 = Pivot + (High - Low)</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S3 = Pivot - (High - Low)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>M5 = (R2+R3)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M4 = (R1+R2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M3 = (P+R1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M2 = (P+S1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M1 = (S1+S2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M0 = (S2+S3)/2;</span></li>";
           break
        case '3':
            woodies();
            /*Printem la fòrmula*/
            document.getElementById('titolformules').style.display = 'block';
            document.getElementById('formules').innerHTML = "<li><span>Pivot = ( High + 2 * Close + Low ) / 4</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R1 = ( 2 * Pivot ) - Low</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S1 = ( 2 * Pivot ) - High</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>R2 = Pivot + (High - Low)</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>S2 = Pivot - (High - Low)</span></li><br />";
            document.getElementById('formules').innerHTML += "<li><span>M4 = (R1+R2)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M3 = (P+R1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M2 = (P+S1)/2;</span></li>";
            document.getElementById('formules').innerHTML += "<li><span>M1 = (S1+S2)/2;</span></li>";
           break
    }
    return; 
}

function tradicional()
{
    /*Agafem els valors*/
    F = document.Pivot;
    P1High = parseFloat(F.P1H.value);
    P1Low = parseFloat(F.P1L.value);
    P1Close = parseFloat(F.P1C.value);

    P2High = parseFloat(F.P2H.value);
    P2Low = parseFloat(F.P2L.value);
    P2Close = parseFloat(F.P2C.value);

    P3High = parseFloat(F.P3H.value);
    P3Low = parseFloat(F.P3L.value);
    P3Close = parseFloat(F.P3C.value);

    P4High = parseFloat(F.P4H.value);
    P4Low = parseFloat(F.P4L.value);
    P4Close = parseFloat(F.P4C.value);

    /*Calculem*/
    P1pivot = (1 * P1High + 1 * P1Low + 1 * P1Close) / 3;
    P1re1 = 2 * P1pivot - P1Low;
    P1su1 = 2 * P1pivot - P1High;
    P1re2 = P1pivot + (P1re1 - P1su1);
    P1su2 = P1pivot - (P1re1 - P1su1);
    P1re3 = P1High + 2 * (P1pivot - P1Low);
    P1su3 = P1Low - 2 * (P1High - P1pivot);

    P2pivot = (1 * P2High + 1 * P2Low + 1 * P2Close) / 3;
    P2re1 = 2 * P2pivot - P2Low;
    P2su1 = 2 * P2pivot - P2High;
    P2re2 = P2pivot + (P2re1 - P2su1);
    P2su2 = P2pivot - (P2re1 - P2su1);
    P2re3 = P2High + 2 * (P2pivot - P2Low);
    P2su3 = P2Low - 2 * (P2High - P2pivot);

    P3pivot = (1 * P3High + 1 * P3Low + 1 * P3Close) / 3;
    P3re1 = 2 * P3pivot - P3Low;
    P3su1 = 2 * P3pivot - P3High;
    P3re2 = P3pivot + (P3re1 - P3su1);
    P3su2 = P3pivot - (P3re1 - P3su1);
    P3re3 = P3High + 2 * (P3pivot - P3Low);
    P3su3 = P3Low - 2 * (P3High - P3pivot);

    P4pivot = (1 * P4High + 1 * P4Low + 1 * P4Close) / 3;
    P4re1 = 2 * P4pivot - P4Low;
    P4su1 = 2 * P4pivot - P4High;
    P4re2 = P4pivot + (P4re1 - P4su1);
    P4su2 = P4pivot - (P4re1 - P4su1);
    P4re3 = P4High + 2 * (P4pivot - P4Low);
    P4su3 = P4Low - 2 * (P4High - P4pivot);
    /**************************/

    /*Printem a la taula*/
    printataula();    
    return;
}

function camarilla() {
    /*Agafem els valors*/
    F = document.Pivot
    P1High = parseFloat(F.P1H.value);
    P1Low = parseFloat(F.P1L.value);
    P1Close = parseFloat(F.P1C.value);

    P2High = parseFloat(F.P2H.value);
    P2Low = parseFloat(F.P2L.value);
    P2Close = parseFloat(F.P2C.value);

    P3High = parseFloat(F.P3H.value);
    P3Low = parseFloat(F.P3L.value);
    P3Close = parseFloat(F.P3C.value);

    P4High = parseFloat(F.P4H.value);
    P4Low = parseFloat(F.P4L.value);
    P4Close = parseFloat(F.P4C.value);

    /*Calculem*/
    P1pivot = (1 * P1High + 1 * P1Low + 1 * P1Close) / 3;
    P1re1 = ((P1High - P1Low) * (1.1 / 12)) + P1Close;
    P1su1 = P1Close - ((P1High - P1Low) * (1.1 / 12));
    P1re2 = ((P1High - P1Low) * (1.1 / 6)) + P1Close;
    P1su2 = P1Close - ((P1High - P1Low) * (1.1 / 6));
    P1re3 = ((P1High - P1Low) * (1.1 / 4)) + P1Close;
    P1su3 = P1Close - ((P1High - P1Low) * (1.1 / 4));

    P2pivot = (1 * P2High + 1 * P2Low + 1 * P2Close) / 3;
    P2re1 = ((P2High - P2Low) * (1.1 / 12)) + P2Close;
    P2su1 = P2Close - ((P2High - P2Low) * (1.1 / 12));
    P2re2 = ((P2High - P2Low) * (1.1 / 6)) + P2Close;
    P2su2 = P2Close - ((P2High - P2Low) * (1.1 / 6));
    P2re3 = ((P2High - P2Low) * (1.1 / 4)) + P2Close;
    P2su3 = P2Close - ((P2High - P2Low) * (1.1 / 4));

    P3pivot = (1 * P3High + 1 * P3Low + 1 * P3Close) / 3;
    P3re1 = ((P3High - P3Low) * (1.1 / 12)) + P3Close;
    P3su1 = P3Close - ((P3High - P3Low) * (1.1 / 12));
    P3re2 = ((P3High - P3Low) * (1.1 / 6)) + P3Close;
    P3su2 = P3Close - ((P3High - P3Low) * (1.1 / 6));
    P3re3 = ((P3High - P3Low) * (1.1 / 4)) + P3Close;
    P3su3 = P3Close - ((P3High - P3Low) * (1.1 / 4));

    P4pivot = (1 * P4High + 1 * P4Low + 1 * P4Close) / 3;
    P4re1 = ((P4High - P4Low) * (1.1 / 12)) + P4Close;
    P4su1 = P4Close - ((P4High - P4Low) * (1.1 / 12));
    P4re2 = ((P4High - P4Low) * (1.1 / 6)) + P4Close;
    P4su2 = P4Close - ((P4High - P4Low) * (1.1 / 6));
    P4re3 = ((P4High - P4Low) * (1.1 / 4)) + P4Close;
    P4su3 = P4Close - ((P4High - P4Low) * (1.1 / 4));
    /**************************/

    /*Printem a la taula*/
    printataula();    

    return;
}

function fibonacci() {
    /*Agafem els valors*/
    F = document.Pivot
    P1High = parseFloat(F.P1H.value);
    P1Low = parseFloat(F.P1L.value);
    P1Close = parseFloat(F.P1C.value);

    P2High = parseFloat(F.P2H.value);
    P2Low = parseFloat(F.P2L.value);
    P2Close = parseFloat(F.P2C.value);

    P3High = parseFloat(F.P3H.value);
    P3Low = parseFloat(F.P3L.value);
    P3Close = parseFloat(F.P3C.value);

    P4High = parseFloat(F.P4H.value);
    P4Low = parseFloat(F.P4L.value);
    P4Close = parseFloat(F.P4C.value);

    /*Calculem*/
    P1pivot = (1 * P1High + 1 * P1Low + 1 * P1Close) / 3;
    P1re1 = P1pivot + 0.382 * (P1High - P1Low);
    P1su1 = P1pivot - 0.382 * (P1High - P1Low);
    P1re2 = P1pivot + 0.618 * (P1High - P1Low);
    P1su2 = P1pivot - 0.618 * (P1High - P1Low);
    P1re3 = P1pivot + (P1High - P1Low);
    P1su3 = P1pivot - (P1High - P1Low);

    P2pivot = (1 * P2High + 1 * P2Low + 1 * P2Close) / 3;
    P2re1 = P2pivot + 0.382 * (P2High - P2Low);
    P2su1 = P2pivot - 0.382 * (P2High - P2Low);
    P2re2 = P2pivot + 0.618 * (P2High - P2Low);
    P2su2 = P2pivot - 0.618 * (P2High - P2Low);
    P2re3 = P2pivot + (P2High - P2Low);
    P2su3 = P2pivot - (P2High - P2Low);

    P3pivot = (1 * P3High + 1 * P3Low + 1 * P3Close) / 3;
    P3re1 = P3pivot + 0.382 * (P3High - P3Low);
    P3su1 = P3pivot - 0.382 * (P3High - P3Low);
    P3re2 = P3pivot + 0.618 * (P3High - P3Low);
    P3su2 = P3pivot - 0.618 * (P3High - P3Low);
    P3re3 = P3pivot + (P3High - P3Low);
    P3su3 = P3pivot - (P3High - P3Low);

    P4pivot = (1 * P4High + 1 * P4Low + 1 * P4Close) / 3;
    P4re1 = P4pivot + 0.382 * (P4High - P4Low);
    P4su1 = P4pivot - 0.382 * (P4High - P4Low);
    P4re2 = P4pivot + 0.618 * (P4High - P4Low);
    P4su2 = P4pivot - 0.618 * (P4High - P4Low);
    P4re3 = P4pivot + (P4High - P4Low);
    P4su3 = P4pivot - (P4High - P4Low);
    /**************************/

    /*Printem a la taula*/
    printataula();    

    return;
}

function woodies() {
    /*Agafem els valors*/
    F = document.Pivot
    P1High = parseFloat(F.P1H.value);
    P1Low = parseFloat(F.P1L.value);
    P1Close = parseFloat(F.P1C.value);

    P2High = parseFloat(F.P2H.value);
    P2Low = parseFloat(F.P2L.value);
    P2Close = parseFloat(F.P2C.value);

    P3High = parseFloat(F.P3H.value);
    P3Low = parseFloat(F.P3L.value);
    P3Close = parseFloat(F.P3C.value);

    P4High = parseFloat(F.P4H.value);
    P4Low = parseFloat(F.P4L.value);
    P4Close = parseFloat(F.P4C.value);

    /*Calculem*/
    P1pivot = (1 * P1High + 1 * P1Low + 2 * P1Close) / 4;
    P1re1 = (2 * P1pivot) - P1Low;
    P1su1 = (2 * P1pivot) - P1High;
    P1re2 = P1pivot + (P1High - P1Low);
    P1su2 = P1pivot - (P1High - P1Low);
    P1re3 = NaN;
    P1su3 = NaN;
    
    P2pivot = (1 * P2High + 1 * P2Low + 2 * P2Close) / 4;
    P2re1 = (2 * P2pivot) - P2Low;
    P2su1 = (2 * P2pivot) - P2High;
    P2re2 = P2pivot + (P2High - P2Low);
    P2su2 = P2pivot - (P2High - P2Low);
    P2re3 = NaN;
    P2su3 = NaN;

    P3pivot = (1 * P3High + 1 * P3Low + 2 * P3Close) / 4;
    P3re1 = (2 * P3pivot) - P3Low;
    P3su1 = (2 * P3pivot) - P3High;
    P3re2 = P3pivot + (P3High - P3Low);
    P3su2 = P3pivot - (P3High - P3Low);
    P3re3 = NaN;
    P3su3 = NaN;

    P4pivot = (1 * P4High + 1 * P4Low + 2 * P4Close) / 4;
    P4re1 = (2 * P4pivot) - P4Low;
    P4su1 = (2 * P4pivot) - P4High;
    P4re2 = P4pivot + (P4High - P4Low);
    P4su2 = P4pivot - (P4High - P4Low);
    P4re3 = NaN;
    P4su3 = NaN;
    /**************************/

    /*Printem a la taula*/
    printataula();
    F.P1PP.value = Math.round(((P1High + 2*P1Close + P1Low) / 4) * 10000) / 10000;
    F.P2PP.value = Math.round(((P2High + 2*P2Close + P2Low) / 4) * 10000) / 10000;
    F.P3PP.value = Math.round(((P3High + 2*P3Close + P3Low) / 4) * 10000) / 10000;
    F.P4PP.value = Math.round(((P4High + 2*P4Close + P4Low) / 4) * 10000) / 10000;
    
    return;
}

function printataula() {
    F = document.Pivot
    F.P1P.value = Math.round(P1pivot * 10000) / 10000;
    F.P1R1.value = Math.round(P1re1 * 10000) / 10000;
    F.P1S1.value = Math.round(P1su1 * 10000) / 10000;
    F.P1R2.value = Math.round(P1re2 * 10000) / 10000;
    F.P1S2.value = Math.round(P1su2 * 10000) / 10000;
    F.P1R3.value = Math.round(P1re3 * 10000) / 10000;
    F.P1S3.value = Math.round(P1su3 * 10000) / 10000;
    F.P1M5.value = Math.round(((P1re2 + P1re3) / 2) * 10000) / 10000;
    F.P1M4.value = Math.round(((P1re1 + P1re2) / 2) * 10000) / 10000;
    F.P1M3.value = Math.round(((P1pivot + P1re1) / 2) * 10000) / 10000;
    F.P1M2.value = Math.round(((P1pivot + P1su1) / 2) * 10000) / 10000;
    F.P1M1.value = Math.round(((P1su1 + P1su2) / 2) * 10000) / 10000;
    F.P1M0.value = Math.round(((P1su2 + P1su3) / 2) * 10000) / 10000;
    F.P1PP.value = Math.round(((P1High + P1Close + P1Low) / 3) * 10000) / 10000;

    F.P2P.value = Math.round(P2pivot * 10000) / 10000;
    F.P2R1.value = Math.round(P2re1 * 10000) / 10000;
    F.P2S1.value = Math.round(P2su1 * 10000) / 10000;
    F.P2R2.value = Math.round(P2re2 * 10000) / 10000;
    F.P2S2.value = Math.round(P2su2 * 10000) / 10000;
    F.P2R3.value = Math.round(P2re3 * 10000) / 10000;
    F.P2S3.value = Math.round(P2su3 * 10000) / 10000;
    F.P2M5.value = Math.round(((P2re2 + P2re3) / 2) * 10000) / 10000;
    F.P2M4.value = Math.round(((P2re1 + P2re2) / 2) * 10000) / 10000;
    F.P2M3.value = Math.round(((P2pivot + P2re1) / 2) * 10000) / 10000;
    F.P2M2.value = Math.round(((P2pivot + P2su1) / 2) * 10000) / 10000;
    F.P2M1.value = Math.round(((P2su1 + P2su2) / 2) * 10000) / 10000;
    F.P2M0.value = Math.round(((P2su2 + P2su3) / 2) * 10000) / 10000;
    F.P2PP.value = Math.round(((P2High + P2Close + P2Low) / 3) * 10000) / 10000;

    F.P3P.value = Math.round(P3pivot * 10000) / 10000;
    F.P3R1.value = Math.round(P3re1 * 10000) / 10000;
    F.P3S1.value = Math.round(P3su1 * 10000) / 10000;
    F.P3R2.value = Math.round(P3re2 * 10000) / 10000;
    F.P3S2.value = Math.round(P3su2 * 10000) / 10000;
    F.P3R3.value = Math.round(P3re3 * 10000) / 10000;
    F.P3S3.value = Math.round(P3su3 * 10000) / 10000;
    F.P3M5.value = Math.round(((P3re2 + P3re3) / 2) * 10000) / 10000;
    F.P3M4.value = Math.round(((P3re1 + P3re2) / 2) * 10000) / 10000;
    F.P3M3.value = Math.round(((P3pivot + P3re1) / 2) * 10000) / 10000;
    F.P3M2.value = Math.round(((P3pivot + P3su1) / 2) * 10000) / 10000;
    F.P3M1.value = Math.round(((P3su1 + P3su2) / 2) * 10000) / 10000;
    F.P3M0.value = Math.round(((P3su2 + P3su3) / 2) * 10000) / 10000;
    F.P3PP.value = Math.round(((P3High + P3Close + P3Low) / 3) * 10000) / 10000;

    F.P4P.value = Math.round(P4pivot * 10000) / 10000;
    F.P4R1.value = Math.round(P4re1 * 10000) / 10000;
    F.P4S1.value = Math.round(P4su1 * 10000) / 10000;
    F.P4R2.value = Math.round(P4re2 * 10000) / 10000;
    F.P4S2.value = Math.round(P4su2 * 10000) / 10000;
    F.P4R3.value = Math.round(P4re3 * 10000) / 10000;
    F.P4S3.value = Math.round(P4su3 * 10000) / 10000;
    F.P4M5.value = Math.round(((P4re2 + P4re3) / 2) * 10000) / 10000;
    F.P4M4.value = Math.round(((P4re1 + P4re2) / 2) * 10000) / 10000;
    F.P4M3.value = Math.round(((P4pivot + P4re1) / 2) * 10000) / 10000;
    F.P4M2.value = Math.round(((P4pivot + P4su1) / 2) * 10000) / 10000;
    F.P4M1.value = Math.round(((P4su1 + P4su2) / 2) * 10000) / 10000;
    F.P4M0.value = Math.round(((P4su2 + P4su3) / 2) * 10000) / 10000;
    F.P4PP.value = Math.round(((P4High + P4Close + P4Low) / 3) * 10000) / 10000;
    return;
}