var preloadFlag = false;


function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
preloadFlag = true;
}

var newwin;
function launchwin(winurl,winname,winfeatures) {
	newwin = window.open(winurl,winname,winfeatures);
}

function validate_email(field,alerttxt) {
	with (field) {
		var apos=value.indexOf("@")
		var dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2) {
			alert(alerttxt);
			return false;
		}
		else {
			return true
		}
	}
}

function validate_phone_number(field,alerttxt) {
	with (field) {
		if (stripCharsNotInBag(value, '0123456789').length<8) {
			alert(alerttxt);
			return false;
		}
		else {
			return true
		}
	}
}

function return_radio_button(field) {
    var cnt = -1;
    for (var i=field.length-1; i > -1; i--) {
        if (field[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return field[cnt].value;
    else return false;
}

function validate_not_empty(field,alerttxt) {
	with (field) {
		if (value.length<=0) {
			alert(alerttxt);
			return false;
		}
		else {
			return true
		}
	}
}
function stripCharsNotInBag(s, bag) {
	var i;
	var returnString = "";

	// Search through string's characters one by one.
	// If character is in bag, append to returnString.

	for (i = 0; i < s.length; i++) {
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) != -1) returnString += c;
	}

	return returnString;
}

function isId(string) {
	var numericExpression = /^[0-9]+$/;
	if(string.match(numericExpression)) {
		return true;
	} else {
		return false;
	}
}

function getElementsByStyleClass (className) {
  var all = document.all ? document.all :
    document.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++)
    if (all[e].className == className)
      elements[elements.length] = all[e];
  return elements;
}

/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];

			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
