function openURL()
{ 
selInd = document.factuurJaar.fJaar.selectedIndex; 
goURL = document.factuurJaar.fJaar.options[selInd].value;
top.location.href = goURL; 
}
function openURL2()
{ 
selInd = document.cfactuurJaar.cfJaar.selectedIndex; 
goURL = document.cfactuurJaar.cfJaar.options[selInd].value;
top.location.href = goURL; 
}
var account = { };
var ild = null;
account.logmeOutEx = function()
{
	account.submitFunction("account=logmeOutEx",null,function(resp,res) { document.location.reload(); } );
	
}
account.logmeIn = function(frm,il)
{
	ild = il;
	var pars = Form.serialize(frm);

	account.submitFunction(pars+"&account=logmeIn",null,account.loginReply);
	
}
account.logmeOut = function()
{
	account.submitFunction("account=logmeOut");
}
account.opnieuwProberen = function()
{
	$(ild).hide();
}
account.loginReply = function(resp,re)
{
	if (resp.responseText=="FOUT")
	{
		$(ild).show();
	} else if (resp.responseText.substring(0,5) == "REDIR") {
		document.location.href = resp.responseText.substring(5).unescapeHTML();
	} else {
		alert(resp.responseText);
	}
}
account.saveNewform = function(frm)
{
	
	var pars = Form.serialize(frm);
	account.submitFunction(pars+"&account=nieuweKlant",null,account.saveNewReply);		
}

account.saveNewReply = function(resp,rep)
{

	if (resp.responseText.indexOf('<script') == 0)
	{
		resp.responseText.evalScripts();
		return;
	}
	account.clearErrors();
  var d = document.getElementById("myErrorDiv");
  if (d) {
      if (d.style.display != "none") {
          new Effect.SlideUp(d, {duration:0.2});
      }
  }
  $('aanmelding').hide();
  $('aanmeldingok').show();
  	
}
account.saveWachtwoord2 = function(resp,rep)
{
	if (resp.responseText.indexOf('<script') == 0)
	{
		resp.responseText.evalScripts();
		return;
	}
	account.clearErrors();
  var d = document.getElementById("myErrorDiv");
  if (d) {
      if (d.style.display != "none") {
          new Effect.SlideUp(d, {duration:0.2});
      }
  }
  if (resp.responseText=="OK")
  {
  	document.location.reload();
  }
}
account.verzendWachtwoord = function(eml,taal)
{
	var pars = "eml="+eml+"&taal="+taal;
	account.submitFunction(pars+"&account=wachtwoordVergeten",null,account.saveReply);			
}
account.verzendWachtwoordVerbose = function(eml,taal)
{
	var pars = "eml="+eml+"&taal="+taal;
	account.submitFunction(pars+"&account=wachtwoordVergeten&verbose=1",null,account.saveReply);			
}
account.verzendWachtwoordVerbose = function(eml,taal,d)
{
	var pars = "eml="+eml+"&taal="+taal;
	account.submitFunction(pars+"&account=wachtwoordVergeten&verbose=1",d);			
}
account.saveForm = function(frm)
{
	var pars = Form.serialize(frm);
	account.submitFunction(pars+"&account=saveKlant",null,account.saveReply);	
}

account.saveForm2 = function(frm)
{
	var pars = Form.serialize(frm);
	account.submitFunction(pars+"&account=saveKlant",null,account.saveWachtwoord2 );	
}

account.saveWachtwoord = function(frm)
{
	if ($('nww').value.length == 0)
		return;
		
	var pars = Form.serialize(frm);
	account.submitFunction(pars+"&account=wijzigWachtwoord",null,account.saveReply);
}

account.saveReply = function(resp,rep)
{
	
	if (resp.responseText.indexOf('<script') == 0)
	{
		resp.responseText.evalScripts();
		return;
	}
	account.clearErrors();
  var d = document.getElementById("myErrorDiv");
  if (d) {
      if (d.style.display != "none") {
          new Effect.SlideUp(d, {duration:0.2});
      }
  }
  new Effect.Appear($('wwok'), {duration:0.2});
  setTimeout("document.location.reload();",2000);
	
}

account.editAddress = function(aid)
{
	// div pars
	account.loadIntoDiv('adres_'+aid,'id='+aid+'&account=editAddress');
}

account.errorArray = new Array();
account.errorArrayMsg = new Array();
account.setErrors = function (arr) 
{
	
   	account.clearErrors();
    for (var key in arr) {
    	
      var el = document.getElementsByName("vals[" +key + "]");
      if (el.length == 0 && key != 'misc')
      	continue;
      	
      account.errorArray.push(el[0]);
      account.errorArrayMsg.push(arr[key]);
      if (key!='misc')
      	el[0].addClassName("kassa_error");  
        
    } 
    
    if (account.errorArrayMsg.length == 0) {
        account.clearErrors();
				account.hideErrordiv();
    } else {
        account.buildErrorDiv();
    }
}
account.hideErrordiv = function()
{
    var d = document.getElementById("myErrorDiv");
    if (d) {
        if (d.style.display != "none") {
            new Effect.SlideUp(d, {duration:0.2});
        }
    }	
}
account.clearErrors = function()
{
 for (i=0;i<account.errorArray.length;i++)
 {
 	$(account.errorArray[i]).removeClassName('kassa_error');
 }

 account.errorArray = new Array();
 account.errorArrayMsg = new Array();	
}

account.buildErrorDiv = function () {
    var msg = "<ul>";
    for (i = 0; i < account.errorArrayMsg.length; i++) {
        msg += "<li>" + account.errorArrayMsg[i] + "</li>";
    }
    msg += "</ul>";
    var d = document.getElementById("myErrorDiv");
    if (d) {
        d.innerHTML = msg;
        if (d.style.display == "none") {
            new Effect.SlideDown(d, {duration:0.2});
        }
    }
}

account.submitFunction = function()
{

	res = null;
	pars = null;
	callback = null;
	var type = null;
	
	var args = $(arguments);
	if (args.length == 0)
		return;
	
	pars = args[0];

	
	if (args[1]!=undefined)
		res = args[1];
		
	if (args[2]!=undefined)
		callback = args[2];
	
	if (res != null)
		if ($(res)==undefined)
			res = null;
	
	if (callback!=null)		
		if (!window.callback)
			callback = null;
	

		var myAjax = new Ajax.Request(
			'/index.php', 
			{
				method: 'post', 
				parameters: pars, 
				onComplete: function(resp) { 
					
					
					if (callback!=null) 
					{
						try 
							{ 
								if (typeof callback != 'function')
								{
									var st = "";
									if (res==null)
									{
										st = callback+"(resp);";
									} else {
										st = callback+"(resp,res);";
									}
									eval(st);
								} else {
									if (res==null)
									{
										callback(resp); 
									} else {
										callback(resp,res); 
									}
								}
							} 
						catch(err) {
							alert('Error! (42) - '+err );
							}; 
					} else { 
						account.verwerkSubmit(resp,res); 
					}; 
				}
			});			
}
account.setAdres = function(a)
{
	
	if ($('na').checked)  { new Effect.SlideDown($('naDiv'), { duration:0.2} ); } else { if ($('naDiv').style.display!='none') new Effect.SlideUp($('naDiv'), { duration:0.2}); account.hideErrordiv(); }	
		
}
account.verwerkSubmit = function(resp,res)
{

	if (resp.responseText.substring(0,2) == "OK")
	{
		
		if (res!=null)
		{
			$(res).innerHTML = resp.responseText.substring(2);
			Element.show($(res));
		} else {
			alert(resp.responseText.substring(2));
		}
	} else if (resp.responseText.substring(0,5) == "REDIR") {

		document.location.href = resp.responseText.substring(5).unescapeHTML();
		
		} else if (resp.responseText.indexOf('<script') == 0) {
		
		resp.responseText.evalScripts();
		return;		
		
		} else {
		if (res!=null)
		{
			$(res).innerHTML = resp.responseText;
			Element.show($(res));
		} else {
			alert(resp.responseText);
		}		
	}
}

account.saveAddress = function(id)
{
	
	var pars = Form.serialize('adresform_'+id);
	
	account.submitFunction(pars+"&id="+id+"&account=saveAddress");
}
account.deleteAddress = function(id)
{
	if (!confirm(getTrans('confirm')))
		return;
	var pars = "id="+id;
	account.submitFunction(pars+"&account=deleteAddress",null,function(resp,res) { if (resp.responseText=="OK") { document.location.reload(); } else { alert(resp.responseText); } });
}



// div pars url
account.loadIntoDiv = function()
{
	var div = null;
	var pars = null;
	var u = null;
	
	var args = $(arguments);
	if (args.length == 0)
		return;
	
	div = args[0];
	if ($(div)==undefined)
		return;
	
	if (args[1]!=undefined)
		pars = args[1];	
	
	if (args[2]!=undefined)
	{
		u = args[1];		
	} else {
		u = "/index.php";
	}
		
		
	

	var myAjax = new Ajax.Updater(
		div, 
		u, 
		{
			method: 'post', 
			parameters: pars,
			onComplete: function(resp) { if (resp.responseText.substring(0,5) == "REDIR") { document.location.href = resp.responseText.substring(5).unescapeHTML(); return; } if ($(div).style.display!='none') {  } else { Element.show(div); } }
		});
	
}
