var radioPlayerWindow="undefined";
var videoPlayerWindow="undefined";

/**
 * Download counter
 */
function dc(sender) {
  if (sender.href) {
    var img=new Image;
    img.src="/scripts/downloadcounter.php?doc="+sender.href;
  }
}

function videoPlayer(url,title) {
  videoPlayerWindow=window.open("/videoplayer.php?fragment="+url+"&title="+title,'popup_videoplayer','width=600,height=520,scrollbars=no,status=no,menubar=no,location=no,resizable=yes,titlebar=no');
  videoPlayerWindow.focus();
}

function audioPlayer(url,title) {
  radioPlayerWindow=window.open("/audioplayer.php?fragment="+url+"&title="+title,'popup_audioplayer','width=280,height=70,scrollbars=no,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  radioPlayerWindow.focus();
}

//nieuwsbrief aanmelden
function aanmelden() {
  var f=document.forms.aanmeld_form;
  if (validateForm(f)) {
    f.submit();
  }  
}

//nieuwsbrief afmelden
function afmelden() {
  var f=document.forms.afmeld_form;
  if (validateForm(f)) {
    f.submit();
  }  
}

/* Javascript functies voor STOP AIDS NOW! */
function R() { //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_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_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 S() { //v3.0
  var i,j=0,x,a=S.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 MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

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_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 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 showDiv(divid) {
 if (document.layers) document.layers[divid].display='block';
 else document.getElementById(divid).style.display='block';
}

function hideDiv(divid) {
 if (document.layers) document.layers[divid].display='none';
 else document.getElementById(divid).style.display='none';
}

function search() {
  document.forms["search_form"].submit();
}

/* Functies voor popups */
function fotoalbum(aurl) {
  var w=window.open(aurl,'fotoalbum','left=0,top=0,width=678,height=530,scrollbars=yes,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  w.focus();
}

function doneer() {
  var aurl='/donatieformulier';
  var w=window.open(aurl,'doneer_window','width=656,height=420,scrollbars=no,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  w.focus();
}

function fiscaaltool() {
  var aurl='/fiscaaltool.html';
  var w=window.open(aurl,'fiscaaltool','left=20,top=20,width=400,height=600,toolbar=0,location=0,scrollbars=0,status=0,resizable=0');
  w.focus();
}

function radioPlayer(ver) {
  if (radioPlayer.arguments[0]) {
    ver=radioPlayer.arguments[0];
  } else {
    ver="";
  }

  if (radioPlayerWindow=="undefined") {
    radioPlayerWindow=window.open("/radio"+ver,'stopaidsnow_radio','left=0,top=0,width=244,height=330,scrollbars=no,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  }

  radioPlayerWindow.focus();
}

function videoPlayer(ver) {
  if (videoPlayer.arguments[0]) {
    ver=videoPlayer.arguments[0];
  } else {
    ver="";
  }
  videoPlayerWindow=window.open("/videoplaylist"+ver,'stopaidsnow_video','width=420,height=400,scrollbars=no,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  videoPlayerWindow.focus();
}

function playVideo(video,ver) {
  var url="/videoplayer"+ver+"?f="+video+"&v=adsl";
  videoPlayerWindow=window.open(url,'stopaidsnow_video','width=420,height=400,scrollbars=no,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  videoPlayerWindow.focus();
}

function fotoalbum(aurl) {
  var w=window.open(aurl,'fotoalbum','left=0,top=0,width=698,height=555,scrollbars=yes,status=no,menubar=no,location=no,resizable=no,titlebar=no');
  w.focus();
}

function setCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function readCookie(cookieName) {
  var theCookie=""+document.cookie;
  var ind=theCookie.indexOf(cookieName);

  if (ind==-1 || cookieName=="") return "";
  var ind1=theCookie.indexOf(';',ind);
  if (ind1==-1) ind1=theCookie.length;
  return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}


function preloadImages() {
  // void function: preload the following images
  MM_preloadImages('/images/aidsindewereld_tab1_n.gif','/images/aidsindewereld_tab2_n.gif','/images/aidsindewereld_tab1_h.gif','/images/aidsindewereld_tab2_h.gif');
  MM_preloadImages('/images/projecten_tab1_n.gif','/images/projecten_tab2_n.gif','/images/projecten_tab3_n.gif','/images/projecten_tab1_h.gif','/images/projecten_tab2_h.gif','/images/projecten_tab3_h.gif');
  MM_preloadImages('/images/nieuws_tab1_h.gif','/images/nieuws_tab2_h.gif','/images/nieuws_tab3_h.gif','/images/nieuws_tab1_n.gif','/images/nieuws_tab2_n.gif','/images/nieuws_tab3_n.gif');
  MM_preloadImages('/images/index_tab1_h.gif','/images/index_tab2_h.gif','/images/index_tab3_h.gif','/images/index_tab4_h.gif');
}


function openKaart() {
  window.open('/worldmap.html','wereldkaart','left=20,top=20,width=700,height=530,toolbar=0,location=0,scrollbars=0,status=0,resizable=0');
}

/* Functies voor printerversie */
function getPrinterContent() {
  return document.getElementById("content_span_printerversie").innerHTML;
}

function getPrinterTitel() {
  return document.getElementById("titel_span_printerversie").innerHTML;
}

function printerWindow() {
  var w=window.open('/print.html','printer_window','');
  w.focus();
}


/**
 * Functies voor formulieren
 */
function submitForm(formname) {
  var f=document.forms[formname];
   if (validateForm(f)) {
    f.submit();
  }
}

function validateForm(aform) {
  var s="";

  //check if form has validator arr
  if (aform.validatorArr)  {
    //Iterate over Form elements
    for (var i=0;i<aform.validatorArr.length;i++)  {
      eval("var anelem=document.forms."+aform.name+"."+aform.validatorArr[i][1]);
      var pattern=getPatternByName(aform.validatorArr[i][2]);

      if (aform.validatorArr[i][4]=="radio") {
        var fv="";

        eval("var chkArray=aform."+aform.validatorArr[i][1]+";");

        for (j=0;j<chkArray.length;j++)  {
          if (chkArray[j].checked) {
            fv=chkArray[j].value;
          }
        }

        if (validateValue(fv,pattern)==false)  {
          s+=aform.validatorArr[i][3]+"\n";
        }

      } else {
        if (validateField(anelem,pattern)==false)  {
          s+=aform.validatorArr[i][3]+"\n";
        }
      }
    }

    //Report errors
    if (s!="") {
      alert(s);
      return false;
    }

  }

  return true;
}

//Pass a form element (not just the name) and a regular expression pattern
function validateField(formElem,pattern) {
  var re = new RegExp(pattern);
  var fv = formElem.value;

  return re.test(fv);
}

//Pass a value and a regular expression pattern
function validateValue(fv,pattern) {
  var re = new RegExp(pattern);
  return re.test(fv);
}

function getPatternByName(patternName) {
  switch (patternName) {
    case "empty_or_email":
      return "^$|^[0-9a-zA-Z][-_0-9a-zA-Z.]*@[-_0-9a-zA-Z.]+[.][a-zA-Z]+$";
      break;
    case "empty_or_url":
      return "^$|^http://.{2,}";
      break;
    case "empty_or_time":
      return "^$|^00:00$|^[012][0-9]:[0-9][0-9]$";
      break;
    case "empty_or_date":
      return "^$|^0000-00-00$|^[12][0-9]{3}[-][01]?[0-9]-[0-3]?[0-9]$";
      break;
    case "empty_or_number":
      return "^$|^[0-9]+$";
      break;
    case "notempty":
      return "^.";
      break;
    case "email":
      return "^[0-9a-zA-Z][-_0-9a-zA-Z.]*@[-_0-9a-zA-Z.]+[.][a-zA-Z]+$";
      break;
    case "pagename":
      return "^[_a-z0-9]{1,50}$";
      break;
    case "username":
      return "^[_a-z0-9]{1,50}$";
      break;
    case "pass":
      return "^[a-zA-Z0-9 ]{3,20}$";
      break;
     //dd-mm-yyyy
     case "nldate":
      return "^[0-3]?[0-9][-][01]?[0-9][-][12][0-9]{3}$";
      break;
     //yyyy-mm-dd
     case "date":
      return "^[12][0-9]{3}[-][01]?[0-9]-[0-3]?[0-9]$";
      break;
    case "integer":
      return "^[-]?[0-9]+$";
      break;
    case "posinteger":
      return "^[0-9]+$";
      break;
    case "float":
      return "^[+-]?[0-9]+([.][0-9]+)?$";
      break;
    case "nlfloat":
      return "^[+-]?[0-9]+([,][0-9]+)?$";
      break;
    case "url":
      return "^http://.{2,}";
      break;
    default:
       alert("Unknown validator added to a form element: '" + patternName+"'");
  }
}

//addValidator("mainform","naam","notempty","Uw naam mag niet leeg zijn.");
function addValidator(aformname,aformelement,avalidator,anerrormsg) {
  eval("var anelem=document.forms."+aformname+"."+aformelement);

  //Radiogroup or a single element
  if (anelem[0]) {
    atype=anelem[0].type;
  } else {
    atype=anelem.type;
  }

  //check if validatorArr has been added to the form
  if (!document.forms[aformname].validatorArr) {
    document.forms[aformname].validatorArr= new Array();
  }

  //add new array to a new last position in the array
  document.forms[aformname].validatorArr[document.forms[aformname].validatorArr.length]=new Array(aformname,aformelement,avalidator,anerrormsg,atype);
}

function initSelect(formname,obj,v) {
  eval("var rd=document.forms['"+formname+"']."+obj);
  if (rd==null)  {
    alert("Error: " + obj + " does not exist on form "+formname+".");
  }
  if (rd.length>1) {
    for (var i=0; i<rd.length; i++)  {
      if (rd[i].value==v)  {
        rd[i].selected=true;
        break;
      }
    }
  } else {
    //exception for single item
    if (rd.value==v) {
      rd.selected=true;
    }
  }
}

function initForm(formname,formvalues) {
  //parse the formdata field
  var formentries=String(formvalues).split("&");

  for (var i=0;i<formentries.length;i++) {
    var formentry=String(formentries[i]).split("=");

    if ((formentry[0]!=null)&&(formentry[0]!=""))  {
      eval("var comp=document."+formname+"."+formentry[0]);
      if ((comp!=null)&&(formentry[1]!=null))  {
        if ((comp.type=="text")||(comp.type=="textarea"))  {
          comp.value=unescape(formentry[1]);
        } else if (comp.type=="checkbox")  {
          if (comp.value==formentry[1])  {
            comp.checked=true;
          }
        } else if (comp[0].type=="radio")  {
          initRadio(formname,formentry[0],formentry[1]);
        } else if (comp.type=="select-one")  {
          initSelect(formname,formentry[0],formentry[1]);
        }
      }
    }
  }
}

function initRadio(formname,obj,v) {
  eval("var rd=document.forms['"+formname+"']."+obj);

  if (rd==null)  {
    alert("Error: " + obj + " does not exist on form "+formname+".");
  }

  if (rd.length>1) {
    for (var i=0; i<rd.length; i++)  {
      if (rd[i].value==v)  {
        rd[i].checked=true;
        break;
      }
    }
  } else {
    //exception for single radiobutton
    if (rd.value==v) {
      rd.checked=true;
    }
  }
}

function initSelect(formname,obj,v) {
  eval("var rd=document.forms['"+formname+"']."+obj);
  if (rd==null) {
    alert("Error: " + obj + " does not exist on form "+formname+".");
  }
  if (rd.length>1) {
    for (var i=0; i<rd.length; i++) {
      if (rd[i].value==v) {
        rd[i].selected=true;
        break;
      }
    }
  } else {
    //exception for single radiobutton
    if (rd.value==v) {
      rd.selected=true;
    }
  }
}

function unsetRadio(aradioName) {
  //f=document.forms[0];
  //r=f[aradioName];
  r=MM_findObj(aradioName);
  if (!r.value) {
    for (i=0;i<r.length;i++) {
      r[i].checked=false;
    }
  }
}

//Retrieves the selected values for aradioName, -1 if none selected
function getSelectedRadio(aradioName) {
  var chkArray = MM_findObj(aradioName);

  //exception for a single radiobutton
  if ((chkArray.value != null) && (chkArray.checked)) {
    return chkArray.value;
  }

  for (i=0;i<chkArray.length;i++) {
    if (chkArray[i].checked) {
      return chkArray[i].value;
    }
  }

  return -1;
}

function checkCommentForm(){
	var naam = document.forms.commentform.name;
	var email = document.forms.commentform.email;
	var tekst = document.forms.commentform.text;
	var controlenummer = document.forms.commentform.captcha_controlenummer;
	var errors = "";
	var re = new RegExp("^[-_a-zA-Z0-9 ]{3,20}$");
	var emre = new RegExp("^[0-9a-zA-Z][-_0-9a-zA-Z.]*@[-_0-9a-zA-Z.]+[.][a-zA-Z]+$"); 
	var spaties_re = new RegExp("^[ ]+$");
	
	
	if(!re.test(naam.value)){
		errors += "You have not entered a valid name. Allowed characters are: letters and numeric characters.\n";
	}
	if(!emre.test(email.value)){
		errors += "You have not entered a valid e-mailadres.\n";
	}
	if(spaties_re.test(tekst.value)){
		errors += "You have only entered spaces into the 'Comments' field.\n";
	}
	if(tekst.value==""){
		errors += "You have not entered a 'Comment'.\n";
	}
	if(controlenummer.value==""){
		errors += "You have not yet typed in the control string.\n";
	}
	if(errors != ""){alert(errors); return false;}
	return true;
	
}