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;
}
}

