﻿// Archivo JScript
function showDialogWin(url,nm,w,h){
    var y = (screen.height / 2) - (h/2);
    var x = (screen.width / 2) - (w/2);
    var w = window.open (url,nm,'location=0,status=0,scrollbars=0,width='+w+',height='+h);
    
    w.focus();
    w.moveTo(x,y);
}
function setPage(obj){
    var vlu = obj.options[obj.selectedIndex].value;
    var url_str = self.location.protocol+'//'+self.location.host+self.location.pathname+"?page="+vlu;
    location.assign(url_str);
}

function setPageFromButton(nm){

    var obj = document.getElementById(nm);
    var index = obj.selectedIndex;
    var vlu = obj.options[index].value;
    
    var str_url = location.href;
          
    var QueryStringBack ="?page="+vlu;
    var url_str = "";
    
    try 
    {
        var arr_qss = str_url.split("?")[1].split("&");
        var i;
       
        for (i = 0; i < arr_qss.length; i++){
        
            var arr_q =  arr_qss[i].split('=');
               
            if(arr_q.length > 1){
                
                switch(arr_q[0]) {
                            
                     case "page":
                         break;
                     default:
                         QueryStringBack += "&"+arr_q[0]+"="+arr_q[1];
                         break;
                }
            }
        }
        
        url_str = str_url.split("?")[0]+QueryStringBack;
    }
    catch (err) {
        url_str = str_url + QueryStringBack;
    }
    
    location.assign(url_str);
}

function setPageFromValue(nm,vlu){
    /*var obj = document.getElementById(nm);
    var vlu = obj.options[obj.selectedIndex].value;
    var url_str = self.location.protocol+'//'+self.location.host+self.location.pathname+"?page="+vlu;
    location.assign(url_str);*/
    var obj = document.getElementById(nm);
    var index = obj.selectedIndex;

    var url_str = self.location.protocol+'//'+self.location.host+self.location.pathname+"?page="+vlu;
    
    location.assign(url_str);    
}

var current_size = 3;
var sizes = new Array(9);

sizes[0] = "smaller";
sizes[1] = "xx-small";
sizes[2] = "x-small";
/*sizes[3] = "small";*/
sizes[3] = "12px";
sizes[4] = "medium";
sizes[5] = "large";
sizes[6] = "x-large";
sizes[7] = "xx-large";
sizes[8] = "larger";

function enlargeFont(){
    current_size++;
    
    if (current_size >= sizes.length){
        current_size = sizes.length-1;
    }
    
    var stl_sht = document.styleSheets[0];
    if(stl_sht.cssRules){
        var css_rls = stl_sht.cssRules[0];
    }else{
        var css_rls = stl_sht.rules[0];
    }
    
    css_rls.style.fontSize = sizes[current_size];
}

function lessenFont(){
    current_size--;
    
    if (current_size < 0){
        current_size = 0;
    }
    
    var stl_sht = document.styleSheets[0];
    if(stl_sht.cssRules){
        var css_rls = stl_sht.cssRules[0];
    }else{
        var css_rls = stl_sht.rules[0];
    }
    
    css_rls.style.fontSize = sizes[current_size];
}

function markCheckBoxes(ids){
    var lst = ids.split(',');
    var i;
    var prefix = "public_dsi_";
    var ctrl;
    
    for (i = 0; i <= lst.length; i++){
        ctrl = document.getElementById(prefix + lst[i]);
        ctrl.checked = true;
    }
}


function markCheckBoxesAll(NameForm,bool){
    
    var ListCount = document.forms[NameForm].elements.length;

    if(bool == "True")
    {
        for (i = 0; i < ListCount; i++){
            ctrl = document.forms[NameForm].elements[i];
            ctrl.checked = true;
        }
    }
    else
    {
        for (i = 0; i < ListCount; i++){
            ctrl = document.forms[NameForm].elements[i];
            ctrl.checked = false;
        }
    }

}


function showQueryPanel(nm){
    var obj = document.getElementById(nm);
    var cls_name;

    if (obj.className == "hdr_query_show_visible")
        cls_name = "hdr_query_show_hidden";
    else
        cls_name = "hdr_query_show_visible";
    
    obj.className = cls_name;
}

function showBiselAdvancedPanel(nm){
    var obj = document.getElementById(nm);
    var cls_name;

    if (obj.className == "bisel_advanced_wrapper_visible")
        cls_name = "bisel_advanced_wrapper_hidden";
    else
        cls_name = "bisel_advanced_wrapper_visible";
    
    obj.className = cls_name;
}

function setDialogValue(nm,vlu,obj_to_set){
    var obj;

    obj = window.opener.document.getElementById(nm);
    if (obj.value == "")
    {
        obj.value = "="+vlu;
    }
    else
    {
        obj.value += " / ="+vlu;
    }

    if (obj_to_set !=  "")
    {
        var result = obj.value;
        obj = document.getElementById(obj_to_set);
        obj.value = result;
    }
}

function addToQS(key,value){
    var full_url_string = location.href;
    var url_string;
    var qs_string = "";
    var url_to_go = "";
    var qs_parts;
    
    //alert(key);
    
    if (full_url_string.indexOf('?') == -1 )
    {
        //si entra aquí es que estamos 'estrenando' la QS
        url_to_go += key+"="+value;
    }
    else
    {
        //si entra aquí es que la QS ya está formada
        qs_string = full_url_string.split("?")[1];
        url_string = full_url_string.split("?")[0];
        
        if (qs_string.indexOf(key+"=") == -1 )
        {
            //si entra aquí es que la clave no existe, crearla
            url_to_go = full_url_string+"&"+key+"="+value;
        }
        else
        {
            qs_parts = qs_string.split("&");
            
            for (var i = 0; i < qs_parts.length; i++)
            {
                if (qs_parts[i].indexOf(key+"=") != -1)
                {
                    qs_parts[i] = key+"="+value;
                    break;
                }
            }
            
            qs_string = qs_parts.join("&");
            url_to_go = url_string + "?" + qs_string;
        }
    }
    location.assign(url_to_go);
    //alert(url_to_go);
}


//Función para validar los campos obligatorios en los formularios
function valida_envia(form_name,str_fields,str_field_names){ 
    var el_names = str_fields.split("|");
    var fld_names = str_field_names.split("|");
    var frm = document.forms[form_name];
    var is_valid = true;
    var i;
    
    for (i = 0; i < el_names.length; i++){
        if (frm.elements[el_names[i]].value == "")
        {
            alert(fld_names[i] + ": Datos incompletos");
            frm.elements[el_names[i]].focus();
            is_valid = false;
            break;
        }
    }
            return is_valid;
} 

//**** Metodos de Upload/Calendar ****//


function OpenPopUp (NamePage, Title, Width, Height ) {

	var ConfigPopup = 'width='+Width+',';
	ConfigPopup += 'height='+Height;
	var win = window.open(NamePage, Title, ConfigPopup +',menubar=no, resizable=no, directories=no ');
	
    win.moveTo(screen.width / 2,screen.height / 2);
}
function OpenPopUpScroll (NamePage, Title, Width, Height ) {

	var ConfigPopup = 'width='+Width+',';
	ConfigPopup += 'height='+Height;
	var win = window.open(NamePage, Title, ConfigPopup +',menubar=no, resizable=no, directories=no, scrollbars=yes ');
	
    win.moveTo(screen.width / 2,screen.height / 2);
}

function OpenPopUpGeo (NamePage, Title, Width, Height,NameForm,NameObject,SplitChar ) {

	var ArrCodeGeo = window.document.forms[NameForm].elements[NameObject].value.split(SplitChar);
	var CodeGeo = "";
	
	for (i = 1; i < ArrCodeGeo.length; i++){
	    if(i==1){
	        CodeGeo=ArrCodeGeo[i];
	    }
	    else{
	        CodeGeo+="/"+ArrCodeGeo[i];
	    }
	}

	var ConfigPopup = 'width='+Width+',';
	ConfigPopup += 'height='+Height;
	var win = window.open(NamePage+"&CodeGeo="+CodeGeo, Title, ConfigPopup +',menubar=no, resizable=no, directories=no ');
	
    win.moveTo(screen.width / 2,screen.height / 2);
}


function  SetObjectValue (NameForm ,NameObject , ValueObject ,cls ) {

	window.opener.document.forms[NameForm].elements[NameObject].value = ValueObject;
	if(cls == true)
	{
	   window.close();
	}
}

function  SetObjectValueUrl (ValueObject , splitchar) {

    var NameForm = "";
    var NameObject = "";
    
    var str_url = location.href;
    var arr_qss = str_url.split("?")[1].split("&");
    var i;
    
    for (i = 0; i < arr_qss.length; i++){
    
        var arr_q =  arr_qss[i].split('=');
        
        if(arr_q.length > 1){
            
            switch(arr_q[0]) {
                        
                 case "ID":
                     NameForm = arr_q[1];
                     break;
                 case "OP":
                     NameObject = arr_q[1];
                     break;
            
            }
 
        }
    }

	window.opener.document.forms[NameForm].elements[NameObject].value +=splitchar + ValueObject+"\r\n"; 

}

function  GetObjectValue (NameForm , NameObject, NameObjectDest ) {
     
	   window.document.forms[0].elements[NameObjectDest].value = window.opener.document.forms[0].elements[NameObject].value;
}


function  GetObjectValueEscapeReplace (NameForm , NameObject, NameObjectDest ) 
{
    window.document.forms[0].elements[NameObjectDest].value = window.opener.document.forms[0].elements[NameObject].value.replace(/\\/g, "\\\\");
}


function  GetObjectValueSplitChar (NameForm , NameObject, NameObjectDest,SplitChar ) {

    var vlu_to_paste = window.opener.document.forms[0].elements[NameObject].value.split(SplitChar);
    var obj_dest = window.document.forms[0].elements[NameObjectDest];
    
    var i;
    
    for (i=0; i<vlu_to_paste.length; i++)
    {
        if (vlu_to_paste[i]!= "")
        {
            obj_dest[i] = new Option(vlu_to_paste[i]); 
        }
    }
    
    //__doPostBack('','');
}

function AddSplitChar (NameObject, Splitchar) {

     window.document.forms[0].elements[NameObject].value += Splitchar+"\r\n";

}
function Message (Msg) {
    
    alert(Msg);

}