//	Common Javascript - Copyright (C) 2003-2010 Charles A Upsdell, All Rights Reserved; www.upsdell.com


if ( typeof(Array.indexOf) !== 'function' )
{
	Array.prototype.indexOf = function ( value, i )
	{
	var rv = -1;
	if ( i === undefined )
		i = 0;
	for ( ; (i < this.length) && (this[i] != value); ++i )
		;
	if ( i < this.length )
		rv = i;
	return rv;
	} 
}

Array.prototype.random = function ()
{
if ( this.length > 0 )
	return this[ Math.floor( this.length * Math.random() ) ];
else
	return undefined;
} 


String.prototype.alert = function ( method, message, arglist )
{
var errmsg = this.valueOf();
errmsg += (method == '') ? '()' : ('.' + method + '()');
errmsg += ' error: ' + message;
if ( message.indexOf('%0') == -1 )
  {
	for ( var i = 2; i < arguments.length; ++i )
		errmsg += ((i == 2 ) ? ': ' : ', ' ) + arguments[i];
  }
else
  {
	errmsg = errmsg.blend( Array.prototype.slice.call( arguments, 2 ) );
  }
alert( errmsg );
}


String.prototype.blend = function ( arglist )
{
var rv = this.valueOf();
var n = 0;
for ( var i = 0; i < arguments.length; ++i )
  {
	if ( arguments[i] instanceof Array )
	  {
		for ( var j = 0; j < arguments[i].length; ++j )
		  {
			var regex = RegExp( '%{1}' + n + '((?=\\D)|$)', 'g' );
			rv = rv.replace( regex, arguments[i][j] );
			++n;
		  }
	  }
	else
	  {
		var regex = RegExp( '%{1}' + n + '((?=\\D)|$)', 'g' );
		rv = rv.replace( regex, arguments[i] );
		++n;
	  }
  }
return rv;
}


function getElement ( id )
{
var rv = null;
if ( (arguments.length == 0) || (id == "") )
	return rv;
else if ( document.getElementById )
	rv = document.getElementById( id );
else if ( document.all )
	rv = document.all[id];
return rv;
}


function isInRange ( a, b, c )
{
return (a <= b) && (b <= c);
}


function isMobileDevice ( width )
{
width = width || 480;
return (typeof(window.innerWidth) != 'undefined') && (window.innerWidth <= width);
}




