| Current Path : /home/balossw/www/temp/common/modules/javascript/js/ |
| Current File : /home/balossw/www/temp/common/modules/javascript/js/utils.core.js |
/*---------------------------------------------------------------------------
File name ............ common/js/utils.core.js
Author ............... Antoine Lemoine
Creation date ........ 02.09.2009
Modification date .... 02.09.2009
---------------------------------------------------------------------------*/
function print_r(array, return_val)
{
// http://kevin.vanzonneveld.net
// + original by: Michael White (http://getsprink.com)
// + improved by: Ben Bryan
// * example 1: print_r(1, true);
// * returns 1: 1
var output = "", pad_char = " ", pad_val = 4;
var formatArray = function (obj, cur_depth, pad_val, pad_char)
{
if (cur_depth>0)
{
cur_depth++;
}
var base_pad = repeat_char(pad_val*cur_depth, pad_char);
var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);
var str = "";
if (obj instanceof Array || obj instanceof Object)
{
str += "Array\n" + base_pad + "(\n";
for (var key in obj)
{
if (obj[key] instanceof Array)
{
str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);
}
else
{
str += thick_pad + "["+key+"] => " + obj[key] + "\n";
}
}
str += base_pad + ")\n";
}
else if (obj==null || obj==undefined)
{
str = '';
}
else
{
str = obj.toString();
}
return str;
};
var repeat_char = function (len, pad_char)
{
var str = "";
for (var i=0; i < len; i++)
{
str += pad_char;
}
return str;
};
output = formatArray(array,0,pad_val,pad_char);
if (return_val!==true)
{
document.write("<pre>" + output + "</pre>");
return true;
}
else
{
return output;
}
}
function getXMLHttpObj()
{
if (typeof(XMLHttpRequest)!='undefined')
{
return new XMLHttpRequest();
}
var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
for(i=0;i<axO.length;i++)
{
try
{
return new ActiveXObject(axO[i]);
}
catch (e) {}
}
return null;
}
function loadScript(url)
{
var oXML = getXMLHttpObj();
oXML.open('GET', url, false);
oXML.send('');
try
{
eval(oXML.responseText);
return true;
}
catch (e)
{
document.write(oXML.responseText);
return false;
}
}
function include(url)
{
var scripts = document.getElementsByTagName('script');
var found = false;
for (i=0; i<scripts.length; i++)
{
if (scripts[i].getAttribute('src')==url)
{
found = true;
break;
}
}
if (!found)
{
var script = document.createElement('script');
script.setAttribute('src', url);
script.setAttribute('type', 'text/javascript');
document.getElementsByTagName('head')[0].appendChild(script);
if (!loadScript(url))
{
alert("Impossible to load `"+url+"`");
}
}
}
function includeCSS(url)
{
var style=document.createElement("link" ); /*feuille de style*/
with (style)
{
type = "text/css";
rel = "stylesheet";
href = url;
}
document.getElementsByTagName("head" )[0].appendChild(style);
}
function buildPath(path1, path2)
{
return path1+(path1[path1.length-1]!='/' ? '/' : '')+path2;
}
function isset() {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: FremyCompany
// + improved by: Onno Marsman
// * example 1: isset( undefined, true);
// * returns 1: false
// * example 2: isset( 'Kevin van Zonneveld' );
// * returns 2: true
var a=arguments; var l=a.length; var i=0;
if (l==0) {
throw new Error('Empty isset');
}
while (i!=l) {
if (typeof(a[i])=='undefined' || a[i]===null) {
return false;
} else {
i++;
}
}
return true;
}