var a_sign = "@";
var a_domain = "dentilogic";
var a_dotcom = ".com";

function setInitialFocus() 
{
  var numberForms = document.forms.length;
  var n;
  var i;
  var fin = 0;
  for (var n=0;n < numberForms;n++) 
  {
    formObj = document.forms[n];
    for (var i=0;i < formObj.length;i++) 
    {
      fldObj = formObj.elements[i];
      if ((fldObj.type == 'text') || (fldObj.type == 'textarea'))
      { 
        fin = 1;
        try
        {
          fldObj.focus(); 
          fldObj.select();        
          break;
        }
        catch(e) {   }
      }
    }  
    if (fin == 1)
    {
      break;
    }
  }
}

function selectradio() 
{
  var numberForms = document.forms.length;
  var n;
  var i;
  var firstRadioObj = null;
  if ((typeof pk) != 'undefined')
  {
    for (var n=0;n < numberForms;n++) 
    {
      formObj = document.forms[n];
      for (var i=0;i < formObj.length;i++) 
      {
        fldObj = formObj.elements[i];
        if (fldObj.type == 'radio') 
        { 
          if (firstRadioObj == null) { firstRadioObj = fldObj; }
          if (fldObj.value == pk) 
          {
            firstRadioObj = null;
            fldObj.checked = true;
            fldObj.id = "SelectedRadio";
            fldObj.parentNode.parentNode.className += ' selected';
            break;
          }
        }
      }  
    }
    if (firstRadioObj != null) 
    { 
      firstRadioObj.checked = true;
      if (firstRadioObj.name == 'pk')
      {
        firstRadioObj.parentNode.parentNode.className += ' selected';
      }  
    }
  }
  else
  {
    for (var n=0;n < numberForms;n++) 
    {
      formObj = document.forms[n];
      for (var i=0;i < formObj.length;i++) 
      {
        fldObj = formObj.elements[i];
        if (fldObj.type == 'radio')
        { 
           fldObj.checked = true;
           fldObj.parentNode.parentNode.className += ' selected';
           break;
        }
      }  
    }
  }
}

function capturekeys()
{
}

function cerrarsesion(url) {
  if (window.screenTop > 10000)
  {
    var espickup = false;
    if (window.name != 'SAF')
    {
      if (opener != null)
      {
        if (opener.window)
        {
          if (opener.window.PickupExec)
          { 
            opener.window.PickupExec(null);
            espickup = true;
            if (opener.window.enableLinks)
            {
              opener.window.enableLinks();
            }  
          } 
        }  
      }  
    }  
    if (!(espickup))
    {
      abreVentana1(url,'_blank',400,200)
    }
  }
  return false;
}

function completeForm(theform, method) {
  theform.method.value = method;
  retrieveURL(theform);   
  return true;
}

function submitForm(theform, method) {
  var temp = true;
  if ((method == "insert") && (window.validateInsert))
  {
    if (!(validateInsert(theform))) { temp = false; }
  }
  if ((method == "add2") && (window.validateInsert))
  {
    if (!(validateInsert(theform))) { temp = false; }
  }
  if ((method == "update") && (window.validateUpdate))
  {
    if (!(validateUpdate(theform))) { temp = false; }
  }
  if ((method == "trash") && (window.validateTrash))
  {
    if (!(validateTrash(theform))) { temp = false; }
  }
  if ((method == "updateall") && (window.validateUpdateAll))
  {
    if (!(validateUpdateAll(theform))) { temp = false; }
  }
  if ((method == "trashall") && (window.validateTrashAll))
  {
    if (!(validateTrashAll(theform))) { temp = false; }
  }
  if ((method == "search") && (window.validateSearch))
  {
    if (!(validateSearch(theform))) { temp = false; }
  }
  if ((method == "process") && (window.validateProcess))
  {
    if (!(validateProcess(theform))) { temp = false; }
  }

  if (temp)
  {
    theform.method.value = method;
    theform.submit();
  }
  return temp;
}

function retrieveURL(theForm) {  
  window.status = "Procesando..."; 
  var status = AjaxRequest.submit(
    theForm
    ,{
      'onSuccess':function(req){ 
         processResponse(req.responseText);
      }
    }
  );
}

  function processResponse(texto)
  {
    window.status = "Actualizando."; 
    insElements = splitTextIntoSpan(texto, "INS");
    window.status = "Actualizando..";
    if (insElements.length > 1)
    {
      previoustab="";
      pk = ""; 
      scriptText = replaceExistingWithNewHtml(insElements,"INS"); 
    }
    else
    {
      spanElements = splitTextIntoSpan(texto, "SPAN");
      if (spanElements.length > 1)
      {
        previoustab="";
        pk = ""; 
        scriptText = replaceExistingWithNewHtml(spanElements,"SPAN"); 
      }
      else
      {
        if (texto != "")
        {
          alert("DEBUG:" + insElements.length + " - " + texto);
        }
        else
        {
          window.status = "Reintente";
          return;
        }
      }
    }
    window.status = "Listo"; 
  }
  
 function splitTextIntoSpan(textToSplit, splitter){
 	returnElements=textToSplit.split("</"+splitter+">");
 	for ( var i=returnElements.length-1; i>=0; --i ){
 		spanPos = returnElements[i].indexOf("<"+splitter+"");		
 		if(spanPos>0){
 			subString=returnElements[i].substring(spanPos);
 			returnElements[i]=subString;
 		} 
 	}
 	return returnElements;
 }
function replaceExistingWithNewHtml(newTextElements, splitter){
  var fin = 0;
  for ( var i=newTextElements.length-1; i>=0; --i ){
    if(newTextElements[i].indexOf("<"+splitter)>-1){
      startNamePos=newTextElements[i].indexOf('"')+1;
      endNamePos=newTextElements[i].indexOf('"',startNamePos);
      name=newTextElements[i].substring(startNamePos,endNamePos);
      startContentPos=newTextElements[i].indexOf('>')+1;
      content=newTextElements[i].substring(startContentPos);
      
      if ((content.substring(0,23) != '<!--PREVIOUS CONTENT-->') && (content.substring(0,24) != '<!--INVISIBLE CONTENT-->'))
      {
      
        elem = document.getElementById(name);
        if(elem){
          elem.innerHTML = content;
          loadScript(name+'script', scriptContent(content));
          var inps = elem.getElementsByTagName('INPUT');
          var firstRadioObj = null;
          for (var j = 0; j < inps.length; j++) { 
            if (inps[j].type == 'text')
            {
              inps[j].onkeydown = captureArrows; 
              inps[j].onkeyup = captureArrows; 
              if (fin == 0)
              {
                try
                {
                  inps[j].focus(); 
                  inps[j].select();   
                  fin = 1;
                }
                catch(e) {   }
              }
            }
            if (inps[j].type == 'radio')
            { 
              inps[j].onclick = fRadioOnClick; 
              inps[j].onpropertychange = fRadioOnDeActivate; 
              if (inps[j].name == 'pk')
              {
                if (firstRadioObj == null) { firstRadioObj = inps[j]; }
                if (inps[j].value == pk) { firstRadioObj = inps[j]; }
              }
            }      
            if (inps[j].type == 'checkbox')
            { 
              inps[j].onclick = fCheckBoxOnClick; 
              inps[j].onpropertychange = fCheckBoxOnDeActivate; 
            }            
          }
          if (firstRadioObj != null) 
          { 
            firstRadioObj.checked = true;
            firstRadioObj.id = "SelectedRadio";
            firstRadioObj.parentNode.parentNode.className += ' selected';
          }
          
          //Set Links for Ajax          
          var links = elem.getElementsByTagName('A');
          for (var j = 0; j < links.length; j++) { 
            if (!(links[j].href.match("javascript"))) {
              exp = links[j].innerHTML;
              if ((exp != null) && (exp.match('class="export')))
              {
                links[j].target = '_blank';
                links[j].href += '&wexport=all';
              }
              else 
              {
                if (links[j].id == "document")
                {
                  links[j].target = '_blank';
                }
                else links[j].onclick  = sendURL; 
              }  
            }
          }
          elem.style.display="inline";
        }
      }  
      else
      {
        elem = document.getElementById(name);
        if(elem){
          if (content.substring(0,24) != '<!--INVISIBLE CONTENT-->')
          {
            elem.style.display="inline";
          }  
          else
          {
            elem.style.display="none";
          }  
        }
      }
    }
  }
}

function loadScript(id, scriptText)
{
  if (scriptText != "")
  {
    var head = document.getElementsByTagName('head').item(0);
    var oldscript = document.getElementById(id);
    if (!oldscript)
      oldscript = head.appendChild(document.createElement('script'));
    var newscript = document.createElement('script');
    newscript.id = id;
    newscript.type = 'text/javascript';
    newscript.text = scriptText;  
    newscript.defer = false;
    head.replaceChild(newscript, oldscript);
  }
}

function scriptContent(content){
  var scriptFragment = "";
 	returnElements=content.split("</script>");
 	for ( var i=returnElements.length-1; i>=0; --i ){
 		spanPos = returnElements[i].indexOf("<script");		
 		if(spanPos>0){
 			subString=returnElements[i].substring(spanPos);
      startContentPos=subString.indexOf('>')+1;
      scriptFragment += subString.substring(startContentPos);
 		} 
 	}
 	return scriptFragment;
}

function ValidarTxtNumeros(Object, Maximo, Minimo, Obligatorio, Informar){
	var fValor, fMaximo, fMinimo, OK;
  var Valor = "";
	
	OK = true;
  if (Object.type == 'radio')
  {
    Valor = ToStr(Object);
  }
  else
  {
    Valor = Object.value;
  }
	if (Valor != ""){
		fValor=parseFloat(Valor);
		if (isNaN(fValor)==false){
			if (Maximo != ""){
				fMaximo=parseFloat(Maximo);
				if (isNaN(fMaximo)==false){
					if (fMaximo < fValor){
						if (Informar){
							alert(Informar+" está fuera de rango");
						}	
						OK = false;
					}	
				}
			}	
			if (Minimo != ""){
				fMinimo=parseFloat(Minimo);
				if (isNaN(fMinimo)==false){
					if (fMinimo > fValor){
						if (Informar){
              if (fMinimo == 1)
              {
							  alert(Informar+" debe ser un número mayor a cero.");
              } 
              else
              {
							  alert(Informar+" está fuera de rango");
              }
						}	
						OK = false;
					}	
				}
			}
		}
		else{
			if (Informar){
				alert(Informar+" es un número inválido");
			}	
			OK = false;
		}	
	}
	else{
		if (Obligatorio==true){
			if (Informar){
				alert("Falta ingresar "+Informar+".");
			}
			OK = false;
		}
	}
	return OK;
}

function ValidarTxtCaracteres(Object, Maximo, Minimo, Obligatorio, Informar){
	var fValor, fMaximo, fMinimo, OK;
  var Valor = "";
  
	OK = true;
  if (Object.type == 'radio')
  {
    Valor = ToStr(Object);
    alert('DEBUG RADIO');
  }
  else
  {
    Valor = Object.value;
  }
	if ((Valor != null) && (Valor != "") && (Valor != "undefined")) {
		if (Maximo){
			fMaximo=parseFloat(Maximo);
			if (isNaN(fMaximo)==false){
				if (fMaximo < Valor.length){
					if (Informar){
						alert(Informar+" fuera de rango.");
					}	
					OK = false;
				}	
			}
		}	
		if (Minimo){
			fMinimo=parseFloat(Minimo);
			if (isNaN(fMinimo)==false){
				if (fMinimo > Valor.length){
					if (Informar){
						alert(Informar+" fuera de rango.");
					}	
					OK = false;
				}	
			}
		}
	}
	else{
		if (Obligatorio==true){
			if (Informar){
				alert("Falta ingresar "+Informar+ ".");
			}
			OK = false;
		}
	}
	return OK;
}

function ValidarRadio(Object, Informar){
	OK = false;
  if (!(Object.length))
  {
    var el = Object;
    if (!el.disabled) {
      switch(el.type) {
        case 'checkbox': case 'radio':
          if (el.checked) {
            if (el.value != "")
            {
            OK = true;
            }
          }
          break;
      }
    }
  }
  else
  {
    for (var i=0; i<Object.length; i++) {
      var el = Object[i];
      if (!el.disabled) {
        switch(el.type) {
          case 'checkbox': case 'radio':
            if (el.checked) {
              if (el.value != "")
              {
              OK = true;
              }
            }
            break;
        }
      }
    }  
  }  

  if ((!OK) &&  (Informar))
  {
		alert("Falta ingresar "+Informar+ ".");
	}
	return OK;
}

function submitLastForm(method)
{
  container = document.getElementById("wContainer.w");
  if (container != null)
  {
    theforms = container.getElementsByTagName('FORM'); 
    if (theforms.length > 0)
    {
      return submitForm(theforms[theforms.length-1], method);
    }  
  }
}

function doPickup(theform)
{
  if (opener.window)
  { 
    var p;
    p=0;
    for(var i=0; i<theform.length; i++)
    {
      var temp = theform.elements[i].type;
      if ((temp == 'radio') && (theform.elements[i].name == 'pk'))
      {
        if(theform.elements[i].checked)
        { 
          PickupItem = PickupList[p];
          break;
        }
        p++;
      }
    }    
    if (opener.window.PickupFields)
    {
      for(var j=0; j<opener.window.PickupFields.length; j++)
      { 
      
        if ((window.opener.document.forms[opener.window.PickupForm]) && (opener.window.PickupFields[j]))
        {
          if (window.opener.document.forms[opener.window.PickupForm].elements[opener.window.PickupFields[j]])
          { 
            window.opener.document.forms[opener.window.PickupForm].elements[opener.window.PickupFields[j]].value = PickupItem[j];
            window.opener.document.forms[opener.window.PickupForm].elements[opener.window.PickupFields[j]].focus();
            window.opener.document.forms[opener.window.PickupForm].elements[opener.window.PickupFields[j]].select();
          }  
          else
          {
            window.opener.document.getElementById(opener.window.PickupFields[j]).innerHTML = PickupItem[j];        
          }
        }  
        else
        {
          if (window.opener.document.getElementById(opener.window.PickupFields[j]))
          {
            window.opener.document.getElementById(opener.window.PickupFields[j]).innerHTML = PickupItem[j];        
          }
        }
      }
    }  
    if (opener.window.enableLinks)
    {
      opener.window.enableLinks();
    }  
    if (opener.window.PickupExec)
    { 
      opener.window.PickupExec(PickupItem);
    } 
  }  
  window.close();
}

function disableLinks()
{
  return true;
}

function abreVentana1(url,target,width,height) 
{
    LeftPosition = (screen.width) ? (screen.width-width)/2 : 0;
    TopPosition = (screen.height) ? (screen.height-height)/2 : 0;
    var woptions='toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no,status=no,width='+width+',height='+height+',top='+TopPosition+',left='+LeftPosition;
    var FLOAT=window.open(url,target,woptions);
    if ((FLOAT) && (FLOAT.focus!=null)) FLOAT.focus();
}

function SoloEnteros(Evento){
	switch (Evento.type){
		case "keypress":
			if ((Evento.keyCode > 57) || ((Evento.keyCode != 13) && (Evento.keyCode < 48))) {
				Evento.keyCode = 0;
			}
			break;
		case "beforepaste":
			var n = parseInt(clipboardData.getData("Text"));
			if (isNaN(n)==true){
				Evento.returnValue = false;
			}
			break;
		case "paste":
			var n = parseInt(clipboardData.getData("Text"));
			if (isNaN(n)==true){
				Evento.returnValue = false;
			}
	}		
}
function Enteros(){
	SoloEnteros(event);
}

function SoloMayusc(Evento){
	switch (Evento.type){
		case "keypress":
      if (Evento.keyCode > 96 && Evento.keyCode < 123)
      {
        Evento.keyCode = Evento.keyCode - 32;
      }
			break;	
	}		
}
function Mayusc(){
	SoloMayusc(event);
}

function SoloMinusc(Evento){
	switch (Evento.type){
		case "keypress":
      if (Evento.keyCode > 64 && Evento.keyCode < 91)
      {
        Evento.keyCode = Evento.keyCode + 32;
      }
			break;	
	}		
}
function Minusc(){
	SoloMinusc(event);
}

var initialtab=[1, "sc1"];
var disabletablinks=0; //0 for no (default), 1 for yes
var previoustab="";

function expandtab(cid, aobject){
  expandcontent(cid, aobject);
}

function expandcontent(cid, aobject){
  if (document.getElementById)
  {
   highlighttab(aobject)
  }
}

function highlighttab(aobject){
if (typeof tabobjlinks=="undefined") collectddimagetabs()
for (i=0; i<tabobjlinks.length; i++)
{
  if (tabobjlinks[i].className!="current")
  {
    if (aobject == tabobjlinks[i]) 
    { 
      tabobjlinks[i].className="mhover";
      liobjlinks[i].className="tmhover";
    }
    else
    {
      if (liobjlinks[i].className != "tother") liobjlinks[i].className="tother";
      if (tabobjlinks[i].className != "other") tabobjlinks[i].className="other";
    }
  } 
}
}

function collectddimagetabs(){
  var tabobj=document.getElementById("header");
  if (tabobj) {
    tabobjlinks=tabobj.getElementsByTagName("A");
    liobjlinks=tabobj.getElementsByTagName("LI");
  }
}

function confirmar(form, method, texto) 
{
  if (!(texto))
  {
    texto="Está seguro que desea eliminar los registros seleccionados?"
  }
  if (confirm(texto) == true) 
  {
    submitForm(form, method);
  }
}