/*Edited from page-specific-prefs to global-prefs*/

function create_cookie(name,value,days){
	if(days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function read_cookie(name){
	var nameEQ=name+"=";
	var ca=document.cookie.split(';');
	for(var i=0;i<ca.length;i++){
		var cp = ca[i];
		while(cp.charAt(0)==' ')cp=cp.substring(1,cp.length);
		if(cp.indexOf(nameEQ)==0)return cp.substring(nameEQ.length,cp.length);
	}
	return null;
}

function erase_cookie(name){create_cookie(name,null,-1);}

function page_url(){
  return document.location.toString().replace('default.aspx','');
}

function store_pref(name,pref){
  var n=page_url()+name;
	//var n=name;
  var c=read_cookie(n);
  if(c==null)create_cookie(n,(pref+","),30);
  else if(c.indexOf(pref)<0){
    c+=pref+",";
    create_cookie(n,c,30);
  }
}

function delete_pref(name,pref){
  //var c=read_cookie(page_url()+name);
	var c=read_cookie(name);
  if(c!=null){
    var p=c.split(',');
    for(var i=0;i<p.length;i++){
      var r="";
      if(p[i]!=''){
        if(p[i].indexOf(pref)>=0){
          if(p[i].indexOf(':')>=0&&p[i].indexOf(pref+':')<0&&p[i].indexOf(pref+',')<0)
            r+=p[i]+",";
          if(r.length>0)
            //create_cookie(page_url()+name,r,30);
						create_cookie(name,r,30);
          else
            //erase_cookie(page_url()+name);
						erase_cookie(name);
        }
      }
    }
  }
}

function replace_pref(name,pref){
  var x=pref.split(":");
  //var c=read_cookie(page_url()+name);
	var c=read_cookie(name);
  var r="";
  var f=false;
  if(c!=null){
    var p=c.split(',');
    for(var j=0;j<p.length;j++){
      var n=p[j].split(':');
      if(n[0]==x[0]){
        f=true;
        r+=pref+",";
      }
      else if (p[j]!='')
        r+=p[j]+",";
    }
  }
  if(!f)r+=pref+",";
  //create_cookie(page_url()+name,r,30);
	create_cookie(name,r,30);
}

function toggle(id){
  var b=document.getElementById(id);
  var a=null;
  if(b!=null){
    try{
      var c=b.className;
      if(c.indexOf(" closed")>=0){
        a="opened";
        c=c.replace(" closed"," open");
      }
      else if(c.indexOf(" open")>=0){
        a="closed";
        c=c.replace(" open"," closed");
      }
      else{
        a="closed";
        c+=" closed";
      }
      b.className=c;
      if(a=="closed"){
        store_pref("closed",id);
      }
      else{
        delete_pref("closed",id);
      }
    }catch(e){}
  }
}

function set_smaak(blokId,smaakId){
	if(smaakId!=null&&smaakId!=''){
		try{
			if(smaakId&&smaakId=="default")
				delete_pref("smaak",blokId);
			else
				replace_pref("smaak",blokId+":"+smaakId);
		}catch(e){}
		try{
			var n=document.getElementById(blokId+"_nav");
			var t=n.getElementsByTagName("span");
			for (var i = 0; i < t.length; i++){
				if(t[i].className.indexOf("selected")>=0){
					if(t[i].onclick.toString().indexOf("'"+smaakId+"'")<0)
						t[i].className=t[i].className.replace("selected","");
				}
				else if(t[i].onclick.toString().indexOf("'"+smaakId+"'")>=0)
					t[i].className+=" selected";
			}
		}catch(e){}
		try{
			var k=eval("document."+blokId+"_form.smaakkiezer");
			try{
				if(k.selectedIndex>0)
					document.getElementById(blokId+"_title").innerHTML=k.options[k.selectedIndex].text;
				else
					document.getElementById(blokId+"_title").innerHTML="";
			}catch(e){}
		}catch(e){}
	}
}

function get_pref(content,blokId,smaakId){
	try{
		document.getElementById(blokId+'_content').innerHTML="<p class=\"loading\">loading...</p>";
	}catch(e){}
  GetContent(content,blokId,smaakId);
  set_smaak(blokId,smaakId);
}

function on_callback(result, oContext) {
  if(result.substr(0,6) == 'Error:'){
    return;  
  }
  if (oContext.CommandName == 'GetSmaakContent'){
    var oBlock = document.getElementById(oContext.blokId);
    var oContent = document.getElementById(oContext.blokId+'_content');
    oContent.innerHTML=result;
    //alert(result);
  }
  else alert('Unhandled callback:'+oContext.CommandName);
}

function on_callbackerror(exception,context) {
  alert('Unhandled exception occurred:\n' + exception);
}
