/**
* Main class
* @class
*/
esyndicat = function()
{
return {
/**
* Language array
*/
lang: null,
/**
* Configuration array
*/
conf: null,
/**
*  Exist value in the array
*  @param {Array} arr array
*  @param {String} value
*  @return {Boolean}
*/
inArray: function(arr, val)
{
if(typeof arr == 'object')
{
for(var i = 0; i < arr.length; i++) 
{
if(arr[i] == val) 
{
return true;
}
}
return false;
}
return false;
},
/**
* Remove one item in the array
* @param {Array} arr array
* @param {String} val value
* @return {Array}
*/
remove: function(arr, val)
{
if(typeof arr == 'object')
{
for(var i = 0; i < arr.length; i++) 
{
if(arr[i] == val)
{
arr.splice(i, 1);
}
}
}
return arr;
},
/**
*  Load configuration or language phrases
*  @param {Array} array of parametrs lang|conf
*  TODO: store variables in the session. Use sessvars lib.
*/
loader: function(params)
{
var out = '';
var url = '';
url += (typeof params.conf != 'undefined') ? 'conf=' + params.conf : '';
url += (typeof params.lang != 'undefined') ? '&lang=' + params.lang : '';
$.ajax({
type: 'POST', 
url: 'loader.php?load=vars', 
data: url,
async: false,
success: function(p)
{
out = eval('(' + p + ')');
}
});
if(typeof out.conf != 'undefined')
{
if(null == esyndicat.conf)
{
esyndicat.conf = out.conf;
}
else
{
var keys = params.conf.split(',');
            
for(var i = 0; i <= keys.length; i++)
{
esyndicat.conf[keys[i]] = out.conf[keys[i]];
}
}
}
if(typeof out.lang != 'undefined')
{
if(null == esyndicat.lang)
{
esyndicat.lang = out.lang;
}
else
{
var keys = params.lang.split(',');
for(var i = 0; i <= keys.length; i++)
{
esyndicat.lang[keys[i]] = out.lang[keys[i]];
}
}
}
},
/**
*  Hidding or showing some element
*  @param {String} obj Can be passed with # symbol
*  @param {String} action  show|hide|auto
*/
display: function(obj, action)
{
var obj = (typeof obj == 'object') ? obj : (-1 != obj.indexOf('#')) ? $(obj) : $('#' + obj);
action = action ? action : 'auto';
if('auto' == action)
{
action = ('none' == obj.css('display')) ? 'show' : 'hide';
}
if('hide' == action)
{
if($.browser.msie)
{
obj.hide();
}
else
{
obj.slideUp('slow');
}
}
if('show' == action)
{
if($.browser.msie)
{
obj.show();
}
else
{
obj.slideDown('slow');
}
}
},
/**
* Return random letter
* TODO: get several letters. get letter in upper case.
*/
getRandomLetter: function()
{
return String.fromCharCode(97 + Math.round(Math.random() * 25));
/* For upper case */
//return String.fromCharCode(65 + Math.round(Math.random() * 25));
},
/**
* Show error message
*/
error: function(error)
{
alert(error);
}
};
}();