
    var GRC_CountrySelObj,GRC_RegionSelObj,GRC_CountryID,GRC_RegionID,GRC_ChangeFunc,GRC_Language,GRC_All,GRC_Registration;
    GRC_Language = 'ENG';
    GRC_All = 0;
    GRC_CountryID = 0;
    GRC_RegionID = 0;
    GRC_ChangeFunc = null;
    GRC_Registration = false;
    
    function GRC_initCountrySelect() {
       switch (arguments.length){
            case 4:GRC_RegionID = arguments[3];
            case 3:GRC_CountryID = arguments[2];
            case 2:GRC_CountrySelObj = document.getElementById(arguments[0]);
                   GRC_RegionSelObj  = document.getElementById(arguments[1]);
                   break;
            case 1:GRC_CountrySelObj = document.getElementById(arguments[0]);
				   GRC_RegionSelObj  = document.getElementById('RegionSelect');
				   GRC_Registration  = true;
				   GRC_All = 2;
				   break;
            default:alert("ERROR");
                    return;
        }
        GRC_RegionSelObj.setAttribute('landid','0');
        top.addEvent(GRC_RegionSelObj,'change',GRC_RegionChangeEv);
        top.addEvent(GRC_CountrySelObj,'change',GRC_WriteRegion);
        makePOSTRequest('/inc/laenderjs.asp?lang=' + GRC_Language, 'all=' + GRC_All, GRC_SetCountry, 'text/xml; charset=UTF-8');
    }
    
    function GRC_SetCountry(val){
        var opt,iCount,userCountry,countryID;
        opt = new Option('---','0', false, true);
        GRC_CountrySelObj.options[0] = opt;
        userCountry = (top.iCountry)?top.iCountry:0;
        if (typeof (val) == 'object') {
              if (val.documentElement.childNodes.length > 0) {
                if (GRC_CountrySelObj.options.length > 0){
                    for (iCount = GRC_CountrySelObj.options.length-1;iCount>-1;iCount--){
                        GRC_CountrySelObj.options[iCount] = null;
                    }
                }
                for (iCount = 0; iCount < val.documentElement.childNodes.length; iCount++) {
                    countryID = val.documentElement.childNodes[iCount].getAttribute('id');
                    opt = new Option(val.documentElement.childNodes[iCount].getAttribute('name'), 
                                     countryID,countryID == GRC_CountryID,
                                     true);
                    GRC_CountrySelObj.options[GRC_CountrySelObj.options.length] = opt;
                    if (userCountry > 0 && countryID == userCountry){
                         opt = new Option(val.documentElement.childNodes[iCount].getAttribute('name'), 
                                     countryID,countryID == GRC_CountryID,
                                     true);
                       GRC_CountrySelObj.insertBefore(opt,GRC_CountrySelObj.childNodes[GRC_All]);
                       GRC_CountrySelObj.childNodes[GRC_All].text = val.documentElement.childNodes[iCount].getAttribute('name'); // IE Fix
                    }
                }
            } 
			GRC_SetLandRegion(GRC_CountryID,GRC_RegionID);
        } else {
            if (self.location.href.indexOf('1=2') == -1)
                self.location.href = self.location.href + (self.location.href.indexOf('?') > -1?'&1=2':'?1=2');
        }
    }
    
    function GRC_WriteRegion(){
        if ((GRC_CountrySelObj == null) ||  (GRC_CountrySelObj.selectedIndex <0))
            return;
        GRC_CountryID = GRC_CountrySelObj[GRC_CountrySelObj.selectedIndex].value;
        if (GRC_CountryID != GRC_RegionSelObj.getAttribute('landid')){
            makePOSTRequest('/inc/laenderjs.asp?reg=get&landid=' + GRC_CountryID + '&lang=' + GRC_Language,  'all=' + GRC_All, GRC_SetRegion, 'text/xml; charset=UTF-8');
        } else {
            GRC_SetLandRegion(GRC_CountryID,GRC_RegionID);
        }
    }
    
    function GRC_SetRegion(val){
        var opt,iCount;
        if (typeof (val) == 'object') {
            opt = new Option('---', val.documentElement.getAttribute('id'), false, true);
            GRC_RegionSelObj.options[0] = opt;
            if (GRC_RegionSelObj.options.length > 0){
                 for (iCount = GRC_RegionSelObj.options.length-1;iCount>-1;iCount--){
                    GRC_RegionSelObj.options[iCount] = null;
                }
            }
            GRC_RegionSelObj.setAttribute('landid',val.documentElement.getAttribute('id'));
            if (val.documentElement.childNodes.length > 0) {
                for (iCount = 0; iCount < val.documentElement.childNodes.length; iCount++) {
                    opt = new Option(val.documentElement.childNodes[iCount].getAttribute('name'), val.documentElement.childNodes[iCount].getAttribute('id'), false, true);
                    if (val.documentElement.childNodes[iCount].getAttribute('id') == GRC_RegionID && !GRC_Registration){ opt.selected = true; }
                    GRC_RegionSelObj.options[GRC_RegionSelObj.options.length] = opt;
                }
            } else {
                opt = new Option('---', val.documentElement.getAttribute('id'), false, true);
                GRC_RegionSelObj.options[0] = opt;
           }
            GRC_SetLandRegion(GRC_CountryID,GRC_RegionID);
            GRC_RegionChangeEv();
        }
     }
     
     function GRC_SetLandRegion(LandID,RegionID){
        var i;
        GRC_CountryID = LandID;
        GRC_RegionID = RegionID;
        for (i=0;i < GRC_CountrySelObj.options.length;i++){
            if (GRC_CountrySelObj.options[i].value == LandID){
                GRC_CountrySelObj.selectedIndex = i;
                break;
            }
        }
        if (GRC_RegionSelObj.getAttribute('landid') == LandID){
            for (i=0;i < GRC_RegionSelObj.options.length;i++){
                if (GRC_RegionSelObj.options[i].value == RegionID){
                    GRC_RegionSelObj.selectedIndex = i;
                    break;
                }
            }
         if (i==GRC_RegionSelObj.options.length){
               GRC_RegionID = 0;
               GRC_RegionSelObj[0].selected = true;
           }
        } else {
            setTimeout('GRC_WriteRegion()',2);
        }
     }
     
     function GRC_RegionChangeEv(){
         GRC_CountryID = GRC_CountrySelObj[GRC_CountrySelObj.selectedIndex].value;
         GRC_RegionID  = GRC_RegionSelObj[GRC_RegionSelObj.selectedIndex].value;
         if (GRC_RegionID==GRC_CountryID){
            GRC_RegionID = 0;
            GRC_RegionSelObj[GRC_RegionSelObj.selectedIndex].value = 0;
            }
         if (GRC_ChangeFunc != null){
            GRC_ChangeFunc();
         }
     }
     
