//Define Revision for refreshing new js and css files on the client
var g_revision = "2084";
var g_isMiniMode = true;
var g_obfExtention = "_obf";//obfuscate
var g_isObfType = true;//load obfuscate js files
var g_filesNotLoadObf = "jquery-1.2.6.min.js,jquery.blockUI.js,jquery.cookie.js";//enter name's file Ex: "kj,Ajax,.." (is case-sensitive)
var g_baseUrl; // = 'http://localhost/Klikotv2/';        
var g_baseUrlUnAliased;
var g_aliasPath;
var g_pathToSiteRoot;
var g_pathToRoot;
var baseUrl;

var langAbbrvMap = new Array();
langAbbrvMap[ 1 ] = "he";
langAbbrvMap[ 2 ] = "en";
langAbbrvMap[ 3 ] = "fr";
langAbbrvMap[ 4 ] = "ru";
langAbbrvMap[ 5 ] = "es";
langAbbrvMap[ 6 ] = "de";
langAbbrvMap[ 7 ] = "zh";
langAbbrvMap[ 8 ] = "hi";
langAbbrvMap[ 9 ] = "pt";
langAbbrvMap[ 10 ] = "it";
langAbbrvMap[ 11 ] = "ja";
langAbbrvMap[ 12 ] = "tr";
langAbbrvMap[ 13 ] = "esSP";
langAbbrvMap[ 14 ] = "ar";
langAbbrvMap[ 15 ] = "en-UK";
langAbbrvMap[ 16 ] = "en-AU";
langAbbrvMap[ 17 ] = "nl";


function onScriptLoad()
{
    kjInit.init();
}

var kj ={};
kj.KJ_MODE_BASIC = "basic";
kj.KJ_MODE_STANDARD = "standard";
kj.JS_KJ_MODE_BASIC_NOCSS = "basicNoCss";

var kjInit = {
    init: function()
    {
	this._setGlobalVars();
	this._getKjMode();
	this._loadSetupFiles();
	//alert( "kj mode is: " +kj._mode );
    },

    _setGlobalVars: function()
    {
	urler.init();
	g_aliasPath = urler.getAliasPath();
	g_baseUrlUnAliased = urler.getBaseUrlUnAliased();
	g_baseUrl = urler.getBaseUrl();

	baseUrl = g_baseUrl;
	g_pathToSiteRoot = g_baseUrl;
	g_pathToRoot = g_pathToSiteRoot + "Client/";

    },
    
    _getKjMode: function()
    {
	var RP_MODE = "mode";
	var srcPath = urler.getScriptSourcePath();
	//alert( "Src path is:" +srcPath );
	var modePattern = new RegExp( "mode\=(.*)");
	if ( modePattern.test( srcPath ))
	{	    
	    var mode = RegExp.$1;
	    kj._mode = mode;	
	}
	else
	    kj._mode = kj.KJ_MODE_STANDARD;
    },
        
    _loadSetupFiles: function()
    {
        if(kj._mode == kj.JS_KJ_MODE_BASIC_NOCSS)        
            g_isMiniMode = false;
        if(g_isMiniMode)
        {            
            var setupMode = kj._mode == kj.KJ_MODE_BASIC ? "setup_basic_" : "setup_standard_";
            var extentionFile = g_isObfType ? g_obfExtention : "";
            var lang = kjInit.langIdToLangAbbrv(g_language);
            var url = "Core/Framework/toolkit/kj/core/mini/" + setupMode + lang + extentionFile + ".js";
            this._jsImport(url);
	    }
	    else
	    {
		    this._jsImport("Core/Framework/toolkit/kj/core/const/c.js");   
	        this._jsImport("Core/Framework/toolkit/kj/core/const/path.js");
	        this._jsImport("Core/Framework/toolkit/kj/core/res/res.js");
	        this._jsImport("Core/Framework/toolkit/kj/core/include/include.js");   
	        this._jsImport("Core/Framework/toolkit/kj/core/setup.js");
	    }
	//	alert("");
    },
    
    langIdToLangAbbrv: function( langId )
    {
	//	alert( langMap[ langId ] );
	return langAbbrvMap[ langId ];
    },

    _jsImport: function( path )
    {
	var revisionCacheAdd = "?rev=" + g_revision;
	var path = g_baseUrl  + path + revisionCacheAdd;
	document.write('<script type="text/javascript" src="' + path + '"></script>');	     	
    }
}

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////

var urler = {   
    init : function()
    {
	this._calculateAliasAndSourcePaths();
    },

    getBaseUrl: function()
    {
	var hostName = window.location.host;
	baseUrl = "http://" + hostName + this._aliasPath + "/";
	return baseUrl;	
    },    

    getBaseUrlUnAliased: function()
    {
	var hostName = window.location.host;
	baseUrl = "http://" + hostName + "/";
	return baseUrl;	
    },    

    getAliasPath: function()
    {
	return this._aliasPath;
    },

    getScriptSourcePath: function()
    {
	return this._sourcePath;
    },
    
    _calculateAliasAndSourcePaths: function()
    {
	var aliasPathPattern = /(.*)\/Core\/Framework\/toolkit\/kj\/kj.js/;
	scripts = document.getElementsByTagName( "script" );
	var aliasPath = "";
	for ( var i=0; i< scripts.length; i++ )
	{
	    var srcPath =  scripts[i].getAttribute("src");
	    if (aliasPathPattern.test( srcPath ))
	    {		
		this._aliasPath = RegExp.$1;		
		this._sourcePath = srcPath;
		//	    alert( "alias path " + aliasPath );
		break;
	    }
	}
	return aliasPath;
    }
}


/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////

function $( id )
{
    //alert("");
    return Tools.robustGetElementById( id );
}

/////////////////////////////////////////////////////////////////////////    
/////////////////////////////////////////////////////////////////////////



onScriptLoad();
