//	© Alexander Reichstadt 2009
//	All rights reserved without prejudice, no changes without premission
//	Permission requests to areichstadt@gmail.com
//	2009-09-10	[yyyy-mm-dd]


function testLibrary()
{
	alert('Library lxlib.js loaded');
}

function randomScreenPosition(subarea)
{
	var sp = new Object();
	var usearea=1.0;
	if (subarea)usearea=subarea;
	sp.x = Math.floor(window.innerWidth * Math.random()*usearea);
	sp.y = Math.floor(window.innerHeight * Math.random()*usearea);

	return sp;
}

function appendDivToBodyWithName(newName)
{

	var mbody = document.body;
	var mdiv = document.createElement('div');
	mdiv.id = newName;
	mdiv.name = newName;
	mdiv.className=newName;
//	mdiv.style.left=0;
//	mdiv.style.right=0;
//	mdiv.style.top=0;
//	mdiv.style.bottom=0;

	mdiv.style.width = '5px';
	mdiv.style.height = '5px';
	mdiv.style.position="absolute";
	mdiv.style.float="top left";
	var tt = document.createTextNode('*'+newName);
	mdiv.appendChild(tt);
	mbody.appendChild(mdiv);
//	alert(mdiv);
	return mdiv;
}

function makeSelectorStringFromArray(inArray,idName,methodName,keyMethodName)
{

	var mstring = "\r<form method=\"get\" onchange=\"javascript:"+keyMethodName+"()\">\r<select id=\""+idName+"\" onchange=\"javascript:"+keyMethodName+"()\">\r";

	for(var i=0;i<inArray.length;i++){
		mstring = mstring + '<option onmouseup="'+methodName+'(\''+inArray[i]+'\')">' +inArray[i]+ '</option>' + "\r";


	}
	mstring = mstring + "</select>\r";
	mstring = mstring + '</form>';

	return mstring;
}
function chomp()
{
	var one = this.replace(/(\n|\r|\s)+$/, '');
	one = one.replace(/^(\n|\r)/, '');
	return one;
}
String.prototype.chomp = chomp;


function substringBetweenLeftAndRight(inLeft,inRight)
{
	var divstr = inLeft
	if (this.indexOf(divstr)==-1) return "";
	var sections = this.split(divstr);
	var eos = sections[1].indexOf(inRight);
	var interim = sections[1].substring(0,eos);
	return interim.chomp();
}
String.prototype.substringBetweenLeftAndRight = substringBetweenLeftAndRight;


function divStringFromObject()
{
	var htmlOut = "";
	var keys = new Array();

	for (att in this){
		keys.push(att);
	}

	var i = 0;
	for (i=0;i<keys.length-1;i++){
		htmlOut = htmlOut + '<div id="'+keys[i]+'">'+this[keys[i]]+'</div><xend />'+"\r";
	}

	return htmlOut;
}
Object.prototype.divStringFromObject = divStringFromObject;


function objectFromDivString()
{
	var theObject = new Object();
	var divStrings = this.split('<div id="');
	var i = 0;
	for (i=1;i<divStrings.length;i++){
		var ra = divStrings[i].split('"');
		var theDivID = ra[0];
		var theDivContents = this.substringBetweenLeftAndRight('<div id="'+theDivID+'">',"</div><xend />");
		theDivContents.chomp();
		theObject[theDivID] = theDivContents;
	}
	return theObject;
}
String.prototype.objectFromDivString = objectFromDivString;


function getDateStamp()
{
	var rn = new Date();
	var dstamp = rn.getFullYear();
	if (rn.getUTCMonth()+1 < 10){ dstamp = dstamp + "0"; }
	dstamp = dstamp+eval(rn.getUTCMonth()+1);
	if (rn.getDate() < 10){ dstamp = dstamp + "0"; }
	dstamp = dstamp+rn.getDate();
	if (rn.getHours() < 10){ dstamp = dstamp + "0"; }
	dstamp = dstamp+rn.getHours();
	if (rn.getMinutes() < 10){ dstamp = dstamp + "0"; }
	dstamp = dstamp+rn.getMinutes();
	if (rn.getSeconds() < 10){ dstamp = dstamp + "0"; }
	dstamp = dstamp+rn.getSeconds();
	
	return dstamp;
}

function urlargs()
{
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split('&');

	for (var i=0;i < pairs.length;i++){
		var pos = pairs[i].indexOf('=');
		if (pos == -1){
			continue;
		}
		var argname = pairs[i].substring(0,pos);
		var argval = pairs[i].substring(pos+1);
		argval = decodeURIComponent(argval);
		args[argname]=argval;
	}
	return args;
}

function querylanguage()
{
	var args = urlargs();
	if (args['language']){
		return args['language'];
	}
	return undefined;
}

