var oxid = {

    // Generall navigation with timeout

    nav: {



        timeout : 400,

        activem : null,

        timerid : null,

        elclass : '',

        opclass : ' open',



        open   : function(e){

            oxid.nav.stoptm();

            oxid.nav.setclass(oxid.nav.activem,false);



            oxid.nav.activem = this.id;

            oxid.nav.setclass(oxid.nav.activem,true);

        },



        close : function(){

            oxid.nav.setclass(oxid.nav.activem,false);

        },



        starttm : function(){

            oxid.nav.timerid = window.setTimeout(oxid.nav.close, oxid.nav.timeout);

        },



        stoptm  : function(){

            if(oxid.nav.timerid){

                window.clearTimeout(oxid.nav.timerid);

                oxid.nav.timerid = null;

            }

        },



        setclass : function(id,add) {

            var el = document.getElementById(id);

            if( el ) {

                if(add){

                    oxid.nav.elclass = el.parentNode.className;

                    el.parentNode.className += oxid.nav.opclass;

                }else{

                    el.parentNode.className = oxid.nav.elclass;

                }

            }

        }

    },



    // Category navigation init

    catnav : function(ul) {

        var mn = document.getElementById(ul);

        if(mn) {

            var nr = 0;

            for (var i=0; i<mn.childNodes.length; i++) {

                if(mn.childNodes[i].tagName && mn.childNodes[i].tagName.toUpperCase() == 'LI'){

                    var mi = mn.childNodes[i];



                    for ( var n=0; n<mi.childNodes.length; n++) {

                        if(mi.childNodes[n].tagName && mi.childNodes[n].tagName.toUpperCase() == 'A'){

                            mi.childNodes[n].onmouseover = mi.childNodes[n].onfocus = oxid.nav.open ;

                            mi.childNodes[n].onmouseout  = mi.childNodes[n].onblur  = oxid.nav.starttm;

                            nr ++;

                        }

                        if(mi.childNodes[n].tagName && mi.childNodes[n].tagName.toUpperCase() == 'UL'){

                            mi.childNodes[n].onmouseover = mi.childNodes[n].onfocus = oxid.nav.stoptm ;

                            mi.childNodes[n].onmouseout  = mi.childNodes[n].onblur  = oxid.nav.starttm;

                            /* setting all childs nodes width same as <ul> */

                            var ml = mi.childNodes[n];

                            var mlWidth = ml.offsetWidth;

                            for ( var k=0; k<ml.childNodes.length; k++) {

                                if(ml.childNodes[k].tagName && ml.childNodes[k].tagName.toUpperCase() == 'LI'){

                                    ml.childNodes[k].style.width = mlWidth;

                                }

                            }

                        }

                    }

                }

            }

            if(nr>0){ document.onclick = oxid.nav.close; }

        }

    },



    // Top navigation init

    topnav : function(dt,dd) {

        var _dt = document.getElementById(dt);

        if(_dt){

            _dt.onmouseover = _dt.onfocus = oxid.nav.open ;

            _dt.onmouseout  = _dt.onblur  = oxid.nav.starttm;

        }



        var _dd = document.getElementById(dd);

        if(_dd){

            _dd.onmouseover = _dd.onfocus = oxid.nav.stoptm ;

            _dd.onmouseout  = _dd.onblur  = oxid.nav.starttm;

        }

        document.onclick = oxid.nav.close;

    },



    // Blank

    blank : function(id) {

        var _a  = document.getElementById(id);



        if(_a) {

            _a.setAttribute('target','_blank');

        }

    },



    // Search auto submit

    search : function(form, param) {

        var _form  = document.getElementById(form);

        var _param = document.getElementById(param);



        if( _form && _param && _param.value.length ) {

            _form.submit();

        }

    },



    // Popups

    popup: {

        load : function(){ oxid.popup.setClass('wait','popup load on','on');},

        show : function(){ oxid.popup.setClass('popup','popup on','on');},

        hide : function(id){ oxid.popup.setClass(id?id:'popup','popup','');},



        setClass: function (id,pcl,mcl){

            var _mk = document.getElementById('mask');

            var _el = document.getElementById(id);

            if(_mk && _el) {

                _mk.className = mcl;

                _el.className = pcl;

            }

        },



        addShim : function(){

             var _mk = document.getElementById('mask');

             if(_mk) {_mk.appendChild(document.createElement('iframe'));}

        },



        open : function(url,w,h,r){

            if (url !== null && url.length > 0) {

                var _cfg = "status=yes,scrollbars=no,menubar=no,width="+w+",height="+h+(r?",resizable=yes":"");

                window.open(url, "_blank", _cfg);

            }

        },



        compare : function(url){

            oxid.popup.open(url,620,400,true);

        },



        zoom    : function(){

            oxid.popup.setClass('zoom','popup zoom on','on');

        },



        addResizer : function(image_id,container_id,pw,ph){

            var _el = document.getElementById(image_id);



            if(_el) {

                _el.onload = function(e){

                    if(this.tagName.toUpperCase() == 'IMG'){

                        oxid.popup.resize(container_id, this.width+pw, this.height+ph);

                    }

                };

            }

        },



        resize  : function(id, newWidth, newHeight ){



            if(newWidth === 0 && newHeight === 0){

                return;

            }



            var _el = document.getElementById(id);

            var maxWidth = newWidth;

            var maxHeight = maxHeight;



            if(_el) {

                if( typeof( window.innerWidth ) == 'number' ) {

                    maxWidth  = window.innerWidth;

                    maxHeight = window.innerHeight;

                } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {

                    maxWidth  = document.documentElement.clientWidth;

                    maxHeight = document.documentElement.clientHeight;

                }



                if(newWidth > maxWidth){ newWidth = maxWidth;}

                if(newHeight > maxHeight){ newHeight = maxHeight;}



                _el.style.width  = newWidth+'px';

                _el.style.height = newHeight+'px';



                _el.style.marginLeft = '-'+Math.round(newWidth/2)+'px';

                _el.style.marginTop  = '-'+Math.round(newHeight/2)+'px';

            }

        }



    },



    // Tags

    tags: {



        input  : null,



        select : function(e){

            oxid.tags.input.value += ' ' + this.innerHTML;

            this.className = 'sel';

            this.removeAttribute('onclick');

        },



        addSelect: function(id,input){

            var tg = document.getElementById(id);

            var ed = document.getElementById(input);

            if(tg && ed) {

                oxid.tags.input = ed;

                for (var i=0; i<tg.childNodes.length; i++) {

                    if(tg.childNodes[i].tagName && tg.childNodes[i].tagName.toUpperCase() == 'A'){

                       tg.childNodes[i].onclick = oxid.tags.select;

                       tg.childNodes[i].removeAttribute('href');

                    }

                }

            }

        }

    },



    // Forms

    form: {



        // send

        send: function(form) {

            var _form = document.forms[form];

            if(_form) { _form.submit(); }

        },



        // submits form + changes cl and fnc values

        reload: function(stop,form,cl,fnc) {

            if(stop) { return; }

            var _form = document.forms[form];

            if(_form) {

                _form.elements.cl.value  = cl;

                _form.elements.fnc.value = fnc;

                _form.submit();

            }

        },



        // clears form values using given regex on fileld name

        clear: function(stop,form,pattern) {

            if(stop) { return; }

            var _fields = document.forms[form].elements, i;

            if(_fields) {

                for (i=0;i<_fields.length;i++) {

                    if( pattern.test(_fields[i].name) ) {

                        if( _fields[i].tagName.toUpperCase() === 'INPUT' ){ _fields[i].value = ""; }

                        if( _fields[i].tagName.toUpperCase() === 'SELECT'){ _fields[i].item(0).selected = true;}

                    }

                }

            }

        },



        select: function(id,value) {

            var _el = document.getElementsByName(id);

            if(_el) { _el[value].checked='true'; }

        }



    },



    // etc...

    showhide: function(id,show){

        var _el = document.getElementById(id);

        if (_el) { _el.style.display=show?'':'none'; }

    },



    focus: function(id){

        var _el = document.getElementById(id);

        if (_el) { _el.focus(); }

    },



    // switch image src

    image: function(id,src){

        var _el = document.getElementById(id);

        if( _el ) { _el.src=src; }

    },



    password: function(user_el,password_el,name) {

        var _u = document.getElementById(user_el);

        var _p = document.getElementById(password_el);

        if( _u ) {

            _u.focus();

            _p.style.display=(_u.value === name)?'none':'';

        }

    },



    checkAll: function(obj,pref) {

        if(document.getElementsByTagName){

            var inputs = document.getElementsByTagName("input");

            for (var i=0;i<inputs.length; i=i+1) {

                if(inputs[i].type == 'checkbox' && inputs[i].checked != obj.checked && pref == inputs[i].name.split('[')[0]){

                    inputs[i].checked = obj.checked;

                }

            }

        }

    }



};



function showReview()

{

    document.getElementById('write_review').style.display = 'block';

    document.getElementById('write_new_review').style.display = 'none';

    if (arguments.length == 1) {

        var oActForm = document.getElementById("rating");

        if ( oActForm !== null) {

            if (oActForm.artrating) {

                oActForm.artrating.value = arguments[0];

            } else if (oActForm.recommlistrating) {

                oActForm.recommlistrating.value = arguments[0];

            }

            var width = arguments[0] * 20;

            document.getElementById('current_rate').style.width = width + '%';

        }

    }

}



function setSellList( oInObj)

{

    //for module wlist

    var _wlist = document.getElementById("wlist");

    if ( _wlist !== null) {

        _wlist.href = _wlist.href + "&" + oInObj.name + "=" + oInObj.value;

    }

    //for original selectlist

    var _slist = document.getElementById("slist");

    if ( _slist !== null) {

        _slist.href = _slist.href + "&" + oInObj.name + "=" + oInObj.value;

    }

}




