/**
 * 	
 *  Copyright(c) 2009: Mantecao / Grupo Alion C.A.
 *  url: www.mantecao.com.ve/licensing
 *  email: licensing@mantecao.com.ve   
 *  author: Alexander Cabezas / Carlos Mantilla 
 * 
 */

if (typeof(core) == "undefined") { core = {}; }

core.constant = {};
core.globals = {};
core.globals.fn = {};
core.globals.defaults = {};
core.globals.defaults.html = {};
core.globals.current = {};
core.viewstate = {};
core.utils = {};
core.container = {};
core.config = {};
core.fn = {};

core.utils.ajax = {};


core.constant = {
	kinship: {
		PARENT: "parent",
		SIBLING: "sibling",
		SIBLING_LEFT: "sibling_left",
		SIBLING_RIGHT: "sibling_right",
		CHILD: "child"
	}
};

/**
 *
 * 
 * @author: cmantilla@mantecao.com.ve
 * Funciones para realizar el jsonp
 * 
 * 
 */


core.utils.ajax.get = function(url){
    var head = document.getElementsByTagName("head")[0];
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = url;
    head.appendChild(script);
};

core.jsonp = core.utils.ajax.get;

// helper fn for console logging
core.log = function() {
    if (window.console && window.console.log)
        window.console.log('[core]' + Array.prototype.join.call(arguments,''));
};

Date.patterns = {
    ISO8601Long:"Y-m-d H:i:s",
    ISO8601Short:"Y-m-d",
    ShortDate: "n/j/Y",
    LongDate: "l, F d, Y",
    FullDateTime: "l, F d, Y g:i:s A",
    MonthDay: "F d",
    ShortTime: "g:i A",
    LongTime: "g:i:s A",
    SortableDateTime: "Y-m-d\\TH:i:sP",
    UniversalSortableDateTime: "Y-m-d H:i:sO",
    YearMonth: "F, Y"
};


/**
 * 	
 *  author: Alexander Cabezas
 *  description: Función que permite obtener el valor de un parametro, del los parametros que se pasan en el URL 
 *	
 *  usage: core.utils.gup(nombre_de_la_variable);
 *
 */
core.utils.gup = function( name ){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null ){
    return "";
  }else{
    return results[1];
  }
};


