/* function.js */
/**
Actualizado al: 20-02-2009
**/
function Trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}

function IsEmpty(Object)
{
    return (Object == undefined || typeof(Object) == "undefined");
}

function ViaAjax()
{
    var xmlhttp = false;
     try
     {
         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch(e)
     {
         try
         {
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch (E)
         {
             xmlhttp = false;
         }
	}
    if(!xmlhttp && typeof XMLHttpRequest!='undefined')
    {
         xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function Paginator(Page)
{
    document.FrmListView.page.value = Page;
    document.FrmListView.submit();
}

function EditData(iID,sAction)
{
	document.FrmListView.iID.value = iID;
	document.FrmListView.action = sAction;
    document.FrmListView.submit();
}

function Delete(iID,sAction)
{
	if(confirm("Esta seguro que desea eliminar este registro?"))
	{
		document.FrmListView.iID.value = iID;
		document.FrmListView.action = sAction;
	    document.FrmListView.submit();
	}
}

function GoTo(Url)
{
	document.location = Url;
}

function ValidateInteger(Number)
{
	return (parseInt(Number) == Number);
}

function ValidateFloat(Number)
{
	return (parseFloat(Number)==Number);
}

function ClearFields(Form)
{
	var Obj;
	for(var i = 0; i < Form.elements.length; i++)
	{
		Obj = Form.elements[i];
		if(Obj.type == "text" || Obj.type == "select-one")
			Obj.value = "";
	}
}

function GetFormParams(Form)
{
	var Obj;
	var sParms = new Array();
	for(var i = 0; i < Form.elements.length; i++)
	{
		Obj = Form.elements[i];
		if(Obj.type == "text" || Obj.type == "select-one")
			sParms[i]=Obj.name+"="+Obj.value;
		else if(Obj.type=="checkbox")
		{
			if(Obj.checked)
			{
				if(Obj.value!="")
					sParms[i]=Obj.name+"="+Obj.value;
				else
					sParms[i]=Obj.name+"=1";
			}
		} else if(Obj.type=="radio")
		{
			if(Obj.checked)
			{
				if(Obj.value!="")
					sParms[i]=Obj.name+"="+Obj.value;
				else
					sParms[i]=Obj.name+"=1";
			}
		} else if(Obj.type=="textarea")
		{
			sParms[i]=Obj.name+"="+Obj.value;
		} else if(Obj.type="hidden")
		{
			sParms[i]=Obj.name+"="+Obj.value;
		}
	}
	return sParms.join("&");
}

function ClearAllFields(Form)
{
	var Obj;
	for(var i = 0; i < Form.elements.length; i++)
	{
		Obj = Form.elements[i];
		
		if(Obj.type == "text" || Obj.type == "select-one")
			Obj.value = "";
		if(Obj.type == "hidden")
		{
			Obj.value = "";
		}
	}
}

function ClearListViewFields(Form)
{
	ClearFields(Form);
	ClearPaginatorFields();
}
function ClearPaginatorFields()
{
	document.FrmListView.page.value = "";
}

function CheckBoxToBool(Obj)
{
	if(Obj.type=="checkbox")
	{
		if(Obj.checked)
			return 1;
		else
			return 0;
	}
	else
		return 0;
}

function CheckBoxToBoolStr(Obj)
{
	if(Obj.type=="checkbox")
	{
		if(Obj.checked)
			return 'Si';
		else
			return 'No';
	}
	else
		return 'No';
}

function ValidateEmail(valor) 
{
	var ret = false;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
	{
		ret = true;
	}
	return ret;
}

function SetFocusToFirstControl()
{
  var bFound = false; 

  //for each form
  for (f=0; f < document.forms.length; f++) 
  {
    //for each element in each form
    for(i=0; i < document.forms[f].length; i++)
    {
      //if it's not a hidden element
      if (document.forms[f][i].type != "hidden") 
      { 
        //and it's not disabled
        if (document.forms[f][i].disabled != true) 
        {
          try {
             //set the focus to it
             document.forms[f][i].focus();
             var bFound = true;
          }
          catch(er) {
          }
        }
      }
      //if found in this element, stop looking
      if (bFound == true)
        break;
    }
    //if found in this form, stop looking
    if (bFound == true)
      break;
  }
}

function isNumberFloat(inputString)
{
  return (!isNaN(parseFloat(inputString))) ? true : false;
}

function cFUploaderExtDeleteUploaded(sFileName,sCustomMessage,sDivRespuesta,sScript,iID)
{
	if(sCustomMessage=='')
		sCustomMessage = 'Desea Borrar la imagen del servidor?';
	if(!confirm(sCustomMessage))
		return;
	if(sDivRespuesta=='')
		return;
	if(sScript=='')
		return;
	if(!iID)
		iID = 0;
	var Div = document.getElementById(sDivRespuesta);
	var sDivAux = Div.innerHTML; 
	var Ajax = new ViaAjax();
	Ajax.open("POST", sScript, true);
	Ajax.onreadystatechange = function()
	{
		if(Ajax.readyState == 1)
		{
			Div.innerHTML = "<img src='../../images/loader_small.gif' border = 0 style='vertical-align:middle;' />";
	 	}else if (Ajax.readyState == 4)
        {
        	var sResp = Trim(Ajax.responseText)
        	if(sResp=='')
        	{
        		alert('La operacion fue realizada con exito.');
        		Div.innerHTML = '';
        	}
        	else
        	{
        		alert(sResp);
				Div.innerHTML = '';
        	}
            return false;
        }
	}
	Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	Ajax.send("igOpcion=1&sPathImage="+sFileName+"&iID="+iID);
}

function PaginatorAjax(Form,PageParmName,Page)
{
	if(!Page)
		return;
	if(!Form.sIdLista.value)
		return false;
	Form.elements[PageParmName].value = Page;
	var Div = $(Form.sIdLista.value);
	var oReq = new Request(
	{
			url:Form.action
			,method:'post'
			,onSuccess:function(responseText,responseXML)
			{
				Div.innerHTML = responseText;
			}
			,onComplete:function()
			{
				
			}
			,onRequest:function()
			{
				Div.innerHTML = "&nbsp;<span class=\"loader-small\">&nbsp;Efectuando operacion...</span>";
			}
		}
	);
	
	oReq.send($(Form.id).toQueryString());
	return false;
}

function OrderByAjax(Form,OrdParmName,FieldName,OrderType)
{	
	//alert(OrderType);
	if(!OrderType)
		return;
	if(!Form.sIdLista.value)
		return false;
	Form.elements[OrdParmName].value = FieldName + ' ' +OrderType;
	var Div = $(Form.sIdLista.value);
	var oReq = new Request(
	{
			url:Form.action
			,method:'post'
			,onSuccess:function(responseText,responseXML)
			{
				Div.innerHTML = responseText;
			}
			,onComplete:function()
			{
				
			}
			,onRequest:function()
			{
				Div.innerHTML = "&nbsp;<span class=\"loader-small\">&nbsp;Efectuando operacion...</span>";
			}
		}
	);
	
	oReq.send($(Form.id).toQueryString());
	return false;
}

function OrderByExt(Form,OrdParmName,FieldName,OrderType)
{	
	//alert(OrderType);
	if(!OrderType)
		return;
	Form.elements[OrdParmName].value = FieldName + ' ' +OrderType;	
	Form.submit();
	return true;
}
