<?php
class clockAdvanced extends Module {
	protected static $paramsList = array(
		'visibility',
		'x',
		'y',
		'fontFamily',
		'fontSize',
		'format',
		'color'
	);
	
	public $params = array();
	
	public function __construct($params){
		$this->setParams($params);
		echo '<script type="text/javascript" src="js/jquery.jclockAdvanced.js"></script>';
		echo '<div class="jclockAdvanced" id="clockAdvanced" style="left:'.$params['x'].'; top:'.$params['y'].';"></div>';
		$options = '';
		foreach (self::$paramsList as $paramName){
			if(isset($this->params[$paramName]))
				$options .= $paramName.' : "'.$this->params[$paramName].'",';
		}
		echo '<script>$(document).ready(function(){
					$(\'#fontFamily\').val("'.$params['fontFamily'].'");
					$(\'#fontSize\').val("'.$params['fontSize'].'");
					$(\'#format\').val("'.$params['format'].'");
					$(\'#color\').val("'.$params['color'].'");
					$(\'.jclockAdvanced\').jclock({'.substr($options,0,-1).'}); 
				});
				</script>';
	}
	
	private function setParams($params){
		$this->params = $params;
	}
	
	public static function start($params){
		$clockAdvanced = new clockAdvanced($params);
	}
	
	public function setX($x){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		
		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->x = $x;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	
	public function setY($y){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->y = $y;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	
	public function setVisibility($visibility){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->visibility = $visibility;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	public function setFontFamily($fontFamily){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->fontFamily = $fontFamily;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	public function setFontSize($fontSize){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->fontSize = $fontSize;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	public function setColor($color){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->color = $color;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	public function setFormat($format){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='clockAdvanced']"); 
		$path[0]->format = $format;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	
	public static function updateConfig($updated){
		foreach ($updated as $what=>$withWhat){
			if(in_array($what, self::$paramsList)){
				call_user_func(array(get_class(), "set".ucfirst($what)), $withWhat);
			}
		}
	}
}