/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

    var cetelem_data = new Array();

    function sendAjaxRequestBeforeRefresh(url) {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
        } else {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    window.location.href=window.location.href;
                }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }
    function loadAjaxContent(url, target)
    {
            var xmlhttp;
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    document.getElementById(target).innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET",url,true);
            xmlhttp.send();
    }

    function ajaxCetelemInit(url)
    {
            var xmlhttp;
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    var data = xmlhttp.responseText.split('#');                    
                    if (data.length > 0) {                        
                        for (i = 0; i < data.length; i++) {
                            adat = data[i].split('|');
                            cetelem_data[i] = new Array();
                            cetelem_data[i][0] = adat[0];
                            cetelem_data[i][1] = adat[1];
                            cetelem_data[i][2] = adat[2];
                        }
                    }
                    cetelemInit(cetelem_data);
                }
            }
            xmlhttp.open("GET",url,true);
            xmlhttp.send();
    }

    function cetelemInit(cetelemData) {        
        if (cetelemData.length > 0) {                    
            jQuery14('#futamido').html(cetelemData[0][0]);
            jQuery14('#reszlet').html(cetelemData[0][1]);
            jQuery14('#thm').html(cetelemData[0][2]);
        }
        cetelemStart();
    }

    function cetelemStart() {
        var slider = jQuery14('select#cetelem_slider').selectToUISlider({
            labels: 5,
            tooltip: false,
            sliderOptions: {
                change: function(e,ui) {
                    /* ui.value az indexet jelenit 0-tól ahol áll */
                    jQuery14('#futamido').html(cetelem_data[ui.value][0]);
                    jQuery14('#reszlet').html(cetelem_data[ui.value][1]);
                    jQuery14('#thm').html(cetelem_data[ui.value][2]);
                }
            }
        });
        slider.next();
        if (!jQuery14.browser.msie) {
            jQuery14('.ui-slider-horizontal .ui-slider-handle').css('cursor', 'pointer');
        }
        removePaymentCoverDiv();
    }

    function ajaxCetelemCalculator(url, target)
    {
            var xmlhttp;
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    document.getElementById(target).innerHTML = xmlhttp.responseText;                    
                    ajaxCetelemInit('index.php?dispatch=cetelem.getCalculatorInitData&ajax_refresh=true');
                }
            }
            xmlhttp.open("GET",url,true);
            xmlhttp.send();
    }

    function ajaxCetelemProductCalculator(url, target, productId, price)
    {
            var xmlhttp;
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    if (xmlhttp.responseText == 'true') {
                        document.getElementById('kalkulator_place_holder').innerHTML = "<iframe src='index.php?dispatch=cetelem.getProductCalculator&product_id=" + productId + "&price=" + price + "&ajax_refresh=true' width='420' height='170' SCROLLING=NO frameBorder='0'></iframe>";
                    } else {
                        document.getElementById('kalkulator_place_holder').style.backgroundImage="";
                        document.getElementById('kalkulator_place_holder').style.height="50px";
                        document.getElementById('kalkulator_place_holder').innerHTML = "<img src='skins/basic/customer/images/cetelem_failed.png' alt='' width='418' height='49'>";
                    }
                }
            }
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
    }

    function addPaymentCoverDiv() {
        var step_three_body = document.getElementById("step_three_body");
        var magassag = '400px';
        var step_three_body_CoverDiv = createCoverDiv('step_three_body_cover', '<img src="skins/basic/customer/images/loading/loading.gif" alt="www.mobilx.hu" />', '940px', magassag, '#999999', 0.5);
        step_three_body.insertBefore(step_three_body_CoverDiv,step_three_body.firstChild);
    }

    function removePaymentCoverDiv() {
        var step_three_body = document.getElementById("step_three_body");
        var step_three_body_CoverDiv = document.getElementById("step_three_body_cover");
        if (step_three_body_CoverDiv != undefined) {
            step_three_body.removeChild(step_three_body_CoverDiv);
        }
    }

    function hideElementByClass(className) {
        var element = getElementByClassName(className);
        element.style.display = 'none';
    }

    function showElementByClass(className, parent) {
        var element = getElementByClassName(className);
        element.style.display = 'inline';
    }
    
    function createCoverDiv(id, html, width, height, background , opacity) {
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', id);
        if (!width) {
            newdiv.style.width = "300px";
        } else {
            newdiv.style.width = width;
        }
        if (!height) {
            newdiv.style.height = "300px";
        } else {
            newdiv.style.height = height;
        }
        newdiv.style.position = "absolute";

        /*
        if ((left || top) || (left && top)) {
            newdiv.style.position = "absolute";
            if (left) {
                newdiv.style.left = left;
            }
            if (top) {
                newdiv.style.top = top;
            }
        }*/
        
        newdiv.style.background = background;
        newdiv.style.opacity = opacity;
        newdiv.style.filter = "alpha(opacity="+ (opacity*100) +")";

        newdiv.style.textAlign = "center";
        newdiv.style.padding = "100px 0px 0px 0px";
        //newdiv.style.border = "4px solid #000";
        if (html) {
            newdiv.innerHTML = html;
        } 
        //document.body.appendChild(newdiv);
        return newdiv;
    }


    function loadAjaxCentralContent(url, category_id, sub_category_id_level_1, sub_category_id_level_2, category_name, sub_category_name_level_1, sub_category_name_level_2, home_page_name, filter_need, level)
    {
        var central = getElementByClassName("central-content");        
        var main = getElementByClassName("content-helper clear");
        var _header = getElementByClassName("header");        
        var right_column = getElementByClassName("right-column");
        var central_column = getElementByClassName("central-column");

        var central_magassag = central.offsetHeight + 'px';
                
        // fedő div
        var centralCoverDiv = createCoverDiv('central_fedo_div', '<img src="skins/basic/customer/images/loading/loading.gif" alt="www.mobilx.hu" />', '745px', central_magassag, '#999999', 0.5);
        central.insertBefore(centralCoverDiv,central.firstChild);
      
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }        
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {

                if (right_column) {
                    try{
                        main.removeChild(right_column);
                    }catch(e){
                    }
                }
                                
                breadcrumb = createBreadcrumbsDiv(category_id, sub_category_id_level_1, sub_category_id_level_2, category_name, sub_category_name_level_1, sub_category_name_level_2, home_page_name);
                breadcrumb = breadcrumb.replace('#', '');
                breadcrumb = breadcrumb.replace('$', '');
                breadcrumb = breadcrumb.replace('@', '');
                // wrapper is kell, ezt most a mainbox_general.tpl -t "rakja" köré
                
                rtext = breadcrumb + '<table class="sidebox_mobilx_kategoria_lista" width="100%"  border="0" cellpadding="0" cellspacing="0"><tr><td>' + xmlhttp.responseText + '</tr></table>';
                central.innerHTML = rtext;
                              

                central_column.style.width = "745px";
                central_column.style.margin = "0 0 15px 240px";
                central_column.style.padding = "0 0 15px 15px";

                /* header banner eltűntetése */
                if (_header) {
                    try{
                        main.removeChild(_header);
                    }catch(e){
                    }                    
                }
                /* focus-t a top.tpl-ben lévő rejtett gombra (kókány de csak ez működik minden böngészőben, bővebb leírás ott) */
                $('#page_top_focus').focus();
                if (filter_need == 'true') {
                    if (level == '1') {
                        loadAjaxFilters('index.php?dispatch=base_filters.view&category_id='+sub_category_id_level_1 , 'szuro_wrapper');
                    } else {
                        loadAjaxFilters('index.php?dispatch=base_filters.view&category_id='+sub_category_id_level_2 , 'szuro_wrapper');
                    }
                }

            }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }

    function loadAjaxFilters(url)
    {        
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        var left_column = getElementByClassName("left-column");
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                if (document.getElementById('category_menu_wrapper') != null) {
                    document.getElementById('category_menu_wrapper').style.display="none";
                }
                // wrapper is kell, ezt most a mainbox_general.tpl -t "rakja" köré
                rtext = '<div id="product_filter_wrapper">' + xmlhttp.responseText + '</div>' + left_column.innerHTML;
                left_column.innerHTML = rtext;
                
            }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }

    function loadAjaxContentIntoClass(url, target)
    {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        var t = getElementByClassName(target);
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                // wrapper is kell, ezt most a mainbox_general.tpl -t "rakja" köré
                //rtext = breadcrumb + '<div class="mainbox-container"><div class="mainbox-body">' + xmlhttp.responseText + "</div></div>";
                t.innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }


    /* Class alapján keres meg egy elemet */
    function getElementByClassName(classname, node) {
      if(!node) node = document.getElementsByTagName("div")[0];
      var elem;
      var re = new RegExp('\\b' + classname + '\\b');
      var els = node.getElementsByTagName("*");
      for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className)) elem = els[i];
      return elem;
    }

    /* Class alapján keres elemeket amit egy tömbben ad vissza */
    function getElementsByClassName(classname, node) {
      if(!node) node = document.getElementsByTagName("div")[0];
      var tomb;
      var re = new RegExp('\\b' + classname + '\\b');
      var els = node.getElementsByTagName("*");
      for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className)) tomb.push(els[i]);
      return tomb;
    }

    function createBreadcrumbsDiv(category_id, sub_category_id_level_1, sub_category_id_level_2, category_name, sub_category_name_level_1, sub_category_name_level_2, home_page_name) {
        div = '<div class="breadcrumbs">';
        div += '<a href="index.php">' + home_page_name + '</a>' + '<#img border="0" alt="&gt;" class="bc-arrow" src="/trunk/skins/basic/customer/images/icons/breadcrumbs_arrow.gif">';
        // ha fő kategóriára nyomott akkor az index mögé simán stringként a a fő kateget
        if (sub_category_id_level_1 == '-1' || sub_category_id_level_1 == '') {
            div += category_name;
        } else {            
            // ha van alkategória de nincs legalsó kategória
            if (sub_category_id_level_2 == '-1') {                
                div += '<a href="index.php?dispatch=categories.view&amp;category_id=' + category_id + '">' + category_name + '</a>' +
                        '<$img border="0" alt="&gt;" class="bc-arrow" src="/trunk/skins/basic/customer/images/icons/breadcrumbs_arrow.gif">';
                div += sub_category_name_level_1;
            } else {
                div += '<a href="index.php?dispatch=categories.view&amp;category_id=' + category_id + '">' + category_name + '</a>' +
                        '<$img border="0" alt="&gt;" class="bc-arrow" src="/trunk/skins/basic/customer/images/icons/breadcrumbs_arrow.gif">';
                div += '<a href="index.php?dispatch=categories.view&amp;category_id=' + sub_category_id_level_1 + '">' + sub_category_name_level_1 + '</a>' +
                        '<@img border="0" alt="&gt;" class="bc-arrow" src="/trunk/skins/basic/customer/images/icons/breadcrumbs_arrow.gif">';
                div += sub_category_name_level_2;
            }
        }
        div += '</div>';
        return div;
    }    

    function ClearOptionsFast(id)
    {
        var selectObj = document.getElementById(id);
        var selectParentNode = selectObj.parentNode;
        var newSelectObj = selectObj.cloneNode(false); // Make a shallow copy
        selectParentNode.replaceChild(newSelectObj, selectObj);
        return newSelectObj;
    }

    function insertOptionBefore(selectId, value, text)
    {
      var elSel = document.getElementById(selectId);
      if (elSel.selectedIndex >= 0) {
        var elOptNew = document.createElement('option');
        elOptNew.text = text;
        elOptNew.value = value;
        var elOptOld = elSel.options[elSel.selectedIndex];
        try {
          elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
        }
        catch(ex) {
          elSel.add(elOptNew, elSel.selectedIndex); // IE only
        }
      }
    }

    function removeOptionSelected()
    {
      var elSel = document.getElementById('selectX');
      var i;
      for (i = elSel.length - 1; i>=0; i--) {
        if (elSel.options[i].selected) {
          elSel.remove(i);
        }
      }
    }

    function appendOptionLast(selectId ,value, text)
    {
      var elOptNew = document.createElement('option');
      elOptNew.text = text;
      elOptNew.value = value;
      var elSel = document.getElementById(selectId);

      try {
        elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
      }
      catch(ex) {
        elSel.add(elOptNew); // IE only
      }
    }

    function removeOptionLast()
    {
      var elSel = document.getElementById('selectX');
      if (elSel.length > 0)
      {
        elSel.remove(elSel.length - 1);
      }
    }





