    function processOnChangeSizeData(data){

         for (var prop in data) {
         
            switch (prop){
            case 'description': 
                 addDescriptionToPage(data[prop]);
                 break;              
            case 'listPrice': 
                 addListAndSalePriceToPage(data);
                 break;
            case 'width': 
                 addWidthInformationForSizeChangeToPage(data);
                 break;                              
            case 'promotionalMessage': 
                 addPromotionalMessageToPage(data[prop]);
                 break;
            case 'addToBag': 
                 addToBagFlagToPage(data[prop]);
                 break;
            case '360View':
                add360DegreeURLToPage(data[prop]);
                break;
                
            case 'large':
                  addLargeImageToPage(data[prop]);
                  break;
                  
            case 'selectedSKUID':
                  addSKUIDToCart(data[prop]);
                  break;

            case 'tabHeader':
                  addTabHeaderDataToPage(data);
                  break;
                  
	case 'errorURL':
	       addErrorURLToPage(data[prop]);
	      break;
                  
           case 'stockNumber': 
                 addStockNumberToPage(data);
                 break;

            case 'stockSizes': 
                 addSizeInformationToPageOnChangeOfWidth(data);
                 break;
                 
			case 'successURL':
                  addSuccessURLToPage(data[prop]);
                  break;
                 
                  
            default : //alert('Not yet implemented for '+prop);
            }
        }

		removeScreenErrorMessages();
    }
    
    function processOnChangeColorData(data) {
        

         for (var prop in data) {
        	
        	//alert('prop===>'+prop);
        	
            switch (prop){
            case 'listPrice': 
                 addListAndSalePriceToPage(data);
                 break;
                 
            case 'stockNumber': 
                 addStockNumberToPage(data);
                 break;
                 
            case 'promotionalMessage': 
                 addPromotionalMessageToPage(data[prop]);
                 break;
                 
            case 'description': 
                 addDescriptionToPage(data[prop]);
                 break;
                 
            case 'stockSizes': 
                 addSizeInformationToPage(data);
        
                 break;
            case 'width': 
                 addWidthInformationToPage(data);
        
                 break;                              
            case 'hero': 
                 addHeroAndZoomImageToPage(data);
        
                 break;
            case 'AlternativeImages':
                 addAlternativeImagesToPage(data);
        
                 break;
            case 'stockColor': 
                 addStockColorToPage(data[prop]);
                 highlightAvailbleColor(data[prop]);
        
                 break;
            case 'addToBag': 
                 addToBagFlagToPage(data[prop]);
                 break;
                 
            case '360View':
                add360DegreeURLToPage(data[prop]);
                break;

            case 'large':
                  addLargeImageToPage(data[prop]);
                  break; 
             
            case 'tabHeader':
                  addTabHeaderDataToPage(data);
                  break;

			case 'errorURL':
			      addErrorURLToPage(data[prop]);
			      break;
                  
            case 'selectedSKUID':
                  addSKUIDToCart(data[prop]);
                  break;
                  
			case 'successURL':
                  addSuccessURLToPage(data[prop]);
                  break;
                  
                  
            default : //alert('Not yet implemented for '+prop);
            }
        }
     
        removeScreenErrorMessages();
    }
    
    function processOnChangeWidthData(data) {
    
         for (var prop in data) {
            
            switch (prop){
            case 'listPrice': 
                 addListAndSalePriceToPage(data);
                 break;
            case 'stockNumber': 
                 addStockNumberToPage(data);
                 break;
            case 'promotionalMessage': 
                 addPromotionalMessageToPage(data[prop]);
                 break;
            case 'description': 
                 addDescriptionToPage(data[prop]);
                 break;              
            case 'stockSizes': 
                 addSizeInformationToPageOnChangeOfWidth(data);
                 break;
            case 'hero': 
                 addHeroAndZoomImageToPage(data);
                 break;
            case 'AlternativeImages':
                 addAlternativeImagesToPage(data);
                 break;
            case 'stockColor': 
                 addStockColorToPage(data[prop]);
                 break;
            case 'addToBag': 
                 addToBagFlagToPage(data[prop]);
                 break;
                 
            case '360View':
                add360DegreeURLToPage(data[prop]);
                break;
                 
            case 'large':
                  addLargeImageToPage(data[prop]);
                  break;

            case 'selectedSKUID':
                  addSKUIDToCart(data[prop]);
                  break;
                
            case 'tabHeader':
                  addTabHeaderDataToPage(data);
                  break;
                  
			case 'errorURL':
			       addErrorURLToPage(data[prop]);
			      break;
                  
			case 'successURL':
                  addSuccessURLToPage(data[prop]);
                  break;
			      
            default : //alert('Not yet implemented for '+prop);
            }
        }
        
        removeScreenErrorMessages();
    }

    function removeScreenErrorMessages(){
        if(document.getElementById('error-content') != null){
          var p2 = document.getElementById('error-content');
              p2.parentNode.removeChild(p2); 
        }
    }
    
	function addSuccessURLToPage(data){
      document.getElementById('add_to_order_success_url_id').value = data;
    }
    
    function addErrorURLToPage(data){
    	document.getElementById('add_to_order_url_id').value = data;
    }

    function highlightAvailbleColor(data){
	   
	   // highlight the swatch images.
	   var root = document.getElementById('color-selector');
	   
	   if(root.hasChildNodes()){

	   var childNodes = root.childNodes;
	   
		for(var i = 0; i < childNodes.length; i++){
		
		var childNode = childNodes[i];
		
		childNode.className = '';
		
		}	   
	   }
	   
	   document.getElementById(data).className = 'selected';
	   
	   // highlight the dropdown.
	   
	   var colorDropDown = document.getElementById('colors');
	   
	   var options = colorDropDown.options;
	   
	   for(var j = 0; j< options.length; j++){
	   
	   	var option = options[j];
	   	
	   	if(data == option.text){
	   	
	   	  option.selected = true;
	   	}
	   
	   }
	   
	}
   
    
   function addSKUIDToCart(data){
   
    if(data == null || data == ""){
        document.getElementById('cart_sku_id').value = '-1';    
        document.getElementById('qty').name = '-1';
        document.getElementById('qty1').name = 'notselected';
        
    }else{
        document.getElementById('cart_sku_id').value = data;
        document.getElementById('qty').name = data;
        document.getElementById('qty1').name = data+'morethanten';
    }
   }        
    
   function addLargeImageToPage(data){
   
    if(data == null || data == ''){
    
        document.getElementById('large_image_id').style.display = 'none';       
    
    }else{
    
       document.getElementById('large_image_id').style.display = 'inline';  
       document.getElementById('large_image_id').href = data;   
    
    }
   }    
    
   function add360DegreeURLToPage(data){
    
    if(data == null || data == ''){
    
        document.getElementById('360_degree_view_id').style.display = 'none';   
    
    }else{
    
       document.getElementById('360_degree_view_id').style.display = 'inline';  
       document.getElementById('360_degree_view_id').href = data;   
    
    }
   
   }    

   function addWidthInformationForSizeChangeToPage(data){
    
        var selectedWidth = data['selectedWidth'];
        var widthList = data['width'];
        var staticContent = data['widthkey'];
        
        if(document.getElementById('width') != null){
        
	        removeAllOptions('width');
	        
	        var select = document.getElementById('width');
	        select.options[select.options.length] = new Option(staticContent, '-1');
	        
	        for(var i = 0; i < widthList.length; i++){
	        
	        	
	            var widthOption = new Option(widthList[i], widthList[i]);
	            
	            if(selectedWidth == widthList[i]){
	                widthOption.selected = true;
	            }else if(widthList.length == 1){
	            	widthOption.selected = true;
	        	}

	                
	            select.options[select.options.length] = widthOption;                        
	        }
        }
    }
    
    function addToBagFlagToPage(data){
    
        var flag = data;
        if(!flag){
            document.getElementById('addtobag').setAttribute('onclick','#'); // disable = false;
        }
    }

    
    function addStockColorToPage(data){
        document.getElementById('active-color').innerHTML = data;
    }   

    function addSizeInformationToPageOnChangeOfWidth(data){
    	
        removeAllOptions('size');
        var staticContent = data['sizekey'];
        
        var select = document.getElementById('size');
        select.options[select.options.length] = new Option(staticContent, '-1');
        
        var SizeList = data['stockSizes'];
        var selectedSize = data['selectedSize'];
        
        for(var i = 0; i < SizeList.length; i++){
        
            var sizeOption = new Option(SizeList[i], SizeList[i]);
            
            if(selectedSize == SizeList[i]){
                sizeOption.selected = true;
            }
            select.options[select.options.length] = sizeOption;                     
        }       
    }
    
    function addHeroAndZoomImageToPage(data){
        
        var heroImage = data['hero'];
        var zoomImage = data['zoom'];
        var productDisplayName = data['displayName'];
        
        MagicZoom_stopZooms();
        
        //MagicZoom.stop(document.getElementById('zoom1')); 
        
        var heroZoomImageTag = '<a class=MagicZoom href='+zoomImage+' id=zoom1>' 
                               +'<img id=HeroImageId src='+heroImage+' alt='+ productDisplayName +'></a>';
        document.getElementById('magic_zoom_id').innerHTML = heroZoomImageTag;                             
        
        //MagicZoom.start(document.getElementById('zoom1')); 
        setTimeout('MagicZoom_findZooms()', 100);                              
    }

    function addAlternativeImagesToPage(data){
    
    	var alternativeImageList = data['AlternativeImages'];
    	var staticContent = data['additionalviewskey'];
    	var staticContent1 = data['clickkey'];
    	
        if(alternativeImageList == null || alternativeImageList == ''){
        
           if( document.getElementById('additional_images_id') != null){
           
              var p2 = document.getElementById('alternate-view');
              p2.parentNode.removeChild(p2); 

           }    
        }else{
        
        if(document.getElementById('additional_images_id') == null){
                    
            var alternateViewTag = document.createElement('div');
            alternateViewTag.setAttribute('id','alternate-view');
            document.getElementById('aside').insertBefore(alternateViewTag, document.getElementById('suggested'));          

            var headerTagForAdditional = document.createElement('h4');
            headerTagForAdditional.innerHTML = "<strong>" + staticContent + "</strong>" + staticContent1;
            document.getElementById('alternate-view').appendChild(headerTagForAdditional);

            var unorderedListTag = document.createElement('ul');
            unorderedListTag.setAttribute('id','additional_images_id');
            document.getElementById('alternate-view').appendChild(unorderedListTag);
                    
        }

        if(document.getElementById('additional_images_id') != null){
            
            removeUnorderedList('additional_images_id');

            for(var i = 0; i < alternativeImageList.length; i++){

                var obj = alternativeImageList[i];

                var additionalImageTag;

                additionalImageTag = '<a id=additionalImage_View rel=zoom1 rev='+obj.heroImageURL+' href='+obj.zoomImageURL
                    +' onclick=javascript:setSelectedAdditionalView('+obj.angle+');>'
                        + '<img id=additionalImage src='+obj.smallImageURL+' height=58 width=58 alt='+ obj.productDisplayName +' /> </a>'

                lineItem = document.createElement('li');
                lineItem.setAttribute('id','angle'+obj.angle);
                lineItem.innerHTML = additionalImageTag;

                document.getElementById('additional_images_id').appendChild(lineItem);
            }
        }
     }
    }

    function addWidthInformationToPage(data){
    	if(document.getElementById('width') != null){
	        removeAllOptions('width');
	        
	        var widthList = data['width'];
	        var staticContent = data['widthkey'];
	        
	        var select = document.getElementById('width');
	        select.options[select.options.length] = new Option(staticContent, '-1');
	        
		      for(var i = 0; i < widthList.length; i++){
		      	var widthOption = new Option(widthList[i], widthList[i]);
		            
	            if(data.length == 1){
	            	widthOption.selected = true;
	        	}
		      	
	        	select.options[select.options.length] = widthOption;   
	    	  }
    	}
    }

    function addSizeInformationToPage(data){
    	
        removeAllOptions('size');
        
        var sizeList = data['stockSizes'];
        var staticContent = data['sizekey'];
        
        var select = document.getElementById('size');
        select.options[select.options.length] = new Option(staticContent, '-1');
        addOptions('size', sizeList);
    }

    function addDescriptionToPage(data){
        
        if(document.getElementById('description_dwr_id') != null){
            
        
            if(data == null || data == ""){
                document.getElementById('description_dwr_id').innerHTML = "";
            }else{
                 document.getElementById('description_dwr_id').innerHTML = data ;        
            }   
        
        }
    }

    function addListAndSalePriceToPage(data)
    {   // need to add multi lingul functionality.
        var listPrice = data['listPrice'];
        var salePrice = data['salePrice'];
        var staticContent = data['regkey'];
        var siteName = data['sitename'];
        
        if(salePrice == null || salePrice =="")
        {
            document.getElementById('pricing').innerHTML = staticContent + CurrencyFormatted(listPrice);
        }
        else
        {   
           var salePriceTagStart = '<span class=sale>';
           var salePriceTagEnd = '</span>';
           var delTagStart = '<del>';
           var delTagEnd = '</del>';
           
           var saleTag = salePriceTagStart + CurrencyFormatted(salePrice) + salePriceTagEnd;
           
           if(siteName == 'sperry'){
	           var listPriceTag = delTagStart + staticContent + CurrencyFormatted(listPrice) + delTagEnd;
	           document.getElementById('pricing').innerHTML = saleTag + listPriceTag;
           }else{
	           var listPriceTag = staticContent + CurrencyFormatted(listPrice);
	           document.getElementById('pricing').innerHTML = saleTag + listPriceTag;
           }
           
        }
    }

    function addStockNumberToPage(data){
    	
    	var datatodisplay = data['stockNumber'];
    	var staticContent = data['stockkey'];
    	
        document.getElementById('lot').innerHTML = staticContent + datatodisplay;
    }

    function addPromotionalMessageToPage(data){
        
        if(data == null || data == ""){
            document.getElementById('sku_promotional_message_id').innerHTML = "";
        }else{
            var promoTagStart = '<p id=promotional-message>';
            var promoTagEnd = '</p>';
            document.getElementById('sku_promotional_message_id').innerHTML = promoTagStart + data + promoTagEnd;
        }
    }
    
    function CurrencyFormatted(amount)
    {
        var i = parseFloat(amount);
        if(isNaN(i)) { i = 0.00; }
        var minus = '';
        if(i < 0) { minus = '-'; }
        i = Math.abs(i);
        i = parseInt((i + .005) * 100);
        i = i / 100;
        s = new String(i);
        if(s.indexOf('.') < 0) { s += '.00'; }
        if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
        s = minus + s;
        return '$'+s;
    }

function removeAllOptions(element){

  var selectItem = document.getElementById(element);
  
  if(selectItem != null){
    selectItem.options.length = 0;
  }
}

function addOptions(element,data){

  var selectItem = document.getElementById(element);
  
  if(selectItem != null){

    for(var i = 0; i < data.length; i++){
        selectItem.options[selectItem.options.length] = new Option(data[i], data[i]);   
    }
     }
}


function removeUnorderedList(element){
    
  var ele = document.getElementById(element);   
   
  if(ele != null){
    while (ele.childNodes.length > 0) {
      ele.removeChild(ele.firstChild);
    }
  }
}
