// JavaScript Document


//simple item: show / hide

	function toggleit(myid) {
		myid.style.display = (myid.style.display == 'none')?'block':'none';
		return false;
	}
	

// Show hide fct for POLL section
        function unhide(divID) {
  var item = document.getElementById(divID);
  if (item) {
    item.className=(item.className=='hidden')?'unhidden':'hidden';
  }
}

//multiple items: show one / hide all 

var time = 3000;
var numofitems = 10;

//menu constructor
function menu(allitems,thisitem,startstate){ 
  callname= "gl"+thisitem;
  divname="subglobal"+thisitem;
  this.numberofmenuitems = 10;
  this.caller = document.getElementById(callname);
  this.thediv = document.getElementById(divname);
  this.thediv.style.visibility = startstate;
}

//menu methods
function ehandler(event,theobj){
  for (var i=1; i<= theobj.numberofmenuitems; i++){
    var shutdiv =eval( "menuitem"+i+".thediv");
    shutdiv.style.visibility="hidden";
  }
  theobj.thediv.style.visibility="visible";
}

//function closesubnav(event){
  //if ((event.clientY <10)||(event.clientY > 1000)){
    //for (var i=1; i<= numofitems; i++){
      //var shutdiv =eval('menuitem'+i+'.thediv');
      //shutdiv.style.visibility='hidden';
   // }
 // }
  
  //if ((event.clientX <50)||(event.clientX > 1000)){
    //for (var i=1; i<= numofitems; i++){
      //var shutdiv =eval('menuitem'+i+'.thediv');
     // shutdiv.style.visibility='hidden';
    //}
  //}
    
//}

 
	
//List Expander

this.listexpander = function(){
	
	// edit 
	
	var expandTo = 1; // level up to which you want your lists to be initially expanded. 1 is minimum
	var expandText = ""; // Expand All text for expand all button
	var collapseText = ""; // Collapse All text for collapse all button		
	var listClass = "expander" // class name that you want to assign to list(s). If you wish to change it make sure to update the css file as well  
	
	// end edit (do not edit below this line)
	
	this.start = function(){
		var ul = document.getElementsByTagName("ul");
		for (var i=0;i<ul.length;i++){
			if(ul[i].className == listClass){
				create(ul[i]);
				buttons(ul[i])
			};
		};
	};

	this.create = function(list) {	
		var items = list.getElementsByTagName("li");
		for(var i=0;i<items.length;i++){
			listItem(items[i]);
		};
	};	

	this.listItem = function(li){
		if(li.getElementsByTagName("ul").length > 0){
			var ul = li.getElementsByTagName("ul")[0];
			ul.style.display = (depth(ul) <= expandTo) ? "block" : "none";
			li.className = (depth(ul) <= expandTo) ? "expanded" : "collapsed";
			li.over = true;	
			ul.onmouseover = function(){li.over = false;} 
			ul.onmouseout = function(){li.over = true;} 
			li.onclick = function(){
				if(this.over){
					ul.style.display = (ul.style.display == "none") ? "block" : "none";
					this.className = (ul.style.display == "none") ? "collapsed" : "expanded";				
				};
			};
		};		
	};	
	
	this.buttons = function(list){
		var parent = list.parentNode;
		var p = document.createElement("p");
		p.className = listClass;
		var a = document.createElement("a");
		a.innerHTML = expandText;
		a.onclick = function(){expand(list)};
		p.appendChild(a);
		var a = document.createElement("a");
		a.innerHTML = collapseText;
		a.onclick = function(){collapse(list)};
		p.appendChild(a);
		parent.insertBefore(p,list);
	};
	
	this.expand = function(list){
		li = list.getElementsByTagName("li");
		for(var i=0;i<li.length;i++){
			if(li[i].getElementsByTagName("ul").length > 0){
				var ul = li[i].getElementsByTagName("ul")[0];
				ul.style.display = "block";
				li[i].className = "expanded";
			};
		};
	};
	
	this.collapse = function(list){
		li = list.getElementsByTagName("li");
		for(var i=0;i<li.length;i++){
			if(li[i].getElementsByTagName("ul").length > 0){
				var ul = li[i].getElementsByTagName("ul")[0];
				ul.style.display = "none";
				li[i].className = "collapsed";
			};
		};
	};
	
	this.depth = function(obj){
		var level = 1;
		while(obj.parentNode.className != listClass){
			if (obj.tagName == "UL") level++;
			obj = obj.parentNode;
		};
		return level;
	};	
	
	start();
	
};

window.onload = listexpander;

/////////////



function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
	
//-->

function open_link(strData){

arrData = strData.split(",", 2);

strLink = arrData[0];
strTarget = arrData[1];

b =	window.open(strLink, strTarget);

}

function switch_lang(sLang){

            var sPath = window.location.pathname;

            var sCurrLang = sPath.substring(sPath.lastIndexOf("_"));

 

            sPath = sPath.replace(sCurrLang, "_"+sLang+".html");

                        

            window.location = sPath;

}

/////////////////// SCRIPT for Ideas Receipt ///////////////////

// enables the detection of arrays
function fldType(obj)
{
	return (typeof(obj.type) == 'undefined')?((typeof(obj.length) != 'undefined')?'array':'undefined'):obj.type;
}

// simple string trim function

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

// trim form field values

function trimfields(myForm)
{
	for (i=0; i < myForm.elements.length; i++)
	{
		if (myForm.elements[i].type == "text" || myForm.elements[i].type == "textarea" ) {
			myForm.elements[i].value = trim(myForm.elements[i].value);
		}
	}
}

// validate the field value according to the mode selected
function validate(field,mode)
{
	var argv 			= validate.arguments;
	var argc			= argv.length;
	var curr_field_title = (field.title != '')?field.title:field.name;
	var rc = true;
	var str = '';
	var em_exp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.(([a-z]{2,3})|(aero|coop|info|museum|name))$/i;
	var dt_exp = /^[0-3]{0,1}[0-9]\/[0-1]{0,1}[0-9]\/[1-2][0-9]{3}$/;
	var in_exp = /^[1-9][0-9]{0,4}$/;
	var cu_exp = /^[1-9][0-9]{0,4}(\.[0-9]{1,2}){0,1}$/;
	var day;
	var month;
	var year;
	var date_array;
	var leap = 0;
	var in_new = /^[0-9][0-9]{0,4}$/;
	var param1 = -1;
	var param2 = -1;

	if (argc > 2) { param1 = parseInt(argv[2],10); }
	if (argc > 3) {	param2 = parseInt(argv[3],10); }

	switch(mode)
	{
	case "email":
		str = field.value;
		if (str != '')
		{
			if (!em_exp.test(str))
			{
				rc = false;
				alert(curr_field_title + ': \"' + field.value + '\"' + ' is not a valid email address!');
				field.value = '';
				field.focus();
			}
		}
		break;

	case "sdate":
		str = field.value;
		if (str != '')
		{
			if (dt_exp.test(str))
			{
				rc = true;
				date_array = field.value.split('/');
				day = parseInt(date_array[0],10);
				if ((day < 1 ) || (day > 31)) rc = false;
				month = parseInt(date_array[1],10);
				if ((month < 1) || (month > 12)) rc = false;
				year = parseInt(date_array[2],10);
				if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))) leap = 1;
				if ((month == 2) && (leap == 1) && (day > 29)) rc = false;
				if ((month == 2) && (leap != 1) && (day > 28)) rc = false;
				if ((day > 31) && ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))) rc = false;
				if ((day > 30) && ((month == 4) || (month == 6) || (month == 9) || (month == 11))) rc = false;
			}
			else
			{
				rc = false;
			}
			if (rc == false)
			{
				field.value = '';
				field.focus();
				alert(curr_field_title + ': \"' + str + '\"' + ' is not a valid date!');
			}
		}
		break;

	case "int":
		str = field.value;
		if (str != '')
		{
			if (!in_exp.test(str))
			{
				rc = false;
				alert(curr_field_title + ': \"' + field.value + '\"' + ' is not a valid number!\nPlease enter a numeric value (starting from 1).');
				field.value = '';
				field.focus();
			}
			else if ( (param1 > -1) && (parseInt(str,10) < param1))
			{
				rc = false;
				alert(curr_field_title + ': Please enter a numeric value >= ' + param1 + '.');
				field.value = '';
				field.focus();
			}
			else if ( (param2 > -1) && (parseInt(str,10) > param2))
			{
				rc = false;
				alert(curr_field_title + ': Please enter a numeric value <= ' + param2 + '.');
				field.value = '';
				field.focus();
			}
		}
		break;

	case "int_null":
		str = field.value;
		if (str != '')
		{
			if (!in_new.test(str))
			{
				rc = false;
				alert(curr_field_title + ': \"' + field.value + '\"' + ' is not a valid number.');
				field.value = '';
				field.focus();
			}
		}
		break;

	case "text":
		str = field.value;
		if ((param1 > -1) && (str.length > param1))
		{
			rc = false;
			alert(curr_field_title + ': The text you entered is too long (' + str.length + ' characters).\nPlease enter max. ' + param1 + ' characters.');
			field.focus();
		}
		break;

	case "curr":
		str = field.value;
		if (str != '')
		{
			if (!cu_exp.test(str))
			{
				rc = false;
				alert(curr_field_title + ': \"' + field.value + '\"' + ' Not a valid value!\nPlease use the format: xxxxx.xx');
				field.value = '';
				field.focus();
			}
		}
		break;
	}
	return(rc);
}

// wrapper for the validate() function
function field_val(myForm)
{
	var argv 			= field_val.arguments;
	var argc			= argv.length;
	var vrules			= myForm.FDB_FIELDS_VRULES.value.split(";");
	var tempobj_obj;

	for (i=0; i < vrules.length; i++)
	{
		var rc = true;
		var rule	= vrules[i].split(",");
		var param1 = -1;
		var param2 = -1;
		c_element	= rule[0];
		c_rule		= rule[1];

		if (rule.length > 2) { param1 = rule[2]; }
		if (rule.length > 3) { param2 = rule[3]; }


		if (c_rule == 'date')
		{
			if ((typeof(myForm.elements[c_element+'_day']) != 'undefined') &&
				(typeof(myForm.elements[c_element+'_month']) != 'undefined') &&
				(typeof(myForm.elements[c_element+'_year']) != 'undefined'))
			{
				var day = parseInt(myForm.elements[c_element+'_day'].value,10);
				var month = myForm.elements[c_element+'_month'].selectedIndex-1;
				var year = parseInt(myForm.elements[c_element+'_year'].value,10);

				if ((myForm.elements[c_element+'_day'].value != '') ||
					(myForm.elements[c_element+'_month'].selectedIndex != 0) ||
					(myForm.elements[c_element+'_year'].value != ''))
				{
					if ((day != 'NaN') && (month != 'NaN') && (year != 'NaN'))
					{
						var myDate = new Date(year,month,day);

						if ((day != myDate.getDate()) || (month != (myDate.getMonth())) || (year != myDate.getFullYear()))
						{
							rc = false;
							myForm.elements[c_element+'_day'].focus();
							alert('The date: \"' + myForm.elements[c_element+'_day'].value + '/' + myForm.elements[c_element+'_month'].selectedIndex + '/' + myForm.elements[c_element+'_year'].value + '\" is invalid!');
						}
					}
					else
					{
						rc = false;
						myForm.elements[c_element+'_day'].focus();
						alert('Invalid date. Please modify your input.');
					}
				}
			}
		}
		else if (c_rule == 'pwrd')
		{
			if(myForm.elements[c_element].value != myForm.elements['FDB_'+c_element].value)
			{
				rc = false;
				myForm.elements[c_element].value = '';
				myForm.elements['FDB_'+c_element].value = '';
				myForm.elements[c_element].focus();
				alert('Both passwords are different. Please try again.');
			}
		}
		else
		{
			if (typeof(myForm.elements[c_element]) != 'undefined')
			{
				if (param2 > -1)
				{
					rc = validate(myForm.elements[c_element],c_rule,param1,param2);
				}
				else if (param1 > -1)
				{
					rc = validate(myForm.elements[c_element],c_rule,param1);
				}
				else
				{
					rc = validate(myForm.elements[c_element],c_rule);
				}
			}
		}

		if (rc == false)
		{
			break;
		}
	}
	return rc;
}

function checkreq(myForm)
{
	var argv 			= checkreq.arguments;
	var argc			= argv.length;
	var i_int			= 0;
	var passed_bol		= true;
	var ftype_str		= '';
	var fvalue_str		= '';
	var tempobj_obj;
	var elements_arr;
	var selstart_int	= 0;
	var mselstart_int	= 0;
	var curr_field_title	= '';

	if (argc > 1)
	{
		selstart_int = argv[1];
	}

	if (argc > 2)
	{
		mselstart_int = argv[2];
	}

	trimfields(myForm);

	if (typeof(myForm.FDB_REQUIRED_FIELDS) != 'undefined')
	{
		elements_arr	= myForm.FDB_REQUIRED_FIELDS.value.split(";");

		for (i=0; i < elements_arr.length; i++)
		{
			tempobj_obj	= myForm.elements[elements_arr[i]];

			if (typeof(tempobj_obj) != 'undefined')
			{
				ftype_str	= tempobj_obj.type;
				fvalue_str	= tempobj_obj.value;

				if ((( ftype_str == "text" || ftype_str == "textarea" || ftype_str == "password" ) && fvalue_str.replace(/\s/g,'') == '' ) ||
						( ftype_str == "select-one" && tempobj_obj.selectedIndex < selstart_int ) ||
						( ftype_str == "select-multiple" && tempobj_obj.selectedIndex < mselstart_int ))
				{
					tempobj_obj.focus();
					curr_field_title = (tempobj_obj.title != '')?tempobj_obj.title:tempobj_obj.name;
					passed_bol=false;
					break;
				}

			}
		}
		if (!passed_bol)
		{
			alert('You did not fill in all the required fields.\nPlease fill in field: ' + curr_field_title + '.');
		}
		if (passed_bol && (typeof(myForm.FDB_FIELDS_VRULES) != 'undefined'))
		{
			passed_bol = field_val(myForm);
		}
	}
	else
	{
		passed_bol = false;
	}

	if(typeof(ctm_validation) == 'function')
	{
		passed_bol = (passed_bol && ctm_validation(myForm));
	}

	if((typeof(myForm.FDB_FACTION) != 'undefined') && passed_bol)
	{
		myForm.action = myForm.FDB_FACTION.value;
	}
	return passed_bol;
}

function ctm_validation(myForm) {
	return true;
}


function toUpper(username) {
		username.value = username.value.toUpperCase();
		}
		
	function alertCookie(theCookie) {
		if (theCookie.checked == true) {
			alert(' This option is not recommended on shared or public computers');
			}
	}
	
	function clearAll() {
	var _form = document.getElementById('formLogin') ;
	for (j=0;j<_form.elements.length;j++) {
			if (_form.elements[j].name != 'submit' && _form.elements[j].name != 'clear') {
				_form.elements[j].value = '' ;
			}
		}
	}

function  _CF_checkform1(_CF_this) {

	document.getElementById('submit').disabled = true;
	document.getElementById('clear').disabled = true;
	document.getElementById('submitProgress').className = 'sendForm' ;
	document.getElementById('submitProgress').innerHTML = '<p>&nbsp;&nbsp;&nbsp; Login in progress...</p>' ;
	document.getElementById('submitLoad').style.display = 'none' ; 
		
            //reset on submit
        _CF_error_exists = false;
        _CF_error_messages = new Array();
        _CF_error_fields = new Object();
        _CF_FirstErrorField = null;
		
	
		
        if( !_CF_hasValue(_CF_this['username'], "TEXT", true ) )
        {
            _CF_onError(_CF_this, "username", _CF_this['username'].value, "Please enter your username");
            _CF_error_exists = true;
        }
		
		
        if( !_CF_hasValue(_CF_this['pwd'], "PASSWORD", true ) )
        {
            _CF_onError(_CF_this, "pwd", _CF_this['pwd'].value, "Please enter your password");
            _CF_error_exists = true;
        }
		
        //display error messages and return success
        if( _CF_error_exists )
        {
            if( _CF_error_messages.length > 0 )
            {
                // show alert() message
                _CF_onErrorAlert(_CF_error_messages);
                // set focus to first form error, if the field supports js focus().
                if( _CF_this[_CF_FirstErrorField].type == "text" )
                { _CF_this[_CF_FirstErrorField].focus(); }

            }
			document.getElementById('submit').disabled = false;
			document.getElementById('clear').disabled = false;
			document.getElementById('submitProgress').className = 'noSend' ;
			document.getElementById('submitProgress').innerHTML = '' ;
			document.getElementById('submitLoad').style.display = 'block' ;
            return false;
        }else {
            return true;
        }
    }



