//value
//global-value: ALLITEMS,OBJSHOWITEM,OBJSHOWMENU,OBJKORB,OBJSEARCHDATA,OBJCATALOGDIR,OBJFINDITEMS
//------------------------------------------------------------------------------
var OBJSHOWDATA=new showdataclass();

//class
//------------------------------------------------------------------------------
function showdataclass(){
    //const
    this.imgpath="img/";
    this.iconpath="img/icon/";

    //value
    this.searchdiv="dir"; //text,dir,power
    this.showstyle="all"; //all,text,korb,order,pic
    this.items=new Array();
    this.tipsinnerHTML="";
    this.toplist=new Array(
        "dochelp.html\tAbs & Hilfe\tbookhelp.gif\t",
        "contact.html\tKontakt\tmail.gif\tFeedback-Formular, Anschrift, Email, Telefon, Fax",
        "shoppingcart.html\tWarenkorb\t\tDen Inhalt Ihres Warenkorbs ansehen und Bearbeiten");

    //value loacal
    var historymaxlen=5;
    var historysearch=new Array();

    this.finditems=function(){
        this.setfindstring();
        if (OBJSEARCHDATA.getidxstring()=="-1"&&OBJSEARCHDATA.makekeystring()=="")
            OBJSEARCHDATA.setoption("t0869031","-1","and","","");
        this.getkorbitems();
        this.items=OBJFINDITEMS.finditems(ALLITEMS);
        return this.items;
    }

    this.setfindstring=function(){
        OBJSEARCHDATA.setfindstring(location.search);
        if (OBJSEARCHDATA.getidxstring()=="-1"&&OBJSEARCHDATA.makekeystring()=="")
            OBJSEARCHDATA.setfindstring(this.readsearchstring());
        this.historyadd(this.makesearchstring());
    }

    this.getkorbitems=function(){
        this.items=OBJKORB.getkorbitems();
        return this.items;
    }

    this.readsearchstring=function(){
        return OBJKORB.readsearchstring();
    }

    this.writesearchstring=function(){
        return OBJKORB.writesearchstring(this.makesearchstring());
    }

    this.makesearchstring=function(){
        var search=OBJSEARCHDATA.makefindstring();
        search+="&show="+this.showstyle+"&searchdiv="+this.searchdiv;
        return search;
    }

    this.itemssearchhref=function(issethistory){
        if (issethistory)
            this.historyadd(this.makesearchstring());

        var cookie=this.writesearchstring();
        var ahref="search.html"
        if (location.href.indexOf(ahref)!=-1)
            return false;
        else if (!cookie)
            ahref+="?"+this.makesearchstring();
        location.href=ahref;
        return true;
    }

    this.historyback=function(){
        if (historysearch.length<2)
            history.back();
        else {
            OBJSEARCHDATA.setfindstring(historysearch[historysearch.length-2]);
            historysearch.length--;
            if (!this.itemssearchhref(false))
                showsearchdivs();
        }
    }
    this.historyadd=function(searchstr){
        var idx=historysearch.length;
        if (idx==historymaxlen){
            idx--;
            for (var i=0;i<idx;i++)
                historysearch[i]=historysearch[i+1];
        }
        historysearch[idx]=searchstr;
    }

    this.getshowstyle=function() {
        var search=(location.search!="")?location.search:this.readsearchstring();
        this.showstyle=getsearchvalue(search,"show");
        if (this.showstyle!="text")
            this.showstyle="all";

        this.searchdiv=getsearchvalue(search,"searchdiv");
        if (this.searchdiv!="power")
            this.searchdiv="dir";
    }

    this.getshowstyle();
}

//Stat-Show-Functions
//------------------------------------------------------------------------------
function showshop() {
    setboby();
    showlogo("divlogo");
    showtoplist("iconshpwg.gif","divtoplist");
    showtips("divtips");
    showsearch("divsearch");
    showcatdir("divcatdir");
    showshpmenu("divmenu");
    documentwrite_items("divitems");
    showtoplist("shpwg.gif","divbottomlist");
}

//Controll-Functions
//------------------------------------------------------------------------------
function replace(style){
    OBJSHOWDATA.showstyle=style;
    if (!OBJSHOWDATA.itemssearchhref(true))
        documentwrite_items("divitems");
}

function searchdivstyle(style){
    OBJSHOWDATA.searchdiv=style;
    if (!OBJSHOWDATA.itemssearchhref(true))
        showsearch("divsearch");
}

function gotosearchcatalog(idxstr,descript) {
    itemssearch(idxstr,"and","",descript);
}

function gotosearch() {
    var idxstr=getselectkey("selectcatalog");
    var ksform=document.getElementById("keysearchform");
    var keys=ksform.keys.value.trim()+" "+getselectkey("selectyear")+" "+getselectkey("selectmaterial");
    keys=keys.trim();

    if (keys.length==0&&idxstr==""){
		alert("Geben Sie Stichwörter oder Artikellagernummern ein!");
        ksform.keys.focus();
		return false;
	}

    var cb=document.getElementById("searchcheckbox");
    if (idxstr=="")
        idxstr=(cb==null||!cb.checked)?"-1":cb.value;
    itemssearch(idxstr,"and",keys,OBJSEARCHDATA.descript);
	return false;
}

function itemssearch(idxstr,style,keystr,desc){
    if (idxstr.charAt(0)=='t')
        OBJSEARCHDATA.setoption(idxstr,"-1",style,keystr,desc);
    else
        OBJSEARCHDATA.setoption("-1",idxstr,style,keystr,desc);

    if (!OBJSHOWDATA.itemssearchhref(true))
        showsearchdivs();
}

function showsearchdivs() {
    OBJSHOWDATA.items=OBJFINDITEMS.finditems(ALLITEMS);
    if (OBJSEARCHDATA.getidxstring()!="-1")
        showsearchcheckbox("divsearchcheckbox");
    showsearchkeys();
    showcatdir("divcatdir");
    documentwrite_items("divitems");
}

//Show-Functions
//------------------------------------------------------------------------------
function showshpmenu(divid) {
    if (document.getElementById(divid)!=null)
        OBJSHOWMENU.showshpmenu("ctmenu_top",divid);
}

function documentwrite_items(divid) {
    if (document.getElementById(divid)==null)
        return;
    setitemcode(divid,OBJSHOWITEM.showitems(OBJSHOWDATA.showstyle));
    OBJKORB.showitemcount();
}

function setboby(){
    document.write('<body text="#000000" vLink="#400000" aLink="#800000" link="#008080" bgColor="#ffffff" leftMargin="0" background="img/icon/back.jpg" topMargin="0">');
}

function setitemcode(divid,code){
    var divitem=document.getElementById(divid);
    if (divitem!=null){
        divitem.innerHTML=code;
    }
}

function showlogo(divid){
    if (document.getElementById(divid)==null)
        return;

    var code='<div align="center"><center>';
    code+='<table cellSpacing="0" cellPadding="0" border="0">';
    code+='<tr><td height="2"><img src="'+OBJSHOWDATA.iconpath+'leer1x1.gif" height="2"></td></tr>';
    code+='<tr><td valign="bottom" width="280">';
    code+='<a href="'+gethomeurl()+'" target="_top"><img height="48" title="'+gethomeurl()+'" alt="'+gethomeurl()+'" src="'+OBJSHOWDATA.iconpath+'logo2_de.gif" width="256" align=\"absmiddle\" border="0"></a>';
    code+='</td></tr></table>';
    code+='</center></div>';
    setitemcode(divid,code);
}

function showtoplist(iconwg,divid){
    if (document.getElementById(divid)==null)
        return;

    var outstr="";
    for(var i=0;i<OBJSHOWDATA.toplist.length;i++){
        var values=OBJSHOWDATA.toplist[i].split("\t");
        if (values.length!=4)
            continue;
        if (values[0]!="")
           	outstr+="<a href=\""+values[0]+"\">";
        var imgsrc=values[2];
        if(imgsrc=="")
            imgsrc=iconwg;
       	outstr+=values[1];
       	outstr+="<img src=\""+OBJSHOWDATA.iconpath+imgsrc+"\" border=\"0\" title=\""+values[3]+"\" alt=\""+values[3]+"\">";
        if (values[0]!="")
           	outstr+="</a>";
        if (i!=OBJSHOWDATA.toplist.length-1)
           	outstr+="&nbsp;|&nbsp;";
    }

    var code='<div align="center"><center>';
    code+='<table cellSpacing="0" cellPadding="0" width="95%" border="0">';
    code+='<tr><td colSpan=2 height=4><img src="'+OBJSHOWDATA.iconpath+'leer1x1.gif" height="1"></td></tr>';
    code+='<tr><td noWrap align="right" height="45" valign="bottom" style="font-size: 8pt"><em>';
    code+=outstr;
    code+='&nbsp; </em></td></tr>';
    code+='</table></center></div>';

    setitemcode(divid,code);
}

function showtips(divid){
    var code='<div align="center"><center>';
    code+='<table cellSpacing="0" width="95%" border="0">';
    code+='<tr><td>';
    code+='<table borderColor="#c1c1c1" cellSpacing="0" cellPadding="4" width="100%" bgColor="#fffff8" border="1">';
    code+='<tr><td vAlign="bottom">'+OBJSHOWDATA.tipsinnerHTML+'</td></tr>';
    code+='</table>';
    code+='</td></tr>';
    code+='</table>';
    code+='</center></div>';

    setitemcode(divid,code);
}

function showcatdir(divid){
    if (document.getElementById(divid)==null)
        return;

    var outstr="";
    var stepcatdir=OBJCATALOGDIR.getcatalogdir();
    for(var i=0;i<stepcatdir.length;i++){
        var values=stepcatdir[i].split("\t");
        outstr+=(values[0]=="")?values[1]:"<a href=\""+values[0]+"\">"+values[1]+"</a>";
        if (i!=stepcatdir.length-1)
           	outstr+="&nbsp;>&nbsp;";
    }

    var code='<div align="center"><center>';
    code+='<table cellSpacing="0" cellPadding="4" width="95%" border="0">';
//    code+='<tr><td height="2"><img src="'+OBJSHOWDATA.iconpath+'leer1x1.gif" height="2"></td></tr>';
    code+='<tr><td align="left" valign="bottom" style="font-size: 8pt"><em>'+outstr+'&nbsp;</em></td></tr>';
    code+='</table></center></div>';

    setitemcode(divid,code);
}

function showsearchkeys(){
    var inkeys=document.getElementById("keys");
    if (inkeys==null)
        return;
    var ckeys=OBJSEARCHDATA.makekeystring();
    if (ckeys!=""&&inkeys.value!=ckeys)
        inkeys.value=ckeys;
}

function showsearchcheckbox(divid){
    if (document.getElementById(divid)==null)
        return;
    var cb=document.getElementById("searchcheckbox");
    var cboxchecked=(cb!=null&&cb.checked)?"checked":"";
    var idxstring=OBJSEARCHDATA.getidxstring();
    if (cboxchecked==""&&idxstring!="-1"&&OBJSEARCHDATA.skeysstr!="")
        cboxchecked="checked";

    var cboxdisabled="disabled";
    var cboxtext="Nur in: ";
    if(idxstring!="-1"){
        cboxdisabled="";
        cboxtext+=OBJSEARCHDATA.descript;
    }

    var code ='<input type="checkbox" name="searchcheckbox" id="searchcheckbox" value="'+idxstring+'" '+cboxchecked+' '+cboxdisabled+'>'+cboxtext;
    setitemcode(divid,code);
}

function showsearch(divid){
    if (document.getElementById(divid)==null)
        return;

    var leerimg=OBJSHOWDATA.iconpath+"leer1x1.gif";
    var code='<div align="center"><center>';
    code+='<table cellSpacing="0" width="95%" border="0"><tr><td>';
    code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
    code+='<tr><td height="2"><img src="'+leerimg+'" height="2"></td></tr>';
    code+='<tr>';
    code+='<td width="2" bgColor="#ffcc00" rowSpan="2"><img src="'+leerimg+'" width="2" height="2"></td>';
    code+='<td bgColor="#ffcc00"><img src="'+leerimg+'" width="1" height="2"></td>';
    code+='<td width="22" valign="top" align="right" background="'+OBJSHOWDATA.iconpath+'rr1x22.gif" rowSpan="2"><img height="21" src="'+OBJSHOWDATA.iconpath+'yelltrfill22x20.gif" width="22" align="top"></td>';
    code+='</tr>';
    code+='<tr><td bgColor="#ffeeb5" style="font-size: 10pt"><img src="'+leerimg+'">&nbsp;Münzen im Shop suchen: </td></tr>';
    code+='</table>';

    code+='<table cellSpacing="0" cellPadding="0" width="100%" border="0">';
    code+='<tr>';
    code+='<td width="22" valign="bottom" align="left" background="'+OBJSHOWDATA.iconpath+'rl1x22.gif" rowSpan="3"><img height="20" src="'+OBJSHOWDATA.iconpath+'yellbl22x20.gif" width="22" align="bottom"></td>';
    code+='<td bgColor="#ffffff"><img src="'+leerimg+'" width="1" height="1"></td>';
    code+='<td width="2" bgColor="#ffcc00" rowSpan="2"><img src="'+leerimg+'" width="2" height="2"></td>';
    code+='</tr>';
    code+='<tr><td bgColor="#ffffff" style="font-size: 8pt" noWrap>';
    code+='<form name="keysearchform" id="keysearchform" onSubmit="return gotosearch()">';
    code+='&nbsp;<input type="text" size="15" name="keys" id="keys" value="'+OBJSEARCHDATA.makekeystring()+'">';
    if (OBJSHOWDATA.searchdiv=="power"){
        code+='&nbsp;<select size="1" name="selectyear" id="selectyear"></select>';
        code+='&nbsp;<select size="1" name="selectmaterial" id="selectmaterial"></select>';
        code+='&nbsp;<select size="1" name="selectcatalog" id="selectcatalog" width: 100px></select>';
    }
    code+='&nbsp;<input type="button" value="Finden" onClick="javascript:gotosearch()">&nbsp;';
    if (OBJSHOWDATA.searchdiv!="power"){
//        code+=(OBJSHOWDATA.searchdiv=="dir")?'<br>':'';
//        code+='<a href="javascript:searchdivstyle(\'power\')">Powersuche</a>';
    }
    if (OBJSHOWDATA.searchdiv=="dir")
        code+='<div id="divsearchcheckbox"></div>';
    code+='</form>';
    code+='</td></tr>';
    code+='<tr><td bgColor="#ffcc00" colSpan="2" height="2"><img src="'+leerimg+'" height="2"></td></tr>';
    code+='</table>';
    code+='</td></tr></table>';
    code+='</center></div>';

    setitemcode(divid,code);
    showsearchcheckbox("divsearchcheckbox");
    setselectoptionsyear("selectyear");
    setselectoptionsmaterial("selectmaterial");
    setselectoptionscatalog("selectcatalog");
}

function setselectoptionscatalog(divid){
    var sel=document.getElementById(divid);
    if (sel==null)
        return;

    for(var i=0;i<datcatalog.length;i++){
        var rdata=datcatalog[i].splittrim("\t");
        if (rdata.length==2)
            sel.options[sel.options.length]=new Option(rdata[1],rdata[2],false,false);
    }
}

function setselectoptionsyear(divid){
    var arr=new Array();
    for(var i=1979;i<2008;i++)
        arr[arr.length]=i;
    setselectoptions(divid,arr);
}

function setselectoptionsmaterial(divid){
    var arr=new Array(
            "Gold", "Silber", "Gold Silber",
            "Platin",
            "Palladium",
            "Bimetall",
            "Messing"
    );
    setselectoptions(divid,arr);
}

function setselectoptions(divid,arr){
    var sel=document.getElementById(divid);
    if (sel==null)
        return;
    sel.options[sel.options.length]=new Option("Alle","-1",false,false);
    for(var i=0;i<arr.length;i++)
        sel.options[sel.options.length]=new Option(arr[i],arr[i],false,false);
}

function getselectkey(divid){
    var sel=document.getElementById(divid);
    if (sel==null||sel.selectedIndex<1)
        return "";
    else
        return sel.options[sel.selectedIndex].value;
}
