/****************************************************************************************************
* Package : Brightcode Calculator Module
* Author : Theo van der Sluijs
* Link : http://www.brightcode.eu
* Copyright (C) : 2008 Brightcode.eu
* Email : info@brightcode.eu
* Date : January 2008
* Build for Joomla! version : 1.5
* Package Code License :  Commercial License / http://www.brightcode.eu
* Joomla! API Code License : http://www.gnu.org/copyleft/gpl.html GNU/GPL 
* JavaScript Code & CSS : Commercial License / http://www.brightcode.eu
****************************************************************************************************
 * Copyrights (c) 2008
 * All rights reserved. Brightcode.eu
 *
 * This program is Commercial software.
 * Unauthorized reproduction is not allowed.
 * Read the complete license model on our site before using this product
 * http://www.brightcode.eu
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.
 *
 * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *****************************************************************************************************/

//Calculator javascript
x = 0;
ops = "n";
token = 0;

//calculator function
function calc(op){ 
if(!isNaN(op) || op==".")
  { if(!token)
    { if(document.getElementById('calc_outcome').innerHTML == 0)
      { document.getElementById('calc_outcome').innerHTML = op; }
      else
      { document.getElementById('calc_outcome').innerHTML = document.getElementById('calc_outcome').innerHTML + op; }
    }
    else
    { document.getElementById('calc_outcome').innerHTML = op;
      token = 0;
    }
    return;
  }
  else
  { if(op=="C")
    { document.getElementById('calc_outcome').innerHTML = 0;
      token = 0;
      return;
    }
   
    if(op=="CE")
    { document.getElementById('calc_outcome').innerHTML = 0;
      return;
    }
    
    if(op=="%") 
    { document.getElementById('calc_outcome').innerHTML = document.getElementById('calc_outcome').innerHTML / 100.0;
      token = 1;
      return;
    }

    if(op=="+/-") 
    { document.getElementById('calc_outcome').innerHTML = -document.getElementById('calc_outcome').innerHTML;
      token = 1;
      return;
    }

    if(op=="+" || op=="*" || op=="/" || op=="-" || op=="=")
    { token = 1;
      if(ops!="n")
      { if(ops=="+")
        { x = x -(- document.getElementById('calc_outcome').innerHTML);
          document.getElementById('calc_outcome').innerHTML = x;
        }
        if(ops=="-")
        { x = x - document.getElementById('calc_outcome').innerHTML;
          document.getElementById('calc_outcome').innerHTML = x;
        }
        if(ops=="/")
        { x = x / document.getElementById('calc_outcome').innerHTML;
          document.getElementById('calc_outcome').innerHTML = x;
        }
        if(ops=="*")
        { x = x * document.getElementById('calc_outcome').innerHTML;
          document.getElementById('calc_outcome').innerHTML = x;
        }
      }
      else
      { x = document.getElementById('calc_outcome').innerHTML; }
  
      if(op!="=") { ops=op; }
      else { ops="n"; }
      return;
    }
  }
}
