﻿function getBaseURL() {
    var url = location.href;  // entire url including querystring - also: window.location.href;
    var baseURL = url.substring(0, url.indexOf('/', 14));


    if (baseURL.indexOf('http://localhost') != -1) {
        // Base Url for localhost
        var url = location.href;  // window.location.href;
        var pathname = location.pathname;  // window.location.pathname;
        var index1 = url.indexOf(pathname);
        var index2 = url.indexOf("/", index1 + 1);
        var baseLocalUrl = url.substr(0, index2);

        return baseLocalUrl + "/";
    }
    else {
        // Root Url for domain name
        return baseURL + "/";
    }

}

function ReadonlyFckeditor( editorInstance )
{
    // Just hiding the toolbar:
    editorInstance.EditorWindow.parent.document.getElementById("xExpanded").style.display = "none";
    // And hiding the small bar showing when the toolbar is collapsed is this:
    editorInstance.EditorWindow.parent.document.getElementById("xCollapsed").style.display = "none";

    // when you want to hide the collapse handle do:
    editorInstance.EditorWindow.parent.document.getElementById("xCollapseHandle").style.display = "none";
    // or hiding the expand handle. This seems to be the same as hiding the object with id 'xCollapsed' mentioned above:
    editorInstance.EditorWindow.parent.document.getElementById("xExpandHandle").style.display = "none";

    editorInstance.EditorDocument.body.contentEditable='false'; 
    editorInstance.EditorDocument.designMode='off';
}

function CrearFlowPlayer(idDiv, bAutoplay, sRuta)
{
    flowplayer(idDiv, {src:sRuta + "flowplayer/flowplayer.swf", wmode: 'opaque'},{
            
		    clip:  {         
		            autoPlay: bAutoplay,         
		            autoBuffering: true,
		            seekableOnBegin: true,
		            scaling:''
		           },
		    plugins: {            		            		                      
		            controls: {            
		                    
		                    url: sRuta + 'flowplayer/flowplayer.controls.swf',    
		                    
		                    playlist: false,
		                    
		                    
		                    tooltips: {                		                                
		                                buttons: true,                 
		                                fullscreen: 'Full screen',
		                                play: 'Play',         
		                                mute:'Mute',
		                                unmute:'Sound',
		                                stop:'Stop',
		                                pause:'Pause'
		                               }         
		                    }     
		            }
		});
}

function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value ) {
	return LTrim(RTrim(value));
}

function cambiarCantidad(nomcontrol, minimo, incremento, incrementar)
{
    var control = document.getElementById(nomcontrol);
    if (control!=null)
    {
        control.value = trim(control.value);
        
        if (control.value=="" || !esNumero(control.value, false))
        {
            control.value=minimo;
            return;
        }
        if (incrementar==true)
        {
            control.value = parseInt(control.value) + incremento;
        }
        else
        {
            if (parseInt(control.value) - incremento >= minimo) {
                control.value = parseInt(control.value) - incremento;
            }
        }
    }
}

function AplicarBotonSubmit(e, pNomBoton)
{
    if (e.type.toLowerCase()=="keydown" && !document.all) return true;
    
    var tecla = (document.all) ? e.keyCode : e.which;
    var campo = (document.all) ? document.activeElement : e.target;
    
    if(tecla==13) { 
       if (campo) {
           if ((campo.type.toLowerCase()!='textarea') && 
               (campo.type.toLowerCase()!='image') && 
               (campo.type.toLowerCase()!='reset') && 
               (campo.type.toLowerCase()!='submit') && 
               (campo.type.toLowerCase()!='button')) { 
               if (document.getElementById(pNomBoton)) {                    
                   
                   //Si no pongo esto, si el enter es desde un radinput de telerik, entonces se pierde la última letra
                   try 
                   {
                        eval(campo.id.replace('_text','') + '.UpdateHiddenValue()');                   
                   }
                   catch(err) {}

                   document.getElementById(pNomBoton).focus(); 
                   top.scrollBy(0,50);
                   document.getElementById(pNomBoton).click();                    
               }                                                        
                   e.cancelBubble=true;
                   e.returnValue=false;           
            
                   return false; 
           } 
       } 
     } 
     return true;
}

function autofitIframe(id)
{   
 if (!window.opera && !document.mimeType && document.all && document.getElementById)
 {
    if (parent.document.getElementById(id)) parent.document.getElementById(id).style.height=(this.document.body.offsetHeight+80)+"px";
 }
 else if(document.getElementById) 
 {
    if (parent.document.getElementById(id)) parent.document.getElementById(id).style.height=(this.document.body.scrollHeight+80)+"px";
 }
} 

function CancelarCambioItemCombo(item)
   {
        return false;
   }     

function CancelarTeclaCombo(combo, e)
  {
       if (!e) 
       {
            e = window.event;
        }    
                
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
        e.cancel = true;
        e.returnValue = false;
      
  }


function abreVentana (pagURL, pagTarget, w, h) 
{
    var winLeft = (screen.width-w)/2;
    var winTop = (screen.height-h)/2;
    var propiedades = 'width='+ w;
    propiedades = propiedades +',height='+ h; 
    propiedades = propiedades +',left='+ winLeft;
    propiedades = propiedades +',top='+ winTop;
    propiedades = propiedades +',fullscreen=no';
    propiedades = propiedades +',directories =no';
    propiedades = propiedades +',toolbar=no'; 
    propiedades = propiedades +',status=yes';
    propiedades = propiedades +',menubar=no';
    propiedades = propiedades +',scrollbars=yes';
    propiedades = propiedades +',resizable=yes';
    window.open (pagURL, pagTarget ,propiedades);
}

function abrePopUp (pagURL, pagTarget, w, h) 
{
    var winLeft = (screen.width-w)/2;
    var winTop = (screen.height-h)/2;
    var propiedades = 'width='+ w;
    propiedades = propiedades +',height='+ h; 
    propiedades = propiedades +',left='+ winLeft;
    propiedades = propiedades +',top='+ winTop;
    propiedades = propiedades +',fullscreen=no';
    propiedades = propiedades +',directories =no';
    propiedades = propiedades +',toolbar=no'; 
    propiedades = propiedades +',status=yes';
    propiedades = propiedades +',menubar=no';
    propiedades = propiedades +',scrollbars=no';
    propiedades = propiedades +',resizable=yes';
    window.open (pagURL, pagTarget ,propiedades);
}

function CrearXMLHTTP()
{
    var xmlHttp;
    if (window.ActiveXObject)
    {
    var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
    var xmlHttp = new XMLHttpRequest();
    }

    
    return xmlHttp;
}


// Para contar número de caracteres en un textbox

function getObject(obj) {
  var theObj;
  if(document.all) {
    if(typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=="string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function toCount(entrance,exit,text,limite) {
  var entranceObj=getObject(entrance);
  var exitObj=getObject(exit);
  //var length=limite - entranceObj.value.length;
  var length=entranceObj.value.length;
  
  if(length > limite) {
    //length=0;
    //text='<span class="disable"> '+text+' </span>';
    //entranceObj.value=entranceObj.value.substr(0,limite);
    text='<span style="color:Red;"> '+text+' </span>';
  }
  exitObj.innerHTML = text.replace("{CHAR}",length);
}


function SetUniqueRadioButton(nameregex, current)
{
   re = new RegExp(nameregex);
   for(i = 0; i < document.forms[0].elements.length; i++)
   {
      elm = document.forms[0].elements[i]
      if (elm.type == 'radio')
      {
         if (re.test(elm.name))
         {
            elm.checked = false;
         }
      }
   }
   current.checked = true;
}
   

function PonerDir(c4, c2, c3, c1)
{
//        var c4 = "ilto";        
//        var c2 = "dominio.com"; 
//        var c3 = "ma";  
//        var c1 = "info";   
        
        PonerDir2(c1,c2,c3,c4);   
}

function PonerDir2(c1,c2,c3,c4)
{
    document.write("<a href=" + c3 + c4 + ":" + c1 + "@" + c2 + ">" + c1 + "@" + c2 + "</a>")
}




//////////// FADE

var TimeToFade = 1000.0;

function fadeIn(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
  
  element.FadeState = null;  
  element.style.opacity = '0';
  
  fade(eid);  
}

function fadeOut(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
  
  element.FadeState = null;  
  element.style.opacity = '1';
  
  fade(eid);  
}

function fadeOutIn(eid)
{
    fadeOut(eid);

    setTimeout("fadeIn('" + eid + "')", 1100);
}

function fade(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
   
  if(element.FadeState == null)
  {
    if(element.style.opacity == null 
        || element.style.opacity == '' 
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
    
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
  }  
}

function animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' 
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}
