function Confirm(link,text)
{
	if (confirm(text))
	window.location=link
}


function uncheckAll(field)
{
	for(i = 0; i < field.elements.length; i++)
	field[i].checked = false ;
}

function checkAll(field)
{
	if (!eval(field[0].checked)) {
		for(i = 0; i < field.elements.length; i++)
		field[i].checked = true ;
	}
	else

	{
		for(i = 0; i < field.elements.length; i++)
		field[i].checked = false ;
	}
}

function keep_just_ids(multisel,hidden_input)
{
	var t1 = "";
	//alert(multisel.length);
	for(var i=0; i<multisel.length; i++)
	{
		if(multisel.options[i].value != "") t1 = t1 + multisel.options[i].value + ",";
		//alert(multisel.options[i].value);
	}
	//alert(t1);
	t1=t1.substring(0,t1.length-1);
	hidden_input.value = t1;

	return true;
}

function keepids(multisel,hidden_input)
{
	var t1 = "";
	//alert(multisel.length);
	for(var i=0; i<multisel.length; i++)
	{
		if(multisel.options[i].value != "") t1 = t1 + multisel.options[i].value + ",";
		//alert(multisel.options[i].value);
	}
	//alert(t1);
	t1=t1.substring(0,t1.length-1);
	hidden_input.value = t1;

}

function change_recom(m1,m2)
{
	m1len = m1.length;
	for ( i=0; i<m1len ; i++)
	{
		if (m1.options[i].selected == true )
		{
			m2len = m2.length;
			m2.options[m2len]= new Option(m1.options[i].text, m1.options[i].value);
		}
	}
	for ( i = (m1len -1); i>=0; i--)
	{
		if (m1.options[i].selected == true)
		{
			m1.options[i] = null;
		}
	}
}


function change_recoms(m1,m2,maxL,message)
{
	var curL = 0;

	m1len = m1.length;
	m2len = m2.length;

	for ( i=0; i<m1len ; i++)
	{
		if (m1.options[i].selected == true )
		{
			curL++;
		}
	}
	curL = curL + m2len;
	
	if(maxL != 0 && maxL < curL)
	{
		alert(message);
		return;
	}
		
	for ( i=0; i<m1len ; i++)
	{
		if (m1.options[i].selected == true )
		{
			m2len = m2.length;
			m2.options[m2len]= new Option(m1.options[i].text, m1.options[i].value);
			curL++;
		}
	}
	
	for ( i = (m1len -1); i>=0; i--)
	{
		if (m1.options[i].selected == true)
		{
			m1.options[i] = null;
		}
	}
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	var ck = name+"="+value+expires+"; path=/";
	if (days != -1)
	{
		//alert('Cookie\n' + ck + '\ncreated');
	}
	document.cookie = ck;
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i<ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function readInit()
{
	var x = readCookie('sMenu');
	var help = readCookie('sHelp');
	//alert(x);
	if(!x)
	{
		document.getElementById('tree').style.display = '';
		document.getElementById('sm').style.display = 'none';
		document.getElementById('hm').style.display = '';
		//alert ('empty');
	}
	else
	{
		if(x == 'y')
		{
			document.getElementById('tree').style.display = '';
			document.getElementById('sm').style.display = 'none';
			document.getElementById('hm').style.display = '';
		}
		else
		{
			document.getElementById('tree').style.display = 'none';
			document.getElementById('sm').style.display = '';
			document.getElementById('hm').style.display = 'none';
		}
	}

	if(!help)
	{
		document.getElementById('help').style.display = '';
		document.getElementById('up').style.display = 'none';
		document.getElementById('dw').style.display = '';
		//alert ('empty');
	}
	else
	{
		if(help == 'y')
		{
			document.getElementById('help').style.display = '';
			document.getElementById('up').style.display = 'none';
			document.getElementById('dw').style.display = '';
		}
		else
		{
			document.getElementById('help').style.display = 'none';
			document.getElementById('up').style.display = '';
			document.getElementById('dw').style.display = 'none';
		}
	}
	//createCookie('sMenu',"n",7);
}

function showMenu()
{
	document.getElementById('tree').style.display = '';
	document.getElementById('sm').style.display = 'none';
	document.getElementById('hm').style.display = '';
	createCookie('sMenu',"y",7);
}

function showHelp()
{
	document.getElementById('help').style.display = '';
	document.getElementById('up').style.display = 'none';
	document.getElementById('dw').style.display = '';
	createCookie('sHelp',"y",7);
}

function hideMenu()
{
	document.getElementById('tree').style.display = 'none';
	document.getElementById('hm').style.display = 'none';
	document.getElementById('sm').style.display = '';
	createCookie('sMenu',"n",7);
}

function hideHelp()
{
	document.getElementById('help').style.display = 'none';
	document.getElementById('dw').style.display = 'none';
	document.getElementById('up').style.display = '';
	createCookie('sHelp',"n",7);
}

function saddTr()
{
	document.getElementById('addnew').style.display = '';
	document.getElementById('hideadd').style.display = 'none';
	document.getElementById('showadd').style.display = '';
}

function sremoveTr()
{
	document.getElementById('addnew').style.display = 'none';
	document.getElementById('hideadd').style.display = '';
	document.getElementById('showadd').style.display = 'none';
}

function addTr()
{
	document.getElementById('addnew').style.visibility  = 'visible';
	document.getElementById('hideadd').style.display = 'none';
	document.getElementById('showadd').style.display = '';
}

function removeTr()
{
	document.getElementById('addnew').style.visibility  = 'hidden';
	document.getElementById('hideadd').style.display = '';
	document.getElementById('showadd').style.display = 'none';
}

var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
	if(pos=='random'){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=='center'){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!='center' && pos!='random') || pos==null){LeftPosition=0;TopPosition=20}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
	win=window.open(mypage,myname,settings);}


	function resizeField( pix, postfieldobj )
	{

		var box        = document.getElementById( postfieldobj );
		var cur_height = parseInt( box.style.height ) ? parseInt( box.style.height ) : 100;
		var new_height = cur_height + pix;

		if ( new_height > 0 )
		{
			box.style.height = new_height + "px";
		}

		return false;
	}


/* mapower issue
	var tipwidth='180px' //default tooltip width
	var tipbgcolor='#eeeeee'  //tooltip bgcolor
	var disappeardelay=500  //tooltip disappear speed onMouseout (in miliseconds)
	var vertical_offset="0px" //horizontal offset of tooltip from anchor link
	var horizontal_offset="-3px" //horizontal offset of tooltip from anchor link

	/////No further editting needed

	var ie4=document.all
	var ns6=document.getElementById&&!document.all
	if (ie4||ns6)
	document.write('<div id="fixedtipdiv" style="visibility:hidden;width:'+tipwidth+';background-color:'+tipbgcolor+';" onmouseover="clearhidetip()" onmouseout="delayhidetip()"></div>')
*/	

	function getposOffset(what, offsettype){
		var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
		var parentEl=what.offsetParent;
		while (parentEl!=null){
			totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
			parentEl=parentEl.offsetParent;
		}
		return totaloffset;
	}


	function showhide(obj, e, visible, hidden, tipwidth){
		if (ie4||ns6)
		dropmenuobj.style.left=dropmenuobj.style.top=-500
		if (tipwidth!=""){
			dropmenuobj.widthobj=dropmenuobj.style
			dropmenuobj.widthobj.width=tipwidth
		}
		if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility=visible
		else if (e.type=="click")
		obj.visibility=hidden
	}

	function iecompattest(){
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

	function clearbrowseredge(obj, whichedge){
		var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
		if (whichedge=="rightedge"){
			var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
			dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
			if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
		}
		else{
			var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
			dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
			if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
		}
		return edgeoffset
	}

	function fixedtooltip(menucontents, obj, e, tipwidth)
	{
		if(typeof menucontents == 'undefined')
		{
			menucontents = '<div class="loader" align="center" onmouseover="clearhidetip()" ><img src="/images/loader.gif" /></div>';
		}

		
		if (window.event) event.cancelBubble=true
		else if (e.stopPropagation) e.stopPropagation()
		clearhidetip()
		dropmenuobj=document.getElementById? document.getElementById("fixedtipdiv") : fixedtipdiv
		dropmenuobj.innerHTML=menucontents

		if (ie4||ns6){
			showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth)
			dropmenuobj.x=getposOffset(obj, "left")
			dropmenuobj.y=getposOffset(obj, "top")
			dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
			dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
			
		}
	}

	function hidetip(e){
		if (typeof dropmenuobj!="undefined"){
			if (ie4||ns6)
			dropmenuobj.style.visibility="hidden"
		}
	}

	function delayhidetip(){
		if (ie4||ns6)
		delayhide=setTimeout("hidetip()",disappeardelay)
		
	}

	function delayhidetips(s){
		if (ie4||ns6)
		delayhide=setTimeout("hidetip()",s)
	}
	function clearhidetip(){
		if (typeof delayhide!="undefined")
		{
			clearTimeout(delayhide)
			delete delayhide;
		}
	}

	
	var resultData;
	function handleHttpResponse()
	{
		//alert(http.readyState);
		//alert(http.responseText)
		if (http.readyState == 4)
		{
			//result = http.responseText;	
			if(document.getElementById(resultData))
			{
			     // alert(http.responseText)
			     document.getElementById(resultData).innerHTML = http.responseText;
			}
		}
		else
		{
		    if(document.getElementById(resultData))
			{
			     document.getElementById(resultData).innerHTML = '<img src="/images/indicator_white.gif" align="absmiddle" /> Loading...';
			}		
	    }
	}

	function getData(action, str, containter)
	{
		//alert(action + '-' + str + '-' + containter);
		resultData = containter;

		var url = "/world.php?action=" + action + "&q=" + str;
		//alert(url);
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;

		http.send(null);
	}

	function getHTTPObject()
	{
		var xmlhttp;
		/*@cc_on
		@if (@_jscript_version >= 5)
		try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
		xmlhttp = false;
		}
		}
		@else
		xmlhttp = false;
		@end @*/
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
			try {
				xmlhttp = new XMLHttpRequest();
			} catch (e) {
				xmlhttp = false;
			}
		}
		return xmlhttp;
	}
	var http = getHTTPObject(); // We create the HTTP Object


	function contentHelp(dataCell, nameCell)
	{
		var insertData;	
		insertData = getData(nameCell, dataCell, 'help');
	}
	
	function checkJob(action, str, containter)
	{
		//alert(action + '-' + str + '-' + containter);
		resultData = containter;

		var url = "/world.php?action=" + action + "&q=" + str;
		//alert(url);
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;

		http.send(null);
	}
		
	function content(dataCell, nameCell)
	{
		var insertData;	
		
		var srcImage = eval("document." + "btn" + dataCell + ".src");
		//alert(srcImage);
		 
		myRE = new RegExp('btnPlus.gif', "i");
		results = srcImage.match(myRE);
		//alert(results);
		
		
		if(results != null)
		{
			document.getElementById("id" + dataCell).innerHTML = '<img src="images/btnMinus.gif" style="margin:2px;border:0px;" width="13" height="13" name="btn' + dataCell + '" />';
			//alert(nameCell);
			insertData = getData(nameCell, dataCell, 'btn' + dataCell);

		}
		else
		{
			document.getElementById("id" + dataCell).innerHTML = '<img src="images/btnPlus.gif" style="margin:2px;border:0px;" width="13" height="13" name="btn' + dataCell + '" />';
			document.getElementById("btn" + dataCell).innerHTML = '&nbsp;';
		}
	}

	function menuContent(nameCell, dataCell, selectedVal)
	{
		var insertData;	
		insertData = getData(nameCell, dataCell, dataCell);
		//alert(insertData);
		if(dataCell != null)
		{
			if(document.getElementById(nameCell) != null)
			{
				document.getElementById(nameCell).innerHTML = '<img src="/images/menu/'+ nameCell +'_off.gif" class="menu_image" /><br />';
				
				for(i = 0; i < m.length; i++)
				{
					if(m[i] != nameCell)
					{
						document.getElementById(m[i]).innerHTML = '<a href="#" onclick="menuContent(\''+ m[i] +'\',\'gentab\', \''+ nameCell +'\')"><img src="/images/menu/'+ m[i] +'_on.gif" class="menu_image" /><a/><br />';
					}
				}
			}
		}
	}

	
	function menuContentSpecial(nameCell, dataCell, selectedVal, condition)
	{
		var insertData;	
		insertData = getData(nameCell, dataCell+condition, dataCell);
		if(dataCell != null)
		{
			document.getElementById(nameCell).innerHTML = '<img src="/images/menu/'+ nameCell +'_off.gif" class="menu_image" /><br />';
			
			for(i = 0; i < m.length; i++)
			{
				if(m[i] != nameCell)
				{
					document.getElementById(m[i]).innerHTML = '<a href="#" onclick="menuContent(\''+ m[i] +'\',\'gentab\', \''+ nameCell +'\')"><img src="/images/menu/'+ m[i] +'_on.gif" class="menu_image" /><a/><br />';
				}
			}
		}
		
	}	
	
	function load(act)
	{
		
		document.getElementById('loader').style.visibility = 'visible';
		document.getElementById('unload').style.display = 'none';
		
		switch(act)
		{
			case 'regenerate':
			document.getElementById('image').src = "get_results.php?action=" + act + "&beg_date=" + document.getElementById('beg_date').value + "&end_date=" + document.getElementById('end_date').value;
			break;
	
			case 'open':
			document.getElementById('image').src = "get_results.php?action=" + act + "&pers_id=" + document.getElementById('pers_id').value + "&rnd=" + document.getElementById('rnd').value;
			break;
			
			default:
			document.getElementById('image').src = "get_results.php?action=" + act;
			
			break;
		}
	
		document.getElementById('image').onload = function(){ document.getElementById('loader').style.visibility = 'hidden'; }

	}	
	
var Application =  {
  lastId: 0,
  currentSampleNb: 0,

  getNewId: function() {
    Application.lastId++;
    return "window_id_" + Application.lastId;
  }
}

function getEl(ev)
{
	origEl = ev.target || ev.srcElement;
	alert(origEl.tagName.value);
}


var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

