var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function ValidateForm(){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
 
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function FindObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
   }
   
function changeclass(objname,lclassname)
  {
   var lobj;
   lobj=FindObj(objname);
   lobj.className=lclassname;
  }   
  
function isDate(dtStr,generaldateerror,montherror,dayerror,yearerror){
    var errortext="",firsterror=0;
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth= dtStr.substring(pos1+1,pos2) 
	var strDay=dtStr.substring(pos2+1)
	var strYear=dtStr.substring(0,pos1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		errortext=errortext + generaldateerror+ "\n";
		firsterror=1;
	}
	if ((strMonth.length<1 || month<1 || month>12) && (firsterror==0)) {
		errortext=errortext+montherror + "\n";
		firsterror=1;
	}
	if ((strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]) && (firsterror==0)) {
		errortext=errortext+dayerror + "\n";
		firsterror=1;
	}
	if ((strYear.length != 4 || year==0 || year<minYear || year>maxYear) && (firsterror==0))
	{
		errrotext=errortext+yearerror + "\n";
		firsterror=1;
	}
	if ((dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false) && (firsterror==0)) {
		errortext=errortext + generaldateerror + "\n";
		firsterror=1;
	}
return errortext;
}


/* if (parent.location.href == self.location.href) {
    if (window.location.href.replace)
        window.location.replace('default.asp');
    else
        window.location.href = 'default.asp';
}  */


var isMozilla;
var objDiv = null;
var originalDivHTML = "";
var DivID = "";
var over = false;
function buildDimmerDiv()
{
  /*  document.write('<div id="dimmer" class="dimmer" style="width:'+ (window.screen.width*1) + 'px; height:' + window.screen.height +'px"></div>'); */
  document.write('<div id="dimmer" class="dimmer" style="width:'+ (1) + 'px; height:' + 1 +'px"></div>');
}

function init()
{
    isMozilla = (document.all) ? 0 : 1;
	buildDimmerDiv();
}
init();

function displayWindow()
  {
   var obj=document.getElementById('dimmer');
   obj.style.visibility = "visible"; 
   moveto('dimmer',0,0);
   showit();
  }

function showit()
 {
   enable("loading");
   movetocenter("loading");
 }  
 
function movetocenter(name)
  {
  var obj=fetchelement(name);
  var posicion=scrollingDetector();
  obj.style.top=posicion[0]+(posicion[2]-100)/2;
  obj.style.left=posicion[1]+(posicion[3]-400)/2;
  }
  
function moveto(name,x,y)
  {
  var obj=fetchelement(name);
  var posicion=scrollingDetector();
  obj.style.top=posicion[0]+y;
  obj.style.left=posicion[1]+y;
  }
  
  

  
	
 function enable(myelement)
  {
  var obj;
   obj=fetchelement(myelement);
   obj.style.display="";
  }
  
 function disable(myelement)
  {
  var obj;
   obj=fetchelement(myelement);
   obj.style.display="none";
  }
   
 function fetchelement(a)
  {
  return document.getElementById(a);
  }
  
function findPos(obj){
   var posX = obj.offsetLeft;var posY = obj.offsetTop;
   while(obj.offsetParent){
    if(obj==document.getElementsByTagName('body')[0]){break}
    else
	{
     posX=posX+obj.offsetParent.offsetLeft;
     posY=posY+obj.offsetParent.offsetTop;
     obj=obj.offsetParent;
    }
    }
    var posArray=[posX,posY]
    return posArray;
}

function findPosName(objname)
 {
   return findPos(fetchelement(objname));
 }

function scrollingDetector()
{
var st,sl,ww,wh;
if (navigator.appName == "Microsoft Internet Explorer")
 {
   st=document.body.scrollTop;
   sl=document.body.scrollLeft;
   ww=document.body.offsetWidth;
   wh=document.body.offsetHeight;
 }
else
 { st=window.pageYOffset;   
   sl=window.pageXOffset;
   ww=window.innerWidth;
   wh=window.innerHeight;
 }
 var posArray=[st,sl,wh,ww];
 return posArray;
}

function gotoUrl(address)
{
displayWindow();
location.href=address; 
}

function calcwordcounter(ltext)
  {
  var oraciones=ltext.split("\n"),palabras,i;
  var wordcounter=0;
  for (i=0;i<oraciones.length;i++)
    {
	  palabras=oraciones[i].split(" ");
	  wordcounter=wordcounter+palabras.length+1;
	}
   return (wordcounter-1);
  }

function fwordcounter(objname,limit,showcounterobj)
  {
  var obj=fetchelement(objname);
  var showinfo=fetchelement(showcounterobj);
  var howmanywords;
  howmanywords=calcwordcounter(obj.value);
  while (howmanywords>limit)
   {
   obj.value=obj.value.substring(0,obj.value.length-1);
   howmanywords=calcwordcounter(obj.value);
   }
  showinfo.value=howmanywords;
  }
  

function changecellcolor(objname,lcolor)
  {
  var obj=fetchelement(objname);
  obj.style.backgroundColor="#" + lcolor;
  }
  
function turnlayer(layername,itson)
  {
  var obj=fetchelement(layername);
  if (itson) 
    {
	obj.style.visibility="visible";
	}
	else
    {
	obj.style.visibility="hidden";
	}	
  }
