function encodeurl(s) {
	return encodeurl(s, false);
}
function encodeurl(s, fg) {

	var ret="";

	if(typeof(encodeURIComponent) == 'undefined') {
		if(fg) {
			ret = escape(s);
		}
		else {
			ret = encode(s);
			ret = ret.replace(/\+/g,'%2B');
		}
	}
	else {
		ret = encodeURIComponent(s);
		if(fg) {
			ret = escape(s);
		}
	}

	return ret;
}

String.prototype.trim = function(){
     var r = /^\s+|\s+$/,
         a = this.split(/\n/g),
         i = a.length;
     while(i-- > 0)
         a[i] = a[i].replace(r, '');
     return a.join('\n');
}

function search(sessionid, searchformid) {
	var sForm = "searchform" + searchformid;
	var sTerm = document.forms[sForm].term.value;
	sTerm = sTerm.trim();
	sTerm = encodeurl(sTerm);
	
	url = dropParamFromUrl(window.location.href, "term");

	bm = sessionid.indexOf("bade")>=0;

	if((sTerm.length<3 && !bm) || (sTerm.length<2 && bm)) {
		window.location.href = url + "&searchError=true"+"&term="+sTerm;
	}
	else {
		window.location.href = "ActionServlet?cmd=freesearch&sessionid="+sessionid+"&term="+sTerm+"&fields=all";
	}

}

function dropParamFromUrl(url, param) {
	param = "&" + param + "=";
	if(url.indexOf(param) != -1) {
		var s1 = url.substr(0, url.indexOf(param));
		var s2 = url.substr(url.indexOf(param) + param.length, url.length);
		if(s2.indexOf("&"))
			s2 = s2.substr(0, s2.indexOf(param));
		else
			s2 = "";
		url = s1 + s2;
	}
	return url;
}

function goLabel(sessionid) {
      var labelid = encodeurl(document.forms["labelmenu"].labels.value);
      if(!labelid == "")
        location.href = "ActionServlet?cmd=labeldetails&sessionid="+sessionid+"&labelid="+labelid;
}

function goCurrency(sessionid, referer) {
	  var currencycode = encodeurl(document.forms["currencymenu"].currencies.value);
	  var url = "ActionServlet?cmd=setcurrency&sessionid="+sessionid+"&currencycode="+currencycode;
      if(!currencycode == "") {
        window.location.href = "ActionServlet?cmd=setcurrency&sessionid="+sessionid+"&currencycode="+currencycode+"&referer="+referer;
	}
}


function goAffiliate(numitemsincart) {
	var affiliateurl = document.forms["affiliatemenu"].affiliates.value;
	if (numitemsincart > 0)
		r = confirm("Die Tracks in dem Warenkorb werden nicht in den anderen Shop übertragen. Diese Tracks müssen hier gekauft werden.\n Trotzdem wechseln?");
	else
		r = true;
		
  	if(!affiliateurl == "" && r)
        location.href = affiliateurl;
}

function goBoostercode(sessionid) {
    var boostercode = document.forms["boostercodeform"].elements["boostercode"].value;
    
    boostercode = encodeurl(boostercode);
    location.href="ActionServlet?sessionid="+sessionid+"&cmd=boostercode&boostercode="+boostercode;
}

function addBasket(sessionid, trackid, albumid, price, trackname, artistname) {

		location.href = "ActionServlet?sessionid="+sessionid+"&cmd=addbasket&trackid="+trackid+"&albumid="+albumid;
        //window.open(url,"ADDTRACK","width=150,height=150,left=200,top=200,scrollbars=yes,status=yes,dependent=yes");

}


function addBasketAlbum(sessionid, albumid, price, albumname, artistname) {
       	location.href = "ActionServlet?sessionid="+sessionid+"&cmd=addbasket&albumid="+albumid;

        //window.open(url,"ADDTRACK","width=150,height=150,left=200,top=200,scrollbars=yes,status=yes,dependent=yes");

}


function popup_OLD(URL) {
        window.open(URL,"DerWeg","width=600,height=400,left=100,top=100,scrollbars=no");
}

function popup2(URL) {
        window.open(URL,"Labelinfo","width=750,height=400,left=100,top=100,scrollbars=yes");
}

function popup3(URL) {
        window.open(URL,"FAQ","width=800,height=450,left=100,top=100,scrollbars=no");
}

function checkoutfree(ip, sessionid, wktotal) {
    checkout("freecheckout",ip,sessionid, wktotal);
}

function precheckout(ip, sessionid, wktotal) {
        var fta = document.forms["warenkorbform"].elements["payment"];		
        var ft = "";
        for(i=0;i<fta.length;i++) {
            if(fta[i].checked) {
                ft = fta[i].value;
                break;
            }
        }

if(ft=='') {
	ft=fta.value;
}
        checkout(ft,ip,sessionid, wktotal);
}

function checkout(type, ip, sessionid, wktotal) {
	//alert("english: "+english);
        //alert("type,ip,sessionid,wktotal: "+type+","+ip+","+sessionid+","+wktotal);
	var email = "";
	email = document.forms["warenkorbform"].elements["email"].value;

	if(email=="") {
		if(english) {
			alert("Please fill in your email-address!");
	        }
             	else {
                	alert("Bitte noch deine Email-Adresse angeben!");
             	}
		return;
	}

	//email = encodeurl(email);

        ref = sessionid.substring(sessionid.indexOf("-")+1, sessionid.length);

	ftype = "";
        fta = document.forms["warenkorbform"].elements["format"];
			
        ft = "";

	if(typeof fta == "Option") {
        for(i=0;i<fta.length;i++) {
            if(fta[i].checked) {
                ft = fta[i].value;
            }
        }
	}
	else {
		ft = fta.value;
	}
        

        trackcounter=0;
        for(i=0;;i++) {
            dd = document.forms["warenkorbform"].elements["trackid"+i];
            if(dd==null) {
                break;
            }
            trackcounter++;
        }

        albumcounter=0;
        for(i=0;;i++) {
            dd = document.forms["warenkorbform"].elements["albumid"+i];
            if(dd==null) {
                break;
            }
            albumcounter++;
        }

	ftype=encodeurl(ft);

	trackids = "";
	for(i=0;i<trackcounter;i++) {
		trackids += document.forms["warenkorbform"].elements["trackid"+i].value;

		if(i+1<trackcounter) {
			trackids += "_";
		}
	}
	trackids=encodeurl(trackids);


        albumids = "";
	for(i=0;i<albumcounter;i++) {
		albumids += document.forms["warenkorbform"].elements["albumid"+i].value;

		if(i+1<albumcounter) {
			albumids += "_";
		}
	}
	albumids=encodeurl(albumids);


	trackpricecredits = 0.0;
	for(i=0;i<trackcounter;i++) {
		trackpricecredits += parseFloat(document.forms["warenkorbform"].elements["trackprice"+i].value.replace(/\,/,"."));
	}
        tp = trackpricecredits*6;

        albumpricecredits = 0.0;
	for(i=0;i<albumcounter;i++) {
		albumpricecredits += parseFloat(document.forms["warenkorbform"].elements["albumprice"+i].value.replace(/\,/,"."));
	}
        ap = albumpricecredits*6;

        if(ap==0.0 && tp==0.0 && type!="freecheckout") {
            return;
        }

	infos = "";
	for(i=0;i<trackcounter;i++) {
		if(english) {
                    infos += " track " + document.forms["warenkorbform"].elements["trackname"+i].value  ;
                    infos += " by " + document.forms["warenkorbform"].elements["artistname"+i].value;		

                    if(i+1<trackcounter) {
                            infos += " and\n";
                    }
                    else if(albumcounter>0) {
                            infos += " and\n";
                    }
                }
                else {
                    infos += " Track "+document.forms["warenkorbform"].elements["trackname"+i].value;
                    infos += " von "+ document.forms["warenkorbform"].elements["artistname"+i].value;		

                    if(i+1<trackcounter) {
                            infos += " und\n";
                    }
                    else if(albumcounter>0) {
                            infos += " und\n";
                    }
                }
	}

        for(i=0;i<albumcounter;i++) {
		if(english) {
                    infos += " release "+document.forms["warenkorbform"].elements["albumname"+i].value;
                    infos += " by "+ document.forms["warenkorbform"].elements["albumartistname"+i].value;

                    if(i+1<albumcounter) {
                            infos += " and\n";
                    }
                }
                else {
                    infos += " Album "+document.forms["warenkorbform"].elements["albumname"+i].value;
                    infos += " von "+ document.forms["warenkorbform"].elements["albumartistname"+i].value;

                    if(i+1<albumcounter) {
                            infos += " und\n";
                    }
                }
	}

        //infos +=" jeweils im "+ft.toUpperCase()+"-Format";
	if(english) {
            //infos +=" each in "+ft.toUpperCase()+"-format";
		infos +=" each in show format";
        }
        else {
            //infos +=" jeweils im "+ft.toUpperCase()+"-Format";
		infos +=" jeweils im angezeigten Format";
        }
        i = encodeurl(infos);

        p = ap + tp;
        euro = p/100;

        //01.12.2004 eingefügt
        euro = wktotal*6;
	euro = Math.round(euro)/100;
	p = wktotal;

	gbp = wktotalcurrency;

        if(p%100 == 0) {
            euro = euro+".00";
        }
        else if(p%10==0) {
            euro = euro+"0";
        }
        euro = (euro+"").replace(/\./,",");

ss = false;

        if(type!="freecheckout") {
	    if(type == "paypal") {
		url = "/shopserver/ActionServlet?cmd=paypal&subcmd=init&email="+encodeurl(email)+"&sessionid="+sessionid;
		ss = true;
	    }
            else if(type=="firstgate") {
			ii = encodeurl(infos, true);
                    rdp = "http://shopbase.finetunes.net/shopserver/ActionServlet";
                    rdp += "?cmd=showdowns&sessionid="+sessionid;

                    rdp = encodeurl(rdp);

			pp = (wktotal * 6 );
			pp = Math.round(pp);

                    url ="https://premium-link.net/newauth/popup0/http://premium-link.net/$95447$0$/buytracks.php?price="+pp+"&cb_content_name="+ii+"&trackids="+trackids+"&albumids="+albumids+"&ip="+ip+"&email="+email+"&sessionid="+sessionid+"&ftype="+ftype+"&ref="+ref+"&rdprefix="+rdp;

			//pp = wktotal * 6;
			//url ="ActionServlet?sessionid="+sessionid+"&cmd=firstgatepayment&price="+pp+"&desc="+i+"&trackids="+trackids+"&albumids="+albumids+"&ip="+ip+"&email="+email+"&ftype="+ftype+"&ref="+ref+"&wkid=-1&rdp="+rdp;

            }
            else {

                    	url ="ActionServlet?sessionid="+sessionid+"&cmd=payonepayment&email="+email+"&payment="+type+"&type="+ftype;
			ss = true;
            }

            if(english) {
                //r = confirm("Please confirm: Buy\\n"+infos+ "\\n for\\n GBP "+gpb+"?");
		    if(usegbp){
			r = confirm("Please confirm: Buy\n"+infos+ "\n for\n GBP "+gbp+"?");
  	    	}
		else {
			r= confirm("Please confirm: Buy\n"+infos+"\n for EUR "+euro+"?");
		}
            }
            else {
                r = confirm("Bitte bestätigen: \n"+infos+ "\n für\n EUR "+euro+"\nkaufen?");
            }

            if(r) {
                    //alert(url);
			if(ss) {
				self.location.href=url;
			}
			else {
	                    window.open(url,"DOWNLOAD","width=640,height=450,left=100,top=100,scrollbars=yes,status=yes,dependent=yes");
			}
            }
        }//not free checkout
        else {
            //free checkout
            
            url ="ActionServlet?sessionid="+sessionid+"&cmd=boostercode&subcmd=paywith&price="+p+"&desc="+i+"&trackids="+trackids+"&albumids="+albumids+"&ip="+ip+"&email="+email+"&ftype="+ftype+"&ref="+ref;
            
            self.location.href=url;
        }
}

