<?php
/**
* This file is part of the easy-CMS project.
* easy-CMS is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* 
* easy-CMS is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with easy-CMS; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

include_once('config.inc.php');

/**
* Allows integer numbers operations and outputs.
*
* @access   private
* @author	Cedric Francoys <cedric.francoys@easy-cms.org>
* @version	Integer.class, Sun Nov 28 13:28:56 CET 2004
* @package	Types
*/
class Integer {

  var $value;

  function Integer($value = 0) {
    $this->setValue($value);
  }

  function getType() {
    return EASY_CMS_TYPE_INTEGER;
  }
		
	function compareTo(&$integerObj){
    if ($integerObj->getValue() == $this->getValue()) {
      return 0;
    }
    if ($integerObj->getValue() > $this->getValue()) {
      return -1;
    }
    return 1;
	}
	
  function setValue($value) {
    $this->value = $value;
  }

  function getValue() {
    return $this->value;
  }

  function add($value) {
    $this->value += $value;
  }

  function subtract($value) {
    $this->value -= $value;
  }

  function multiply($value) {
    $this->value *= $value;
  }

  function divide($value) {
    $this->value /= $value;
  }

  function addInteger($integerObj) {
    $value = $integerObj->getValue();
    return $this->add($value);
  }

  function subInteger($integerObj) {
    $value = $integerObj->getValue();
    return $this->subtract($value);
  }

  function mulInteger($integerObj) {
    $value = $integerObj->getValue();
    return $this->multiply($value);
  }

  function divInteger($integerObj) {
    $value = $integerObj->getValue();
    return $this->divide($value);
  }

  function toString() {
    return $this->getValue();
  }

  function toXML() {
    return $this->getValue();
  }

  function toSQL() {
    return $this->getValue();
  }

  function toHTML($name) {
		$html = "";
		$html .= "<input type=\"text\" id=\"".$name."_id\" name=\"$name\" size=\"5\" maxlength=\"11\" value=\"".$this->getValue()."\" />\n";

		$html .= "<script type=\"text/javascript\">\n";
		$html .= "function saveContent".$name."(){\n";
		$html .= "document.forms[0].$name.value=document.getElementById(\"".$name."_id\").value;\n";
		$html .= "}\n";		
		$html .= "</script>\n";		
		
		return $html;
  }
} 
?>