// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function submit_select(form, select) {
	submit_select_with_default(form, select, null);
}

function submit_select_with_default(form, select, default_value) {
    url = document.forms[form].action;
    var select_value = select.options[select.selectedIndex].value; 
    if( select_value != -1 && select_value != default_value) {
        url += '/' + select.name + '/' + select.options[select.selectedIndex].value
    }
    location.href = url;
}

function submit_brand_select(form, select) {
    url = document.forms[form].action;
    var select_value = select.options[select.selectedIndex].value; 
    if( select_value != -1) {
        url = unescape(url).replace(/\{brand\}/, select.options[select.selectedIndex].value);
    }
    location.href = url;
}

function submit_sort_select(form, select, ignore, base_url, minimal_url) {
    url = document.forms[form].action;
    var select_value = select.options[select.selectedIndex].value; 
    if(select_value != -1 && select_value != ignore) {
      url = unescape(url).replace(/\{sort\}/, select.options[select.selectedIndex].value);
    } else {
      url = unescape(url).replace(/\/\{sort\}/, "");
      if((url + "/")  == base_url) {
        url = base_url + minimal_url;
      }
    }
    location.href = url;
}

function submit_sales_checkbox(form, checkbox, token, replacement) {
    location.href = unescape(document.forms[form].action).replace(token, replacement);
}

function submit_checkbox(form, checkbox) {
    if(checkbox.checked) {
        location.href = document.forms[form].action + '/' + checkbox.name + '/' + checkbox.value
    } else {
        location.href = document.forms[form].action;
    }
}

function doSlide(id, timeToSlide /* in ms */){
  obj = document.getElementById(id);
  if(obj.style.display == "none"){ // if it's already hidden we slide it down
    obj.style.visibility = "hidden";
    obj.style.display = "block";
    height = obj.offsetHeight;
    obj.style.height="0px";
    obj.style.visibility = "visible";
    slideDown(obj,0,height,Math.ceil(height/timeToSlide));
  }
}

function slideDown(obj,offset,full,px){
  if(offset < full){
    obj.style.height = offset+"px";
    offset=offset+px;
    setTimeout((function(){slideDown(obj,offset,full,px);}),1);
  } else {
    obj.style.height = full+"px"; //Can be useful in updated divs otherwise
    //just use full+"px"
  }
}

function triggerWithDelay(elem, interval, delaySteps, callback) {
  var time = delaySteps,
      content = '',
      trigger_content = elem.value;

  if(trigger_content !== ''){
    callback.call(this);
  }

  new PeriodicalExecuter(
      function() {
      if(elem.value !== trigger_content){
      if(content === elem.value){
      time -= 1;
      } else {
      content = elem.value;
      time = delaySteps;
      }
      if(time <= 0){
      trigger_content = content;
      callback.call(this);
      }
      }
      },
      interval
      );
}

// toggle info blocks ------------------------------------------------------------------------------------------------------------------

function changeClass() {
if(document.getElementById('list')){
document.getElementById('list').className = 'hide';
}}
window.onload = changeClass;


// open info block

document.getElementsByClassName = function(c){
    var el = [], found = [];
    if(document.getElementsByTagName) {
        el = document.getElementsByTagName('*');
        for(var i = 0; i < el.length; i++) {
            if(el[i].className === c) { found.push(el[i]); }
        }
    }
    return found;
};

function toggle_info(elementid){
         var divs = document.getElementsByClassName('info','info_last');
         for(var i = 0; i< divs.length; i++){
                   if(divs[i] == document.getElementById(elementid)) {
                            if(divs[i].style.display=="block"){
                                      divs[i].style.display = "none";
                            }else{
                                      divs[i].style.display = "block";
                            }
                   }else {
                            divs[i].style.display = "none";
                   }
         }
}
function toggle_sticky(elementid){
         var divs = document.getElementsByClassName('stickybox');
         for(var i = 0; i< divs.length; i++){
                   if(divs[i] == document.getElementById(elementid)) {
                            if(divs[i].style.display=="none"){
                                      divs[i].style.display = "block";
                            }else{
                                      divs[i].style.display = "none";
                            }
                   }else {
                            divs[i].style.display = "block";
                   }
         }
}

//close info block - needed only if close button is present
function toggle_close( targetId ){
	target = document.getElementById( targetId );
	if (target.style.display == "block") {
		target.style.display = "none";
	}else{
		target.style.display = "none";
	}
}


// end toggle info blocks ------------------------------------------------------------------------------------------------------------------------------



function resize_win1()
    {
            $('#stickybox .jcarousel-clip-vertical') .css({'height': (($(window).height()) - 100)+'px'});
            $(window).bind('resize', function(){
                $('#stickybox .jcarousel-clip-vertical') .css({'height': (($(window).height()) - 100)+'px'});
            });
    };

    function resize_win2()
    {
            $('#stickybox .jcarousel-skin-tango .jcarousel-container-vertical') .css({'height': (($(window).height()) - 100)+'px'});
            $(window).bind('resize', function(){
                $('#stickybox .jcarousel-skin-tango .jcarousel-container-vertical') .css({'height': (($(window).height()) - 100)+'px'});
            });
    };
        window.onload = resize_win1;
        window.onload = resize_win2;



function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
addLoadEvent(toggle_sticky);
addLoadEvent(changeClass);
addLoadEvent(resize_win1);
addLoadEvent(resize_win2);



