/***************************************************************************************/
function getTopParent(thisWindow){
  var tmpWindow = thisWindow
  while (tmpWindow !== tmpWindow.parent){
    tmpWindow = tmpWindow.parent
  }
  return tmpWindow
  }

//****************************************************
            function OcultarParametros(){

              if (document.getElementById("tdFiltros").style.display == ""){

                document.getElementById("tdFiltros").style.display = "none"

                document.getElementById("lnkParamBusqueda").innerHTML = "Mostrar Párametros de Búsqueda"

              }else{

                document.getElementById("tdFiltros").style.display = ""

                document.getElementById("lnkParamBusqueda").innerHTML = "Ocultar Párametros de Búsqueda"

              }

            }

//**************************************************
function RTrim(Value) {
	var nwvl = "";
	for (var i = Value.length-1;i >= 0;i--){
	  if (Value.charCodeAt(i) != 32){
	    nwvl = Value.substring(0,i+1);
	    break;
	  }
	}    
	return nwvl;
}
//**************************************************
function LTrim(Value) {
	var nwvl = "";
	for (var i = 0;i < Value.length;i++){
		if (Value.charCodeAt(i) != 32){
			nwvl = Value.substring(i,Value.length);
			break;
		}
	}    
	return nwvl;
}
//**************************************************************************
function getKeyCode(e){
	// handle i.e. (window.event) and firefox (e)
	var eventInstance = window.event ? event : e;
	// handle i.e. (charCode) and firefox (keyCode)
	var unicode = eventInstance.charCode ? eventInstance.charCode : eventInstance.keyCode;
	
	if (detectBrowser()=="SF" && unicode==3){unicode=13}
	//var key = String.fromCharCode(unicode);
	return unicode
}
//**************************************************
function Trim(Value){
	var nwvl = LTrim(RTrim(Value))
	return nwvl;
}
//**************************************************
function isLeapYear( year ){
	// is it leap year ? returns a boolean
	return ( (0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))); 
	// ie, if the year divides by 4, but not by 100 except when it divides by
	// 400, it is leap year
}
//**************************************************
function canonicalDate(day, month, year) 
{ 
	// return the number of days since the Jan 0 2000 (ie, 1/1/2K returns 1, 31/12/1999 returns 0) 
	// for days before Jan 1 2000, returns negative numbers
	var canonDate = 0;
	var myDate = new Date(); 
	// if the function had no arguments, use today's date; 
	var mday = myDate.getDate(); 
	var mmon = myDate.getMonth(); 
	var myr  = myDate.getFullYear(); 

	if( arguments.length > 0 ) 	 { mday = arguments[0];	 } 
	if( arguments.length > 1 ) 	 { mmon = arguments[1];	 } 
	if( arguments.length > 2 ) 	 { myr  = arguments[2];	 } 

	if(myr >= 2000){ 
		canonDate += mday; 

		while(mmon > 0){
			canonDate += isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon]; 
			alert(canonDate)
			mmon--;
		} 
		while(myr > 2000){
			canonDate += isLeapYear(myr) ? 366: 365; 
			alert(canonDate)
			myr--;  
		} 
	}else{ 
		canonDate -= isLeapYear(myr) ? leapdays[mmon] - mday: yeardays[mmon] - mday; 
		
		while(mmon < 11){ 
			mmon++; 
			canonDate -= isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon];
		} 
		while(myr < 1999){
			myr++; canonDate -= isLeapYear(myr) ? 366: 365;
		} 
	} 

	return canonDate; 
} 
//**************************************************
function isDate(p_Expression){
	return !isNaN(new Date(p_Expression));
}
//**************************************************
function getNumber(Value){
	return Value.toString().replace(/\,|\,/g,'');
}
//**************************************************
function InStr(n, s1, s2){
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;
	
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}
//**************************************************
function setupForm(elementId){
    
    return
    
    var element = document.getElementById(elementId)
    
    element.style.display = "none"
    
    var height = element.parentNode.clientHeight
    var width = element.parentNode.clientWidth
    element.style.overflow = "scroll"
    element.style.display = "block"
    element.style.height = (height - 10) + 'px'
    element.style.width = width + 'px'
    
}
//**************************************************
function stopEvent(event){
    if (event == null){
        return
    }

    var mBrowser = detectBrowser()
    
    switch (mBrowser){
        case "IE":
            event.returnValue = false
            break;
        case "FF":
            event.preventDefault()
            break;
        case "SF":
            event.stopPropagation()
            break;            
    }
    
}
//**************************************************
function detectBrowser(){
    var mReturnValue = null
    var mAgent = new String(navigator.userAgent.toLowerCase())
    
    if (mAgent.indexOf("msie") !== -1){
        mReturnValue = "IE"
    }else if(mAgent.indexOf("firefox") !== -1){
        mReturnValue = "FF"
    }else if(mAgent.indexOf("safari") !== -1){
        mReturnValue = "SF"
    }
        
    return mReturnValue

}
//**************************************************
function frameParentClose(){
    var frame = parent.document.getElementById("frame")
    frame.style.display = "none"
}
//**************************************************
function frameClose(){
    var frame = document.getElementById("frame")
    frame.style.display = "none"
}
var timerReadyStateID = null
//**************************************************
function frameReadyState(){
   
    
    var frame = document.getElementById("frame")
    var frameDummy = document.getElementById("frameDummy")
    
    var frameTitle = frame.contentWindow.document.title
    
    if (frameTitle !== ""){
    
        frameDummy.contentWindow.location.href = "about:blank"
        window.clearInterval(timerReadyStateID)
    }
        
    
}
/***************************/
function changeSelectedValue(elementName, value){
    var elementCollection = document.getElementsByTagName("input")
   
    if (elementCollection.length){
        
        for (i=0;i<elementCollection.length;i++){
            var mElement = elementCollection[i]  
            
            if (mElement.type == "checkbox"){
                var mCurName = new String(mElement.id)
                                
                if (mCurName.indexOf(elementName) !== -1){
                    mElement.checked = value
                    mElement.onclick()
                }
            }
        }    
    }else{
        elementCollection.checked = value
    
    }
}
/***************************/
function frameOpen(url, width, height){
    var frame = document.getElementById("frame")
    

    width = width + 10
    height = height + 10
    
    timerReadyStateID = window.setInterval("frameReadyState()", 10);

    window.setTimeout("frameReadyState()", 100);    
    frame.contentWindow.location.href = url
    
    
    frame.style.position = "absolute"
    frame.style.width = width
    frame.style.height = height

    frame.style.left = ((document.body.clientWidth - width) / 2)
    frame.style.top = ((document.body.clientHeight - height) / 2)
    frame.style.display = ""
}
//**************************************************
function getControlValue(controlName){    
    var mValue = new String()
    mValue = document.getElementById(controlName).value
    return mValue
}
//**************************************************
function OnCallbackError(){
  document.location.href = "../../errorpage.aspx"
}
//**************************************************
function HideBlockerExec(){
  var topParent = getTopParent(window)
  var blocker = topParent.document.getElementById("blocker")
  var mShowMsg = document.getElementById("__NoShowMsgProccess")
  if (mShowMsg== null){
    var total = topParent.document.getElementById("total")
    total.style.display = "none"
  }
  blocker.style.display = "none"
  HideBlockerTimer = null
}
var HideBlockerTimer = null
//**************************************************
function HideBlocker(){
  if (HideBlockerTimer !== null){
    window.clearTimeout(HideBlockerTimer)
  }
  HideBlockerTimer = window.setTimeout("HideBlockerExec()", 200)
}
//**************************************************
function ShowBlocker(){
  var topParent = getTopParent(window)
  //var blocker = document.getElementById("blocker")
  var blocker = topParent.document.getElementById("blocker")
  var total = topParent.document.getElementById("total")
  
  if (blocker == null){
    blocker = topParent.document.createElement("DIV")  
    blocker.id = "blocker"  
    //blocker.innerHTML="<table style='height:100%;width:100%'><tr><td valign='middle' align='center'><DIV>Processing</DIV></td></tr></table>"
    //blocker.innerHTML = "<DIV src='/library/images/loading6.gif'></DIV>"
    //NO DEBE DE OCUPAR ESPACIO DEBAJO DE TODO EL FORM
    topParent.document.body.appendChild(blocker)
  }else{
    blocker.style.display = ""
  }
  
  var mShowMsg = document.getElementById("__NoShowMsgProccess")
  
  if (mShowMsg == null){
    if (total == null){
      total = topParent.document.createElement("DIV")  
      total.id = "total"  
      topParent.document.body.appendChild(total)
    }else{
      total.style.display = ""
    }
  }
    
}
//**************************************************
function onCallback(arg, context, endFunction){
  HideBlocker() 
  if (context !== null){
    this.context = context
  }
  
  endFunction(arg)
}

//**************************************************
function DoCallBack(functionName, functionArguments, endFunction, context){
    __theFormPostData = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=&"    
    ShowBlocker()
    WebForm_DoCallback('__Page', functionName + '|' + functionArguments, function(arg){onCallback(arg, context, endFunction)}, context, OnCallbackError, false)        
}
/***************************/
function setupHtmlGrid(elementName, html){
    var elementMainTable = document.getElementById(elementName + "_main_table")
    elementMainTable.parentNode.innerHTML = html        
}
/***************************/
function setupHtmlCombo(elementName, html){
    document.getElementById(elementName).name = "__"
            
    document.getElementById(elementName).parentNode.innerHTML = html

}
/***************************/
function setupGrid(elementId){

    var element = document.getElementById(elementId)
    var mainTable = document.getElementById(elementId + "_main_table")            
    var result = document.getElementById(elementId + "_result")
    var height = mainTable.parentNode.parentNode.parentNode.clientHeight
    
    mainTable.style.display = ""
    result.style.display = ""
    return

    var parentHeight = new String(mainTable.parentNode.parentNode.style.height)
    var hasFooter = false
    try{
        
        if (document.getElementById(elementId + "_footer") !== null){
            hasFooter = true
        }else{
            hasFooter = false
        }
        
    }
    catch(ex){
        hasFooter = false
    }
    
    
    var mFixHeight = hasFooter ? 57 : 35
    
    
    if (parentHeight.indexOf("%") == -1){
        mainTable.style.height = height + "px"
        result.style.height = height + "px"   

    }else{
        mainTable.style.height = (height - mFixHeight) + "px"
        result.style.height = (height - mFixHeight) + "px"
    }
    
    
    mainTable.style.display = ""
    result.style.display = ""
    
}
/***************************/
function setFullScreen(){

    try{
        window.moveTo(0,0)
        window.resizeTo(screen.width,screen.height-30)

    }catch(ex){

    }

}
/***************************/
function setSelectedValue(elementName, data){
    var elementCollection = document.getElementsByName(elementName)
    var mArray = data.split(":")
    
    if (elementCollection.length){
        
        for (i=0;i<elementCollection.length;i++){
            var mElement = elementCollection[i]  
            
            for (a=0;a < mArray.length;a++){
                if (mElement.value == mArray[a]){
                    mElement.checked = true
                }                
            }
        }    
    }else{
        for (a=0;a < mArray.length;a++){

            for (a=0;a < mArray.length;a++){
                if (elementCollection.value == mArray[a]){
                    elementCollection.checked = true
                }                
            }
        }
    }
}
/***************************/
function getSelectedValue(elementName){
    
    var elementCollection = document.getElementsByName(elementName)
    var mArray = new Array()
    
    if (elementCollection.length){
        
        for (i=0;i<elementCollection.length;i++){
            var mElement = elementCollection[i]            
            if (mElement.checked){
                mArray.push(mElement.value)
            }                
        }    
    }else{
        if (elementCollection.checked){
            mArray.push(elementCollection.value)
        }
    }
    
    var mReturnValue = mArray.join(":")
    
    return mReturnValue
}

/***************************/
function result_onscroll(elementName){

	try{
		document.getElementById(elementName + "_resultHeader").style.left = -document.getElementById(elementName + "_result").scrollLeft
	}catch(e){
		alert(e)
	}
	
}
var mFormData = null
//**************************************************
function DoFormCallBack(functionName, dummy, endFunction){
    
    mFormData = new String()
    InitFormCallback()
    
    __theFormPostData = "__FORMCALLBACK=1&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=&" + mFormData
    ShowBlocker()
    WebForm_DoCallback('__Page', functionName, function(arg){onCallback(arg, null, endFunction)}, null, null, false) 
}
//**************************************************
function InitFormCallback() {
    var count = theForm.elements.length;
    var element;
    for (var i = 0; i < count; i++) {
        element = theForm.elements[i];
        var tagName = element.tagName.toLowerCase();
        if (tagName == "input") {
            var type = element.type;
            
            if ((type == "text" || type == "hidden" || type == "password" || ((type == "checkbox" || type == "radio") && element.checked)) && (element.id != "__EVENTVALIDATION" && element.id != "__VIEWSTATE" && element.id != "__EVENTTARGET" && element.id != "__EVENTARGUMENT")) {
                
                InitCallbackAddField(element.name, element.value);
            }
        }
        else if (tagName == "select") {
            var selectCount = element.options.length;
            for (var j = 0; j < selectCount; j++) {
                var selectChild = element.options[j];
                if (selectChild.selected == true) {
                    InitCallbackAddField(element.name, element.value);
                }
            }
        }
        else if (tagName == "textarea") {
            InitCallbackAddField(element.name, element.value);
        }
    }
}
//**************************************************
function InitCallbackAddField(name, value) {
    mFormData += name + "=" + WebForm_EncodeCallback(value) + "&";
}
//**************************************************************************
function expand(sectionName, linkName){
    var element = document.getElementById(sectionName)
    var linkElement = document.getElementById(linkName)
    var newImageSrc = ""
    
    if (element.style.display == "none"){
        element.style.display = ""
        newImageSrc = "/libreria/imagenes/busqueda/collapse.gif"
    }else{
        element.style.display = "none"    
        newImageSrc = "/libreria/imagenes/busqueda/expand.gif"
    }
    
    var imageElement = linkElement.childNodes(0)
    imageElement.src = newImageSrc
    
}
function buildSection(secText){
	var vSecHTML = new String("");
	vSecHTML += "<table style='width:100%;height:24px'  border='0' cellpadding='0' cellspacing='0'>"
	vSecHTML += "<tr>"
	vSecHTML += "<td class='lSection'><span style='width:4px'></span></td>"
	vSecHTML += "<td class='cSection' style='width:100%'>" + secText + "</td>"
	vSecHTML += "<td class='rSection'><span style='width:4px'></span></td>"
	vSecHTML += "</tr>"
	vSecHTML += "</table>"
	
	document.write(vSecHTML);
}
/*******************************************************************************************/
var _CurrentWindow;
var _DialogArguments;
var _DialogReturn;

function openWindow(url, windowHeight, windowWidth, resize, Name, Mode, MySendArgs, endFunction){		
	windowLeft = (screen.availWidth / 2) - (windowWidth / 2);
	windowTop  = ((screen.availHeight / 2) - (windowHeight / 2)) - 20;	
	
	var mUrl = new String(window.location.pathname + url);
	var mResize = "";

	if (typeof(Mode) == "undefined" || Mode == 1){
		if (resize == null){
			mResize = "resizable=false";
		}else{
			mResize = "resizable=" + (resize ? "yes":"no");
		}
		if (Name == null) {
			var newWindow = window.open(url, "", mResize + ", height=" + windowHeight + ",width=" + windowWidth + ",status=yes, left=" + windowLeft + ", top=" + windowTop + "scroll= yes");
		}else{
			var newWindow = window.open(url, Name, mResize + ", height=" + windowHeight + ",width=" + windowWidth + ",status=yes, left=" + windowLeft + ", top=" + windowTop + "scroll= yes");
		}
	}
	else{
		_DialogArguments = MySendArgs 
		_CurrentWindow = showPopWin(url, windowWidth, windowHeight + 60, endFunction)

	}
}
/*******************************************************************************************/
function openWindow2(url, windowHeight, windowWidth){		
	var windowLeft = (screen.availWidth / 2) - (windowWidth / 2);
	var windowTop = ((screen.availHeight / 2) - (windowHeight / 2)) - 20;
    var windowName = url.replace(/\W/g, "_")
	var newWindow = window.open(url, windowName, "height=" + windowHeight + ",width=" + windowWidth + ",status=yes, left=" + windowLeft + ", top=" + windowTop);
}
/*******************************************************************************************/
function hideTabsSection(TabCollectionID, TabSelected){
    try{
	    var objTabsPanel = document.all(TabCollectionID);

	    if (isNaN(objTabsPanel.length)){
		     objTabsPanel.style.display="none";
	    }
	    else{
		    for (var i=0; i<objTabsPanel.length;i++){
			    if (i != TabSelected) objTabsPanel[i].style.display="none";
		    }
	    }
    }catch(ex){}
}
    /*******************************************************************************************/
    function restarTabItem(TabCollectionID){
        var objTabItems = document.all(TabCollectionID);

        for (var i=0; i<objTabItems.length;i++){
	        objTabItems[i].innerHTML="<label>" + objTabItems[i].outerText + "</label>"
        }
    }
    /*******************************************************************************************/
    function showTabOption(TabOptionObject){
        TabOptionObject.innerHTML = "<table cellpadding=0 cellspacing=0 width=100%><tr>" +
        "<td class=left></td>" +
        "<td class=center style='cursor:hand;'>" + TabOptionObject.outerText + "</td>" +
        "<td class=right></td>" +
        "</tr></table>";
    }
    /*******************************************************************************************/
    function showTab(Objeto, TabPanelIndex, HideVP, IsSubTab, SubTabIndex, SubTabIndexToShow){
        /**************************************************/
        //Manejo de los tab principales
        /**************************************************/
        hideTabsSection("dTabPanel",TabPanelIndex);
        if (TabPanelIndex >= 0) document.all("dTabPanel")[TabPanelIndex].style.display="block";

        restarTabItem(Objeto.id);

        showTabOption(Objeto);
        /**************************************************/

        /**************************************************/
        //Manejo de los sub tabs
        /**************************************************/

        if (typeof(SubTabIndexToShow) != "undefined"){

	        if (typeof(IsSubTab) == "undefined") IsSubTab = false;

	        var SubTabID = "tdTabItem" + SubTabIndex;

	        if (!IsSubTab && SubTabIndexToShow >= 0){

		        hideTabsSection("SubTab",SubTabIndex);

		        try{
			        document.all("SubTab")[SubTabIndex].style.display="block";
		        }catch(ex){
			        document.all("SubTab").style.display="block";
		        }

		        restarTabItem(SubTabID);

		        if (document.all("tdTabItem" + SubTabIndex)[SubTabIndexToShow] == null){
			        showTabOption(document.all("tdTabItem" + SubTabIndex));
			        document.all("tdTabItem" + SubTabIndex).onclick()
		        }else{
			        showTabOption(document.all("tdTabItem" + SubTabIndex)[SubTabIndexToShow]);
			        document.all("tdTabItem" + SubTabIndex)[SubTabIndexToShow].onclick()
		        }
	        }
	        else{
		        if(!IsSubTab) hideTabsSection("SubTab",SubTabIndex);
	        }
        }
        else{
	        if (!IsSubTab) hideTabsSection("SubTab",-1);
        }
        /**************************************************/

        try{
	        if (HideVP) hideValidatorPanel();
        }catch(ex){}
    }
    /*******************************************************************************************/
    function showTabNav(TabPanelIndex, NavigateTo){
			window.location = NavigateTo + "?tab=" + TabPanelIndex;
    }
    /*******************************************************************************************/
    
   function   FechaDMY(valor){
    var  fecha1 = document.getElementById(valor).value;
    var  mi_array_fecha = new Array();
    mi_array_fecha = fecha1.split("/");
    return mi_array_fecha[1] + "/" + mi_array_fecha[0] + "/" + mi_array_fecha[2]
   }

function showCalendar(controlID){
  this.blur();if(self.gfPop1){gfPop1.fDemoPopDepart(document.getElementById(controlID),document.getElementById(controlID),this)};
}

/*

insertada19/06/200

 
 sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
			this.style.zIndex=200; //this line added to force flyout to be above relatively positioned stuff in IE
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

 */
