function valMandatory(aForm, aField, aDesc){
	control = aForm.elements[aField];
	sType = control.type;
	
	if ((sType=="text") || (sType=="password")){
		if (control.value==""){
			alert("You must fill in the " + aDesc);
			//control.focus();
			return false;
		}
	}
	if (sType=="select-one"){
		if (control.selectedIndex==0){
			alert("You must fill in the " + aDesc);
			//control.focus();
			return false;
		}
	}
	return true;
}

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];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){
   	document.MM_sr[j++]=x; 
	if(!x.oSrc) 
		x.oSrc=x.src; 
		x.src=a[i+2];
  }
}

function doPrint(win){
	if (win.print != null) { 
		win.print(); 
	} else { 
		alert('Unfortunately, your browser does not support this shortcut.  Please select Print from the File menu.');
	}
}
function OnDisabledKeyDown(){
	return false;
}
function doDisable(text){
	text.onkeydown = OnDisabledKeyDown;
}

function getCheckCount(form, name){
	result =0;
	for (i=0; i<form.length; i++)
		if ((form.elements[i].name==name) && (form.elements[i].checked))
			result ++;
	return result;
}

function hasCheck(form, name){
	for (i=0; i<form.length; i++)
		if ((form.elements[i].name==name) && (form.elements[i].checked))
			return true;
	return false;
}

function isValidEmail(emailEdit){
	if (emailEdit.value.indexOf("@") == -1)
		return false;
	return true;
}
function trimRZero(str){
	if (str.indexOf("0")==0)
		return trimRZero(str.substring(1));
	else
		return str;
}
function validateDate(control, separator, desc,mandatory){
	if (!mandatory && control.value.length==0)
		return true;
	str = control.value;
	day="a";
	month="a";
	yeah="a";
	sMsg = desc + " is invalid Date, the format should be in dd-mm-yyyy";
	i = str.indexOf(separator);
	if (i!= -1){
		day = str.substring(0, i);
		j = str.indexOf(separator, i+1);
		if (j!=-1){
			month = str.substring(i+1, j);
			k = str.length;
			if (k!=-1){
				year = str.substring(j+1,k);
			}
		}
	}
	if (isNaN(day) || isNaN(month) || isNaN(year)){
		alert(sMsg);
		control.select();
		return false;
	}
	day = trimRZero(day);
	month = trimRZero(month);
	year = trimRZero(year);
	
	/*alert(year);
	alert(month);
	alert(day);
	
	date = new Date();
	date.setYear(year);
	date.setMonth(month);
	date.setDate(day);
	
	alert(date.getYear());
	alert(date.getMonth());
	alert(date.getDate());
	
	if ( (date.getDate() != day) || (date.getMonth() != month) 
		|| (date.getYear() != year)){
		alert(sMsg);
		control.select();
		return false;
	}*/
	control.value = day + separator + month + separator + year;
	return true;
}

if (document.images){		
	company_active = new Image;                             
	company_active.src = "images/company_on.jpg";
	company_default = new Image;                            
	company_default.src = "images/company.jpg";

	product_active = new Image;                             
	product_active.src = "images/product_on.jpg";                     
	product_default = new Image;                            
	product_default.src = "images/product.jpg";
	
	research_active = new Image;
	research_active.src = "images/research_on.jpg";
	research_default = new Image;
	research_default.src = "images/research.jpg";
	
	partner_active = new Image;
	partner_active.src = "images/partner_on.jpg";
	partner_default = new Image;
	partner_default.src = "images/partner.jpg";
}

function onImage(imgName) {
	if (navigator.appName == "Netscape") {
		ActiveImage = eval(imgName + "_active.src");
		document[imgName].src = ActiveImage;		
	}else{
		if(document.readyState == "complete"){	
			ActiveImage = eval(imgName + "_active.src");
			document[imgName].src = ActiveImage;		
		}
	}	
}
	
function offImage(imgName) {	
	if (navigator.appName == "Netscape") {	
		DefaultImage = eval(imgName + "_default.src");		
		document[imgName].src =DefaultImage;
	}else{
		if(document.readyState == "complete"){	
			DefaultImage = eval(imgName + "_default.src");		
			document[imgName].src =DefaultImage;
		}			
	}	
}

function showPrivacyStatement(){
	var w = window.open("privacy.html", "privacy", "status,scrollbars,width=400,height=400");
	w.focus();
}
function getCenterLeft(width){
	leftVal = (screen.width - width) / 2;
	return leftVal;
}
function getCenterTop(height){
	topVal = (screen.height - height) / 2;
	return topVal;
}
function openCenterWin(url, name, width, height, etc){
	var left = getCenterLeft(width);
	var top = getCenterTop(height);
	var w = window.open(url, name, "width="+width+",height="+height + ",left=" + left + ",top="+top + ","  + etc);
	w.focus();
	return w;
}

function viewLarge(name){
	var width = 400;
	var height = 500;
	openCenterWin("view_large.php?code=" + name, "view_large", width, height, "status,scrollbars");
}
