var HO_JS = {};

HO_JS.Functions = {
    cityUrl: '/personal/company_card/ajax_citys.php',
    
    IsNumeric: function(sText) {
        if (!sText) {
            return false;
        }
        
        var ValidChars = '0123456789';
        var IsNumber = true;
        var Char;
        
        for (var i = 0; i < sText.length && IsNumber == true; i++) { 
            Char = sText.charAt(i); 
            
            if (ValidChars.indexOf(Char) == -1) {
                IsNumber = false;
            }
        }
        
        return IsNumber;
    },
    
    ShowRadio: function(id) {
        var position = id.lastIndexOf("_IS");
        var newid = id.substr(0, position);
        //alert(newid);
                            
        if (document.getElementById(id).value) {
            document.getElementById('div_'+ newid).style.display = 'block';
             document.getElementById(newid).disabled = false;
        } 
    },

    HideRadio: function(id) {
        var position = id.lastIndexOf("_IS");
        var newid = id.substr(0, position);
        //alert(newid);
                                
        if (document.getElementById(id).value) {
            document.getElementById('div_'+ newid).style.display = 'none';
            document.getElementById(newid).disabled = true;
        } 
    },
    
    cDepFields: function(val, formType, RUSID) {
        if (!RUSID) {
            RUSID = 0;
        }
        
        switch (formType) {
            case 'company_form' :
                var fields = ['div_F_C_I_COUNTRY', 'div_F_C_I_OGRN', 'div_F_C_I_TELEMATIC', 'div_F_C_I_TELEMATIC_DATE', 'div_F_C_I_DATA', 'div_F_C_I_DATA_DATE'];
                
                if (val == 'N') {
                    for (var i = 0; i < fields.length; i++) {
                        document.getElementById(fields[i]).style.display = 'none';
                    }
                } else if (val == 'Y') {
                    if (document.getElementById('F_C_I_COUNTRY').value == RUSID) {
                        for (var i = 0; i < fields.length; i++) {
                            document.getElementById(fields[i]).style.display = 'block';
                        }
                    } else {
                        for (var i = 0; i < fields.length; i++) {
                            if (i == 0 || i == 1) {
                                document.getElementById(fields[i]).style.display = 'block';
                            } else {
                                document.getElementById(fields[i]).style.display = 'none';
                            }
                        }
                    }
                } else if (HO_JS.Functions.IsNumeric(val)) {
                    if (val == RUSID) {
                        for (var i = 0; i < fields.length; i++) {
                            document.getElementById(fields[i]).style.display = 'block';
                        }
                    } else {
                        for (var i = 2; i < fields.length; i++) {
                            document.getElementById(fields[i]).style.display = 'none';
                        }
                    }
                } else {
                    for (var i = 0; i < fields.length; i++) {
                        document.getElementById(fields[i]).style.display = 'none';
                    }
                }
            break;
            
            case 'contacts_form' :
                var fields = ['div_F_C_CT_COUNTRY', 'div_F_C_CT_CITY', 'div_F_C_CT_STREET'];
                
                if (val != 'R') {
                    for (var i = 0; i < fields.length; i++) {
                        document.getElementById(fields[i]).style.display = 'none';
                    }
                } else {
                    for (var i = 0; i < fields.length; i++) {
                        document.getElementById(fields[i]).style.display = 'block';
                    }
                }
            break;
        }
    },
    
    ShowResultCitys: function(result) {
        var citysObj = document.getElementById('inpdiv_F_C_CT_CITY');
        
        if (!citysObj) {
            return false;
        }
        
        citysObj.innerHTML = result;
    },
    
    _initCDepFields: function() {
        if (!document.getElementById || !document.getElementsByTagName) {
            return false;
        }
        
        var form  = document.forms['company_form'] || document.forms['contacts_form'];
        
        if (!form) {
            return false;
        }
        
        var RUSID = (document.getElementById('RUSID') ? document.getElementById('RUSID').value : 0);
        
        for (var i = 0; i < form.elements.length; i++) {
            if (form.elements[i].type == 'radio') {
                if (form.elements[i].checked) {
                    HO_JS.Functions.cDepFields(form.elements[i].value, (document.forms['company_form'] ? 'company_form' : 'contacts_form'), RUSID);
                }
                
                form.elements[i].onclick = function() {
                    HO_JS.Functions.cDepFields(this.value, (document.forms['company_form'] ? 'company_form' : 'contacts_form'), RUSID);
                }
            }
        }
        
        var countryObj = document.getElementById('F_C_I_COUNTRY');
        
        if (!countryObj) {
            return false;
        }
        
        countryObj.onchange = function() {
            var val = this.value;
            
            if (!val) {
                val = 10000;
            }
            
            HO_JS.Functions.cDepFields(val, (document.forms['company_form'] ? 'company_form' : 'contacts_form'), RUSID);
            
            return false;
        }
        
        var countryVal = countryObj.value;
        
        if (!countryVal) {
            return false;
        }
        
        HO_JS.Functions.cDepFields(countryVal, (document.forms['company_form'] ? 'company_form' : 'contacts_form'), RUSID);
    },
    
    _countryAjax: function() {
        if (!document.getElementById || !document.getElementsByTagName) {
            return false;
        }
        
        var form = document.forms['contacts_form'];
        
        if (!form) {
            return false;
        }
        
        var countryObj = document.getElementById('F_C_CT_COUNTRY');
        
        if (!countryObj) {
            return false;
        }
        
        countryObj.onchange = function() {
            var val = this.value;
            
            if (!val) {
                document.getElementById('F_C_CT_CITY').disabled = true;
                return false;
            }
            
            document.getElementById('inpdiv_F_C_CT_CITY').innerHTML = '<img src="/images/ajax-loader.gif" alt="" />';
            
            var TID = CPHttpRequest.InitThread();
            CPHttpRequest.SetAction(TID, HO_JS.Functions.ShowResultCitys);
            CPHttpRequest.Send(TID, HO_JS.Functions.cityUrl, {'ID': val, 'KEY': 'F_C_CT_CITY'});
            
            return false;
        }
    }
};

if (window.addEventListener) {
    window.addEventListener('load', function() {HO_JS.Functions._initCDepFields(); HO_JS.Functions._countryAjax();}, false);
} else if (window.attachEvent) {
    window.attachEvent('onload', function() {HO_JS.Functions._initCDepFields(); HO_JS.Functions._countryAjax();});
}