var current_color = 'black', current_pattern = 'argyle';

function change(targetID, srcElement, newValue){
  var realTarget = document.getElementById(targetID);
  
  function recurseOverwrite(item){
    var targetStr = null;
    for(var x = 0; x < item.childNodes.length; x++){
      var child = item.childNodes[x];
      if(child.childNodes.length > 0){ recurseOverwrite(child); }
      switch(child.nodeName.toLowerCase()){
        case 'a':
          if(srcElement == 'color'){
            child.setAttribute('onclick', child.getAttribute('onclick').replace(current_color, newValue));
          }
          else{
            child.setAttribute('onclick', child.getAttribute('onclick').replace(current_pattern, newValue));
          }
        break;
        case 'img':
          if(srcElement == 'color'){
            child.src = child.src.replace(current_color, newValue);
          }
          else{
            child.src = child.src.replace(current_pattern, newValue);
          }
        break;    
        default:
          targetStr = null;
        break;  
      }
    }
  }
  recurseOverwrite(realTarget);
}

function changeColor(targetID, newValue){
  change(targetID, 'color', newValue);
  current_color = newValue;
}

function changePattern(targetID, newValue){
  change(targetID, 'pattern', newValue);
  current_pattern = newValue;
}
