
function getSiteRootPath()
{
	var dirName = '/site/';
	var pathname = window.location.pathname; 
	var iPos = window.location.pathname.toString().toLowerCase().lastIndexOf(dirName);
	if(iPos>0) 
		return pathname.substring(0, iPos+dirName.length);

	return pathname;
}

/* Based off http://www.xs4all.nl/~ppk/js/importxml.html */
var FormValidation = {
    isValid : true,
    validate : function() {
        this.isValid = true;
        var str = "";
        var elements = document.getElementsByTagName('input');          
        for(var i = 0; i < elements.length; i++) {
            var req = elements.item(i).getAttribute('required');                             
            var pattern = elements.item(i).getAttribute('pattern');
            var min_chars = elements.item(i).getAttribute('min_chars');
            var max_chars = elements.item(i).getAttribute('max_chars'); 
            var sameas = elements.item(i).getAttribute('sameas');    
            var isCheck = elements.item(i).getAttribute('isCheck');                
            var value = elements.item(i).value;                         
            var errormsg = elements.item(i).getAttribute('errorMsg');            
            var hasErrorMsg = false;            
            if (req != null)
            {                           
               if (value == ""){
                    this.isValid = false;
                    //elements.item(i).style.background = "#FFF2CC";
               	    if (typeof $("img_" + elements.item(i).id) != "undefined"){
	                    $("img_"+elements.item(i).id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	                } 
               	    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
               	        $("lbl_"+elements.item(i).id).style.color = "#FF0000";
	                } 	            
                    if (errormsg != null && hasErrorMsg == false) {
                        str += errormsg + "<br>";
                        hasErrorMsg = true;
                    }
               }
               else {
                    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
                        $("lbl_"+elements.item(i).id).style.color = "#6784A0";
	                } 	                           
               }
            }
            
            if (pattern != null)
            {               
                var offendingChar = value.match(pattern);                
                if (offendingChar == null){
                    //alert(elements.item(i).getAttribute('errorMsg'));
                   // elements.item(i).style.background = "#FFF2CC"; 
                   if (typeof $("img_" + elements.item(i).id) != "undefined"){
	                  $("img_"+elements.item(i).id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	               } 
	               if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#FF0000";
	                } 	
                    this.isValid = false;
                    if (errormsg != null && hasErrorMsg == false) {
                        str += errormsg+ "<br>";
                        hasErrorMsg = true;
                    }
                }
                else {
                    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#6784A0";
	                } 	                           
               }
            }
            if (min_chars != null)
            {
              if (value.length < parseInt(min_chars)){
                //elements.item(i).style.background = "#FFF2CC"; 
                if (typeof $("img_" + elements.item(i).id) != "undefined"){
	                $("img_"+elements.item(i).id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	            } 
	            if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#FF0000";
	                } 	
                this.isValid = false;
                if (errormsg != null && hasErrorMsg == false){
                 str += errormsg+ "<br>";
                 hasErrorMsg = true;
                }
              }
              else {
                    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#6784A0";
	                } 	                           
               }            
            }
            
            if (sameas != null)
            {
              var obj = $(sameas);                   
              if (value != obj.value){
                //elements.item(i).style.background = "#FFF2CC"; 
                if (typeof $("img_" + elements.item(i).id) != "undefined"){
	                $("img_"+elements.item(i).id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	            } 
	            if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#FF0000";
	                    
	                } 	
                this.isValid = false;                
                if (errormsg != null && hasErrorMsg == false) {
                    str += errormsg+ "<br>";
                    hasErrorMsg = true;                    
                }
              }
              else {
                    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#6784A0";
	                } 	                           
               }                      
            }
            if(isCheck != null){
                if (!elements.item(i).checked){
                   // elements.item(i).style.background = "#FFF2CC"; 
                    if (typeof $("img_" + elements.item(i).id) != "undefined"){
	                    $("img_"+elements.item(i).id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	                } 	
	                if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#FF0000";
	                    
	                } 	                
                    this.isValid = false;    
                    if (errormsg != null && hasErrorMsg == false){
                        str += errormsg+ "<br>";      
                        hasErrorMsg = true;
                    }
                }
                else {
                    if (typeof $("lbl_" + elements.item(i).id) != "undefined"){
	                    $("lbl_"+elements.item(i).id).style.color = "#6784A0";
	                } 	                           
                }
            }

        }   
        var elementsSelect = document.getElementsByTagName('select');          
        for(var k = 0; k < elementsSelect.length; k++) {
            var item = elementsSelect.item(k);            
            var value = item.options[item.selectedIndex].value;
            var errormsg = item.getAttribute('errorMsg');
            var itemSelected = item.getAttribute('itemSelected');
            var requiredSelect = item.getAttribute('requiredSelect');
            var hasErrorMsg = false;     
                        
            if (itemSelected != null && requiredSelect != null)
            {                 
               if (value == itemSelected){               
                    this.isValid = false;                                        
               	    if (typeof $("img_" + item.id) != "undefined"){
	                    $("img_"+item.id).src = getSiteRootPath() + "im/bullet_qua_verm.jpg";
	                    
	                } 
               	    if (typeof $("lbl_" + item.id) != "undefined"){
	                    $("lbl_"+item.id).style.color = "#FF0000";
	                } 	            
                    if (errormsg != null && hasErrorMsg == false) {
                        str += errormsg + "<br>";
                        hasErrorMsg = true;
                    }
               }
               else {
                    if (typeof $("lbl_" + item.id) != "undefined"){
	                    $("lbl_"+item.id).style.color = "#6784A0";
	                } 	                           
               }
            }
        }           
        if (this.isValid == false) {
             // do not submit the form        
            window.scrollTo(10,10);
            nrTentativas += 1;            
            showError(str);             
            if (nrTentativas > 4) {
                showCSR();
            }                         
            return false;
        }
        else {            
            // form values are valid; submit
           return true;
        }        
                   
  },
  setEvents : function(){
    var elements = document.getElementsByTagName('input');  
          for(var i = 0; i < elements.length; i++) {
            var req = elements.item(i).getAttribute('required');    
            var pattern = elements.item(i).getAttribute('pattern');
            var min_chars = elements.item(i).getAttribute('min_chars');
            var max_chars = elements.item(i).getAttribute('max_chars'); 
            var sameas = elements.item(i).getAttribute('sameas');    
            var isCheck = elements.item(i).getAttribute('isCheck');  
            var needBlur = elements.item(i).getAttribute('needBlur');
            
            if (needBlur != null || req != null || pattern != null || min_chars != null || max_chars != null || sameas != null || isCheck != null){
                Event.observe(elements.item(i), 'blur', FormValidation.onBlurField, false);            
            }
          }
      var elementsSelect = document.getElementsByTagName('select');          
        for(var k = 0; k < elementsSelect.length; k++) {
            var item = elementsSelect.item(k);                        
            var itemSelected = item.getAttribute('itemSelected');
            var requiredSelect = item.getAttribute('requiredSelect');
            var needBlur = item.getAttribute('needBlur');        
            
             if (needBlur != null || itemSelected != null || requiredSelect != null){
                Event.observe(item, 'blur', FormValidation.onBlurField, false);            
            }
          }
     
  },
  onBlurField : function(event)
    {
	//ie
	if(document.all)
	{
		id = event.srcElement.getAttribute('id');
		
	}
	//moz
	else
	{
		id = this.getAttribute('id');
	}
	//$(id).style.background = "#FFF"; 
	if (typeof $("img_" + id) != "undefined"){
	    //$("img_"+id).src = getSiteRootPath() + "im/bullet_qua_amar.jpg";
	}
  }  

};
//form = $("aspnetForm");
//var nrTentativas = 0;
//Event.observe(form, 'submit', FormValidation.validate, false);
//Event.observe(window,'load',FormValidation.setEvents,false);

function checkNumber(field, e)
{
  if(e.keyCode == 13)
  		x=0;		
  else if(e.keyCode <= 44 || e.keyCode > 57)
        e.returnValue = false;
}
function checkNumber2(field, e)
{
var code = e.charCode;
   if ((code == null)||(code=="undefined"))
    code = e.keyCode;


  if(code  == 13)
  x=0;		
  else if ((code != 0) &&(code  <= 47 || code  > 57))
  {
   e.returnValue = false; 
   return false;
   }
  return true; 
}
function checkNumber3(field, e)
{
  if(e.keyCode == 13)
  		x=0;		
  else if(e.keyCode <= 46 || e.keyCode > 58)
        e.returnValue = false;
}
function checkNumber4(field, e)
{    
  if(e.keyCode == 13)
  		x=0;		
  else if(e.keyCode <= 43 || e.keyCode > 57 || e.keyCode == 45 || e.keyCode == 47)
        e.returnValue = false;
}
function checkNumber5(field, e)
{        
    if(e.keyCode == 13)
  		x=0;		       
  else if(e.keyCode != 32 && e.keyCode < 48 || e.keyCode > 57 && e.keyCode < 65 || e.keyCode > 90 && e.keyCode < 97 || e.keyCode > 122)
    e.returnValue = false;    
}
function checkNumber6(field, e)
{        
    if(e.keyCode == 13)
  		x=0;		       
  else if(e.keyCode == 47 || e.keyCode < 45 || e.keyCode > 57 && e.keyCode < 64 || e.keyCode > 125)
    e.returnValue = false;    
}
function checkNumber7(field, e)
{   
  if(e.keyCode == 13)
  		x=0;		
  else if(e.keyCode < 45 || e.keyCode > 57 || e.keyCode == 46 || e.keyCode == 47)
        e.returnValue = false;
}

    function validaEmail(semail)
    {
	var valida = "";
	for (i=1;i <= semail.length ; i++)
	{
		if (semail.substr(i,1) == "@")
		{
			valida = "@";
		}
		if (semail.substr(i,1) == ".")
		{
			valida += ".";
		}		
	}	
	if (valida.substr(0,2) == "@.")
		return true
	else 
		return false;	
}

function autoTab(input,len, e) 
{
    if(input.value.length >= len) 
    {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
    function getIndex(input) 
    {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
        return index;
    }
    
    return true;
}

