/*
 * ET-Manager "Wheels Edition" Addon for Gambio GX 
 * @id: smt.js 1.0 
 * @autor: Tordt Schmidt info@smt-webservices.de 
 * @copyright: SMT-Webservices http://www.smt-webservices.de
 */

if (!document.getElementById) {
	function getElementById(id_var, d, dl) {
		if (!d)
			d = document;
		dl = d.layers;
		db = document.all ? d.all[id_var] : d[id_var];
		if (dl && !db)
			for ( var i = 0; i < dl.length; i++)
				db = getElementById(id_var, dl[i].document);
		if (!db.style)
			db.style = db;
		return db;
	}
	document.getElementById = window.getElementById;
}

function randomString() {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for ( var i = 0; i < string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum, rnum + 1);
	}
	return randomstring;
}

function is_numeric(mixed_var) {
	return (typeof (mixed_var) === 'number' || typeof (mixed_var) === 'string') && mixed_var !== ''
			&& !isNaN(mixed_var);
}

function number_format(number, decimals, dec_point, thousands_sep) {
	var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ','
			: thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function(
			n, prec) {
		var k = Math.pow(10, prec);
		return '' + Math.round(n * k) / k;
	};
	s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
	if (s[0].length > 3) {
		s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
	}
	if ((s[1] || '').length < prec) {
		s[1] = s[1] || '';
		s[1] += new Array(prec - s[1].length + 1).join('0');
	}
	return s.join(dec);
}
function utf8_decode(utftext) {
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;

	while (i < utftext.length) {

		c = utftext.charCodeAt(i);

		if (c < 128) {
			string += String.fromCharCode(c);
			i++;
		} else if ((c > 191) && (c < 224)) {
			c2 = utftext.charCodeAt(i + 1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		} else {
			c2 = utftext.charCodeAt(i + 1);
			c3 = utftext.charCodeAt(i + 2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}

	}

	return string;
}

var session = new Array();

/*******************************************************************************
 * Dynamic Ajax Content- � Dynamic Drive DHTML code library
 * (www.dynamicdrive.com) This notice MUST stay intact for legal use Visit
 * Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 ******************************************************************************/

var bustcachevar = 1
// bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects = ""
var rootdomain = "http://" + window.location.hostname
var bustcacheparameter = ""

function ajaxpage(url, containerid, post) {
	document.getElementById(containerid).innerHTML = '<img src="images/loading.gif">';
	url = url + '&' + session.name + '=' + session.id;
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject) { // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e) {
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			} catch (e) {
			}
		}
	} else
		return false
	page_request.onreadystatechange = function() {
		loadpage(page_request, containerid)
	}
	if (bustcachevar) // if bust caching of external page
		bustcacheparameter = (url.indexOf("?") != -1) ? "&" + new Date().getTime() : "?" + new Date().getTime()
	if (post != undefined) {

		page_request.open('POST', url, true);
		page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		page_request.setRequestHeader("Content-length", post.length);
		page_request.setRequestHeader("Connection", "close");
		page_request.send(post);

	} else {

		page_request.open('GET', url + bustcacheparameter, true)
		page_request.send(null)
	}
}

function loadpage(page_request, containerid) {
	if (page_request.readyState == 4 && (page_request.status == 200 || window.location.href.indexOf("http") == -1))
		document.getElementById(containerid).innerHTML = page_request.responseText;
	if (document.getElementById(containerid).style.display) {
		document.getElementById(containerid).style.display = 'block';
	}
}

function loadobjs() {
	if (!document.getElementById)
		return;

	for (i = 0; i < arguments.length; i++) {
		var file = arguments[i]
		var fileref = ""
		if (loadedobjects.indexOf(file) == -1) { // Check to see if this
			// object has not already
			// been added to page before
			// proceeding
			if (file.indexOf(".js") != -1) { // If object is a js file
				fileref = document.createElement('script')
				fileref.setAttribute("type", "text/javascript");
				fileref.setAttribute("src", file);
			} else if (file.indexOf(".css") != -1) { // If object is a css
				// file
				fileref = document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref != "") {
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects += file + " " // Remember this object as being already
					// added to page
		}
	}
}

function getFormData(form) {
	var poststring = '';
	for (i = 0; i < form.length; i++) {
		if (form.elements[i].type == 'select-one') {
			poststring += form.elements[i].name + '='
					+ encodeURI(form.elements[i].options[form.elements[i].selectedIndex].value) + '&';
		} else if (form.elements[i].type == 'radio') {
			if (form.elements[i].checked == true) {
				poststring += form.elements[i].name + '=' + encodeURI(form.elements[i].value) + '&';
			}
		} else if (form.elements[i].type == 'checkbox') {
			if (form.elements[i].checked == true) {
				poststring += form.elements[i].name + '=1&';
			} else {
				poststring += form.elements[i].name + '=0&';
			}
		} else if (form.elements[i].type != 'submit' && form.elements[i].type != 'button') {
			poststring += form.elements[i].name + '=' + encodeURI(form.elements[i].value) + '&';
		}
	}
	return poststring;
}
