function fillts(what,whatelse,page){
	ftoset=document.getElementById(whatelse);
	htmltoset=document.getElementById(what);
	catchar="?";
	if(page.indexOf('?')!=-1)//auch nicht schoen
		catchar="&";
	window.open("/"+page+catchar+"id="+document.getElementById(whatelse).value+"&userid={userid}","cal","width=170,height=290");
}
function opencal(what,page){
	ftoset=document.getElementById(what);
	ftype="select";
	catchar="?";
	if(page.indexOf('?')!=-1)//auch nicht schoen
		catchar="&";
	window.open("/"+page+catchar+"id="+document.getElementById(what)[document.getElementById(what).selectedIndex].value,"cal","width=170,height=290");
}
function doSignUpCheck(that){
    if(that.elements.gender[0].checked==false && that.elements.gender[1].checked==false)
        alert('maennlein oder weiblein?');
    else if(that.elements.username.value=="")
        alert('username angeben!');
    else if(that.elements.password.value=="")
        alert('passwort angeben!');
    else if(that.elements.email.value=="")
        alert('email angeben!');
    else if(that.elements.age.value=="")
        alert('jahrgang angeben!');
    else if(checkmail(that.elements.email.value)==4)
        alert ('ungueltiges emailformat!');
    else if(that.elements.password.value.length<6)
        alert('passwort muss mindestens 6 zeichen enthalten!');
    else if(that.elements.password.value!=that.elements.password2.value)
        alert('passwoerter stimmen nicht ueberein');
    else if(isNaN(that.elements.age.value) || parseInt(that.elements.age.value)!=that.elements.age.value || that.elements.age.value.length!=4 || that.elements.age.value<1900 || that.elements.age.value>1989)
          alert("Das Eingabefeld Jahrgang muss ein Jahr zwischen 1900 und 1989 enthalten");
    else if(that.elements.agb.checked==false)
        alert('agbs akzeptieren!');
    else{
        //ajax check von username + email
        aframe=document.getElementById('ajaxframe');
        if(aframe){
            aframe.contentWindow.location.replace("/myajax.php?aaction=signupcheck&c1="+that.elements.username.value+"&c2="+that.elements.email.value+"&aform="+that.id);
        }
    }
    return false;
}
var starstyle="stars";
function updatestars(that){
    var aktval=document.getElementById("x_my_rateval").value;
    var newstyle="";
    starstyle="stars";
    if(that.checked  && that.value==1){
        newstyle="none";
        starstyle="thumbs";
        if(aktval>2)
            aktval=5;
        else if (aktval!=0)
            aktval=1;
    }
    for(var i=1;i<6;i++){
             if(i==1){
                if(starstyle=="thumbs")
                    document.getElementById("ratestar_"+i).src="/images/hotstuff_daumen_2_w.png";
                else
                    document.getElementById("ratestar_"+i).src="images/popup/popup_stern_2.gif";
            }
            if(i>1 && i<5)
                document.getElementById("ratestar_"+i).style.display=newstyle;
            if(i==5){
                if(starstyle=="thumbs"){
                    document.getElementById("ratestar_"+i).src="/images/hotstuff_daumen_1_w.png";
                }
                else
                    document.getElementById("ratestar_"+i).src="images/popup/popup_stern_2.gif";
            }
    }
    updaterate(aktval);
}
function updaterate(rateval){
    for(var i=1;i<6;i++){
        if(starstyle=="thumbs" && (i==1 || i==5)){
            var c="w";
            if(i==rateval)
                c="r";
            if(i==1)
                document.getElementById("ratestar_"+i).src="images/hotstuff_daumen_2_"+c+".png";
            else
                document.getElementById("ratestar_"+i).src="images/hotstuff_daumen_1_"+c+".png";
        }
        else{
            if(i<=rateval)
                document.getElementById("ratestar_"+i).src="images/popup/popup_stern_1.gif";
            else
                document.getElementById("ratestar_"+i).src="images/popup/popup_stern_2.gif";
        }
       // alert(document.getElementById("ratestar_"+i).src);
    }
    document.getElementById("x_my_rateval").value=rateval;
}
function updateuebertag(tagno){
    var i=1;
    var toup=null;
    if(document.getElementById("uebertag").value==tagno)
        tagno=0;
    while(toup=document.getElementById("ueber_"+i)){
        if(i==tagno)
            toup.style.color="red";
        else
            toup.style.color="black";
        i++;
    }
    document.getElementById("uebertag").value=tagno;
    makemust2('whyspecialtag',tagno!=0);
}
function updatetag(tagno){
    var tagtoup=document.getElementById("tag_"+tagno);
    if(!seltags[tagno] || seltags[tagno]==false){
        tagtoup.style.color="red";
        seltags[tagno]=true;
        document.getElementById("x_mx_alltags").value+=","+tagtoup.innerHTML;
    }
    else{
        tagtoup.style.color="black";
        seltags[tagno]=false;
        document.getElementById("x_mx_alltags").value=document.getElementById("x_mx_alltags").value.replace(","+tagtoup.innerHTML,"");
    }
}
function updatetaguser(tagno){
    var tagtoup=document.getElementById("tag_"+tagno);
    if(!seltags[tagno] || seltags[tagno]==false){
        tagtoup.style.color="red";
        seltags[tagno]=true;
        document.getElementById("alltags").value+=","+tagtoup.innerHTML;
    }
    else{
        tagtoup.style.color="black";
        seltags[tagno]=false;
        document.getElementById("alltags").value=document.getElementById("alltags").value.replace(","+tagtoup.innerHTML,"");
    }
}
function dourlpic(divno,src){
    var i=0;
    if(document.getElementById("urlpic").value==src){
        src="";
        divno=2999;
    }
    while(picdiv=document.getElementById("urlpicdiv_"+i)){
        if(i==divno)
            picdiv.className="produktbild2";
        else
            picdiv.className="produktbild";
        i++;
    }
    document.getElementById("urlpic").value=src;
    document.getElementById("pic").value="";
}
function deselectparsepic(that){
    var daval=that.value;
    if(daval!=""){
        var i=0;
        while(picdiv=document.getElementById("urlpicdiv_"+i)){
        
            picdiv.className="produktbild";
        i++;
        }
        document.getElementById("urlpic").value="";
    }
}
function checkmail(sEmail){
    var i = 1;
	var sLength = sEmail.length;
		while ((i < sLength) && (sEmail.charAt(i) != "@"))
			i++;
	if ((i >= sLength) || (sEmail.charAt(i) != "@"))
			return 4;
	else
			i += 2;
	while ((i < sLength) && (sEmail.charAt(i) != "."))
			i++;
	if ((i >= sLength - 2) || (sEmail.charAt(i) != "."))
			return 4;
	else
			return 1;
}
function addEvent(elm, evType, fn, useCapture)
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
// By Scott Andrew
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
} 
function specialopen(link,name,params){
    var partparams=params.split(",");
    var width="300px";
    var height="400px";
    var left="150px";
    var top="150px";
    for(var i=0;i<partparams.length;i++){
        var check=partparams[i].split("=");
        if(check[0]=="width")
            width=check[1]+"px";
        else if(check[0]=="height")
            height=check[1]+"px";
        else if(check[0]=="left")
            left=check[1]+"px";
        else if(check[0]=="top")
            top=check[1]+"px";
    }
   // alert(width+" "+height);
    eframe=document.getElementById('editframe');
    if(!eframe)
        return window.open(link,name,params);
    eframe.style.width=width;
    eframe.style.height=height;
    eframe.style.position="absolute";
    eframe.style.left=left;
    eframe.style.top=top;
    eframe.contentWindow.location.replace(link);
    eframe.style.display="";
    return false;
   // 
}
function specialclose(){
    eframe=document.getElementById('editframe');
    eframe.contentWindow.location.replace("about:blank");
    eframe.style.display="none";
}

function pageadvance(theget,maxp,actp,wantp){
    rwantp=parseInt(wantp);
    if(isNaN(rwantp)){
        alert('Please enter a valid pagenumber!');
        return false;
    }
    else if(wantp>maxp || wantp<0){
        alert("Page "+(wantp+1)+" does not exist!");
        return false;
    }
    else if(wantp==actp)
        return false;
    else filterme(theget);
}
function filterme(theget,doit){
	if(filterme.arguments.length!=2 && (ff=document.getElementById('filterform'))){
		getarr=theget.split("&");
		for(i=0;i<getarr.length;i++){
			gv=getarr[i].split("=");
			//sollte man noch gucken, ob das feld schon existiert
			newinput=document.createElement("input");
			newinput.setAttribute("type","hidden");
			newinput.setAttribute("name",gv[0]);
			newinput.setAttribute("id",gv[0]);
			newinput.setAttribute("value",gv[1]);
			ff.appendChild(newinput);
		}
		ff.submit();
	}
	else
		window.location.replace("?"+theget);
}
function makemust(selected,toupdate){
    if(selected.options[selected.selectedIndex].value!="" && selected.options[selected.selectedIndex].value!="0")
        document.getElementsByName(toupdate)[0].id="x_mt_"+toupdate;
    else
        document.getElementsByName(toupdate)[0].id=toupdate;
    return true;
}
function makemust2(toupdate,must){
    if(must)
        document.getElementsByName(toupdate)[0].id="x_mt_"+toupdate;
    else
        document.getElementsByName(toupdate)[0].id=toupdate;
    return true;
}
function validate(that){
	errortext="";
	etext=new Array("darf nicht leer sein!","","darf nur Zahlen enthalten!","muss eine fuenfstellige Postleitzahl enthalten!","muss eine gueltige E-Mail Adresse enthalten!","must be a date formatted: tt.mm.yyyy!","darf nur ganze Zahlen enthalten!","enthaelt keine handynummer!","muss ausgewählt sein!");
	for(var i=0;i<that.length;++i){
	 	if(that.elements[i].id.substr(0,2)=="x_"){
	 		must=that.elements[i].id.substr(2,1);
			checktype=that.elements[i].id.substr(3,1);
            b=checkVal(must,checktype,that.elements[i]);
			if(b!=1){
				if(!isNaN(b)){
					if(that.elements[i].title)
						errortext+="Das Eingabefeld "+that.elements[i].title+" "+etext[b];
					else
						errortext+="Das Eingabefeld "+that.elements[i].name+" "+etext[b];
					if(must=="c")
						errortext+=" (or left empty)";
					errortext+="\n"
				}
				else that.elements[i].value=b;
			}
		}
        if(that.elements[i].type=="file"){
            if(that.elements[i].accept!="" && that.elements[i].value!=""){
                ext=that.elements[i].value.substring(that.elements[i].value.length-3,that.elements[i].value.length).toLowerCase();
                if(ext!="jpg" && ext!="jpeg" && ext!="gif" && ext!="png")
                    errortext+=that.elements[i].name+" must contain GIF, JPEG or PNG data!";
            }
        }
	}
	if(errortext!=""){
 		alert(errortext);
		return false;
	}
	else 
		return true;
}
function checkVal(m,c,fval){
	val=fval.value;
	//alert(val+" "+m+" "+c);
	if(m=="m" && val=="" && c!="s" && c!="y" && c!="x"  && c!="z")
		return 0;
	else if(m=="c" && val=="")
		return 1;
	else{
		if(c=="c"){
			if(!fval.checked)
				return 8;
		}	
		if(c=="t")
	 		return 1;//oder laenge?
		if(c=="i" || c=="p"){
			if(isNaN(val) || parseInt(val)!=val)
				return 6;
			else if(c=="p" && val.length!=5)
				return 3;
		}
		if(c=="j"){
       if(isNaN(val) || parseInt(val)!=val || val.length!=4 || val<1900 || val>2001)
          errortext+="Das Eingabefeld "+fval.title+" muss einen Jahrgang zwischen 1900 und 2002 enthalten";
    }

        if(c=="w"){//mindestanzahl von worten
           var numwords=parseInt(fval.id.substr(4,3),10);//dreistellige (evtl mit fuehrenden nullen) anzahl von worten
           var wparts=val.split(" ");
			     if(wparts.length<numwords)
               errortext+="Das Eingabefeld "+fval.title+" muss mindestens "+numwords+" Worte enthalten.\n";
        }
        if(c=="v"){//hoechstzahl zeichen
           var numchars=parseInt(fval.id.substr(4,3),10);//dreistellige (evtl mit fuehrenden nullen) anzahl von zeichen
           if(val.length>numchars)
               errortext+="Das Eingabefeld "+fval.title+" darf höchstens "+numchars+" Zeichen enthalten.\n";
        }
        if(c=="y"){
            if(val=="" || isNaN(val) || parseInt(val)!=val || val==0)
                errortext+="Du musst eine Bewertung abgeben (klick auf einen stern)\n";
        }
        if(c=="z"){
            if(val=="" && document.getElementById('urlpic') && document.getElementById('urlpic').value=="")
                errortext+="Du musst ein Bild auswaehlen (klick auf ein Bild, oder lade ein Bild hoch)\n";
        }
        if(c=="x"){
            var xval=document.getElementById('x_ct_tags').value;
                
            if(val!=""  || xval!=""){
                var testval=val;
                if(xval!=""){
                    if(xval.split(",").length>2){
                        errortext+="Du darfst nicht mehr als 2 eigene Tags angeben\n";
                        return 1;
                    }
                    else
                        testval=testval+","+xval;
                }
                var tparts=testval.split(",");
			    if(tparts.length>11)
                    errortext+="Du darfst nicht mehr als 10 Tags angeben\n";
            }
            else
                errortext+="Du musst mindestens ein Tag angeben\n";
        }
		if(c=="e"){
			var i = 1;
  			var sEmail = val;
  			var sLength = sEmail.length;
   			while ((i < sLength) && (sEmail.charAt(i) != "@"))
    			i++;
  			if ((i >= sLength) || (sEmail.charAt(i) != "@"))
    			return 4;
  			else
    			i += 2;
  			while ((i < sLength) && (sEmail.charAt(i) != "."))
    			i++;
  			if ((i >= sLength - 2) || (sEmail.charAt(i) != "."))
    			return 4;
  			else
    			return 1;
		}
		if(c=="d"){
			val=val.replace(/[.:-]/g," ");
			dparts=val.split(" ");
			if(dparts.length!=3)
				return 5;
			for(y=0;y<dparts.length;y++){
				if(isNaN(dparts[y]))
					return 5;
				else{
					if(y==0){
						if(dparts[y]>31)
							return 5;
						else if(dparts[y].length<2)
							dparts[y]="0"+dparts[y];
					}
					else if(y==1){
						if(dparts[y]>12)
							return 5;
						else if(dparts[y].length<2)
							dparts[y]="0"+dparts[y];
					}
					else if(y==2){
						if(dparts[y].length<4)
							dparts[y]="19"+dparts[y];
						if(dparts[y]>2003)
							return 5;
					}
				}
			}
			return dparts[0]+"."+dparts[1]+"."+dparts[2];
		}
		if(c=="u")
			fval.value=val.toUpperCase();
		if(c=="f"){
			val=val.replace(/,/,".");
			if(isNaN(val))
				return 2;
			else
				fval.value=val;
		}
		if(c=="m"){//handynummer
			val=val.replace(/\ /g,"");
			regex=/^01[5,6,7][0-9]{1,2}[- \/]?[1-9][0-9]{6,9}$/;//deutsche handynummern
			regex2=/^\+491[5,6,7][0-9]{1,2}[- \/]?[1-9][0-9]{6,9}$/;//deutsche mit internationaler vorwahl
			regex3=/^\+/;//internationale, kein weiterer check
			regex4=/^\+49/;//regex3 und 4 sollte man zusammenfassen koennen
			if(!regex.test(val) && !regex2.test(val) && !(regex3.test(val) && !regex4.test(val)))
				return 7;
			else
				fval.value=val;
		}
        if(c=="s"){
            if(fval.options[fval.selectedIndex].value==""){
               // alert(fval.selectedIndex);
                return 8;
            }
        }
	}
	return 1;
}
var aktopen=null;
        function showhide(that){
            if(aktopen!=null)
                aktopen.style.display='none';
            aktopen=document.getElementById(that);
                aktopen.style.display='';
        }
function gosocial(was) {
	theurl=encodeURIComponent(location.href);
	thetitle=encodeURIComponent(document.title);
	switch(was) {		
		case 'delicious':
			window.open('http://del.icio.us/post?url='+theurl+'&title='+thetitle);
			break;
		case 'wong':
			window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+theurl+'&bm_description='+thetitle);
			break;
		case 'blinkList':
			window.open('http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url='+theurl+'&Title='+thetitle);
			break;
		case 'yahoo':
			window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?u='+theurl+'&t='+thetitle);
			break;
		case 'yigg':
			window.open('http://yigg.de/neu?exturl='+theurl+'&exttitle='+thetitle);
			break;	
		case 'furl':
			window.open('http://www.furl.net/storeIt.jsp?u='+theurl+'&t='+thetitle);
			break;
		case 'oneview':
			window.open('http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL='+theurl+'&title='+thetitle);			
			break;
		case 'folkd':
			window.open('http://www.folkd.com/submit/page/'+theurl);
			break;
		case 'linkarena':	
			window.open('http://linkarena.com/bookmarks/addlink/?url='+theurl+'&title='+thetitle+'&desc=&tags=');
			break;
		case 'google': 		
			window.open('http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk='+theurl+'&title='+thetitle);
			break;
		case 'webnews': 		
			window.open('http://www.webnews.de/einstellen?url='+theurl+'&title='+thetitle);
			break;
		case 'tausendreporter': 		
			window.open('http://tausendreporter.stern.de/submit.php?url='+theurl);
			break;
        case 'digg':
            window.open('http://digg.com/submit?phase=2&url='+theurl);
			break;
	}
}
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_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 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 bmi_SafeAddOnload(a,b){
   return true;
}