<?php 
class AppLibreria{
	
	protected static $libreriasCss = array();
	protected static $libreriasJs = array();
	protected static $libreriasJsBody = array();
	
	/**
	 * Funcion que añadira una libreria css a la pagina
	 * @param: string $url dirección en la que se encuetra la librebria apartir de su carpeta css
	 * @param: string $base parte inicial de la url  del fichero si es null se cogera la por defecto
	 * @param: string $media media dle css para especificar si es impresion o otra cosa.
	 */
	public static function addCSS( $url, $base = '/css/',   $media = null ){
		if(is_null($media))
			$media = 'all';
	
	
		$base_final = PUBLICURL.$base;
		$extra = '';
		if(substr($url,0, 4) == 'http'){
			$base_final = '';
		}else{
			try {
				$extra ="?f=". date("Ymd", filemtime(APPLICATION_PATH . '/../public' . $base . $url));
			} catch (Exception $e) {
				$extra = "";
			}
			
			
			
		}
		if(empty(self::$libreriasCss)){
			self::$libreriasCss = array();
		}
		self::$libreriasCss[] = array ('href'=>$base_final.$url.$extra ,'media'=> $media);
	}
	
	
	/**
	 * Funcion que añadira una librecia js a la pagina
	 * @param: string $url dirección del fichero js
	 * @param: string $base parte inicia de la dirección si es distinto del de pordefecto sino sera null
	 */
	public static function  addJs( $url , $base = '/js/', $dinamico = true){
	
		$base_final = PUBLICURL.$base;
		$extra = '?f=1231231';
		if(substr($url,0, 4) == 'http'){
			$base_final = '';
		}else{
			try {
				$extra ="?f=". date("Ymd", filemtime(APPLICATION_PATH . '/../public' . $base . $url));
			} catch (Exception $e) {
				$extra = "";
			}
			
			
			
		}
		if(empty(self::$libreriasJs))
			self::$libreriasJs = array();
		self::$libreriasJs[] = array ('src'=>$base_final.$url.$extra , 'dinamico' => $dinamico);
	}
	
	public static function  addJsBody( $url , $base = '/js/'){
	
		$base_final = PUBLICURL.$base;
		$extra = '?f=1231231';
		if(substr($url,0, 4) == 'http'){
			$base_final = '';
		}else{
			try {
				$extra ="?f=". date("Ymd", filemtime(APPLICATION_PATH . '/../public' . $base . $url));
			} catch (Exception $e) {
				$extra = "";
			}
		}
		
		if(empty(self::$libreriasJsBody))
			self::$libreriasJsBody = array();
		self::$libreriasJsBody[] = array ('src'=>$base_final.$url.$extra );
	}
		
public static function renderCss(){
		$salida = '';
		foreach (self::$libreriasCss as $css){
			$salida .= '<link href="'. $css['href'].'" rel="stylesheet" type="text/css" media="'. $css['media'].'">';
		}
		return $salida;
	}
	
	public static function renderJs($soloDinamico = false){
		$salida = '';
		if($soloDinamico == false){
			foreach (self::$libreriasJs as $js){
				
					$salida .= '<script type="text/javascript" src="'. $js['src'] ."\"></script>\n";
					
			}
		}
			
		
	/*	$salida .='<script type="text/javascript">
				$( document ).ready( function() {
		
				';
		
		foreach (self::$libreriasJs as $js){
			if($js['dinamico']== true)
				$salida .= '$.addJs("'. $js['src'] .'");
';
		
		}
		
		$salida .= '});
				</script>';*/
		
		return $salida;
	}

	public static function renderJsBody(){
		$salida = '';
		foreach (self::$libreriasJsBody as $js){
			$salida .= '<script type="text/javascript" src="'. $js['src'] .'"></script>';
	
		}
		return $salida;
	}
	
}