/***********************************************/
var IE = document.all ? true : false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;

var mouseX = 0;
var mouseY = 0;

function getMouseXY(e)
{
  if (IE) { // grab the x-y pos.s if browser is IE
    mouseX = event.clientX + document.body.scrollLeft;
    mouseY = event.clientY + document.body.scrollTop;
  }
  else {  // grab the x-y pos.s if browser is NS
    mouseX = e.pageX;
    mouseY = e.pageY;
  }  
  if (mouseX < 0){mouseX = 0;}
  if (mouseY < 0){mouseY = 0;}  

  //document.Show.MouseX.value = tempX;
  //document.Show.MouseY.value = tempY;

  return true;
}
/***********************************************/

function winpop(url,name,w,h,s,r,sb,left,top,more)
{
	s = s ? s : 'No';
	r = r ? r : 'No';
	sb = sb ? sb : 'No';
  left = left ? left : 'XY';
	top = top ? top : 'XY';

  if (left=='XY') left=(screen.availWidth-w)/2;
	if (top=='XY') top=(screen.availHeight-h)/2;

	var features = 'width='+w+',height='+h+',status='+s+',resizable='+r+',scrollbars='+sb+',left='+left+',top='+top+more;
	myWin = window.open(url,name,features);
	// Trae al frente la ventana
	myWin.focus()
}
/***********************************************/

function sendData(idElement, val, idWin)
{
  document.getElementById(idElement).value = val;
  if (idWin)
  {
    thisWin = document.getElementById(idWin);
    thisWin.parentNode.removeChild(thisWin);
  }
}

/***********************************************/

function setValidate(obj,elemTarget, validate)
{
  if( obj.value != '' )
  { 
    document.getElementById(elemTarget).setAttribute('alt',validate);

    oldReqs = document.getElementById('_requires_').value;
    document.getElementById('_requires_').value = oldReqs + '-' + document.getElementById(elemTarget).name;
  }
  else
  {
    document.getElementById(elemTarget).setAttribute('alt',validate + '|bok');

    oldReqs = document.getElementById('_requires_').value;
    arrReqs = oldReqs.split('-');
    newReqs = '';
    
    for(var n = 0; n < arrReqs.length; n++)
    {
      if(arrReqs[n] != document.getElementById(elemTarget).name) 
        newReqs = newReqs + '-' + arrReqs[n];
    }
    
    document.getElementById('_requires_').value = newReqs;
  }
}

/***********************************************/

function showhide(what)
{
	elemento = document.getElementById(what);
	//image = document.getElementById(img);

	if (elemento.style.display=='none')
	{
		elemento.style.display='';
		//image.scr="imgs/arrow_results_open.gif";
	}
	else
	{
		elemento.style.display='none';
		//image.scr="imgs/arrow_results.gif";
	}

	return false;
}

/***********************************************
* Disable alpha on key press
***********************************************/

function nokeys (type, event)
{
	ns6 = document.getElementById&&!document.all
	field = ns6 ? event.target : event.srcElement

	switch (type)
	{
		case 'noalpha' : noalpha (event); break;
		case 'upper'   : formatcase ('upper',field); break;
		case 'lower'   : formatcase ('lower',field); break;
		//case 'currency': currencyFormat(field, '.', ',', event); break;	
	}
}

/***********************************************
* Disable alpha on key press
***********************************************/

function noalpha (event)
{
  var ns6 = document.getElementById&&!document.all;
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

	if (keyCode < 45 || keyCode > 57)
	{
	  if (keyCode == 8)
		  return event.returnValue = true;
    else
      return (ns6) ? event.preventDefault() : event.returnValue = false;
  }
	else
	{
		return event.returnValue = true; }
}

/***********************************************
* Convert text value to uppercase/lowercase
***********************************************/

function formatcase (type,field)
{
  field.value = (type == 'upper') ? field.value.toUpperCase()
                                  : field.value.toLowerCase();
}

/***********************************************
* Convert text value to currency format
***********************************************/

function currencyFormat(fld, milSep, decSep, e)
{
  var sep = 0;
  var key = '';
  var i = j = 0;
  var len = len2 = 0;
  var strCheck = '-0123456789';
  var aux = aux2 = '';
  var whichCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
  var maxLen = fld.getAttribute('maxlength') ? fld.getAttribute('maxlength') : 0;
  //var whichCode = (window.Event) ? e.which : e.keyCode;
  if (whichCode == 13 || whichCode == 8) return true;  // Enter - Delete
  //if (whichCode == 8) return true;  // Delete (Bug fixed)
  key = String.fromCharCode(whichCode);  // Get key value from key code
  if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
  len = fld.value.length;
  if(len >= maxLen && maxLen > 0) return true;

  for(i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
  aux = '';
  for(; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
  aux += key;
  len = aux.length;
  if (len == 0) fld.value = '';
  if (len == 1) fld.value = '0'+ decSep + '0' + aux;
  if (len == 2) fld.value = '0'+ decSep + aux;
  if (len > 2)
  {
    aux2 = '';
    for (j = 0, i = len - 3; i >= 0; i--)
    {
      if (j == 3)
      {
        aux2 += milSep;
        j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
    }
    fld.value = '';
    len2 = aux2.length;
    for (i = len2 - 1; i >= 0; i--)
      fld.value += aux2.charAt(i);
    
    fld.value += decSep + aux.substr(len - 2, len);
  }
  return false;
}

/***********************************************/


/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function noenter (frm, event)
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	var ns6 = document.getElementById&&!document.all
	var field = ns6 ? event.target : event.srcElement

	if (keyCode == 13 && field.type!='textarea')
	{
		var i;
		for (i = 0; i < frm.elements.length; i++)
			if (field == frm.elements[i])
				break;

    if ((i + 1) == frm.elements.length)
			return true;
		else
		{
		  i = (i + 1) % frm.elements.length;
		  //if(frm.elements[i].type == 'undefined') i = (i + 1) % frm.elements.length;
		  //if(frm.elements[i].type == 'undefined') i = (i + 1) % frm.elements.length;
		  
			//i = (i + 1) % frm.elements.length;
		  frm.elements[i].focus();

			return false;
		}
	}
	else
		return true;
}

/****************************************************************************/
//FUNCION USADA CUANDO SE ENFOCA UN ELEMENTO VALIDADO


  function lightValidate(f,c)
  {
	eval('document.'+f+'.'+c+'.style.borderColor=\'red\'');
	eval('document.'+f+'.'+c+'.style.backgroundColor=\'#FFFDFD\'');

	/*
    for(i=0;i< form.length;i++)
    {
        e=form.elements[i];
        if ((e.type=='text' || e.type != 'textarea') && e.name!=ctrl.name)
        {
            e.style.borderColor = 'Gray';
            e.style.backgroundColor = '#FFFFFF';
        }
    }
	*/
  }

/****************************************************************************/

//Highlight form element- © Dynamic Drive (www.dynamicdrive.com)
//For full source code, 100's more DHTML scripts, and TOS,
//visit http://www.dynamicdrive.com

var highlightcolor='#FAFFFD'
var highlightborder='#009900'

var ns6=document.getElementById&&!document.all
var previous=''
var eventobj

//Regular expression to highlight only form elements
//var intended=/INPUT|TEXTAREA|SELECT|OPTION/
var intended=/INPUT|TEXTAREA|OPTION/

//Function to check whether element clicked is form element
function checkel(which)
{
    if (which.style&&intended.test(which.tagName))
    {
        if (ns6&&eventobj.nodeType==3)
            eventobj=eventobj.parentNode.parentNode

        return true
    }
    else
        return false
}

//Function to highlight form element
function highlight(e)
{
    eventobj=ns6? e.target : e.srcElement

    if (previous!='')
    {
        if (checkel(previous))
        {
            previous.style.backgroundColor=''
            previous.style.borderColor=''
        }

        previous=eventobj

        if (checkel(eventobj) && (eventobj.type!='submit' && eventobj.type!='reset'))
        {
            eventobj.style.backgroundColor=highlightcolor
            eventobj.style.borderColor=highlightborder
        }
    }
    else
    {
        if (checkel(eventobj) && (eventobj.type!='submit' && eventobj.type!='reset'))
        {
            eventobj.style.backgroundColor=highlightcolor
            eventobj.style.borderColor=highlightborder
        }

        previous=eventobj
    }
}

/****************************************************************************/

function txtCounter(field, countfield, maxlimit)
{
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		document.getElementById(countfield).innerHTML = maxlimit - field.value.length;
}

/****************************************************************************/

var cx_hour = "00"
var cx_minute = "00"
var cx_second = "00"
var cx_bar = "status";
var cx_viewTime = "yes"

function cxTime()
{
	cx_second++;
	if (cx_second < 10) { cx_second = "0" + cx_second; }
	if (cx_second==60)
	{
		cx_minute++;
		if (cx_minute < 10) { cx_minute = "0" + cx_minute; }
		if (cx_minute==60)
		{
			cx_hour++;
			if (cx_hour < 10) { cx_hour = "0" + cx_hour; }
			cx_minute = "00";
		}
		cx_second = "00";
	}

	if(cx_bar == 'status')
	{
    window.status = "Tiempo de conexión | " + cx_hour + ":" + cx_minute + ":" + cx_second + " | " + tSys;
  }
  else
  {
     document.title = "Procesando... | " + cx_hour + ":" + cx_minute + ":" + cx_second + " | ";
  }

  if(cx_viewTime == 'yes') setTimeout("cxTime()", 1000);
}

/****************************************************************************/

function DateFormat(vDateName, e, dateType)
{
  var strSeperator = "-"; 
  var vDateType = dateType;
  var vDateValue = vDateName.value;
  var err = 0; // Set the error code to a default of zero

  // vDateName = object name
  // vDateValue = value in the field being checked
  // e = event
  // dateCheck 
  //    True  = Verify that the vDateValue is a valid date
  //    False = Format values being entered into vDateValue only
  // vDateType
  //    1 = mm/dd/yyyy
  //    2 = yyyy/mm/dd
  //    3 = dd/mm/yyyy

  var whichCode = (window.Event) ? e.which : e.keyCode;
  // Check to see if a seperator is already present.
  // bypass the date if a seperator is present and the length greater than 8
  //if (vDateValue.length > 8 && isNav4) {
  if (vDateValue.length > 8)
  {
    if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
      return true;
  }

  //Eliminate all the ASCII codes that are not valid
  var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
  if (alphaCheck.indexOf(vDateValue) >= 1)
  {
    vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
    return false;
  }

  if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
    return false;
  else
  {
    //Create numeric string values for 0123456789/
    //The codes provided include both keyboard and keypad values
    var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
    if (strCheck.indexOf(whichCode) != -1)
    {
      if (vDateType == 1 || vDateType == 3)
      {
        if (vDateValue.length == 2) vDateName.value = vDateValue+strSeperator;
        if (vDateValue.length == 5) vDateName.value = vDateValue+strSeperator;
      }
      if (vDateType == 2) 
      {
        if (vDateValue.length == 4) vDateName.value = vDateValue+strSeperator;
        if (vDateValue.length == 7) vDateName.value = vDateValue+strSeperator;
      } 
      return true;
    }
    else //IF NOT IS NUMBER
    {
      // If the value is not in the string return the string minus the last
      // key entered.
      vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
      return false;
    }
  }
}
