// ╭━━━━━━━━━━━━━━━━━━━━━━━╯ KARIMBA COMMUN.JS ╰━━━━━━━━━━━━━━━━━━━━━━━━╮
//    
//    
//    
//    
//    Batterie de scripts communs
//    
//    Crée le 25/12/2010 23:10:21 par Yoann GUERIN.
//

// Get Element By ID > Retourne 1 élément
function gebi(elem) {
	return document.getElementById(elem);
}

// Get Elements By Name > Retourne un TABLEAU d'éléments
function gebn(elem) {
	return document.getElementsByName(elem);
}

// Get Elements By TagName > Retourne un TABLEAU d'éléments
function gebtn(elem) {
	return document.getElementsByTagName(elem);
}

function addzero(str, len) {
	if (len>1) {
		//if (isNaN(str)) str = 0;
		str = "0000000000000000000000000"+str;
		return str.substring(str.length-len, str.length);
	} else {
		return str;
	}
}

// Création d'un cookie
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// Lecture d'un cookie
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

// Suppression d'un cookie
function eraseCookie(name) {
	createCookie(name,"",-1);
}

// Destruction d'un objet
function destroyObject(objet) {
	for (key in objet) { objet[key]=null; }		
	objet.length = 0;
	objet = null;
}

function str_noaccent(str) {
	str = str.toLowerCase().replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/é|è|ë|ê/gi, "e").replace(/à|â/gi, "a").replace(/ï|î/gi, "i").replace(/ô|ö/gi, "o").replace(/œ/gi, "oe").replace(/æ/gi, "ae").replace(/ù|û/gi, "u").replace(/ç/gi, "c");	
	return str;
}
function str_tonum(str) {
	var reg = new RegExp("[^-+0-9\.,]","gi");
	var num = str.replace(reg, "");
	num = num.replace(/,/, ".");
	num = parseFloat(num);
	if (isNaN(num)) num = null;
	return num;
}
// Convertit une chaine en heures [0], minutes [1]
function str_totime(str) {
	var val = "0h00";
	if (str.length) {
		val = str.replace(/^\s+/g,'').replace(/\s+$/g,'');
	}
	var reg;
	val = val.replace(/(NaN)/gi, "");
	val = "0"+val;
	reg = new RegExp("[0-9]*[h|:][0-9]*", "gi");
	if (reg.test(val)) {
		reg = new RegExp("[h|:]", "g");
		var valtab = val.split(reg);
		if (!valtab[1]) valtab[1] = "00";
		valtab[1] = "0" + valtab[1];
		reg = new RegExp("[0-9]*", "g");
		if (valtab.length == 2) {
			if (reg.test(valtab[0]) && reg.test(valtab[1])) {
				val = parseInt(valtab[0],10) * 60 + parseInt(valtab[1],10);
			}
		}
	}
	reg = new RegExp("[^0-9]", "g");
	if (reg.test(val)) val = 0;
	val = parseInt(val, 10);
	//var h = Math.floor(val/60);
	//var m = val%60;
	return new Array(Math.floor(val/60), val%60);
}

function dat_tosql(str) {
	return (str.substring(6,10)+"-"+str.substring(3,5)+"-"+str.substring(0,2));
}


function utf8_encode (argString) {
    // Encodes an ISO-8859-1 string to UTF-8  
    var utftext = "",
        start, end, stringl = 0;
 
    start = end = 0;    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;
         if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {
            if (end > start) {
                utftext += string.slice(start, end);            }
            utftext += enc;
            start = end = n + 1;
        }
    } 
    if (end > start) {
        utftext += string.slice(start, stringl);
    }
     return utftext;
}

function utf8_decode (str_data) {
    // Converts a UTF-8 encoded string to ISO-8859-1  
    
	var tmp_arr = [],
        i = 0,
        ac = 0,
        c1 = 0,
        c2 = 0,        c3 = 0;
 
    str_data += '';
 
    while (i < str_data.length) {        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if (c1 > 191 && c1 < 224) {            c2 = str_data.charCodeAt(i + 1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i + 1);            c3 = str_data.charCodeAt(i + 2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    } 
    return tmp_arr.join('');
}
//
// ╰━━━━━━━━━━━━━┅┉┈  © KARIMBA-DESIGN | 2011 | www.karimba-design.fr  ┈┉┅━━━━━━━━━━━━━╯
