/**
 * @author Mauro Pirrone
 */
      function removeWhitespace(xml) 
      {
        var loopIndex;

        for (loopIndex = 0; loopIndex < xml.childNodes.length; 
          loopIndex++) {

          var currentNode = xml.childNodes[loopIndex];

          if (currentNode.nodeType == 1) {
            removeWhitespace(currentNode);
          }

          if (((/^\s+$/.test(currentNode.nodeValue))) &&   
            (currentNode.nodeType == 3)) {
              xml.removeChild(xml.childNodes[loopIndex--]);
          }
        }
      }

function nvl( value, newValue ) {
	return ( value == null || value == "" ) ? newValue : value; 
}

function trim(str) {
	while (str.substring(0,1) == ' ') {
		str = str.substring(1,str.length);
  	}
	while (str.substring(str.length-1,str.length) == ' ') {
		str = str.substring(0,str.length-1);
	}
  	return str;
}
function validEmail(str)

{
	
	// Check if it has valid characters
	var flag = true;
	
	var strValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.@";
	str = removeSpaces(str);
	if ( str.length < 6 ) {
		flag = false;
	}
	if ( flag ) {
		for ( var i=0; i<str.length; i++ ){
			if (strValidChars.indexOf(str.charAt(i)) == -1 ) {
				flag = false;
			}
		}
	}
	
	if ( flag ) {
	
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		if (str.indexOf(at)==-1) flag = false;
		else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) flag = false;
		else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) flag = false;
		else if (str.indexOf(at,(lat+1))!=-1) flag = false;
		else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) flag = false;
		else if (str.indexOf(dot,(lat+2))==-1) flag = false;
		else if (str.indexOf(" ")!=-1) flag = false;
		
	}

	return flag;
}
function isNumeric(str) {
	var strValidChars = "0123456789";
	var strChar;
	var flag = true;
	
	for (i = 0; i < str.length && flag == true; i++) {
   		strChar = str.charAt(i);
		if (strValidChars.indexOf(strChar) == -1 ) {
			flag = false;
		}
	}
	
	return flag;
}

function validPhoneNumber(str) {
	var flag = true;
	var strValidChars = "0123456789()+";
	str = removeSpaces(str);
	if ( str.length < 6 ) {
		flag = false;
	}
	if ( flag ) {
		for ( var i=0; i<str.length; i++ ){
			if (strValidChars.indexOf(str.charAt(i)) == -1 ) {
				flag = false;
			}
		}
	}
	return flag;
}

function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}

function leadingZeros( text, digits ) {
	var ret = "";
	for ( var i=0; i<digits-text.length; i++ ) {
		ret += "0";
	}
	ret += text;
	return ret;
}

function loading() {
	return '<img src="images/loading.gif" width="16" height="16" alt="Loading" />';
}

String.prototype.toTitleCase = function(){
     return this.toLowerCase().replace(/\w+/g,function(s){
          return s.charAt(0).toUpperCase() + s.substr(1);
     })
}

function roundNumber( myVar, myPrecision ) {
	myFactor =  Math.pow(10, myPrecision);
	return  Math.round(myVar * myFactor) / myFactor;
}
function menuSWF( flag ) {
	// Menu
	var menuObj = new SWFObject("flash/menu.swf", "swf_menu", "955", "99", "9", "#444444");
	menuObj.addParam("menu", false);
	menuObj.addVariable("animation",flag);
	menuObj.write("menu");
}