/*

Strip whitespace from the beginning and end of a string

Input : a string

*/

function trim(str)

{

	return str.replace(/^\s+|\s+$/g,'');

}



function fn_OnlyAlpaNumeric(id){  

	var val = document.getElementById(id).value;

	//document.getElementById(id).value = val.replace(/[^a-z0-9A-Z]+/g,"");

	document.getElementById(id).value = val.replace(/[^0-9a-zA-Z_ ]+/g,"");

}	



function fn_OnlyNumeric(id){

	var val = document.getElementById(id).value;

	//document.getElementById(id).value = val.replace(/[^a-z0-9A-Z]+/g,"");

	document.getElementById(id).value = val.replace(/[^0-9]+/g,"");

}



/*

Make sure that textBox only contain number

*/

function checkNumber(textBox)

{

	while (textBox.value.length > 0 && isNaN(textBox.value)) {

		textBox.value = textBox.value.substring(0, textBox.value.length - 1)

	}

	

	textBox.value = trim(textBox.value);

/*	if (textBox.value.length == 0) {

		textBox.value = 0;		

	} else {

		textBox.value = parseInt(textBox.value);

	}*/

}



/*

	Check if a form element is empty.

	If it is display an alert box and focus

	on the element

*/

function isEmpty(formElement, message) {

	formElement.value = trim(formElement.value);

	

	_isEmpty = false;

	if (formElement.value == '') {

		_isEmpty = true;

		alert(message);

		formElement.focus();

	}

	

	return _isEmpty;

}



/*

	Set one value in combo box as the selected value

*/

function setSelect(listElement, listValue)

{

	for (i=0; i < listElement.options.length; i++) {

		if (listElement.options[i].value == listValue)	{

			listElement.selectedIndex = i;

		}

	}	

}



function fn_popImage(img){

	foto1= new Image();

	foto1.src=(img);

	fn_Controlla(img);

	return false;

}



function fn_Controlla(img){

	if((foto1.width!=0)&&(foto1.height!=0)){

		fn_viewFoto(img);

	}

	else{

		funzione="fn_Controlla('"+img+"')";

		intervallo=setTimeout(funzione,20);

	}

}



function fn_viewFoto(img){

	largh=foto1.width+20;

	altez=foto1.height+20;

	stringa="width="+largh+",height="+altez;

	finestra=window.open(img,"",stringa);

}



//fade effects - start

var TimeToFade = 1000.0;

function fade(eid){

	var element = document.getElementById(eid);

	if(element == null)

	return;

	

	if(element.FadeState == null){

		if(element.style.opacity == null || element.style.opacity == '' || element.style.opacity == '1')

		{

			element.FadeState = -2;

		}else{

			element.FadeState = 2;

		}

	}

	

	if(element.FadeState == 1 || element.FadeState == -1){

		element.FadeState = element.FadeState == 1 ? -1 : 1;

		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;

	}else{

		element.FadeState = element.FadeState == 2 ? -1 : 1;

		element.FadeTimeLeft = TimeToFade;

		setTimeout("animateFade(" + new Date().getTime()+ ",'" + eid + "')", 11);

	}

}



function animateFade(lastTick, eid){

	var curTick = new Date().getTime();

	var elapsedTicks = curTick - lastTick;



	var element = document.getElementById(eid);



	if(element.FadeTimeLeft <= elapsedTicks){

		element.style.opacity = element.FadeState == 1 ? '1' : '0';

		element.style.filter = 'alpha(opacity = '+ (element.FadeState == 1 ? '100' : '0') + ')';

		element.FadeState = element.FadeState == 1 ? 2 : -2;

		return;

	}



	element.FadeTimeLeft -= elapsedTicks;

	var newOpVal = element.FadeTimeLeft/TimeToFade;

	if(element.FadeState == 1)

	newOpVal = 1 - newOpVal;



	element.style.opacity = newOpVal;

	element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';



	setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);

}

//fade effects - end



/*

//menu start



var menuids=["suckertree1"] //Enter id(s) of SuckerTree UL menus, separated by commas



function buildsubmenus(){

for (var i=0; i<menuids.length; i++){

  var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")

    for (var t=0; t<ultags.length; t++){

    ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle"

		if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu

			ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item

		else //else if this is a sub level submenu (ul)

		  ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it

    ultags[t].parentNode.onmouseover=function(){

    this.getElementsByTagName("ul")[0].style.display="block"

    }

    ultags[t].parentNode.onmouseout=function(){

    this.getElementsByTagName("ul")[0].style.display="none"

    }

    }

		for (var t=ultags.length-1; t>-1; t--){ //loop through all sub menus again, and use "display:none" to hide menus (to prevent possible page scrollbars

		ultags[t].style.visibility="visible"

		ultags[t].style.display="none"

		}

  }

}



if (window.addEventListener)

window.addEventListener("load", buildsubmenus, false)

else if (window.attachEvent)

window.attachEvent("onload", buildsubmenus)

//menu end

*/









//fade effect - start

function appendElement(node,tag,id,htm){

	var ne = document.createElement(tag);

	if(id) ne.id = id;

	if(htm) ne.innerHTML = htm;

	node.appendChild(ne);

}



function addEvent(obj ,evt, fnc){

	if (obj.addEventListener)

	  obj.addEventListener(evt,fnc,false);

	else if (obj.attachEvent)

	  obj.attachEvent('on'+evt,fnc);

	else

	  return false;

	return true;

}



function removeEvent(obj ,evt, fnc){

	if (obj.removeEventListener)

	  obj.removeEventListener(evt,fnc,false);

	else if (obj.detachEvent)

	  obj.detachEvent('on'+evt,fnc);

	else

	  return false;

	return true;

}



function greyout(d,z){

	var obj = document.getElementById('greyout');



	if(!obj){

		appendElement(document.body,'div','greyout');

		obj = document.getElementById('greyout');

		obj.style.position = 'absolute';

		obj.style.top = '0px';

		obj.style.left = '0px';

		obj.style.background = '#111';

		obj.style.opacity = '.5';

		obj.style.filter = 'alpha(opacity=50)';

	}

	if(d){

		var ch = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;

		var cw = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;

		var sh = document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight;

		if(document.body.scrollHeight) sh = Math.max(sh,document.body.scrollHeight)

		var sw = document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth;

		if(document.body.scrollWidth) sh = Math.max(sh,document.body.scrollWidth)

		var wh = window.innerHeight ? window.innerHeight : document.body.offsetHeight;

		if(!z){ z = 50 }

		obj.style.zIndex = z;

		obj.style.height = Math.max(wh,Math.max(sh,ch))+'px';

		obj.style.width  = Math.max(sw,cw)+'px';

		obj.style.display = 'block';

		addEvent(window,'resize',greyoutResize);

	}else{

	  obj.style.display = 'none';  

	  removeEvent(window,'resize',greyoutResize);

	}

}



function greyoutResize(){

	var ch = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;

	var cw = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;

	var sh = document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight;

	if(document.body.scrollHeight) sh = Math.max(sh,document.body.scrollHeight)

	var sw = document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth;

	if(document.body.scrollWidth) sh = Math.max(sh,document.body.scrollWidth)

	var wh = window.innerHeight ? window.innerHeight : document.body.offsetHeight;

	var obj = document.getElementById('greyout');

	obj.style.height = ch+'px';

	obj.style.width  = cw+'px';

	obj.style.height = Math.max(wh,Math.max(sh,ch))+'px';

	obj.style.width  = Math.max(sw,cw)+'px';

}

//fade effect - end
