﻿var setGradient = (function() {

   //private variables;
   var p_dCanvas = document.createElement('canvas');
   var p_useCanvas = !!(typeof (p_dCanvas.getContext) == 'function');
   var p_dCtx = p_useCanvas ? p_dCanvas.getContext('2d') : null;
   var p_isIE = /*@cc_on!@*/false;

   //test if toDataURL() is supported by Canvas since Safari may not support it

   try { p_dCtx.canvas.toDataURL() } catch (err) {
      p_useCanvas = false;
   };

   if (p_useCanvas) {

      return function(dEl, sColor1, sColor2, bRepeatY) {

         if (typeof (dEl) == 'string') dEl = document.getElementById(dEl);
         if (!dEl) return false;
         var nW = dEl.offsetWidth;
         var nH = dEl.offsetHeight;
         p_dCanvas.width = nW;
         p_dCanvas.height = nH;

         var dGradient;
         var sRepeat;
         // Create gradients
         if (bRepeatY) {
            dGradient = p_dCtx.createLinearGradient(0, 0, nW, 0);
            sRepeat = 'repeat-y';
         } else {
            dGradient = p_dCtx.createLinearGradient(0, 0, 0, nH);
            sRepeat = 'repeat-x';
         }

         dGradient.addColorStop(0, sColor1);
         dGradient.addColorStop(1, sColor2);

         p_dCtx.fillStyle = dGradient;
         p_dCtx.fillRect(0, 0, nW, nH);
         var sDataUrl = p_dCtx.canvas.toDataURL('image/png');

         with (dEl.style) {
            backgroundRepeat = sRepeat;
            backgroundImage = 'url(' + sDataUrl + ')';
            backgroundColor = sColor2;
         };
      }
   } else if (p_isIE) {

      p_dCanvas = p_useCanvas = p_dCtx = null;
      return function(dEl, sColor1, sColor2, bRepeatY) {
         if (typeof (dEl) == 'string') dEl = document.getElementById(dEl);
         if (!dEl) return false;
         dEl.style.zoom = 1;
         var sF = dEl.currentStyle.filter;
         dEl.style.filter += ' ' + ['progid:DXImageTransform.Microsoft.gradient(	GradientType=', +(!!bRepeatY), ',enabled=true,startColorstr=', sColor1, ', endColorstr=', sColor2, ')'].join('');

      };

   } else {

      p_dCanvas = p_useCanvas = p_dCtx = null;
      return function(dEl, sColor1, sColor2) {

         if (typeof (dEl) == 'string') dEl = document.getElementById(dEl);
         if (!dEl) return false;
         with (dEl.style) {
            backgroundColor = sColor2;
         };
         //alert('your browser does not support gradient effet');
      }
   }
})();

function ObtenerPosicionLeft(obj) {
   var curleft = 0;
   if (obj.offsetParent) {
      while (obj.offsetParent) {
         curleft += obj.offsetLeft
         obj = obj.offsetParent;
      }
   }
   else if (obj.x)
      curleft += obj.x;
   return curleft;

}

function ObtenerPosicionTop(obj) {
   var curtop = 0;
   if (obj.offsetParent) {
      while (obj.offsetParent) {
         curtop += obj.offsetTop
         obj = obj.offsetParent;
      }
   }
   else if (obj.y)
      curtop += obj.y;
   return curtop;
}

function TextIzquierda(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}

function TextoDerecha(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

