﻿
function validateForm( formEl, msg )
{
    var valid = true;;  
    
    var selects = formEl.getElementsByTagName("select");  //alert( inputs.length )
        for( var i=0; i<selects.length; i++ )
        {
            valid = callVadateRull( selects[i] )
            if(!valid)  return false;            
        }
            
    var inputs = formEl.getElementsByTagName("input");  //alert( inputs.length )
        for( var i=0; i<inputs.length; i++ )
        {
            if( inputs[i].type == "text" ) 
            {
                valid =  callVadateRull( inputs[i] )
            }
            if(!valid) return false;          
        }
        
    if( valid )
    {
        var textareas = formEl.getElementsByTagName("textarea");  //alert( inputs.length )
        for( var i=0; i<textareas.length; i++ )
        {
        
            //alert(encodeURIComponent(textareas[i].innerHTML));
            textareas[i].innerHTML =  htmlEncode(textareas[i].innerHTML);
         
        }        
    }
    return valid;
}

function htmlEncode( text )
{
    return text.replace(/&/gi, "&amp;" ).replace( /</gi, "&lt;" ).replace( />/gi, "&gt;" ).replace( /\"/gi, "&quot;" );
}


function htmlDecode( xml )
{
    return xml.replace( /&lt;/gi, "<" ).replace( /&gt;/gi, ">" ).replace( /&quot;/gi, "\"" ).replace(/&amp;/gi, "&" );
}

function callVadateRull( el )
{
    var valid = true;
    switch(el.getAttribute("validate") )
    {
        case "obligatory" : 
                valid = validateNotEmpty( el, el.getAttribute("msg") );
            break;
        case "email" : 
                valid = validateEmail(el); 
            break; 
        case "select":
                valid = validateNotEmpty(el);
                break;
        default: break;
    }
    return valid;
}


function validateNotEmpty( inpEl, msg )
{
   var val, isEmpty = false;
   
   //alert( inpEl.tagName )
   
   switch( inpEl.tagName ) 
   {
       case "INPUT" : 
           isEmpty = ( inpEl.value == "" ? true : false ); break;
       case "SELECT" : 
           isEmpty = ( inpEl.value == "-1" ? true : false ); break;
       case "TEXTAREA" : 
           isEmpty = ( inpEl.value == "" ? true : false ); break;
       
   }

   if( isEmpty )
   {
      alert(" ! לא כל שדות החובה מלאים");
      inpEl.focus(); 
      return false;
   }
   
   return true;   

}

function validateEmail( inpEl,msg )
{
   if( !validateNotEmpty( inpEl ) ) return false; 
   
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = inpEl.value;
   if(reg.test(address) == false) 
   {
      alert('מייל לא תקין !')
      inpEl.focus(); 
      return false;
   }
   return true;   
}


function checkInitial(inputEl)
{
    if(inputEl.value == 'your@email')
    {
        inputEl.style.color='#000000';
        inputEl.value = '';
        bMailInit = 0;
    }                         
}


function showMessage( msg, width, height )
{
// -- popupShow.js must be included  !
    var url = './MessageShow.aspx?msg=' + encodeURIComponent(msg);
    popupShow( url, width, height)
    
}
