
        function carAccSearch(bKeyword) {

            var resultDiv = document.getElementById('searchResult');
            var template = '';
            
            var bShowPrice=true;
            
            var sKeywords = '';

            if (document.getElementById('shoppingCartPopup').style.visibility='visible') {
                document.getElementById('shoppingCartPopup').style.visibility='hidden';
            }
                
            if (bKeyword) {
                sKeywords = document.getElementById('txtKeywords').value;
            }

            new Ajax.Request('/cz/cs/templates/carMcAccSearchResultTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/findModel.page', {
                        method: 'post',
                        parameters: { CPRODGRP: document.getElementById('product').value,
                                              NPRICUST: document.getElementById('npricust').value,
                                              CLANGISO: document.getElementById('clangiso').value,
                                              NMOD: document.getElementById('selCriteria1').value.split(';')[0], 
                                              NGRADE: document.getElementById('selCriteria2').value,
                                              CFUNCCAT: document.getElementById('selCriteria3').value,
                                              XCOMMLDESC: sKeywords,
                                              SHOWPRICE : bShowPrice },
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var modelName = '';
                            var gradeDescription = '';

                            for (var i=0; i<document.getElementById("selCriteria1").length; i++) {
                                if (document.getElementById("selCriteria1").options[i].selected) {
                                    modelName = document.getElementById("selCriteria1").options[i].text;
                                    break;
                                }
                            }

                            for (var i=0; i<document.getElementById("selCriteria2").length; i++) {
                                if (document.getElementById("selCriteria2").options[i].selected) {
                                    gradeDescription = document.getElementById("selCriteria2").options[i].text;
                                    break;
                                }
                            }

                            if (data.accCategories.length > 0) {
                                data.hasAccessories = true;
                            } else {
                                data.hasAccessories = false;
                            }

                            for (var i=0; i<data.accCategories.length; i++) {
                                data.accCategories[i].showPrice=bShowPrice;
                                data.accCategories[i].modelName=modelName;
                                data.accCategories[i].gradeDescription=gradeDescription;
                                for (var j=0; j<data.accCategories[i].accessories.length; j++ ) {
                                    data.accCategories[i].accessories[j].encodedDescription = data.accCategories[i].accessories[j].description.replace(/&#039;/g, "&amp;#039;");
									//20100114
									if (data.accCategories[i].accessories[j].subAccessories.length > 0){
										data.accCategories[i].accessories[j].hasSubAccessories=true;
									}else{
										data.accCategories[i].accessories[j].hasSubAccessories=false;
									}
									//end 20100114
                                    }
                            }

                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(resultDiv, data);
    
                            $(resultDiv).style.visibility='visible';
                            loadCarQuickLinks();
                        }
                    });
                }
            });
            if (hbx=="Y") {
                hbx_buildSelectedModel(document.getElementById('selCriteria1').value.split(';')[0]);
                hbx_buildSelectedGrade(document.getElementById('selCriteria2').value);
                if (document.getElementById('txtKeywords').value != "")
                    hbx_buildAccKeywordSearch(document.getElementById('txtKeywords').value);
                if (document.getElementById('selCriteria3').value != "")
                    hbx_buildSelectedAccCategory(document.getElementById("selCriteria3").value);
            }
        }

        function mcAccSearch(bKeyword) {

            if (document.getElementById("selCriteria2").value != "") {
                mcModelAccSearch(bKeyword);
            } else {
                if (document.getElementById("selCriteria1").value != "") {
                    getMcModelOverview();
                } else {
                    alert('please select a MC category!');
                }
            }
        }

        function mcModelAccSearch(bKeyword) {

            var resultDiv = document.getElementById('searchResult');
            var template = '';
            
            var bShowPrice=true;
            
            var sKeywords = '';

            if (document.getElementById('shoppingCartPopup').style.visibility='visible') {
                document.getElementById('shoppingCartPopup').style.visibility='hidden';
            }
  
            if (bKeyword) {
                sKeywords = document.getElementById('txtKeywords').value;
            }

            new Ajax.Request('/cz/cs/templates/carMcAccSearchResultTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;

                    new Ajax.Request('/hace/findModel.page', {
                        method: 'post',
                        parameters: { CPRODGRP: document.getElementById('product').value,
                                              NPRICUST: document.getElementById('npricust').value,
                                              CLANGISO: document.getElementById('clangiso').value,
                                              //CPRODHRCHGRP: document.getElementById('selCriteria1').value, 
											  CPRODHRCHGRP:document.getElementById('selCriteria1').value.split(';')[0],
                                              NMOD: document.getElementById('selCriteria2').value.split(';')[0],
                                              CFUNCCAT: document.getElementById('selCriteria3').value,
                                              XCOMMLDESC: sKeywords,
                                              SHOWPRICE: bShowPrice },
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var selectedMCCat = '';
                            var selectedModel = '';

                            for (var i=0; i<document.getElementById("selCriteria1").length; i++) {
                                if (document.getElementById("selCriteria1").options[i].selected) {
                                    selectedMCCat = document.getElementById("selCriteria1").options[i].text;
                                    break;
                                }
                            }

                            for (var i=0; i<document.getElementById("selCriteria2").length; i++) {
                                if (document.getElementById("selCriteria2").options[i].selected) {
                                    selectedModel = document.getElementById("selCriteria2").options[i].text;
                                    break;
                                }
                            }

                            if (data.accCategories.length > 0) {
                                data.hasAccessories = true;
                            } else {
                                data.hasAccessories = false;
                            }

                            for (var i=0; i<data.accCategories.length; i++) {
                                data.accCategories[i].showPrice=bShowPrice;
                                data.accCategories[i].modelName=selectedModel;
                                data.accCategories[i].gradeDescription=selectedMCCat;
                                for (var j=0; j<data.accCategories[i].accessories.length; j++ ) {
                                    //data.accCategories[i].accessories[j].encodedDescription = data.accCategories[i].accessories[j].description.replace("&#039;", "\&#039");
									data.accCategories[i].accessories[j].encodedDescription = data.accCategories[i].accessories[j].description.replace(/&#039;/g, "&amp;#039;");
									//20100114
									if (data.accCategories[i].accessories[j].subAccessories.length > 0){
										data.accCategories[i].accessories[j].hasSubAccessories=true;
									}else{
										data.accCategories[i].accessories[j].hasSubAccessories=false;
									}
									//end 20100114
                                }
                            }

                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(resultDiv, data);
    
                            $(resultDiv).style.visibility='visible';
                            loadMcQuickLinks();
                        }
                    });
                }
            });
            if (hbx=="Y") {
                hbx_buildSelectedMcCategory(document.getElementById('selCriteria1').value);
                hbx_buildSelectedModel(document.getElementById('selCriteria2').value.split(';')[0]);
                if (document.getElementById('txtKeywords').value != "") 
                    hbx_buildAccKeywordSearch(document.getElementById('txtKeywords').value);
                if (document.getElementById('selCriteria3').value != "") 
                    hbx_buildSelectedAccCategory(document.getElementById("selCriteria3").value);
            }
        }

        function getMcModelOverview() {

            var resultDiv = document.getElementById('searchResult');
            var template = '';

            if (document.getElementById('shoppingCartPopup').style.visibility='visible') {
                document.getElementById('shoppingCartPopup').style.visibility='hidden';
            }

            new Ajax.Request('/cz/cs/templates/mcModelOverviewTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;

                    new Ajax.Request('/hace/findMCModels.page', {
                        method: 'post',
                        parameters: { CPRODGRP: document.getElementById('product').value,
                                              NPRICUST: document.getElementById('npricust').value,
                                              CLANGISO: document.getElementById('clangiso').value,
                                             //CPRODHRCHGRP: document.getElementById('selCriteria1').value },
          									   CPRODHRCHGRP:document.getElementById('selCriteria1').value.split(';')[0],
											  CSGM:document.getElementById('selCriteria1').value.split(';')[1]},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {

                            var data = transport.responseText.evalJSON();
                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(resultDiv, data);

                           $(resultDiv).style.visibility='visible';
                        }
                    });
                }
            });
        }
		
        function selectModel(modelId) {
            var modBox = document.getElementById("selCriteria2");

            for (var i=0; i<modBox.length; i++) {
                if (modBox.options[i].value.split(';')[0] == modelId) {
                    modBox.options[i].selected = true;
                    onchange_selCriteria2('M/C');
                }
            }
        }

        function merAccSearch() {
            var resultDiv = document.getElementById('searchResult');
            var template = '';

            if (document.getElementById('shoppingCartPopup').style.visibility='visible') {
                document.getElementById('shoppingCartPopup').style.visibility='hidden';
            }

            
            var bShowPrice=true;
            
            new Ajax.Request('/cz/cs/templates/merAccSearchResultTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/findModel.page', {
                        method: 'post',
                        parameters: { CPRODGRP: document.getElementById('product').value,
                                              NPRICUST: document.getElementById('npricust').value,
                                              CLANGISO: document.getElementById('clangiso').value,
                                              XCOMMLDESC: document.getElementById('txtKeywords').value,
                                              SHOWPRICE: bShowPrice},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
//                        evalJSON:true,
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();

                            if (data.accCategories.length > 0) {
                                data.hasAccessories = true;
                            } else {
                                data.hasAccessories = false;
                            }

                            for (var i=0; i<data.accCategories.length; i++) {
                                data.accCategories[i].showPrice=bShowPrice;
                                for (var j=0; j<data.accCategories[i].accessories.length; j++ ) {
                                    //data.accCategories[i].accessories[j].encodedDescription = data.accCategories[i].accessories[j].description.replace("&#039;", "\&#039");
									data.accCategories[i].accessories[j].encodedDescription = data.accCategories[i].accessories[j].description.replace(/&#039;/g, "&amp;#039;");
									//20100114
									if (data.accCategories[i].accessories[j].subAccessories.length > 0){
										data.accCategories[i].accessories[j].hasSubAccessories=true;
									}else{
										data.accCategories[i].accessories[j].hasSubAccessories=false;
									}
									//end 20100114
                                }
                            }

                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(resultDiv, data);

                            $(resultDiv).style.visibility='visible';
                        }
                    });
                }
            });
            if (hbx=="Y") {
                hbx_buildAccKeywordSearch(document.getElementById('txtKeywords').value);
            }
        }

        var arImages = new Array();
        var iPos = 0;

        function openAccDetail(prodgrp, pricust, isolang, modelId, gradeNumber, accessoryNumber, encodedDescription, partNumber, price, currency, modelName, gradeDescription, fileName) {

            var layoverDiv = document.getElementById('layover_wrapper');

            if (document.getElementById('shoppingCartPopup').style.visibility='visible') {
                document.getElementById('shoppingCartPopup').style.visibility='hidden';
            }

            if (prodgrp == 'CAR') {
            
                var bShowPrice=true;
            
            } else {
                if (prodgrp == 'M/C') {
                
                    var bShowPrice=true;
                
                } else {
                
                    var bShowPrice=true;
                
                }
            }

            new Ajax.Request('/cz/cs/templates/detailTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    var template = transport.responseText;
                    new Ajax.Request('/hace/findAccessory.page', {
                        method: 'post',
                        parameters: { NPRICUST: pricust,
                                              CLANGISO: isolang,
                                              NMOD: modelId, 
                                              NGRADE: gradeNumber,
                                              NACCES: accessoryNumber,
                                              SHOWPRICE: bShowPrice},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
//                        evalJSON:true,
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();

                            data.productGroup = prodgrp;
                            data.modelName = modelName;
                            data.gradeDescription = gradeDescription;
                            data.showPrice = bShowPrice;
							encodedDescription = encodedDescription.replace(/"/g, "\&#034");// PH  double quote
							data.description=encodedDescription; // PH
							//data.encodedDescription = encodedDescription
							data.encodedDescription = data.description.replace(/&#039;/g, "&amp;#039;");

                            for (var i=0; i<data.images.length ; i++) {
                                arImages[i] = new Array(1);
                                arImages[i][0] = "/jsp/accimages/" + data.images[i].imageFilename;
                                arImages[i][1] = "/jsp/accthumbs/" + data.images[i].imageFilename;
                            }
                            data.imageCount = data.images.length;

							//20100114
							if (data.subAccessories.length > 0){
								data.hasSubAccessories=true;
								for (var i=0; i<data.subAccessories.length; i++) {
	                                data.subAccessories[i].showPrice=bShowPrice;
	                                data.subAccessories[i].productGroup = prodgrp;
									data.subAccessories[i].modelName = modelName;
									data.subAccessories[i].gradeDescription = gradeDescription;
									data.subAccessories[i].showPrice = bShowPrice;
									//encodedDescription = description.replace(/&#039;/g, "&amp;#039;");
									//encodedDescription = encodedDescription.replace(/"/g, "\&#034");// PH  double quote
									//data.subAccessories[i].description=encodedDescription; // PH
									//data.encodedDescription = encodedDescription
									data.subAccessories[i].encodedDescription = data.subAccessories[i].description.replace(/&#039;/g, "&amp;#039;");
								}
							}else{
								data.hasSubAccessories=false;
							}
							//end 20100114

                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(layoverDiv, data);
    
                            $(layoverDiv).style.visibility='visible';
                        }
                    });
                }
            });
        }

        function initiPos() {
            iPos=0;
        }

        function shiftLeft() {
            if (iPos>0) {
                iPos--;
                document.getElementById('img1').src = arImages[iPos][1];
                document.getElementById('img2').src = arImages[iPos+1][1];
                document.getElementById('img3').src = arImages[iPos+2][1];
            }	
        }

        function shiftRight() {
            if (iPos+2 < arImages.length-1) {
                iPos++;
                document.getElementById('img1').src = arImages[iPos][1];
                document.getElementById('img2').src = arImages[iPos+1][1];
                document.getElementById('img3').src = arImages[iPos+2][1];
            }	
        }

        function showImage(imgId) {
            document.getElementById('accImg').src = arImages[imgId][0];
        }

        function positionDiv(el, event) {
            document.getElementById('layover_wrapper').style.top=$(el).positionedOffset()[1]-120+'px';
        }
