var ChatMessageStatus = {
    MACHINE_TRANSLATED : 2,
    HUMAN_TRANSLATED : 1
}

var ChatConfig = {
    CONNECT_ON_LOAD		: true,
    BOSH_SERVICE 	 	: '/http-bind/',
    DOMAIN			: 'godudu.com',
    ANONYMOUS_MESSAGE_LIMIT     : 7,
    PUBLIC_DOMAIN 	 	: 'public.godudu.com', //for anonymous users
    CONFERENCE_DOMAIN		: 'conference.godudu.com', //for chat rooms
    PRESENCE_RESPONSE_TIMEOUT:60*1000, //60 sec
    DEFAULT_RESOURCE 		: 'godudu-site-chat',
    DEFAULT_LANGUAGE 		: 'en',
    DEFAULT_MOOD		: ChatMessages.default_mood,
    DEFAULT_IMAGE		: '/udata/profile_pics/default-avatar-31x31.png',
    SUGGESTION_ENGINE_URL	: '/index.php/services/suggestion_engine/',
    TRANSLATION_ENGINE_URL	: '/index.php/xmpp/getTranslated/',
    QUICK_TRANSLATE_URL		: '/quick-translate/',
    REPORT_URL			: '/index.php/services/report/',
    PROFILE_URL                 : '/index.php/me/start/id:',
    SE_TIMEOUT			: 10*1000,
    QT_TIMEOUT			: 10*1000,
    TE_POLL_FREQUENCY 		: 8000, //8 sec
    PLAY_SOUND			: true,
    SUGGEST_PLACEHOLDER_PATTERN	: /\#\d\#/,
    CHAT_BOX_MIN_LENGTH		: 55,  //This is used for Maxlength
    CHAT_BOX_MAX_LENGTH		: 105, //This is used for Maxlength
    SOUND_FILE_NAME		: 'externalInterface',
    SEE_TRANSLATIONS_ONLY	: false,
    TITLE_MINIMIZED_WORD_LENGTH : 22, //Used for minimized windows
    COOKIE_NAME			: 'chat',
    CHAT_LOG_URL		: '/index.php/xmpp/ajax/m:message/',
    CHAT_CLOSE_ALL_URL		: '/index.php/xmpp/ajax/m:closeAllChat/',
    CHAT_CLOSE_URL		: '/index.php/xmpp/ajax/m:closeChat/',
    CHAT_PING_URL		: '/index.php/xmpp/ajax/m:ping/',
    CHAT_PING_INTERVAL		: 2*1000*60, // 2 mins
    WAVE_URL			: 'http://staging.godudu.com/aysegul/getSoundPath.php?id=',
    DEFAULT_VIDEO_HEIGHT	: 210,
    TEXT_TO_SPEECH_OBJ_ID	: 'TextToSpeechObj',

    initialize : function(){
        var urls = new Array('staging.godudu.com','beta.godudu.com') //Add all chat subdomains here
        var staging_alias_urls = new Array('sn','sn1') //Needed during development,testing only
        var url = location.host;

        for(var i=0; i < urls.length ; i++){
            if(staging_alias_urls.in_array(url) > -1){
                this.DOMAIN = urls[0];
                break;
            }
            else if(url == urls[i]){
                this.DOMAIN = urls[i];
                break;
            }
        }
    }
}

ChatConfig.initialize();

var ChatLanguages = {

    language_map : SNLanguages,// fetch the languages from social network

    getLanguageName : function ( code )
    {
        if(this.language_map && this.language_map[code])
            return this.language_map[code].name;
        else
            return "not known";
    },

    getLanguageId : function( code )
    {
        if(this.language_map && this.language_map[code] && this.language_map[code].id)
            return this.language_map[code].id;

        return false;
    }
}

var Logger = {

	log		: /*(window.console && console.log) ||*/ function(){},
	rawInput	: function(data){this.log('RECV: ' + data);} ,
	rawOutput	: function(data){this.log('SENT: ' + data);} ,
	xmlInput	: function(data){Logger.log('RECV: ' + Logger.xml2html(Strophe.serialize(data)));} ,
	xmlOutput	: function(data){Logger.log('SENT: ' + Logger.xml2html(Strophe.serialize(data)));} ,
	xml2html	: function(s)	{return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");},
	console		: (window.console && console.log) || function(){}
}
