// JavaScript Document
// Definición del objeto protesta
function objetoProtestas() {

    this.protesta=new Array(); 

}

// Definición del objeto para contener datos de cada libro
function protesta(lat,lng,direccion,title,estado,id,alias,catid,images,created_by,created_by_alias,rating,idMarker,date,hits) {

    this.lat=Number(lat);
    this.lng=Number(lng);
    this.direccion=direccion;
    this.title=title;
    this.estado=estado;
    this.id=Number(id); 
    this.alias=alias;
    this.catid=Number(catid);
    this.images=images;
    this.created_by=created_by;
    this.created_by_alias=created_by_alias; 
    this.rating=Number(rating);
	this.idMarker=Number(idMarker);
	this.date=date;
	this.hits=Number(hits);
	this.cellId=null;

}

// Definición del método nuevaProtesta, para agregar instancias al array Protestas
objetoProtestas.prototype.nuevaProtesta=function(lat,lng,direccion,title,estado,id,alias,catid,images,created_by,created_by_alias,rating, idMarker,date,hits) {

    this.protesta[this.protesta.length]=new protesta(lat,lng,direccion,title,estado,id,alias,catid,images,created_by,created_by_alias,rating,idMarker,date,hits); 

} 

// Función de ordenación
objetoProtestas.prototype.ordenar=function() {

    var param = "return ", dato, orden;

	for (var i = 0; i < arguments.length; i += 2) {

        dato = arguments[i];
        orden = (arguments[i+1] == "D")? 1 : -1;

        param += "(x." + dato + " < y." + dato + ")?" + orden + ":";
        param += "(x." + dato + " > y." + dato + ")?" + (0 - orden) + ":";

	}

    param += "0;";

    this.protesta.sort(new Function("x","y",param)); 

} 


