if(typeof adclip=="undefined" && !adclip) {

        
        var adclip = {'tmp':{}, 'client': {}, 'url': {}, 'clips': {}, 'element': {}, 'events': {}, 'vars': {}, 'ajax':{}, 'utils':{}, 'fajax':{}, 'time':{}, 'asset':{}, 'array':{}, 'color':{}, 'string':{}};
        adclip.defLang = '';
        
        // goPage
        adclip.vars.goPage = {
                
                'search':'004.aspx',
                'advancedsearch':'102.aspx',
                'detail':'005.aspx',
                'login':'UserArea/006.aspx',
                'addad':'Ads/002.aspx',
                'addclip':'Clips/064.aspx',
                'adclipresult':'core2.aspx',
                'highlightcredits':'116.aspx',
                
                'goto': 'Clips/goto.aspx',
                
                'clipchannel': 'scripts/clips/pages/channel/c@tlp_channel@/Default.aspx',
                'cliphome': 'scripts/clips/pages/home/h@tlp_home@/Default.aspx'
                
        };
        
        //define vars
        adclip.vars.baseURL = 'http://www.adclip.com/';
        adclip.vars.baseClipsScripts = adclip.vars.baseURL + 'scripts/clips/base.ashx';
        adclip.vars.baseImagePath = adclip.vars.baseURL + 'scripts/clips/img/';
        adclip.vars.hitSource = {
                    'SEARCH_PAGE' : '1',
                    'HIGHLIGHT': '2',
                    'EXTERNAL_LINK' : '3'
        };
        
        

        
        (function() {

            //initialization, browser, os detection
            var d, n, nav, dom, nu='', brow='', ie, ie4, ie5, ie5x, ie6, ie7;
            var ns4, moz, moz_rv_sub, release_date='', moz_brow, moz_brow_nu='', moz_brow_nu_sub='', rv_full=''; 
            var mac, win, old, lin, ie5mac, ie5xwin, konq, saf, op, op4, op5, op6, op7;

            d=document;
            n=navigator;
            nav=n.appVersion;
            
            nan=n.appName;
            nua=n.userAgent;
            old=(nav.substring(0,1)<4);
            mac=(nav.indexOf('Mac')!=-1);
            win=( ( (nav.indexOf('Win')!=-1) || (nav.indexOf('NT')!=-1) ) && !mac)?true:false;
            lin=(nua.indexOf('Linux')!=-1);
            // begin primary dom/ns4 test
            // this is the most important test on the page
            if ( !document.layers )
            {
                dom = ( d.getElementById ) ? d.getElementById : false;
            }
            else { 
                dom = false; 
                ns4 = true;// only netscape 4 supports document layers
            }
            // end main dom/ns4 test

            op=(nua.indexOf('Opera')!=-1);
            saf=(nua.indexOf('Safari')!=-1);
            konq=(!saf && (nua.indexOf('Konqueror')!=-1) ) ? true : false;
            moz=( (!saf && !konq ) && ( nua.indexOf('Gecko')!=-1 ) ) ? true : false;
            ie=((nua.indexOf('MSIE')!=-1)&&!op);
            if (op)
            {
                str_pos=nua.indexOf('Opera');
                nu=nua.substr((str_pos+6),4);
                brow = 'Opera';
            }
            else if (saf)
            {
                str_pos=nua.indexOf('Safari');
                nu=nua.substr((str_pos+7),5);
                brow = 'Safari';
            }
            else if (konq)
            {
                str_pos=nua.indexOf('Konqueror');
                nu=nua.substr((str_pos+10),3);
                brow = 'Konqueror';
            }
            // this part is complicated a bit, don't mess with it unless you understand regular expressions
            // note, for most comparisons that are practical, compare the 3 digit rv nubmer, that is the output
            // placed into 'nu'.
            else if (moz)
            {
                // regular expression pattern that will be used to extract main version/rv numbers
                pattern = /[(); \n]/;
                // moz type array, add to this if you need to
                moz_types = new Array( 'Firebird', 'Phoenix', 'Firefox', 'Iceweasel', 'Galeon', 'K-Meleon', 'Camino', 'Epiphany', 'Netscape6', 'Netscape', 'MultiZilla', 'Gecko Debian', 'rv' );
                rv_pos = nua.indexOf( 'rv' );// find 'rv' position in nua string
                rv_full = nua.substr( rv_pos + 3, 6 );// cut out maximum size it can be, eg: 1.8a2, 1.0.0 etc
                // search for occurance of any of characters in pattern, if found get position of that character
                rv_slice = ( rv_full.search( pattern ) != -1 ) ? rv_full.search( pattern ) : '';
                //check to make sure there was a result, if not do  nothing
                // otherwise slice out the part that you want if there is a slice position
                ( rv_slice ) ? rv_full = rv_full.substr( 0, rv_slice ) : '';
                // this is the working id number, 3 digits, you'd use this for 
                // number comparison, like if nu >= 1.3 do something
                nu = rv_full.substr( 0, 3 );
                for (i=0; i < moz_types.length; i++)
                {
                    if ( nua.indexOf( moz_types[i]) !=-1 )
                    {
                        moz_brow = moz_types[i];
                        break;
                    }
                }
                if ( moz_brow )// if it was found in the array
                {
                    str_pos=nua.indexOf(moz_brow);// extract string position
                    moz_brow_nu = nua.substr( (str_pos + moz_brow.length + 1 ) ,3);// slice out working number, 3 digit
                    // if you got it, use it, else use nu
                    moz_brow_nu = ( isNaN( moz_brow_nu ) ) ? moz_brow_nu = nu: moz_brow_nu;
                    moz_brow_nu_sub = nua.substr( (str_pos + moz_brow.length + 1 ), 8);
                    // this makes sure that it's only the id number
                    sub_nu_slice = ( moz_brow_nu_sub.search( pattern ) != -1 ) ? moz_brow_nu_sub.search( pattern ) : '';
                    //check to make sure there was a result, if not do  nothing
                    ( sub_nu_slice ) ? moz_brow_nu_sub = moz_brow_nu_sub.substr( 0, sub_nu_slice ) : '';
                }
                if ( moz_brow == 'Netscape6' )
                {
                    moz_brow = 'Netscape';
                }
                else if ( moz_brow == 'rv' || moz_brow == '' )// default value if no other gecko name fit
                {
                    moz_brow = 'Mozilla';
                } 
                if ( !moz_brow_nu )// use rv number if nothing else is available
                {
                    moz_brow_nu = nu;
                    moz_brow_nu_sub = nu;
                }
                if (n.productSub)
                {
                    release_date = n.productSub;
                }
            }
            else if (ie)
            {
                str_pos=nua.indexOf('MSIE');
                nu=nua.substr((str_pos+5),3);
                brow = 'Microsoft Internet Explorer';
            }
            // default to navigator app name
            else 
            {
                brow = nan;
            }
            op5=(op&&(nu.substring(0,1)==5));
            op6=(op&&(nu.substring(0,1)==6));
            op7=(op&&(nu.substring(0,1)==7));
            op8=(op&&(nu.substring(0,1)==8));
            op9=(op&&(nu.substring(0,1)==9));
            ie4=(ie&&!dom);
            ie5=(ie&&(nu.substring(0,1)==5));
            ie6=(ie&&(nu.substring(0,1)==6));
            ie7=(ie&&(nu.substring(0,1)==7));
            // default to get number from navigator app version.
            if(!nu) 
            {
                nu = nav.substring(0,1);
            }
            /*ie5x tests only for functionavlity. dom or ie5x would be default settings. 
            Opera will register true in this test if set to identify as IE 5*/
            ie5x=(d.all&&dom);
            ie5mac=(mac&&ie5);
            ie5xwin=(win&&ie5x);
            
            
        
            adclip.client = {
                'nu':              nu,
                'brow':            brow,
                'ie':              ie,
                'ie4':             ie4,
                'ie5':             ie5,
                'ie5x':            ie5x,
                'ie6':             ie6,
                'ie7':             ie7,
                'ns4':             ns4,
                'moz':             moz,
                'moz_rv_sub':      moz_rv_sub,
                'release_date':    release_date,
                'moz_brow':        moz_brow,
                'moz_brow_nu':     moz_brow_nu,
                'moz_brow_nu_sub': moz_brow_nu_sub,
                'rv_full':         rv_full,
                'mac':             mac,
                'win':             win,
                'old':             old,
                'lin':             lin,
                'ie5mac':          ie5mac,
                'ie5xwin':         ie5xwin,
                'konq':            konq,
                'saf':             saf,
                'op':              op,
                'op4':             op4,
                'op5':             op5,
                'op6':             op6,
                'op7':             op7
            }
        

        } ());

        

        
        
        adclip.vars.categoriesDependentOnCountry = {
            // countryID: [catID1, ..., catIDn-1]
            /*
            '1': [1,2,3], //Portugal
            '2': [1,3], //Inglaterra
            //'3': [1,2]  // Brasil
            */

            '1': [1,2,3,4,5,6,7,8,9],'2': [1,2,3,4,5,6,7,8,9],'3': [1,2,3,4,5,6,7,8,9],'4': [1,2,3,4,5,6,7,8,9],'5': [1,2,3,4,5,6,7,8,9],'6': [1,2,3,4,5,6,7,8,9],'7': [1,2,3,4,5,6,7,8,9],'8': [1,2,3,4,5,6,7,8,9],'9': [1,2,3,4,5,6,7,8,9],'10': [1,2,3,4,5,6,7,8,9],'11': [1,2,3,4,5,6,7,8,9],'12': [1,2,3,4,5,6,7,8,9],'13': [1,2,3,4,5,6,7,8,9],'14': [1,2,3,4,5,6,7,8,9],'15': [1,2,3,4,5,6,7,8,9],'16': [1,2,3,4,5,6,7,8,9],'17': [1,2,3,4,5,6,7,8,9],'18': [1,2,3,4,5,6,7,8,9],'19': [1,2,3,4,5,6,7,8,9],'20': [1,2,3,4,5,6,7,8,9],'21': [1,2,3,4,5,6,7,8,9],'22': [1,2,3,4,5,6,7,8,9],'23': [1,2,3,4,5,6,7,8,9],'24': [1,2,3,4,5,6,7,8,9],'25': [1,2,3,4,5,6,7,8,9],'26': [1,2,3,4,5,6,7,8,9],'27': [1,2,3,4,5,6,7,8,9],'28': [1,2,3,4,5,6,7,8,9],'29': [1,2,3,4,5,6,7,8,9],'30': [1,2,3,4,5,6,7,8,9],'31': [1,2,3,4,5,6,7,8,9],'32': [1,2,3,4,5,6,7,8,9],'33': [1,2,3,4,5,6,7,8,9],'34': [1,2,3,4,5,6,7,8,9],'35': [1,2,3,4,5,6,8,9],'36': [1,2,3,4,5,6,7,8,9],'37': [1,2,3,4,5,6,7,8,9],'38': [1,2,3,4,5,6,7,8,9],'39': [1,2,3,4,5,6,7,8,9],'40': [1,2,3,4,5,6,7,8,9],'41': [1,2,3,4,5,6,7,8,9],'42': [1,2,3,4,5,6,7,8,9],'43': [1,2,3,4,5,6,7,8,9],'44': [1,2,3,4,5,6,7,8,9],'45': [1,2,3,4,5,6,7,8,9],'46': [1,2,3,4,5,6,7,8,9],'47': [1,2,3,4,5,6,7,8,9],'48': [1,2,3,4,5,6,7,8,9],'49': [1,2,3,4,5,6,7,8,9],'50': [1,2,3,4,5,6,7,8,9],'51': [1,2,3,4,5,6,7,8,9],'52': [1,2,3,4,5,6,7,8,9],'53': [1,2,3,4,5,6,7,8,9],'54': [1,2,3,4,5,6,7,8,9],'55': [1,2,3,4,5,6,7,8,9],'56': [1,2,3,4,5,6,7,8,9],'57': [1,2,3,4,5,6,7,8,9],'58': [1,2,3,4,5,6,7,8,9],'59': [1,2,3,4,5,6,7,8,9],'60': [1,2,3,4,5,6,7,8,9],'61': [1,2,3,4,5,6,7,8,9],'62': [1,2,3,4,5,6,7,8,9],'63': [1,2,3,4,5,6,7,8,9],'64': [1,2,3,4,5,6,7,8,9],'65': [1,2,3,4,5,6,7,8,9],'66': [1,2,3,4,5,6,7,8,9],'67': [1,2,3,4,5,6,7,8,9],'68': [1,2,3,4,5,6,7,8,9],'69': [1,2,3,4,5,6,7,8,9],'70': [1,2,3,4,5,6,7,8,9],'71': [1,2,3,4,5,6,7,8,9],'72': [1,2,3,4,5,6,7,8,9],'73': [1,2,3,4,5,6,7,8,9],'74': [1,2,3,4,5,6,7,8,9],'75': [1,2,3,4,5,6,7,8,9],'76': [1,2,3,4,5,6,7,8,9],'77': [1,2,3,4,5,6,7,8,9],'78': [1,2,3,4,5,6,7,8,9],'79': [1,2,3,4,5,6,7,8,9],'80': [1,2,3,4,5,6,7,8,9],'81': [1,2,3,4,5,6,7,8,9],'82': [1,2,3,4,5,6,7,8,9],'83': [1,2,3,4,5,6,7,8,9],'84': [1,2,3,4,5,6,7,8,9],'85': [1,2,3,4,5,6,7,8,9],'86': [1,2,3,4,5,6,7,8,9],'87': [1,2,3,4,5,6,7,8,9],'88': [1,2,3,4,5,6,7,8,9],'89': [1,2,3,4,5,6,7,8,9],'90': [1,2,3,4,5,6,7,8,9],'91': [1,2,3,4,5,6,7,8,9],'92': [1,2,3,4,5,6,7,8,9],'93': [1,2,3,4,5,6,7,8,9],'94': [1,2,3,4,5,6,7,8,9],'95': [1,2,3,4,5,6,7,8,9],'96': [1,2,3,4,5,6,7,8,9],'97': [1,2,3,4,5,6,7,8,9],'98': [1,2,3,4,5,6,7,8,9],'99': [1,2,3,4,5,6,7,8,9],'100': [1,2,3,4,5,6,7,8,9],'101': [1,2,3,4,5,6,7,8,9],'102': [1,2,3,4,5,6,7,8,9],'103': [1,2,3,4,5,6,7,8,9],'104': [1,2,3,4,5,6,7,8,9],'105': [1,2,3,4,5,6,7,8,9],'106': [1,2,3,4,5,6,7,8,9],'107': [1,2,3,4,5,6,7,8,9],'108': [1,2,3,4,5,6,7,8,9],'109': [1,2,3,4,5,6,7,8,9],'110': [1,2,3,4,5,6,7,8,9],'111': [1,2,3,4,5,6,7,8,9],'112': [1,2,3,4,5,6,7,8,9],'113': [1,2,3,4,5,6,7,8,9],'114': [1,2,3,4,5,6,7,8,9],'115': [1,2,3,4,5,6,7,8,9],'116': [1,2,3,4,5,6,7,8,9],'117': [1,2,3,4,5,6,7,8,9],'118': [1,2,3,4,5,6,7,8,9],'119': [1,2,3,4,5,6,7,8,9],'120': [1,2,3,4,5,6,7,8,9],'121': [1,2,3,4,5,6,7,8,9],'122': [1,2,3,4,5,6,7,8,9],'123': [1,2,3,4,5,6,7,8,9],'124': [1,2,3,4,5,6,7,8,9],'125': [1,2,3,4,5,6,7,8,9],'126': [1,2,3,4,5,6,7,8,9],'127': [1,2,3,4,5,6,7,8,9],'128': [1,2,3,4,5,6,7,8,9],'129': [1,2,3,4,5,6,7,8,9],'130': [1,2,3,4,5,6,7,8,9],'131': [1,2,3,4,5,6,7,8,9],'132': [1,2,3,4,5,6,7,8,9],'133': [1,2,3,4,5,6,7,8,9],'134': [1,2,3,4,5,6,7,8,9],'135': [1,2,3,4,5,6,7,8,9],'136': [1,2,3,4,5,6,7,8,9],'137': [1,2,3,4,5,6,7,8,9],'138': [1,2,3,4,5,6,7,8,9],'139': [1,2,3,4,5,6,7,8,9],'140': [1,2,3,4,5,6,7,8,9],'141': [1,2,3,4,5,6,7,8,9],'142': [1,2,3,4,5,6,7,8,9],'143': [1,2,3,4,5,6,7,8,9],'144': [1,2,3,4,5,6,7,8,9],'145': [1,2,3,4,5,6,7,8,9],'146': [1,2,3,4,5,6,7,8,9],'147': [1,2,3,4,5,6,7,8,9],'148': [1,2,3,4,5,6,7,8,9],'149': [1,2,3,4,5,6,7,8,9],'150': [1,2,3,4,5,6,7,8,9],'151': [1,2,3,4,5,6,7,8,9],'152': [1,2,3,4,5,6,7,8,9],'153': [1,2,3,4,5,6,7,8,9],'154': [1,2,3,4,5,6,7,8,9],'155': [1,2,3,4,5,6,7,8,9],'156': [1,2,3,4,5,6,7,8,9],'157': [1,2,3,4,5,6,7,8,9],'158': [1,2,3,4,5,6,7,8,9],'159': [1,2,3,4,5,6,7,8,9],'160': [1,2,3,4,5,6,7,8,9],'161': [1,2,3,4,5,6,7,8,9],'162': [1,2,3,4,5,6,7,8,9],'163': [1,2,3,4,5,6,7,8,9],'164': [1,2,3,4,5,6,7,8,9],'165': [1,2,3,4,5,6,7,8,9],'166': [1,2,3,4,5,6,7,8,9],'167': [1,2,3,4,5,6,7,8,9],'168': [1,2,3,4,5,6,7,8,9],'169': [1,2,3,4,5,6,7,8,9],'170': [1,2,3,4,5,6,7,8,9],'171': [1,2,3,4,5,6,7,8,9],'172': [1,2,3,4,5,6,7,8,9],'173': [1,2,3,4,5,6,7,8,9],'174': [1,2,3,4,5,6,7,8,9],'175': [1,2,3,4,5,6,7,8,9],'176': [1,2,3,4,5,6,7,8,9],'177': [1,2,3,4,5,6,7,8,9],'178': [1,2,3,4,5,6,7,8,9],'179': [1,2,3,4,5,6,7,8,9],'180': [1,2,3,4,5,6,7,8,9],'181': [1,2,3,4,5,6,7,8,9],'182': [1,2,3,4,5,6,7,8,9],'183': [1,2,3,4,5,6,7,8,9],'184': [1,2,3,4,5,6,7,8,9],'185': [1,2,3,4,5,6,7,8,9],'186': [1,2,3,4,5,6,7,8,9],'187': [1,2,3,4,5,6,7,8,9],'188': [1,2,3,4,5,6,7,8,9],'189': [1,2,3,4,5,6,7,8,9],'190': [1,2,3,4,5,6,7,8,9],'191': [1,2,3,4,5,6,7,8,9],'192': [1,2,3,4,5,6,7,8,9],'193': [1,2,3,4,5,6,7,8,9],'194': [1,2,3,4,5,6,7,8,9],'195': [1,2,3,4,5,6,7,8,9],'196': [1,2,3,4,5,6,7,8,9],'197': [1,2,3,4,5,6,7,8,9],'198': [1,2,3,4,5,6,7,8,9],'199': [1,2,3,4,5,6,7,8,9],'200': [1,2,3,4,5,6,7,8,9],'201': [1,2,3,4,5,6,7,8,9],'202': [1,2,3,4,5,6,7,8,9],'203': [1,2,3,4,5,6,7,8,9],'204': [1,2,3,4,5,6,7,8,9],'205': [1,2,3,4,5,6,7,8,9],'206': [1,2,3,4,5,6,7,8,9],'207': [1,2,3,4,5,6,7,8,9],'208': [1,2,3,4,5,6,7,8,9],'209': [1,2,3,4,5,6,7,8,9],'210': [1,2,3,4,5,6,7,8,9],'211': [1,2,3,4,5,6,7,8,9],'212': [1,2,3,4,5,6,7,8,9],'213': [1,2,3,4,5,6,7,8,9],'214': [1,2,3,4,5,6,7,8,9],'215': [1,2,3,4,5,6,7,8,9],'216': [1,2,3,4,5,6,7,8,9],'217': [1,2,3,4,5,6,7,8,9],'218': [1,2,3,4,5,6,7,8,9],'219': [1,2,3,4,5,6,7,8,9],'220': [1,2,3,4,5,6,7,8,9],'221': [1,2,3,4,5,6,7,8,9],'222': [1,2,3,4,5,6,7,8,9],'223': [1,2,3,4,5,6,7,8,9],'224': [1,2,3,4,5,6,7,8,9],'225': [1,2,3,4,5,6,7,8,9],'226': [1,2,3,4,5,6,7,8,9],'227': [1,2,3,4,5,6,7,8,9],'228': [1,2,3,4,5,6,7,8,9],'229': [1,2,3,4,5,6,7,8,9],'230': [1,2,3,4,5,6,7,8,9],'231': [1,2,3,4,5,6,7,8,9],'232': [1,2,3,4,5,6,7,8,9],'265': [1,2,3,4,5,6,7,8,9],'233': [1,2,3,4,5,6,7,8,9],'234': [1,2,3,4,5,6,7,8,9],'235': [1,2,3,4,5,6,7,8,9],'236': [1,2,3,4,5,6,7,8,9],'237': [1,2,3,4,5,6,7,8,9],'238': [1,2,3,4,5,6,7,8,9],'239': [1,2,3,4,5,6,7,8,9],'240': [1,2,3,4,5,6,7,8,9],'241': [1,2,3,4,5,6,7,8,9],'242': [1,2,3,4,5,6,7,8,9],'243': [1,2,3,4,5,6,7,8,9],'244': [1,2,3,4,5,6,7,8,9],'245': [1,2,3,4,5,6,7,8,9],'246': [1,2,3,4,5,6,7,8,9],'247': [1,2,3,4,5,6,7,8,9],'248': [1,2,3,4,5,6,7,8,9],'249': [1,2,3,4,5,6,7,8,9],'250': [1,2,3,4,5,6,7,8,9],'251': [1,2,3,4,5,6,7,8,9],'252': [1,2,3,4,5,6,7,8,9],'253': [1,2,3,4,5,6,7,8,9],'254': [1,2,3,4,5,6,7,8,9],'255': [1,2,3,4,5,6,7,8,9],'256': [1,2,3,4,5,6,7,8,9],'257': [1,2,3,4,5,6,7,8,9],'258': [1,2,3,4,5,6,7,8,9],'259': [1,2,3,4,5,6,7,8,9],'260': [1,2,3,4,5,6,7,8,9],'261': [1,2,3,4,5,6,7,8,9],'262': [1,2,3,4,5,6,7,8,9],'263': [1,2,3,4,5,6,7,8,9],'264': [1,2,9,7,8,3,4,5,6]
            
        };
        
        
        // translations
        
        adclip.translations = {
        
            'en_us':{'LANG': 'en-US','CATEGORIES_BY_ID': {'1':'Properties','2':'Development','3':'Vehicles','4':'Motos','5':'Watercrafts','6':'Aircrafts','7':'Bikes','8':'Jobs','9':'Meetings'},'REGIONS_BY_ID': {'1': {'1':'Afghanistan','2':'Akrotiri','3':'Albania','4':'Algeria','5':'American+Samoa','6':'Andorra','7':'Angola','8':'Anguilla','9':'Antarctica','10':'Antigua+and+Barbuda','11':'Arctic+Ocean','12':'Argentina','13':'Armenia','14':'Aruba','15':'Ashmore+and+Cartier+Islands','16':'Atlantic+Ocean','17':'Australia','18':'Austria','19':'Azerbaijan','20':'Bahamas%2c+The','21':'Bahrain','22':'Baker+Island','23':'Bangladesh','24':'Barbados','25':'Belarus','26':'Belgium','27':'Belize','28':'Benin','29':'Bermuda','30':'Bhutan','31':'Bolivia','32':'Bosnia+and+Herzegovina','33':'Botswana','34':'Bouvet+Island','35':'Brazil','36':'British+Indian+Ocean+Territory','37':'British+Virgin+Islands','38':'Brunei','39':'Bulgaria','40':'Burkina+Faso','41':'Burma','42':'Burundi','43':'Cambodia','44':'Cameroon','45':'Canada','46':'Cape+Verde','47':'Cayman+Islands','48':'Central+African+Republic','49':'Chad','50':'Chile','51':'China','52':'Christmas+Island','53':'Clipperton+Island','54':'Cocos+(Keeling)+Islands','55':'Colombia','56':'Comoros','57':'Congo%2c+Democratic+Republic+of+the','58':'Congo%2c+Republic+of+the','59':'Cook+Islands','60':'Coral+Sea+Islands','61':'Costa+Rica','62':'Cote+d%c2%b4Ivoire','63':'Croatia','64':'Cuba','65':'Cyprus','66':'Czech+Republic','67':'Denmark','68':'Dhekelia','69':'Djibouti','70':'Dominica','71':'Dominican+Republic','72':'Ecuador','73':'Egypt','74':'El+Salvador','75':'Equatorial+Guinea','76':'Eritrea','77':'Estonia','78':'Ethiopia','79':'Falkland+Islands+(Islas+Malvinas)','80':'Faroe+Islands','81':'Fiji','82':'Finland','83':'France','84':'French+Polynesia','85':'French+Southern+and+Antarctic+Lands','86':'Gabon','87':'Gambia%2c+The','88':'Gaza+Strip','89':'Georgia','90':'Germany','91':'Ghana','92':'Gibraltar','93':'Greece','94':'Greenland','95':'Grenada','96':'Guam','97':'Guatemala','98':'Guernsey','99':'Guinea','100':'Guinea-Bissau','101':'Guyana','102':'Haiti','103':'Heard+Island+and+McDonald+Islands','104':'Holy+See+(Vatican+City)','105':'Honduras','106':'Hong+Kong','107':'Howland+Island','108':'Hungary','109':'Iceland','110':'India','111':'Indian+Ocean','112':'Indonesia','113':'Iran','114':'Iraq','115':'Ireland','116':'Isle+of+Man','117':'Israel','118':'Italy','119':'Jamaica','120':'Jan+Mayen','121':'Japan','122':'Jarvis+Island','123':'Jersey','124':'Johnston+Atoll','125':'Jordan','126':'Kazakhstan','127':'Kenya','128':'Kingman+Reef','129':'Kiribati','130':'Korea%2c+North','131':'Korea%2c+South','132':'Kosovo','133':'Kuwait','134':'Kyrgyzstan','135':'Laos','136':'Latvia','137':'Lebanon','138':'Lesotho','139':'Liberia','140':'Libya','141':'Liechtenstein','142':'Lithuania','143':'Luxembourg','144':'Macau','145':'Macedonia','146':'Madagascar','147':'Malawi','148':'Malaysia','149':'Maldives','150':'Mali','151':'Malta','152':'Marshall+Islands','153':'Mauritania','154':'Mauritius','155':'Mayotte','156':'Mexico','157':'Micronesia%2c+Federated+States+of','158':'Midway+Islands','159':'Moldova','160':'Monaco','161':'Mongolia','162':'Montenegro','163':'Montserrat','164':'Morocco','165':'Mozambique','166':'Namibia','167':'Nauru','168':'Navassa+Island','169':'Nepal','170':'Netherlands','171':'Netherlands+Antilles','172':'New+Caledonia','173':'New+Zealand','174':'Nicaragua','175':'Niger','176':'Nigeria','177':'Niue','178':'Norfolk+Island','179':'Northern+Mariana+Islands','180':'Norway','181':'Oman','182':'Pacific+Ocean','183':'Pakistan','184':'Palau','185':'Palmyra+Atoll','186':'Panama','187':'Papua+New+Guinea','188':'Paracel+Islands','189':'Paraguay','190':'Peru','191':'Philippines','192':'Pitcairn+Islands','193':'Poland','194':'Portugal','195':'Puerto+Rico','196':'Qatar','197':'Romania','198':'Russia','199':'Rwanda','200':'Saint+Barthelemy','201':'Saint+Helena','202':'Saint+Kitts+and+Nevis','203':'Saint+Lucia','204':'Saint+Martin','205':'Saint+Pierre+and+Miquelon','206':'Saint+Vincent+and+the+Grenadines','207':'Samoa','208':'San+Marino','209':'Sao+Tome+and+Principe','210':'Saudi+Arabia','211':'Senegal','212':'Serbia','213':'Seychelles','214':'Sierra+Leone','215':'Singapore','216':'Slovakia','217':'Slovenia','218':'Solomon+Islands','219':'Somalia','220':'South+Africa','221':'South+Georgia+and+the+South+Sandwich+Islands','222':'Southern+Ocean','223':'Spain','224':'Spratly+Islands','225':'Sri+Lanka','226':'Sudan','227':'Suriname','228':'Svalbard','229':'Swaziland','230':'Sweden','231':'Switzerland','232':'Syria','265':'Taiwan','233':'Tajikistan','234':'Tanzania','235':'Thailand','236':'Timor-Leste','237':'Togo','238':'Tokelau','239':'Tonga','240':'Trinidad+and+Tobago','241':'Tunisia','242':'Turkey','243':'Turkmenistan','244':'Turks+and+Caicos+Islands','245':'Tuvalu','246':'Uganda','247':'Ukraine','248':'United+Arab+Emirates','249':'United+Kingdom','250':'United+States','251':'United+States+Pacific+Island+Wildlife+Refuges','252':'Uruguay','253':'Uzbekistan','254':'Vanuatu','255':'Venezuela','256':'Vietnam','257':'Virgin+Islands','258':'Wake+Island','259':'Wallis+and+Futuna','260':'West+Bank','261':'Western+Sahara','262':'Yemen','263':'Zambia','264':'Zimbabwe'}}},'pt_br':{'LANG': 'pt-BR','CATEGORIES_BY_ID': {'9':'Encontros','8':'Empregos','7':'Bicicletas','6':'Aeronaves','5':'Embarca%c3%a7%c3%b5es','4':'Motos','3':'Autom%c3%b3veis','2':'Empreendimentos','1':'Im%c3%b3veis'},'REGIONS_BY_ID': {'1': {'1':'Afeganist%c3%a3o','220':'%c3%81frica+do+Sul','2':'Akrotiri','3':'Alb%c3%a2nia','90':'Alemanha','6':'Andorra','7':'Angola','8':'Anguila','9':'Ant%c3%a1rctica','10':'Ant%c3%adgua+e+Barbuda','171':'Antilhas+Neerlandesas','210':'Ar%c3%a1bia+Saudita','4':'Arg%c3%a9lia','12':'Argentina','13':'Arm%c3%a9nia','14':'Aruba','124':'Atol+Johnston','158':'Atol+Midway','185':'Atol+Palmyra','17':'Austr%c3%a1lia','18':'%c3%81ustria','19':'Azerbaij%c3%a3o','20':'Baamas','23':'Bangladesh','24':'Barbados','21':'Bar%c3%a9m','26':'B%c3%a9lgica','27':'Belize','28':'Benim','29':'Bermudas','25':'Bielorr%c3%bassia','31':'Bol%c3%advia','32':'B%c3%b3snia+e+Herzegovina','33':'Botsuana','35':'Brasil','38':'Brunei','39':'Bulg%c3%a1ria','40':'Burquina+Faso','42':'Burundi','30':'But%c3%a3o','46':'Cabo+Verde','44':'Camar%c3%b5es','43':'Camboja','45':'Canad%c3%a1','196':'Catar','126':'Cazaquist%c3%a3o','49':'Chade','50':'Chile','51':'China','65':'Chipre','104':'Cidade+do+Vaticano','260':'Cisjord%c3%a2nia','55':'Col%c3%b4mbia','56':'Comores','58':'Congo','57':'Congo+(RDC)','130':'Coreia+do+Norte','131':'Coreia+do+Sul','62':'Costa+do+Marfim','61':'Costa+Rica','63':'Cro%c3%a1cia','64':'Cuba','68':'Dhekelia','67':'Dinamarca','69':'Djibouti','70':'Dom%c3%adnica','73':'Egipto','248':'Emirados+%c3%81rabes+Unidos','72':'Equador','76':'Eritreia','216':'Eslov%c3%a1quia','217':'Eslov%c3%a9nia','223':'Espanha','250':'Estados+Unidos+da+Am%c3%a9rica','77':'Est%c3%b3nia','78':'Eti%c3%b3pia','88':'Faixa+de+Gaza','191':'Filipinas','82':'Finl%c3%a2ndia','83':'Fran%c3%a7a','86':'Gab%c3%a3o','87':'G%c3%a2mbia','91':'Gana','89':'Ge%c3%b3rgia','92':'Gibraltar','95':'Granada','93':'Gr%c3%a9cia','94':'Gronel%c3%a2ndia','96':'Guam','97':'Guatemala','98':'Guernsey','101':'Guiana','99':'Guin%c3%a9','75':'Guin%c3%a9+Equatorial','100':'Guin%c3%a9-Bissau','102':'Haiti','105':'Honduras','106':'Hong+Kong','108':'Hungria','262':'I%c3%a9men','22':'Ilha+Baker','34':'Ilha+Bouvet','53':'Ilha+Clipperton','116':'Ilha+de+Man','52':'Ilha+do+Natal','107':'Ilha+Howland','122':'Ilha+Jarvis','168':'Ilha+Navassa','178':'Ilha+Norfolk','258':'Ilha+Wake','15':'Ilhas+Ashmore+e+Cartier','47':'Ilhas+Caim%c3%a3o','54':'Ilhas+Cocos','59':'Ilhas+Cook','251':'Ilhas+de+Wildlife+Refuges','80':'Ilhas+Fero%c3%a9','81':'Ilhas+Fiji','221':'Ilhas+Ge%c3%b3rgia+do+Sul+e+Sandwich+do+Sul','103':'Ilhas+Heard+e+McDonald','79':'Ilhas+Malvinas','60':'Ilhas+Mar+de+Coral','179':'Ilhas+Marianas+do+Norte','152':'Ilhas+Marshall','188':'Ilhas+Paracel','192':'Ilhas+Pitcairn','218':'Ilhas+Salom%c3%a3o','224':'Ilhas+Spratly','244':'Ilhas+Turcas+e+Caicos','37':'Ilhas+Virgens+Brit%c3%a2nicas','257':'Ilhas+Virgens+dos+E.U.A.','110':'%c3%8dndia','112':'Indon%c3%a9sia','113':'Ir%c3%a3o','114':'Iraque','115':'Irlanda','109':'Isl%c3%a2ndia','117':'Israel','118':'It%c3%a1lia','119':'Jamaica','120':'Jan+Mayen','121':'Jap%c3%a3o','123':'Jersey','125':'Jord%c3%a2nia','132':'Kosovo','133':'Kuwait','135':'Laos','138':'Lesoto','136':'Let%c3%b3nia','137':'L%c3%adbano','139':'Lib%c3%a9ria','140':'L%c3%adbia','141':'Listenstaine','142':'Litu%c3%a2nia','143':'Luxemburgo','144':'Macau','145':'Maced%c3%b3nia','146':'Madag%c3%a1scar','148':'Mal%c3%a1sia','147':'Malavi','149':'Maldivas','150':'Mali','151':'Malta','164':'Marrocos','154':'Maur%c3%adcias','153':'Maurit%c3%a2nia','155':'Mayotte','156':'M%c3%a9xico','157':'Micron%c3%a9sia','165':'Mo%c3%a7ambique','159':'Mold%c3%a1via','160':'M%c3%b3naco','161':'Mong%c3%b3lia','163':'Monserrate','162':'Montenegro','41':'Myanmar','166':'Nam%c3%adbia','167':'Nauru','169':'Nepal','174':'Nicar%c3%a1gua','175':'N%c3%adger','176':'Nig%c3%a9ria','177':'Niue','180':'Noruega','172':'Nova+Caled%c3%b3nia','173':'Nova+Zel%c3%a2ndia','222':'Oceano+Ant%c3%a1rctico','11':'Oceano+%c3%81rtico','16':'Oceano+Atl%c3%a2ntico','111':'Oceano+%c3%8dndico','182':'Oceano+Pac%c3%adfico','181':'Om%c3%a3','170':'Pa%c3%adses+Baixos','184':'Palau','186':'Panam%c3%a1','187':'Papua-Nova+Guin%c3%a9','183':'Paquist%c3%a3o','189':'Paraguai','190':'Peru','84':'Polin%c3%a9sia+Francesa','193':'Pol%c3%b3nia','195':'Porto+Rico','194':'Portugal','127':'Qu%c3%a9nia','134':'Quirguist%c3%a3o','129':'Quiribati','128':'Recife+Kingman','249':'Reino+Unido','48':'Rep%c3%bablica+Centro-Africana','66':'Rep%c3%bablica+Checa','71':'Rep%c3%bablica+Dominicana','197':'Rom%c3%a9nia','199':'Ruanda','198':'R%c3%bassia','261':'Saara+Ocidental','74':'Salvador','207':'Samoa','5':'Samoa+Americana','201':'Santa+Helena','203':'Santa+L%c3%bacia','200':'S%c3%a3o+Bartolomeu','202':'S%c3%a3o+Crist%c3%b3v%c3%a3o+e+Neves','208':'S%c3%a3o+Marinho','204':'S%c3%a3o+Martim','205':'S%c3%a3o+Pedro+e+Miquelon','209':'S%c3%a3o+Tom%c3%a9+e+Pr%c3%adncipe','206':'S%c3%a3o+Vicente+e+Granadinas','213':'Seicheles','211':'Senegal','214':'Serra+Leoa','212':'S%c3%a9rvia','215':'Singapura','232':'S%c3%adria','219':'Som%c3%a1lia','225':'Sri+Lanka','229':'Suazil%c3%a2ndia','226':'Sud%c3%a3o','230':'Su%c3%a9cia','231':'Su%c3%ad%c3%a7a','227':'Suriname','228':'Svalbard','235':'Tail%c3%a2ndia','265':'Taiwan','233':'Tajiquist%c3%a3o','234':'Tanz%c3%a2nia','36':'Territ%c3%b3rio+Brit%c3%a2nico+do+Oceano+%c3%8dndico','85':'Territ%c3%b3rios+Austrais+e+Ant%c3%a1rcticos+Franceses','236':'Timor+Leste','237':'Togo','238':'Tokelau','239':'Tonga','240':'Trindade+e+Tobago','241':'Tun%c3%adsia','243':'Turquemenist%c3%a3o','242':'Turquia','245':'Tuvalu','247':'Ucr%c3%a2nia','246':'Uganda','252':'Uruguai','253':'Usbequist%c3%a3o','254':'Vanuatu','255':'Venezuela','256':'Vietname','259':'Wallis+e+Futuna','263':'Z%c3%a2mbia','264':'Zimbabu%c3%a9'}}},'pt_pt':{'LANG': 'pt-PT','CATEGORIES_BY_ID': {'9':'Encontros','1':'Im%c3%b3veis','2':'Empreendimentos','3':'Viaturas','4':'Motos','5':'Embarca%c3%a7%c3%b5es','6':'Aeronaves','7':'Bicicletas','8':'Empregos'},'REGIONS_BY_ID': {'1': {'1':'Afeganist%c3%a3o','220':'%c3%81frica+do+Sul','2':'Akrotiri','3':'Alb%c3%a2nia','90':'Alemanha','6':'Andorra','7':'Angola','8':'Anguila','9':'Ant%c3%a1rctica','10':'Ant%c3%adgua+e+Barbuda','171':'Antilhas+Neerlandesas','210':'Ar%c3%a1bia+Saudita','4':'Arg%c3%a9lia','12':'Argentina','13':'Arm%c3%a9nia','14':'Aruba','124':'Atol+Johnston','158':'Atol+Midway','185':'Atol+Palmyra','17':'Austr%c3%a1lia','18':'%c3%81ustria','19':'Azerbaij%c3%a3o','20':'Baamas','23':'Bangladesh','24':'Barbados','21':'Bar%c3%a9m','26':'B%c3%a9lgica','27':'Belize','28':'Benim','29':'Bermudas','25':'Bielorr%c3%bassia','31':'Bol%c3%advia','32':'B%c3%b3snia+e+Herzegovina','33':'Botsuana','35':'Brasil','38':'Brunei','39':'Bulg%c3%a1ria','40':'Burquina+Faso','42':'Burundi','30':'But%c3%a3o','46':'Cabo+Verde','44':'Camar%c3%b5es','43':'Camboja','45':'Canad%c3%a1','196':'Catar','126':'Cazaquist%c3%a3o','49':'Chade','50':'Chile','51':'China','65':'Chipre','104':'Cidade+do+Vaticano','260':'Cisjord%c3%a2nia','55':'Col%c3%b4mbia','56':'Comores','58':'Congo','57':'Congo+(RDC)','130':'Coreia+do+Norte','131':'Coreia+do+Sul','62':'Costa+do+Marfim','61':'Costa+Rica','63':'Cro%c3%a1cia','64':'Cuba','68':'Dhekelia','67':'Dinamarca','69':'Djibouti','70':'Dom%c3%adnica','73':'Egipto','248':'Emirados+%c3%81rabes+Unidos','72':'Equador','76':'Eritreia','216':'Eslov%c3%a1quia','217':'Eslov%c3%a9nia','223':'Espanha','250':'Estados+Unidos+da+Am%c3%a9rica','77':'Est%c3%b3nia','78':'Eti%c3%b3pia','88':'Faixa+de+Gaza','191':'Filipinas','82':'Finl%c3%a2ndia','83':'Fran%c3%a7a','86':'Gab%c3%a3o','87':'G%c3%a2mbia','91':'Gana','89':'Ge%c3%b3rgia','92':'Gibraltar','95':'Granada','93':'Gr%c3%a9cia','94':'Gronel%c3%a2ndia','96':'Guam','97':'Guatemala','98':'Guernsey','101':'Guiana','99':'Guin%c3%a9','75':'Guin%c3%a9+Equatorial','100':'Guin%c3%a9-Bissau','102':'Haiti','105':'Honduras','106':'Hong+Kong','108':'Hungria','262':'I%c3%a9men','22':'Ilha+Baker','34':'Ilha+Bouvet','53':'Ilha+Clipperton','116':'Ilha+de+Man','52':'Ilha+do+Natal','107':'Ilha+Howland','122':'Ilha+Jarvis','168':'Ilha+Navassa','178':'Ilha+Norfolk','258':'Ilha+Wake','15':'Ilhas+Ashmore+e+Cartier','47':'Ilhas+Caim%c3%a3o','54':'Ilhas+Cocos','59':'Ilhas+Cook','251':'Ilhas+de+Wildlife+Refuges','80':'Ilhas+Fero%c3%a9','81':'Ilhas+Fiji','221':'Ilhas+Ge%c3%b3rgia+do+Sul+e+Sandwich+do+Sul','103':'Ilhas+Heard+e+McDonald','79':'Ilhas+Malvinas','60':'Ilhas+Mar+de+Coral','179':'Ilhas+Marianas+do+Norte','152':'Ilhas+Marshall','188':'Ilhas+Paracel','192':'Ilhas+Pitcairn','218':'Ilhas+Salom%c3%a3o','224':'Ilhas+Spratly','244':'Ilhas+Turcas+e+Caicos','37':'Ilhas+Virgens+Brit%c3%a2nicas','257':'Ilhas+Virgens+dos+E.U.A.','110':'%c3%8dndia','112':'Indon%c3%a9sia','113':'Ir%c3%a3o','114':'Iraque','115':'Irlanda','109':'Isl%c3%a2ndia','117':'Israel','118':'It%c3%a1lia','119':'Jamaica','120':'Jan+Mayen','121':'Jap%c3%a3o','123':'Jersey','125':'Jord%c3%a2nia','132':'Kosovo','133':'Kuwait','135':'Laos','138':'Lesoto','136':'Let%c3%b3nia','137':'L%c3%adbano','139':'Lib%c3%a9ria','140':'L%c3%adbia','141':'Listenstaine','142':'Litu%c3%a2nia','143':'Luxemburgo','144':'Macau','145':'Maced%c3%b3nia','146':'Madag%c3%a1scar','148':'Mal%c3%a1sia','147':'Malavi','149':'Maldivas','150':'Mali','151':'Malta','164':'Marrocos','154':'Maur%c3%adcias','153':'Maurit%c3%a2nia','155':'Mayotte','156':'M%c3%a9xico','157':'Micron%c3%a9sia','165':'Mo%c3%a7ambique','159':'Mold%c3%a1via','160':'M%c3%b3naco','161':'Mong%c3%b3lia','163':'Monserrate','162':'Montenegro','41':'Myanmar','166':'Nam%c3%adbia','167':'Nauru','169':'Nepal','174':'Nicar%c3%a1gua','175':'N%c3%adger','176':'Nig%c3%a9ria','177':'Niue','180':'Noruega','172':'Nova+Caled%c3%b3nia','173':'Nova+Zel%c3%a2ndia','222':'Oceano+Ant%c3%a1rctico','11':'Oceano+%c3%81rtico','16':'Oceano+Atl%c3%a2ntico','111':'Oceano+%c3%8dndico','182':'Oceano+Pac%c3%adfico','181':'Om%c3%a3','170':'Pa%c3%adses+Baixos','184':'Palau','186':'Panam%c3%a1','187':'Papua-Nova+Guin%c3%a9','183':'Paquist%c3%a3o','189':'Paraguai','190':'Peru','84':'Polin%c3%a9sia+Francesa','193':'Pol%c3%b3nia','195':'Porto+Rico','194':'Portugal','127':'Qu%c3%a9nia','134':'Quirguist%c3%a3o','129':'Quiribati','128':'Recife+Kingman','249':'Reino+Unido','48':'Rep%c3%bablica+Centro-Africana','66':'Rep%c3%bablica+Checa','71':'Rep%c3%bablica+Dominicana','197':'Rom%c3%a9nia','199':'Ruanda','198':'R%c3%bassia','261':'Saara+Ocidental','74':'Salvador','207':'Samoa','5':'Samoa+Americana','201':'Santa+Helena','203':'Santa+L%c3%bacia','200':'S%c3%a3o+Bartolomeu','202':'S%c3%a3o+Crist%c3%b3v%c3%a3o+e+Neves','208':'S%c3%a3o+Marinho','204':'S%c3%a3o+Martim','205':'S%c3%a3o+Pedro+e+Miquelon','209':'S%c3%a3o+Tom%c3%a9+e+Pr%c3%adncipe','206':'S%c3%a3o+Vicente+e+Granadinas','213':'Seicheles','211':'Senegal','214':'Serra+Leoa','212':'S%c3%a9rvia','215':'Singapura','232':'S%c3%adria','219':'Som%c3%a1lia','225':'Sri+Lanka','229':'Suazil%c3%a2ndia','226':'Sud%c3%a3o','230':'Su%c3%a9cia','231':'Su%c3%ad%c3%a7a','227':'Suriname','228':'Svalbard','235':'Tail%c3%a2ndia','265':'Taiwan','233':'Tajiquist%c3%a3o','234':'Tanz%c3%a2nia','36':'Territ%c3%b3rio+Brit%c3%a2nico+do+Oceano+%c3%8dndico','85':'Territ%c3%b3rios+Austrais+e+Ant%c3%a1rcticos+Franceses','236':'Timor+Leste','237':'Togo','238':'Tokelau','239':'Tonga','240':'Trindade+e+Tobago','241':'Tun%c3%adsia','243':'Turquemenist%c3%a3o','242':'Turquia','245':'Tuvalu','247':'Ucr%c3%a2nia','246':'Uganda','252':'Uruguai','253':'Usbequist%c3%a3o','254':'Vanuatu','255':'Venezuela','256':'Vietname','259':'Wallis+e+Futuna','263':'Z%c3%a2mbia','264':'Zimbabu%c3%a9'}}},

            /*        
            'pt_pt':{
                    'LANG': 'pt-PT',
                    'CATEGORIES_BY_ID': {'1': 'Imobiliário', '2': 'Automóveis', '3': 'Emprego'},
                    'REGIONS_BY_ID': {'1': {
                                            '1': 'Portugal',
                                            '2': 'Inglaterra',
                                            //'3': 'Brasil'
                                            }
                    }
                    
            },
            'en_us':{
                    'LANG': 'en-US',
                    'CATEGORIES_BY_ID': {'1': 'Real Estate', '2': 'Cars', '3': 'Jobs'},
                    'REGIONS_BY_ID': {'1': {
                                            '1': 'Portugal',
                                            '2': 'England',
                                            //'3': 'Brazil'
                                            }
                    }
            
            },
            */
            
            
            'global': {
                    'LANGUAGES': {
                        'pt-PT': 'Português',
                        'en-US': 'English'
                    },
                    'REGION1_BY_LANGUAGE': {
                        'pt-PT': 1,
                        'en-US': 2
                    }
                    
                    
            }
        };
        
        adclip.addTranslations = function(lang, translations){
            var mix = {};
            lang = lang.toLowerCase().replace("-", '_');
            
            for(var x in adclip.translations[lang]){
                mix[x] = adclip.translations[lang][x];
            }
            
            for(var x in translations){
                mix[x] = translations[x];
            }
            
            adclip.translations[lang] = mix;
        }
        
        
        adclip.t = function(sentence, lang){
            if(typeof lang == 'undefined' || !lang) lang = adclip.lang();
            lang = lang.toLowerCase().replace("-", '_');
            return adclip.translations[lang][sentence];
            
        }

        adclip.url.clear = function(str) {
            return str.replace(/&&/gi, '&')
                      .replace(/\?&/gi, '?')
                      .replace(/&$/gi, '');
        }

        adclip.url.encode = function(str) {
              str = encodeURIComponent(str);
              return str;
        }
        
        adclip.url.decode = function(str) {
            str = str.replace(/\+/gi, ' ');
            str = decodeURIComponent(str);
            return str;
        }

        adclip.lang = function(lang){
            if(adclip.isTrue(lang)){
                 adclip.defLang = lang;
             } else {
                if(adclip.defLang == ''){
                    return 'en-US';
                } else {
                    return adclip.defLang;
                }
            }
        }
       
       
        adclip.getLanguage = function(lang){
            if(typeof lang == 'undefined' || !lang) lang = adclip.lang();
            return adclip.translations['global']['LANGUAGES'][lang];   
        }
               
       
        adclip.getCategory = function(id, lang){
            if(typeof lang == 'undefined' || !lang) lang = adclip.lang();
            lang = lang.toLowerCase().replace("-", '_');
            return adclip.url.decode(adclip.translations[lang]['CATEGORIES_BY_ID'][id]);   
        }
        
        
        adclip.getRegion = function(level, id, lang){
            if(typeof lang == 'undefined' || !lang) lang = adclip.lang();
            lang = lang.toLowerCase().replace("-", '_');
            return adclip.url.decode(adclip.translations[lang]['REGIONS_BY_ID'][level][id]);
        }
        
        
        adclip.isTrue = function(varTest){
            if(typeof varTest != 'undefined' && (varTest == true || varTest || varTest != '' || varTest != 0 )){
                return true;
            } else {
                return false;
            }
        }
        
        
        /**
         * Retruns the x position of the given object in the window / screen.
         */
        adclip.element.findPosX = function(obj) {
            var curleft = 0;
            if(obj.offsetParent)
                while(1) 
                {
                  if(obj.style.position.toLowerCase() != 'relative' && obj.style.position.toLowerCase() != 'absolute')
                    curleft += obj.offsetLeft;
                    
                  if(!obj.offsetParent)
                    break;
                  obj = obj.offsetParent;
                }
            else if(obj.x)
                if(obj.style.position.toLowerCase() != 'relative' && obj.style.position.toLowerCase() != 'absolute')
                    curleft += obj.x;
            return curleft;
        }

        /**
         * Retruns the x position of the given object in the window / screen.
         */
        adclip.element.findPosY = function(obj) {
            var curtop = 0;
            if(obj.offsetParent)
                while(1)
                {
                  if(obj.style.position.toLowerCase() != 'relative' && obj.style.position.toLowerCase() != 'absolute')
                    curtop += obj.offsetTop;
                    
                  if(!obj.offsetParent)
                    break;
                  obj = obj.offsetParent;
                }
            else if(obj.y)
                if(obj.style.position.toLowerCase() != 'relative' && obj.style.position.toLowerCase() != 'absolute')
                    curtop += obj.y;
            return curtop;
        }
        
        adclip.events.onChangeLanguage = function(opts){
            adclip.lang(opts.language);
            
            // change language on SearchBox
            if(typeof adclip.clips.searchBox.prototype.instance != "undefined" && adclip.clips.searchBox.prototype.instance.length > 0){
                for(var x in adclip.clips.searchBox.prototype.instance){
                    adclip.clips.searchBox.prototype.instance[x].draw();
                }
            
            }
            
            
            
            // callBack
            if(typeof adclip_onChangeLanguage == "function") adclip_onChangeLanguage(opts);
        }
        
        
        
        
        /** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
         ** Code licensed under Creative Commons Attribution-ShareAlike License      **
         ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
        adclip.ajax.XHConn = function()
        {
          var xmlhttp, bComplete = false;
          try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
          catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
          catch (e) { try { xmlhttp = new XMLHttpRequest(); }
          catch (e) { xmlhttp = false; }}}
          if (!xmlhttp) return null;
          this.connect = function(sURL, sMethod, sVars, fnDone, async)
          {
            if (!xmlhttp) return false;
            bComplete = false;
            sMethod = sMethod.toUpperCase();

            try {
              if (sMethod == "GET")
              {
                xmlhttp.open(sMethod, sURL+"?"+sVars, async);
                sVars = "";
              }
              else
              {
                xmlhttp.open(sMethod, sURL, async);
                xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
                xmlhttp.setRequestHeader("Content-Type",
                  "application/x-www-form-urlencoded");
              }
              xmlhttp.onreadystatechange = function(){
                if (xmlhttp.readyState == 4 && !bComplete)
                {
                  bComplete = true;
                  fnDone(xmlhttp);
                }};
              xmlhttp.send(sVars);
            }
            catch(z) { return false; }
            return true;
          };
          return this;
        }
        
        
        adclip.url.maker = function(type, config, values, locationOn){
            var url = '';
            var page = adclip.vars.goPage[type.toLowerCase()];
            if(adclip.isTrue(config.opt_target)){
                // Outside of my site
                url = adclip.vars.baseURL + adclip.vars.goPage.adclipresult + '?';
                
            } else {
                //On my site                
                if(config.opt_urlTarget.split('?').length > 1){
                    url += config.opt_urlTarget; // + '&';
                    // para browser normais poderia ser config.opt_urlTarget.substr(-1,1) mas em IE assim retorna sempre "h" independente do final, vai-se lá entender.
                    if(config.opt_urlTarget.substr(config.opt_urlTarget.length-1,1) != '?' && config.opt_urlTarget.substr(config.opt_urlTarget.length-1,1) != '&') url += '&';
                } else {
                    url += config.opt_urlTarget + '?';
                }
            }
                
            vaulesParams = '';
            for(var c in values){
                var val = (typeof(values[c]) == "string") ? values[c].replace(/#/gi, '') : values[c];
                vaulesParams += '&' + c + '=' + val;
            }
            
            
            var tmp = '';
            tmp =  vaulesParams +
                    (!adclip.isTrue(values.language) ? '&language=' + config.language : '') +
                    (config.ownerOnly ? '&ow=1' : '') +
                    (config.characterSet ? '&charSet=' + config.characterSet : '');
                    
            
            url += "bcparameters=" + adclip.url.encode(page + '?' + tmp);
            url += (config.publicKey ? '&clip=' + config.publicKey : '');
            


            if(adclip.isTrue(locationOn)){
                parent.location = url;
            } else {
                return url;
            }
            
        };
        

        
        adclip.utils.colorHexStrip = function(color){
            return (typeof(color) == "string") ? color.replace(/#|\s/gi, '') : color;
        };
       
       // emula ajax por JS Tag
        adclip.fajax.getObj = function(src, objReturn){
           if(!adclip.isTrue(objReturn)) objReturn = 'bc_fajaxObj';
           var head = document.getElementsByTagName("head")[0];
           var script = document.createElement('script');
           
           script.type = 'text/javascript';
           script.src = src + (src.indexOf('?')>0 ? '&' : '?') + "objReturn=" + objReturn + '&' + adclip.time.mktime();
           head.appendChild(script);
        }
        
        
        adclip.time.mktime = function() {
            // http://kevin.vanzonneveld.net
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: baris ozdil
            // +      input by: gabriel paderni 
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // *     example 1: mktime( 14, 10, 2, 2, 1, 2008 );
            // *     returns 1: 1201871402
            
            var no, i = 0, d = new Date(), argv = arguments, argc = argv.length;
         
            var dateManip = {
                0: function(tt){ return d.setHours(tt); },
                1: function(tt){ return d.setMinutes(tt); },
                2: function(tt){ return d.setSeconds(tt); },
                3: function(tt){ return d.setMonth(parseInt(tt)-1); },
                4: function(tt){ return d.setDate(tt); },
                5: function(tt){ return d.setYear(tt); }
            };
         
            for( i = 0; i < argc; i++ ){
                no = parseInt(argv[i]);
                if(no && isNaN(no)){
                    return false;
                } else if(no){
                    // arg is number, let's manipulate date object
                    if(!dateManip[i](no)){
                        // failed
                        return false;
                    }
                }
            }
         
            return Math.floor(d.getTime()/1000);
        }
        
        
        
        adclip.asset.css = function(href, id){
            var head = document.getElementsByTagName("head")[0];
            var link = document.createElement('link');
            if(adclip.isTrue(id)){
                link.id = id;
            }
            link.type = 'text/css';
            link.href = href;
            link.rel = 'stylesheet';
            head.appendChild(link);
        }
        

        adclip.array.existValue = function(needle, haystack, strict){
            // *     example 1: adclip.array.existValue(2, [1,2,3]);
            // *     returns 1: true

            var found = false, key, strict = !!strict;
         
            for (key in haystack) {
                if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
                    found = true;
                    break;
                }
            }
         
            return found;
        }

        
        adclip.array.implode = function( glue, pieces ) {
            return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
        }
        
        // Color Tools
        
        adclip.color.hex2rgb = function(hex){

              var o=hex.toLowerCase().replace(/#/gi, '');
              var c=o.length;
              
              if(c == 3){
                o = o + o;
              }
              else if(c < 6){
                return [64, 127, 127];
              }
              
	            return {  r: parseInt(o.slice(0,2),16),
                        g: parseInt(o.slice(2,4),16),
                        b: parseInt(o.slice(4),16)
                     }

        }
        
        
        adclip.color.rgb2hsl = function(r, g, b){
            r /= 255, g /= 255, b /= 255;
            var max = Math.max(r, g, b), min = Math.min(r, g, b);
            var h, s, l = (max + min) / 2;

            if(max == min){
                h = s = 0; // achromatic
            }else{
                var d = max - min;
                s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
                switch(max){
                    case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                    case g: h = (b - r) / d + 2; break;
                    case b: h = (r - g) / d + 4; break;
                }
                h /= 6;
            }

            //return [h, s, l];
            return {'h': h, 's': s, 'l': l};
        }
        
        adclip.color.colorWhiteOrBlack = function(hex){

            var rgb = adclip.color.hex2rgb(hex);
            var hsl = adclip.color.rgb2hsl(rgb.r, rgb.g, rgb.b);
            return hsl.l > 0.5 ? '#000000' : '#ffffff';
            
        }
        
        
       adclip.string.trim =  function(str, charlist) {
            var whitespace, l = 0, i = 0;
            str += '';
            
            if (!charlist) {
                // default list
                whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
            } else {
                // preg_quote custom list
                charlist += '';
                whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
            }
            
            l = str.length;
            for (i = 0; i < l; i++) {
                if (whitespace.indexOf(str.charAt(i)) === -1) {
                    str = str.substring(i);
                    break;
                }
            }
            
            l = str.length;
            for (i = l - 1; i >= 0; i--) {
                if (whitespace.indexOf(str.charAt(i)) === -1) {
                    str = str.substring(0, i + 1);
                    break;
                }
            }
            
            return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
        }
        
}
