function getCookie(cookie_name) {
    if ( document.cookie.length > 0 ) {
        cookie_start = document.cookie.indexOf(cookie_name + "=");
        if (cookie_start != -1) {
            cookie_start = cookie_start + cookie_name.length + 1;
            cookie_end = document.cookie.indexOf(";", cookie_start);
            if (cookie_end == -1) {
                cookie_end = document.cookie.length;
            }
            return document.cookie.substring(cookie_start,cookie_end);
        }
    }
    return "";
}

function localize() {
    // get value of the 'gcc' cookie
    var countryCode = getCookie('gcc');

    // initialize an empty object
    var imageMap = {};

    // create mapping of countries to language/image.
    // this is a rather large mapping. I tried to organize this switch
    // statement so the most common countries are at the top so we can
    // give the best performance to the most users
    switch(countryCode) {
        // US / english is likely most common. even though we are defaulting to english below
        // we can save a lot of checks by adding US (and other common english countries) to the top.
        case 'US':
            // break immediately. since we have an empty imageMap object, nothing will be replaced
            break;

        // english... non-US
        case 'AF':
        case 'AG':
        case 'AI':
        case 'AL':
        case 'AM':
        case 'AN':
        case 'AQ':
        case 'AS':
        case 'AT':
        case 'AU':
        case 'AW':
        case 'AZ':
        case 'BA':
        case 'BB':
        case 'BD':
        case 'BG':
        case 'BI':
        case 'BM':
        case 'BN':
        case 'BS':
        case 'BT':
        case 'BV':
        case 'BW':
        case 'BY':
        case 'BZ':
        case 'CA':
        case 'CC':
        case 'CF':
        case 'CG':
        case 'CH':
        case 'CK':
        case 'CM':
        case 'CX':
        case 'DJ':
        case 'DM':
        case 'EE':
        case 'ET':
        case 'FJ':
        case 'FK':
        case 'FM':
        case 'FO':
        case 'GB':
        case 'GD':
        case 'GE':
        case 'GH':
        case 'GL':
        case 'GM':
        case 'GS':
        case 'GU':
        case 'GY':
        case 'HM':
        case 'HT':
        case 'IE':
        case 'IL':
        case 'IN':
        case 'IO':
        case 'IR':
        case 'IS':
        case 'JM':
        case 'KE':
        case 'KG':
        case 'KH':
        case 'KI':
        case 'KM':
        case 'KN':
        case 'KY':
        case 'KZ':
        case 'LA':
        case 'LC':
        case 'LI':
        case 'LK':
        case 'LR':
        case 'LS':
        case 'LT':
        case 'LU':
        case 'LV':
        case 'MD':
        case 'MG':
        case 'MH':
        case 'MK':
        case 'MM':
        case 'MN':
        case 'MP':
        case 'MQ':
        case 'MR':
        case 'MS':
        case 'MT':
        case 'MU':
        case 'MV':
        case 'MW':
        case 'NA':
        case 'NC':
        case 'NE':
        case 'NF':
        case 'NG':
        case 'NP':
        case 'NR':
        case 'NU':
        case 'NZ':
        case 'PG':
        case 'PH':
        case 'PK':
        case 'PM':
        case 'PN':
        case 'PS':
        case 'PW':
        case 'RE':
        case 'RO':
        case 'RW':
        case 'SB':
        case 'SG':
        case 'SH':
        case 'SI':
        case 'SJ':
        case 'SL':
        case 'ST':
        case 'SZ':
        case 'TC':
        case 'TD':
        case 'TH':
        case 'TJ':
        case 'TK':
        case 'TM':
        case 'TN':
        case 'TO':
        case 'TP':
        case 'TT':
        case 'TV':
        case 'TZ':
        case 'UA':
        case 'UG':
        case 'UM':
        case 'UZ':
        case 'VC':
        case 'VG':
        case 'VI':
        case 'VN':
        case 'VU':
        case 'WF':
        case 'WS':
        case 'XX':
        case 'YE':
        case 'YT':
        case 'YU':
        case 'ZA':
        case 'ZM':
        case 'ZW':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_english.jpg',
                'join' : 'joinbutton_english.gif',
                'membership-benefits' : 'membershipbenefits_english.gif',
                'video-filler' : 'video-filler_english.jpg',
                'trial' : 'cybertrial_english.jpg'
            }
            break;

        // arabic
        case 'AE':
        case 'BH':
        case 'DZ':
        case 'EG':
        case 'EH':
        case 'ER':
        case 'IQ':
        case 'JO':
        case 'KW':
        case 'LB':
        case 'LY':
        case 'MA':
        case 'OM':
        case 'QA':
        case 'SA':
        case 'SD':
        case 'SO':
        case 'SY':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_arabic.jpg',
                'join' : 'joinbutton_arabic.gif',
                'membership-benefits' : 'membershipbenefits_arabic.gif',
                'video-filler' : 'video-filler_arabic.jpg',
                'trial' : 'cybertrial_arabic.jpg'
            }
            break;

        // chinese
        case 'CN':
        case 'HK':
        case 'ID':
        case 'MO':
        case 'MY':
        case 'TW':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_chinese.jpg',
                'join' : 'joinbutton_chinese.gif',
                'membership-benefits' : 'membershipbenefits_chinese.gif',
                'video-filler' : 'video-filler_chinese.jpg',
                'trial' : 'cybertrial_chinese.jpg'
            }
            break;

        // croatian
        case 'HR':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_croatian.jpg',
                'join' : 'joinbutton_croatian.gif',
                'membership-benefits' : 'membershipbenefits_croatian.gif',
                'video-filler' : 'video-filler_croatian.jpg',
                'trial' : 'cybertrial_croatian.jpg'
            }
            break;

        // czech
        case 'CZ':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_czech.jpg',
                'join' : 'joinbutton_czech.gif',
                'membership-benefits' : 'membershipbenefits_czech.gif',
                'video-filler' : 'video-filler_czech.jpg',
                'trial' : 'cybertrial_czech.jpg'
            }
            break;

        // danish
        case 'DK':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_danish.jpg',
                'join' : 'joinbutton_danish.gif',
                'membership-benefits' : 'membershipbenefits_danish.gif',
                'video-filler' : 'video-filler_danish.jpg',
                'trial' : 'cybertrial_danish.jpg'
            }
            break;

        // dutch
        case 'BE':
        case 'NL':
        case 'SR':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_dutch.jpg',
                'join' : 'joinbutton_dutch.gif',
                'membership-benefits' : 'membershipbenefits_dutch.gif',
                'video-filler' : 'video-filler_dutch.jpg',
                'trial' : 'cybertrial_dutch.jpg'
            }
            break;

        // finnish
        case 'FI':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_finnish.jpg',
                'join' : 'joinbutton_finnish.gif',
                'membership-benefits' : 'membershipbenefits_finnish.gif',
                'video-filler' : 'video-filler_finnish.jpg',
                'trial' : 'cybertrial_finnish.jpg'
            }
            break;

        // french
        case 'BF':
        case 'BJ':
        case 'CD':
        case 'CI':
        case 'FR':
        case 'GA':
        case 'GF':
        case 'GN':
        case 'GP':
        case 'MC':
        case 'ML':
        case 'PF':
        case 'SC':
        case 'SN':
        case 'TF':
        case 'TG':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_french.jpg',
                'join' : 'joinbutton_french.gif',
                'membership-benefits' : 'membershipbenefits_french.gif',
                'video-filler' : 'video-filler_french.jpg',
                'trial' : 'cybertrial_french.jpg'
            }
            break;

        // german
        case 'DE':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_german.jpg',
                'join' : 'joinbutton_german.gif',
                'membership-benefits' : 'membershipbenefits_german.gif',
                'video-filler' : 'video-filler_german.jpg',
                'trial' : 'cybertrial_german.jpg'
            }
            break;

        // greek
        case 'CY':
        case 'GR':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_greek.jpg',
                'join' : 'joinbutton_greek.gif',
                'membership-benefits' : 'membershipbenefits_greek.gif',
                'video-filler' : 'video-filler_greek.jpg',
                'trial' : 'cybertrial_greek.jpg'
            }
            break;

        // hungarian
        case 'HU':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_hungarian.jpg',
                'join' : 'joinbutton_hungarian.gif',
                'membership-benefits' : 'membershipbenefits_hungarian.gif',
                'video-filler' : 'video-filler_hungarian.jpg',
                'trial' : 'cybertrial_hungarian.jpg'
            }
            break;

        // italian
        case 'IT':
        case 'SM':
        case 'VA':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_italian.jpg',
                'join' : 'joinbutton_italian.gif',
                'membership-benefits' : 'membershipbenefits_italian.gif',
                'video-filler' : 'video-filler_italian.jpg',
                'trial' : 'cybertrial_italian.jpg'
            }
            break;

        // japanese
        case 'JP':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_japanese.jpg',
                'join' : 'joinbutton_japanese.gif',
                'membership-benefits' : 'membershipbenefits_japanese.gif',
                'video-filler' : 'video-filler_japanese.jpg',
                'trial' : 'cybertrial_japanese.jpg'
            }
            break;

        // korean
        case 'KP':
        case 'KR':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_korean.jpg',
                'join' : 'joinbutton_korean.gif',
                'membership-benefits' : 'membershipbenefits_korean.gif',
                'video-filler' : 'video-filler_korean.jpg',
                'trial' : 'cybertrial_korean.jpg'
            }
            break;

        // norwegian
        case 'NO':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_norwegian.jpg',
                'join' : 'joinbutton_norwegian.gif',
                'membership-benefits' : 'membershipbenefits_norwegian.gif',
                'video-filler' : 'video-filler_norwegian.jpg',
                'trial' : 'cybertrial_norwegian.jpg'
            }
            break;

        // polish
        case 'PL':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_polish.jpg',
                'join' : 'joinbutton_polish.gif',
                'membership-benefits' : 'membershipbenefits_polish.gif',
                'video-filler' : 'video-filler_polish.jpg',
                'trial' : 'cybertrial_polish.jpg'
            }
            break;

        // portuguese
        case 'AO':
        case 'BR':
        case 'CV':
        case 'GW':
        case 'MZ':
        case 'PT':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_portuguese.jpg',
                'join' : 'joinbutton_portuguese.gif',
                'membership-benefits' : 'membershipbenefits_portuguese.gif',
                'video-filler' : 'video-filler_portuguese.jpg',
                'trial' : 'cybertrial_portuguese.jpg'
            }
            break;

        // russian
        case 'RU':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_russian.jpg',
                'join' : 'joinbutton_russian.gif',
                'membership-benefits' : 'membershipbenefits_russian.gif',
                'video-filler' : 'video-filler_russian.jpg',
                'trial' : 'cybertrial_russian.jpg'
            }
            break;

        // slovak
        case 'SK':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_slovak.jpg',
                'join' : 'joinbutton_slovak.gif',
                'membership-benefits' : 'membershipbenefits_slovak.gif',
                'video-filler' : 'video-filler_slovak.jpg',
                'trial' : 'cybertrial_slovak.jpg'
            }
            break;

        // spanish
        case 'AD':
        case 'AR':
        case 'BO':
        case 'CL':
        case 'CO':
        case 'CR':
        case 'CU':
        case 'DO':
        case 'EC':
        case 'ES':
        case 'GI':
        case 'GQ':
        case 'GT':
        case 'HN':
        case 'MX':
        case 'NI':
        case 'PA':
        case 'PE':
        case 'PR':
        case 'PY':
        case 'SV':
        case 'UY':
        case 'VE':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_spanish.jpg',
                'join' : 'joinbutton_spanish.gif',
                'membership-benefits' : 'membershipbenefits_spanish.gif',
                'video-filler' : 'video-filler_spanish.jpg',
                'trial' : 'cybertrial_spanish.jpg'
            }
            break;

        // swedish
        case 'SE':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_swedish.jpg',
                'join' : 'joinbutton_swedish.gif',
                'membership-benefits' : 'membershipbenefits_swedish.gif',
                'video-filler' : 'video-filler_swedish.jpg',
                'trial' : 'cybertrial_swedish.jpg'
            }
            break;

        // turkish
        case 'TR':
            var imageMap = {
                'cyberbranding' : 'cyberbranding_turkish.jpg',
                'join' : 'joinbutton_turkish.gif',
                'membership-benefits' : 'membershipbenefits_turkish.gif',
                'video-filler' : 'video-filler_turkish.jpg',
                'trial' : 'cybertrial_turkish.jpg'
            }
            break;

        // just break so we don't even try replacing anything
        default:
            break;
    }

    // setup base path to prepend to image names
    var basePath = '/girls/imx/splash/international/';

    // basePath for dev
    //var basePath = '/girls-join-local/missy-tarrington_files/imx/';

    // dom support?
    var domSupport = (document.getElementById) ? true : false;

    // swap it. imageMap object property name is the id we are looking for.
    // value is the image name that we need to append to basePath
    for (i in imageMap) {
        if (domSupport) {
            if (document.getElementById(i)) {
                document.getElementById(i).src = basePath + imageMap[i];
            }
        }
        else {
            if (document.images[i]) {
                document.images[i].src = basePath + imageMap[i];
            }
        }
    }
}