// JavaScript Document

var siteurl = "http://www.centroodontologicoreinavictoria.com/";

var toolTips = {
    theObj :"",
    divid : "",
    toolTip: function(dividaux, text, me) {
           toolTips.theObj=me;
           toolTips.divid = dividaux;
           toolTips.theObj.onmousemove = toolTips.updatePos;
           document.getElementById(toolTips.divid).innerHTML = text;
           document.getElementById(toolTips.divid).style.display = "block";
           window.onscroll = toolTips.updatePos;
           
    },
    updatePos: function() {
           var ev= arguments[0] ? arguments[0] : event;
           var x=ev.clientX;
           var y=ev.clientY;
           diffX=5;
           diffY=0;
           document.getElementById(toolTips.divid).style.top  = y-2+diffY+document.body.scrollTop+ "px";
           document.getElementById(toolTips.divid).style.left = x-2+diffX+document.body.scrollLeft+"px";
           toolTips.theObj.onmouseout=toolTips.hideMe;
    },
    hideMe: function() {
        
           document.getElementById(toolTips.divid).style.display="none";
    }
}
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];

			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

var codigoActivacion = function (obj) {
    var field = dojo.byId("activation_code");
    if(obj.checked) {
        if(confirm("&iquest;Est&aacute; seguro de querer eliminar el c&oacute;digo de activaci&oacute;n?"))
            field.value ="";
        else
            obj.checked = false;
    }

}

var deleteFileName = function (field_name){

    var containerField = document.getElementById("div" + field_name);

    containerField.removeChild(document.getElementById(field_name));
    containerField.removeChild(document.getElementById("remove" + field_name));

    containerField.style.display = "block";

    var fileField = document.createElement("input");
    fileField.type = "file";
    fileField.className ="inputfile";
    fileField.name = field_name;
    fileField.id = field_name;

    containerField.appendChild(fileField);

    var removeField = document.createElement("input");
    removeField.type = "button";
    removeField.className = "btn_delete_image";
    removeField.name = "remove"+field_name;
    removeField.id = "remove"+field_name;
    removeField.value = "x";
    removeField.onclick = "javascript: deleteFileName('" +field_name+"')";

    containerField.appendChild(removeField);

    return false;
}


var showmsgid = function (id, obj) {
    var wipeIt1 = dojo.fx.wipeIn({ node: id, duration:1000 }).play();
    obj.style.display = 'none';
    dojo.byId(id+'_link_hide').style.display = 'block';
    return false;
}
var hidemsgid = function (id, obj) {
    var wipeIt1 = dojo.fx.wipeOut({ node: id, duration:1000 }).play();
    obj.style.display = 'none';
    dojo.byId(id+'_link_show').style.display = 'block';
    return false;
}
function enableFields(obj, values) {
    
    display_aux = 'none';
    for( aux in values ){
        if(parseInt(aux) == parseInt(obj.value)) display_aux = "inline";

        for(field in values[aux]) {
            //valores = valores + "," + values[aux][field];
            document.getElementById(values[aux][field]).style.display = display_aux;
            document.getElementById(values[aux][field]+"_title").style.display = display_aux;
            if (document.getElementById(values[aux][field]+"_error")) document.getElementById(values[aux][field]+"_error").style.display = display_aux;
        }
    }

    //alert("value : "+obj.value+", valores: "+ valores);
}

function editar(iddiv, url) {

    tinyMCE.settings = configArray[1];
    tinyMCE.execCommand('mceAddControl', false, 'editor'+iddiv);

    var ed = tinyMCE.get('editor'+iddiv);

    ed.onChange.add(function(ed) {
       if(ed.isDirty()) {
           sendRequest(url, false, false, ed.getContent());
       }
       cancelarEdicion(iddiv);
    });

    ed.onDeactivate.add(function(ed) {
       cancelarEdicion(iddiv);
    });

}

function cancelarEdicion(iddiv){
    tinyMCE.execCommand('mceRemoveControl', false, 'editor'+iddiv);
}



var cambiarValor = function(campo, valor) {
    var elcampo = document.getElementById(campo);
    
    if(valor == true) elcampo.value = 1;
    else elcampo.value = 0;
    console.log("Cambiamos el valor de "+campo+" a "+elcampo.value);
}

function nl2br(str){
   str=str.replace(/\n/gi,"<br />");
   return str;
 }

function setTextAreaValue(textareaid, value) {
    dojo.byId(textareaid).value = value;
}
/**
 *  sendRequest
 * urlStr: Url a la que realizaremos la petici�n
 * divid: si no es false, ser� el id del div en el que mostraremos el resultado
 * get: si es true realizaremos una peticion por get
 * formField: si get es false la peticion la realizaremos por POST enviando el contenido de esta variable
 *
 **/
function sendRequest(urlStr, divid, get, formField) {
    //alert("LLAMAMOS A :"+urlStr);
    //:http://192.168.1.34/APPS/dbformscontroller/updateField/imagenes/texto/1/
    if(get) {
        dojo.xhrGet({
            url: urlStr,
            load: function(response, ioArgs){
                if(divid) {
                    dojo.byId(divid).innerHTML = response;
                } //else alert('Actualizado. Respuesta :' + response);
              return response;
            },
            error: function(response, ioArgs){
                if(divid) {
                    dojo.byId(divid).innerHTML = "An error occurred, with response: " + response;
                } //else alert('Error Actualizando. Respuesta :' + response);
              return response;
            },
            handleAs: "text"});
    } else {
        
        //form: dojo.byId(formStr),
        dojo.xhrPost({
            url: urlStr,
            content: {'formField': formField},
            load: function(response, ioArgs){
                if(divid) {
                    dojo.byId(divid).innerHTML = response;
                }// else alert('Actualizado. Respuesta :' + response);
              return response;
            },
            error: function(response, ioArgs){
                if(divid) {
                    dojo.byId(divid).innerHTML = "An error occurred, with response: " + response;
                }// else alert('Error Actualizando. Respuesta :' + response);
              return response;
            }});

    }
}

/*
 * Función que recibe en un XML las opciones de un XML y actualiza las opciones de un selector.
 *
 * table: tabla que estamos actualmente editando
 * field_update_dst: Campo destino el cual actualizaremos, lo necesitamos para saber el id del select.
 * table: Tabla desde la que extrare, field_update_src, id
 */
/*
function previewImage(fileid) {
    var filename = "";
    
    var obj = document.getElementById(fileid);    
    var fileInfo = obj.path;
    alert(fileInfo);
    //create the path to your local file
    if (fileInfo == null) {
        if (obj.file != "") {
            filename = "file:///" + fileInfo;
        }
    } else {
        filename = fileInfo;
    }
    imagenaux = document.getElementById("img_"+fileid);
    imagenaux.src = filename;
}*/

function updateField(table, field_update_dst, id) {
    if(!parseInt(id)) return true;
    var master = dojo.byId(field_update_dst); // Recogemos el objeto SELECT
    console.log("objeto master :"+field_update_dst+" y el master "+master);
    master.disabled = "disabled"; // Deshabilitamos el select para evitar que se pueda seleccionar mientras recargamos.
    console.log(siteurl + "dbformscontroller/updateSelect/"+ table + "/" + field_update_dst + "/" + id);
    dojo.xhrGet({
        url: siteurl + "dbformscontroller/updateSelect/"+ table + "/" + field_update_dst + "/" + id,
        load: function(response, ioArgs){
            
            //console.log(response);
            var dom = dojox.xml.DomParser.parse(response); // Recogemos la respuesta XML
            var docNode = dom.documentElement;
            var aux = 0;
            var label_aux = "";
            var value_aux = "";

            if(master) {
                master.options.length = 0; // Remove all options
                master.options[aux++] = new Option("------------", "0", true, true);
                if(docNode.childNodes.length > 0) {
                    for (var i = 0; i < docNode.childNodes.length; i++) {
                        if(docNode.childNodes[i].nodeType == 1) { //ELEMENT
                           dojo.forEach(docNode.childNodes[i].attributes, function(c){
                               //alert("AHI VAMOS :" +  c.nodeValue);
                               if(c.nodeName == 'label') label_aux = c.nodeValue;
                               if(c.nodeName == 'value') value_aux = c.nodeValue;
                           });

                           master.options[aux] = new Option("", value_aux, false, false);
                           master.options[aux++].innerHTML = label_aux; // Añadimos aquí el contenido del select porque como
                                                                        // podemos recibir carácteres especiales de la otra forma
                                                                        // no los muestra correctamente
                            //alert('la mojama' + master.options[aux-1].innerHTML);
                       }
                   }
               } 
               //if(master.onchange) master.onchange();
            }
            return response;
        },
        
        error: function(response, ioArgs){
          var master = dojo.byId(field_update_dst); // Recogemos el objeto SELECT
          if(master) {
                master.options.length = 0;
                //master.options[0] = new Option("Error", "-1", true, true);
                master.options[0] = new Option("-----------", "0", true, true);
                master.disabled = "";
                //console.log("Error cargando selector :" +response);
          } else console.log("Error cargando selector :" +field_update_dst);
          return response;
        },
        handleAs: "text"
      });
      /*for (var i = 0; i < master.options.length; i++) {
        alert(master.options[i].innerHTML);
      }*/
      master.disabled = "";
}


function addEvent(element, event, functionToCall) {
    if (element.attachEvent) {
        element.attachEvent(event, functionToCall);
    } else if (element.addEventListener) {
        element.addEventListener(event,functionToCall,true);

    }
}
function removeEvent(element, event, functionToCall) {
    if (element.attachEvent) {
        element.detachEvent(event, functionToCall);
    } else if (element.addEventListener) {
        element.removeEventListener(event,functionToCall,true);

    }
}
function removeFieldFunction(id, field_name, title_field, field_label) {
    return function () {
        var d = document.getElementById("imagesContainer");
        var olddiv = document.getElementById(field_name+id);
        d.removeChild(olddiv);
        var olddiv2 = document.getElementById("remove"+field_name+id);
        d.removeChild(olddiv2);

        if(field_label) {
            var olddiv4 = document.getElementById("fieldLabel"+field_name+id);
            d.removeChild(olddiv4);
        }
        if(title_field != '') {
            tinyMCE.execCommand('mceRemoveControl',false,title_field+id);
            var olddiv3 = document.getElementById(field_name+id);
            d.removeChild(olddiv3);
        }
        var olddiv5 = document.getElementById("space"+field_name+id);
        d.removeChild(olddiv5);
    };
        //tinyMCE.execCommand('mceRemoveControl', false, items[i].id);

}
/* ------------------------------- VENTANAS  ------------------------------------------------------ */
        //createFile('imageContainer', 'numimg', 'imagen',     'Imagen',  'texto',        'texto',        'T�tulo');
       
function createFile(container,      cont,       field_name, field_label,  title_field, title_field_name, title_field_label) {

    var id = "";

    if(cont) {
        dojo.byId(cont).value = parseInt(dojo.byId(cont).value) + 1;
        id = dojo.byId(cont).value;
    }

    var containerField = dojo.byId(container);

    containerField.style.display = "block";

    if(title_field != '') {
        /*var spanField = document.createElement('span');
        spanField.innerHTML = title_field_label;
        containerField.appendChild(spanField);

        var textField = document.createElement('textarea');
       
        textField.className ="input";
        textField.name = title_field+id;
        textField.id = title_field+id;
       
        containerField.appendChild(textField);*/
        //
        //var divField = document.createElement('div');
        //divField.id = 's2'+title_field+id;
        //divField.className = 'file_text_field';
        //divField.innerHTML = "Escribir texto aqu&iacute;..";
        //containerField.appendChild(divField);
        
      // alert("el title field es: "+title_field);
        var textareaField = document.createElement('textarea');
        textareaField.id = title_field+id;
        textareaField.name = title_field+id;
        textareaField.innerHTML = "Escribir texto aqu&iacute;..";
        //textareaField.style.display = 'none';
        containerField.appendChild(textareaField);
        tinyMCE.execCommand('mceAddControl',false,title_field+id);
        
        //editorDijit = new dijit.Editor({ plugins: ['undo', 'redo', 'cut', 'copy', 'paste','|',
          //              'bold', 'italic', 'underline', 'strikethrough', 'subscript', 'superscript', 'removeFormat', '|',
            //            'indent', 'outdent', 'justifyCenter', 'justifyFull', 'justifyLeft', 'justifyRight', 'delete', 'selectAll','|',
              //          'insertOrderedList', 'insertUnorderedList', 'createLink'], height: '', extraPlugins: ['dijit._editor.plugins.AlwaysShowToolbar','dijit._editor.plugins.LinkDialog']}
                //, divField);

        
        //dojo.connect(editorDijit, 'onChange', function(texto) { textareaField.value = texto; });

    }

    if(field_label) {
        var spanField2 = document.createElement('span');
        spanField2.innerHTML = field_label + "&nbsp;";
        spanField2.id = "fieldLabel"+field_name+id;
        containerField.appendChild(spanField2);
    }

    var fileField = document.createElement("input");
    fileField.type = "file";
    fileField.className ="inputfile";
    fileField.name = field_name+id;
    fileField.id = field_name+id;
   // if(container == 'imageContainer')  fileField.onblur  = "javascript: alert('hola'); previewImage(this, 'img_" + field_name + id + "');";
    containerField.appendChild(fileField);

    var removeField = document.createElement("input");
    removeField.type = "button";
    removeField.className = "btn_delete_image";
    removeField.name = "remove"+field_name+id;
    removeField.id = "remove"+field_name+id;
    removeField.value = "x";
    removeField.onclick = removeFieldFunction(id, field_name, title_field, field_label);
    /*removeField.onclick = (function(p, d) {
        return function(){ alert('hola'+id);  }
        });*/
//    addEvent(removeField, "click", function (evt, id, field_name) {
//
//        alert('hola'+evt+id+field_name);
//
////        var textareaField = document.createElement('textarea');
////
////        var d = document.getElementById("imagesContainer");
////        var olddiv = document.getElementById(id);
////        d.removeChild(olddiv);
////        var olddiv2 = document.getElementById("remove"+id);
////        d.removeChild(olddiv2);
////        var olddiv3 = document.getElementById("tarea"+id);
////        d.removeChild(olddiv3);
////        tinyMCE.execCommand('mceRemoveControl', false, items[i].id);
//
//    });
    //removeField.click = "javascript: removeFile('"+ field_name+id+"','"+title_field+")";
    //if(container == 'imageContainer')  fileField.onblur  = "javascript: alert('hola'); previewImage(this, 'img_" + field_name + id + "');";
    containerField.appendChild(removeField);
    /*if(container == 'imageContainer') {
        var previewBtnField = document.createElement("input");
        previewBtnField.type = "button";
        previewBtnField.className ="inputfile";
        previewBtnField.value =" + ";
       previewBtnField.name = "btn" + field_name+id;
        previewBtnField.id = "btn" + field_name+id;
        previewBtnField.onclick = function() { previewImage(field_name+id); };
        containerField.appendChild(previewBtnField);

        var imgField = document.createElement("img");
        imgField.src = "";
        imgField.width ="25";
        imgField.height ="25";
        imgField.id = "img_"+field_name+id;
        containerField.appendChild(imgField);
    }*/

    /*var brField = document.createElement("br");
    containerField.appendChild(brField);
    var brField2 = document.createElement("br");
    containerField.appendChild(brField2);*/

    var spaceField = document.createElement("div");
    spaceField.id = "space"+field_name+id;
    spaceField.innerHTML = "&nbsp;";
    containerField.appendChild(spaceField);

	return false;
}
var WindowObjectReference = null;
function visorImagenes(strUrl, strWindowName, ancho, altura)
{

    if(WindowObjectReference == null || WindowObjectReference.closed)
    {
        ventana = window.open(strUrl , strWindowName, "resizable=yes,scrollbars=yes,status=no,titlebar=no,menubar=no,personalbar=no,location=no, fullscreen=no, width="+(parseInt(ancho) + 45)+",height="+(parseInt(altura) + 45));		  }
    else
    {
        WindowObjectReference.focus();
    }
}

var openRequestedPopup = function (strUrl, strWindowName, ancho, altura, titulo)
{
  if(WindowObjectReference == null || WindowObjectReference.closed)
  {
    ventana = window.open("", strWindowName, "resizable=yes,scrollbars=yes,status=no,titlebar=no,menubar=no,personalbar=no,location=no, fullscreen=no, width="+(parseInt(ancho) + 45)+",height="+(parseInt(altura) + 45));
	ventana.document.open();
	ventana.creator=window;
	cabecera = "<html><head><title>-- "+ titulo +"</title></head><body><img src='" + strUrl + "' width='"+ancho+"' height='"+altura+"' border='0' style='display: block;  margin-left: auto; margin-right: auto;' /><br/><input type='button' style='border:0; background-color:#000000; color: #ffffff' value='cerrar' onclick='window.close();' /></body>";	
	ventana.document.write(cabecera);
	ventana.document.close();
	ventana.creator=window;
  }
  else
  {
    WindowObjectReference.focus();
  }
}

function openTextPopup(strUrl, strWindowName)
{
  if(WindowObjectReference == null || WindowObjectReference.closed) {
    WindowObjectReference = window.open(strUrl, strWindowName, "resizable=yes,scrollbars=yes,status=no,titlebar=no,menubar=no,personalbar=no,location=yes, fullscreen=no, width=450,height=500");
  } else {
    WindowObjectReference.focus();
  }
}


