﻿// JScript File

function checkAll(arr)
{    
    var Arr = arr;
    var resultStr = "";
    var blankMsg = "Oops. You forgot to tell us something: \n\n";
    var blankControls = "";
    var invalidMsg = "F%?*&>!! You can only use letters and numbers. And passwords must be at least six characters long. \n";
    var invalidControls = "";
    var Mesaj = ""; 
    var isValidate;
    var pwd="";
    var isExistemptyField = "F";
    var firstEmptyField;
    
    for(var i=0; i<Arr.length;i++)
    {
        switch(Arr[i][1])
        {
            case 'text':
            {
                
                isValidate = validateEmptyString(document.getElementById(Arr[i][0]).value);
                switch(isValidate)                     
                {
                    case 0:
                    blankControls += Arr[i][2]+" \n\n";
                    if (isExistemptyField == "F")
                    {                        
                        isExistemptyField = "T";
                        firstEmptyField = document.getElementById(Arr[i][0]);
                        firstEmptyField.focus();
                    }
                    break;
                    case 2:                    
                    if(Arr[i][2] != "Email address " )
                    {
                        invalidControls += Arr[i][2]+" \n\n";
                    }
                    break;                        
                }
            }           
            break;
            case 'tag':
            {                               
                if(document.all && document.frames[Arr[i][0]].document.frames[0])
                {                    
                    isValidate = validateTagString(document.frames[Arr[i][0]].document.frames[0].document.body.innerText);
                    if(!isValidate) resultStr += Arr[i][2] + " is empty \n";
                }
                else if(document.getElementById(Arr[i][0]))
                {
                    var obj=document.getElementById(Arr[i][0]);                    
                    var txt=obj.contentWindow.FCK.EditorDocument.body.textContent;
                    isValidate = validateTagString(txt);
                    if(!isValidate) resultStr += Arr[i][2]+" is empty \n";
                }                                         
            }
            break;
            case 'positiveInt':
            {
                isValidate = validatePositiveInt(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not numeric \n";
            }            
            break;
            case 'date':
            {
                isValidate = validateDateAsDDMMYYYY(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not dateformat \n";
            }   
            break;
            case 'money':
            {
                isValidate = validateMoney(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not moneyformat \n";
            }               
            break;
            case 'email':
            {
                if(document.getElementById(Arr[i][0]).value)
                {
                    isValidate = validateEmail(document.getElementById(Arr[i][0]).value);
    //                if(!isValidate) resultStr += "Oops. You forgot to tell us something: " + Arr[i][2]+ " \n";                                
                    if(!isValidate) resultStr += Arr[i][2]+ "is wrong " +" \n";                
                }
            }               
            break;
            case 'realnumber':
            {
                isValidate = validateRealNumber(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not realnumber \n";
            }   
            case 'password':
            {
                if(document.getElementById(Arr[i][0]).value)
                {
                    isValidate = validatePassword(document.getElementById(Arr[i][0]).value);
                     switch(isValidate)                     
                    {
                        case 0:
                        blankControls += Arr[i][2]+" \n";
                        break;
                        case 2:
                        //invalidControls += Arr[i][2]+" \n" ;
		                pwd=Arr[i][2];
                        break;                        
                    }
                } 
            } 
            break;
        }    
    }
     
    // control of Radio buttons and checkbox
    {
        
        var rb1 = document.getElementById("FormView1_OptInForNewsletters");
        var rb2 = document.getElementById("FormView1_RadioButton1");
        if (!rb1.checked && !rb2.checked)
        {
            blankControls += "Do you want emails from Push?" +" \n\n";            
        }
        
        rb1 = document.getElementById("FormView1_OptInForNewslettersExternal");
        rb2 = document.getElementById("FormView1_RadioButton3");
        if (!rb1.checked && !rb2.checked)
        {
            blankControls += "Do you want emails from Push’s pals?"+" \n\n";            
        }
        
        var agree = document.getElementById("TnCChkBox")
        if(!agree.checked)
        {
            blankControls += "Do you agree to our terms and conditions?"+" \n\n";            
        }
        
    }
    if(blankControls != "") Mesaj += blankMsg + blankControls +"\n";
    if(invalidControls != "" || pwd != "") Mesaj += invalidMsg + invalidControls +"\n";
    if(resultStr != "") Mesaj += resultStr;
    
    return Mesaj;

}
function checkAll_forUpdate(arr)
{    
    var Arr = arr;
    var resultStr = "";
    var blankMsg = "Oops. You forgot to tell us something: \n\n";
    var blankControls = "";
    var invalidMsg = "F%?*&>!! You can only use letters and numbers. And passwords must be at least six characters long. \n";
    var invalidControls = "";
    var Mesaj = ""; 
    var isValidate;
    var pwd="";
    var isExistemptyField = "F";
    var firstEmptyField;
    
    for(var i=0; i<Arr.length;i++)
    {
        switch(Arr[i][1])
        {
            case 'text':
            {
                
                isValidate = validateEmptyString(document.getElementById(Arr[i][0]).value);
                switch(isValidate)                     
                {
                    case 0:
                    blankControls += Arr[i][2]+" \n\n";
                    if (isExistemptyField == "F")
                    {                        
                        isExistemptyField = "T";
                        firstEmptyField = document.getElementById(Arr[i][0]);
                        firstEmptyField.focus();
                    }
                    break;
                    case 2:                    
                    if(Arr[i][2] != "Email address " )
                    {
                        invalidControls += Arr[i][2]+" \n\n";
                    }
                    break;                        
                }
            }           
            break;
            case 'tag':
            {                               
                if(document.all && document.frames[Arr[i][0]].document.frames[0])
                {                    
                    isValidate = validateTagString(document.frames[Arr[i][0]].document.frames[0].document.body.innerText);
                    if(!isValidate) resultStr += Arr[i][2] + " is empty \n";
                }
                else if(document.getElementById(Arr[i][0]))
                {
                    var obj=document.getElementById(Arr[i][0]);                    
                    var txt=obj.contentWindow.FCK.EditorDocument.body.textContent;
                    isValidate = validateTagString(txt);
                    if(!isValidate) resultStr += Arr[i][2]+" is empty \n";
                }                                         
            }
            break;
            case 'positiveInt':
            {
                isValidate = validatePositiveInt(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not numeric \n";
            }            
            break;
            case 'date':
            {
                isValidate = validateDateAsDDMMYYYY(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not dateformat \n";
            }   
            break;
            case 'money':
            {
                isValidate = validateMoney(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not moneyformat \n";
            }               
            break;
            case 'email':
            {
                if(document.getElementById(Arr[i][0]).value)
                {
                    isValidate = validateEmail(document.getElementById(Arr[i][0]).value);
    //                if(!isValidate) resultStr += "Oops. You forgot to tell us something: " + Arr[i][2]+ " \n";                                
                    if(!isValidate) resultStr += Arr[i][2]+ "is wrong " +" \n";                
                }
            }               
            break;
            case 'realnumber':
            {
                isValidate = validateRealNumber(document.getElementById(Arr[i][0]).value);
                if(!isValidate) resultStr += Arr[i][2]+" is not realnumber \n";
            }   
            case 'password':
            {
                if(document.getElementById(Arr[i][0]).value)
                {
                    isValidate = validatePassword(document.getElementById(Arr[i][0]).value);
                     switch(isValidate)                     
                    {
                        case 0:
                        blankControls += Arr[i][2]+" \n";
                        break;
                        case 2:
                        //invalidControls += Arr[i][2]+" \n" ;
		                pwd=Arr[i][2];
                        break;                        
                    }
                } 
            } 
            break;
        }    
    }
     
    // control of Radio buttons and checkbox
    {
        
        var rb1 = document.getElementById("FormView1_OptInForNewsletters");
        var rb2 = document.getElementById("FormView1_RadioButton1");
        if (!rb1.checked && !rb2.checked)
        {
            blankControls += "Do you want emails from Push?" +" \n\n";            
        }
        
        rb1 = document.getElementById("FormView1_OptInForNewslettersExternal");
        rb2 = document.getElementById("FormView1_RadioButton3");
        if (!rb1.checked && !rb2.checked)
        {
            blankControls += "Do you want emails from Push’s pals?"+" \n\n";            
        }
        
//        var agree = document.getElementById("TnCChkBox")
//        if(!agree.checked)
//        {
//            blankControls += "Do you agree to our terms and conditions?"+" \n\n";            
//        }
        
    }
    if(blankControls != "") Mesaj += blankMsg + blankControls +"\n";
    if(invalidControls != "" || pwd != "") Mesaj += invalidMsg + invalidControls +"\n";
    if(resultStr != "") Mesaj += resultStr;
    
    return Mesaj;

}
function validatePositiveInt(inputStr)
{
    var result = false;
    var filter = /^\d+$/;
    if(inputStr != null)
    {
    if (filter.test(inputStr) || inputStr == "")
    {
        result = true;
    }
    else
    {
        result = false;
    }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateEmail(inputStr)
{
    var result = false;
    var filter = /^([a-zA-Z0-9]{1,})([_\.\-a-zA-Z0-9]{0,})([a-zA-Z0-9_]{1,})\@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9]{2,4})/;
   if(inputStr != null)
    {
        if (filter.test(inputStr))
        {
            result = true; 
        }
        else
        {
            result = false;
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateMoney(inputStr)
{
    var result = false;
    var filter = /^\d+(?:\.\d{0,2})?$/ ;//   /(\d{1,3})(,\d{2})/;
    if(inputStr != null)
    {
        if (filter.test(inputStr) || inputStr == "" )
        {
            result = true;
        }
        else
        {
            result=false;
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateDateAsDDMMYYYY(inputStr)
{
    var result = false;
    var filter = /(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d/;
    if(inputStr != null)
    {
        if (filter.test(inputStr))
        {
            result = true;
        }
        else
        {
            result = false;
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateGSMNumber(inputStr)
{
    var result = false;
    var filter = /(\(5\d{2}\) )([1-9][0-9]{2} )(\d{4})/;
    if(inputStr != null)
    {
        if (filter.test(inputStr))
        {
            result = true;
        }
        else
        {
            result = false;
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateRealNumber(inputStr)
{
    var result = false;
    var filter = /^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$/;
    if(inputStr != null)
    {
        if (filter.test(inputStr))
        {
            result = true;
        }
        else
        {
            result = false;
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validateEmptyString(inputStr)
{

    var result;
    var filter = /^\s/g;//*|\s*$/g;        
    var resultStr = '^[a-zA-Z0-9]+$';
    
    if(inputStr != null)
    {
        //inputStr = inputStr.replace(filter, '');
    inputStr =inputStr.replace(/^\s+/, '').replace(/\s+$/, ''); 
    
        if(inputStr.length < 1 )
        {
            result = 0
        }
        else
        {
        if(inputStr != "")
            var resultExp = new RegExp(resultStr, "g");
            var tempResult = resultExp.exec(inputStr);
            if (tempResult == null || inputStr.length < 2)
            {
                result = 2;     // There exist invalid character     
            }
            else
            {
                result = 1;     // There doesn't exist invalid  character
            }
        }
    }
    return result;
}
//----------------------------------------------------------------------------------------
function validatePassword(inputStr)
{    
    var resultVal;
    var filter = /^\s*|\s*$/g;
    var resultExp = /^[a-zA-Z0-9\s*]{6,}/;
    if(inputStr != null)
    {
        inputStr = inputStr.replace(filter, '');
        
        if(inputStr.length < 1 )
        {
            resultVal = 0
        }
        else
        {
            if (resultExp.test(inputStr))
            {
                resultVal = 1; // There doesn't exist invalid  character
            }
            else
            {
                resultVal = 2; // There exist invalid character   
            }
        }   
    } 
    return resultVal;
}
//-------------------------------------------------------------------------------------------
function validateTagString(inputStr)
{
    var result = false;
    var filter1 = /^\s*|\s*$/g;
    if(inputStr != null)
    {
        var reg2 = new RegExp(' ','g')
        inputStr=inputStr.replace(reg2,'') 
        
         var reg = new RegExp('&nbsp;','g')  
        inputStr=inputStr.replace(reg,'')
               
        var inputStr = inputStr.replace(filter1, '');
        
        if (inputStr != '<p></p>' && inputStr.length > 1)
        {
            result = true;
        }
        else
        {
            result = false;    
        }
    }
    return result;
}
