// Avaa pop-up ikkunan
function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}

// Varmistuskysymys -> poista komennot
function GP_popupConfirmMsg(msg) {
  document.MM_returnValue = confirm(msg);
}

function ConfirmAndGoTo(msg, url) {
	if(confirm(msg)) document.location=url;
}

// Varmistuskysymys -> poista komennot
function confirmAction(msg) {
  document.MM_returnValue = confirm(msg);
}

// Etsitään objekti
function MM_findObj(n, d) {
  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;
}

// Tarkastetaan lomake // sais vähän Macromedialla miettiä, miten tehdään luettavia funktioita prkl!
function MM_validateForm() {
  var i,p,q,nm,ok,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { 
  	test=args[i+2]; 
    val=MM_findObj(args[i]);
    if (val) { 
	  if (test.charAt(0) == 'M') {
		// multiple choice checkboxien tarkistus (onko edes yksi valittuna)
		if (isNaN(val.length)) ok = val.status; // Jos checkboxeja onkin vain yksi kpl
		else { // Normaalisti...
			for (var j=0; j<val.length; j++) if(val[j].status) ok=true;
		}
		if (!ok) {
			if (args[i+1] != "")
				errors += "- "+ args[i+1] +"\n";
			else
				errors += "- Ainakin yksi uutisluokka täytyy olla valittuna\n";
		}
	  } else {
	    nm=val.id; 
	    if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) { 
	        p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+'\n  (sähköpostiosoite muodossa esim. matti.meikalainen@osoite.fi)\n';
          } else if (test!='R'&&test!='M') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+':n pit&auml;&auml; olla numero.\n';
            if (test.indexOf('inRange') != -1) { 
		      p=test.indexOf(':');
              min=test.substring(8,p); max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
            }
	      }
	    } else if (test.charAt(0) == 'R') {
	      errors += '- '+nm+'\n'; 
		}
  	  }
	}
  } 
  if (errors) alert('HUOM!\n\nSeuraavat kentät ovat pakollisia:\n\n'+errors);
  document.MM_returnValue = (errors == '');
}

// Ladataan kuvat ensin
function preloadImages() {
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=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];}}
}

// Roll-over swap image
function swapImage() {
	var i,j=0,x,a=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];}
}

// Roll-over swap image restore
function swapImgRestore() {
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

// Raportointi
function pageReport(formi, action, file) {
  window.open('','report_win','width=750,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes')
  formi.action = file
  formi.target = "report_win"
  formi.submit()
  formi.action = action
  formi.target = "_top"
}

// Jump-menu
function jumpMenu(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// Jump-menu nappula -> 
function jumpMenuGo(selName,targ,restore){
  var selObj = findObject(selName); if (selObj) jumpMenu(targ,selObj,restore);
}