/* sendform()
 use with onchange="sendform(this)" in select
 @author christian gabmeyer 2008
 ! requestvar must be a string !
*/
function sendform(obj,requestvar)
{
 if(obj.form && requestvar)
 {
  $(obj).after($('<input type="hidden" name="'+requestvar+'" value="1"/>'));
 }
 while(obj.parentNode)
 {
  try{obj.parentNode.submit();}catch(hl){}
  obj=obj.parentNode;
 }
}

/** deb
*  debug
*/
function deb(data,rm)
{
 rm=rm?rm:4;
 var out='';
 var row='';
 var i=0;
 if(typeof(data)!='string')
 for(var a in data)
 {
  try
  {
   if(jQuery.isFunction(data[a]))
    row+="  |  "+a+'=function(...';
   else row+="  |  "+a+'='+data[a];
  }
  catch(hl)
  {
   row+="  |  (failed)"+a;
  }
  i++;
  if(i==rm){ out+="\n"+row; row=''; i=0; }
 }
 if(!out)out=data;
 if(window.console) window.console.log(out);
 else $('body').append('<pre>'+out+'</pre>');
 return out;
}

/** cssc
  convert css to jquery object

*/
function cssc(value)
{
 var val=value.replace(/\;/g,"','");
 val=val.replace(/\:/g,"':'");
 var x;
 eval("x={'"+val+"'}");
 return x;
}


/** cookie set,get or del
 set cookie('1null','hallo');
 unset cookie('1null','');
 get cookie('null');
 alert(document.cookie);
 domain=domainname;path=path;
*/
function cookie(name,value,expire,domain,path)
{
 date = new Date();
 date.setTime(date.getTime() - 1000);
 // it seems that null can be a cookievar but i found no way to delete it
 if(name=='null') return;

 if(value==null)
 {
  if(document.cookie && document.cookie != '')
  {
   var cookies = document.cookie.split('; ');
   for (var i = 0; i < cookies.length; i++)
   {
    var cookie = cookies[i].split('=',2);
    if(cookie[0]==name)
    {
     return decodeURIComponent(cookie[1]);
    }
   }
  }
  return '';
 }
 else
 {
  if(document.cookie && document.cookie != '')
  {
   var newcookie='';
   var foundcount=0;
   var cookies = document.cookie.split('; ');
   for (var i = 0; i < cookies.length; i++)
   {
    var cookie = cookies[i].split('=',2);
    if(cookie[0]!=name)
    {
     foundcount++;
    }
    else
    {
     if(value) newcookie=name+'='+encodeURIComponent(value);
     else newcookie=name+'=; expires='+date.toUTCString();
    }
   }
   if(foundcount==i) newcookie=name+'='+encodeURIComponent(value);
  }
  else newcookie=name+'='+encodeURIComponent(value);
  if(expire) newcookie += "; expires=" + expire.toUTCString();
  if(domain) newcookie += "; domain=" + encodeURIComponent(domain);
  if(path) newcookie += "; path=" + path;
//  deb(newcookie);
  // create
  document.cookie=newcookie;



 }
}

