


function cm_init ( ) {
    if ( location.href.indexOf ( '/7/1/1.list.htm' ) > -1 ) {
        cm_activateSale ( );
    }
    /*
    else if ( location.href.indexOf ( '/1/1/' ) > -1 && location.href.indexOf ( '.list.htm' ) > -1 ) {
        cm_showSaleBanner ( );
    }
    */
}


function cm_activateSale ( ) {
   var cm_b = document.getElementsByTagName("body");
   cm_traverseElementNodes ( cm_b[0], cm_switchSaleDisplay );

   return false;
}



var cm_switchSaleDisplay = function ( cm_node ) {
   if ( cm_node != null ) {

       //var cm_l = cm_node.getAttribute ( "class" ); does not work in IE7 ...
        var cm_l = "";
        if ( typeof cm_node.attributes['class'] == "undefined" ) {
            cm_l = cm_node.getAttribute ( "class" );
        } else {
            cm_l = cm_node.attributes['class'].nodeValue;
        }



        if ( cm_l && cm_l != "" ) {
         if ( cm_l.indexOf ( 'cm_hideOnSale' ) > -1 ) {
            cm_node.style.display = "none";
         }
         else if ( cm_l.indexOf ( 'cm_showOnSale' ) > -1 ) {
            switch ( cm_node.nodeName.toLowerCase ( ) ) {
               case "div":
                  cm_node.style.display = "block";
                  break;
               default:
                  cm_node.style.display = "inline";
                  break;
            }
         }
      }
   }
}

/*
function cm_showTypeInTitle ( ) {
   var cm_b = document.getElementsByTagName("body");
   cm_traverseElementNodes ( cm_b[0], cm_showTypeInTitle2 );

   return false;
}


var cm_showTypeInTitle2 = function ( cm_node ) {
   if ( cm_node != null ) {
      var cm_l = cm_node.getAttribute ( "class" );

      if ( cm_l && cm_l != "" ) {
         if ( cm_l.indexOf("cm_hiddenTypeInTitle") > -1 ) {
            cm_node.style.display = "inline";
         }
      }
   }
}




function cm_showSaleBanner ( ) {
   var cm_b = document.getElementsByTagName("body");
   cm_traverseElementNodes ( cm_b[0], cm_showSaleBanner2 );

   return false;
}

var cm_showSaleBanner2 = function ( cm_node ) {
   if ( cm_node != null ) {
      var cm_l = cm_node.getAttribute ( "class" );

      if ( cm_l && cm_l != "" ) {
         if ( cm_l.indexOf("cm_saleBanner") > -1 ) {
            cm_node.style.display = "block";
         }
      }
   }
}
*/

function cm_changeImage ( id, path ) {
    var img = document.getElementById ( id );
    if ( img ) {
        img.src=path;
    }
}



function cm_handleQuantityChange ( selectedIndex, variant_id ) {
    if ( selectedIndex== 0 ) {
        document.location.href = '/?action=shop_update_basket&vid=' + variant_id;
    } else {
        document.cart_overview.subaction.value = 'refresh_cart';
        document.cart_overview.submit();
    }
}


var cm_disableInputs = function ( cm_node ) {
    if ( cm_node != null ) {

        switch ( cm_node.nodeName.toLowerCase ( ) ) {

            case "select":
                if ( !cm_node.disabled ) {
                    cm_node.selectedIndex = 0;
                }
                cm_node.disabled = !cm_node.disabled;
                break;

            case "input":
            case "textarea":
                if ( cm_node.name != 'deliveryAddress_checkbox' ) {
                    if ( !cm_node.disabled ) {
                        if ( cm_node.type == 'radio') {
                            cm_node.checked = false;
                        } else {
                            cm_node.value = '';
                        }
                    } else {

                    }
                    cm_node.disabled = !cm_node.disabled;
                }
                break;

            default:
                break;
        }
    }
}

function cm_toggleDeliveryInputs ( ) {
    var e = document.getElementById ( 'cm_customerForm_deliveryAddress' );
    cm_traverseElementNodes ( e, cm_disableInputs );
}

function cm_enableDeliveryInputs ( ) {
    var e = document.getElementById ( 'cm_customerForm_deliveryAddress' );
    cm_traverseElementNodes ( e, cm_enableInputs );
}


var cm_enableInputs = function ( cm_node ) {
    if ( cm_node != null ) {

        switch ( cm_node.nodeName.toLowerCase ( ) ) {

            case "select":
            case "input":
            case "textarea":
                cm_node.disabled = false;
                break;

            default:
                break;
        }
    }
}





/*
function cm_disableDeliveryInputs ( checkbox ) {
    if ( checkbox.checked ) {
        cm_traverseElementNodes ( document.getElementById ( 'cm_customerForm_deliveryAddress' ), cm_disableInputs );
    } else {

    }
}
*/

var cm_lang;


function cm_setCookie ( cm_name, cm_value, cm_days ) {
    var cm_expires = '';

    if (Number(parseInt(cm_days))) {
	var cm_date = new Date();
	cm_date.setTime(cm_date.getTime()+(parseInt(cm_days)*24*60*60*1000));
	cm_expires = "; expires="+cm_date.toGMTString();
    }

    document.cookie = cm_name + "=" + cm_value + cm_expires + "; path=/";
}


var cm_switchLang = function ( cm_node ){
   if ( cm_node != null ) {
      var cm_l = cm_node.getAttribute ( "lang" );

      if ( cm_l && cm_l != "" ) {
         if ( cm_l.indexOf(cm_lang) != 0 ){
            cm_node.style.display = "none";
         } else {
            switch ( cm_node.nodeName.toLowerCase ( ) ) {
               case "address":
               case "blockquote":
               case "center":
               case "del":
               case "dir":
               case "div":
               case "dl":
               case "fieldset":
               case "form":
               case "h1":
               case "h2":
               case "h3":
               case "h4":
               case "h5":
               case "h6":
               case "hr":
               case "ins":
               case "isindex":
               case "menu":
               case "noframes":
               case "noscript":
               case "ol":
               case "p":
               case "pre":
               case "table":
               case "ul":
                  cm_node.style.display = "block";
                  break;
               default:
                  cm_node.style.display = "inline";
                  break;
            }
         }
      }
   }
}

function cm_setLanguage ( cm_language ) {
   cm_setLanguageCookie ( cm_language );
   cm_lang = cm_language;
   var cm_b = document.getElementsByTagName("body");
   cm_traverseElementNodes ( cm_b[0], cm_switchLang );

   return false;
}

function cm_traverseElementNodes ( cm_node, cm_func ) {
   if ( cm_node != null && typeof ( cm_func ) == "function" ) {
      cm_func ( cm_node );
   }

   if(cm_node.hasChildNodes() ) {
      for ( var cm_i = 0; cm_i < cm_node.childNodes.length; cm_i++ ) {
         var cm_c = cm_node.childNodes[cm_i];
         if ( cm_c.nodeType == 1 )
            cm_traverseElementNodes ( cm_c, cm_func ); // childNodes.n
      }
   }
}

function cm_setLanguageCookie ( cm_lc ) {
    if ( cm_lc == 'en' || cm_lc == 'de' )
        cm_setCookie ( 'cm_langCode', cm_lc, 365 );
}

// check for cookie activation and use hard links if disabled? todo








// by qborgh:

function formDynamicSubmit (name, field) {
	var string = '';
	if (field == null) field = 'Option';
	for (i = 0; i < document.getElementsByName(name).length; i++) {
		if (document.getElementsByName(name)[i].checked) {
			string = document.getElementsByName(name)[i].value;
		}
	}
	if (string != '') {
		document.forms[string].submit();
	} else {
		alert (unescape('Bitte w%E4hle eine ' + field + ' durch Anklicken des Kreises vor der Option.'));
	}
}



function radioCheck (name, current_value) {
	for (i = 0; i < document.getElementsByName(name).length; i++) {
    if (document.getElementsByName(name)[i].value != current_value) {
     document.getElementsByName(name)[i].checked = false;
    } else {
		document.getElementsByName(name)[i].checked = true;
   }
  }
}




