﻿jQuery.requires('url',true);
jQuery(document).ready(function($){
  var depth = 2; //based upon url path
  var lang = $.url.segment(0);
  
  var addOpts = function(el,data){
    var found = false;
    el.find('option:gt(0)').remove();
    if(data && data.length > 0){
      var seg = $.url.segment(depth);
      $.each(data,function(){
        var sel = '';
        if (seg==this.name){
          sel = 'selected';
          depth += 1;
          found = true;
        }
        el.append('\n<option url="'+this.name+'" value="'+this.id+'" '+sel+'>'+this.text+'</option>');
      });
      el.show();
    }
    if(!found) el.find('option:first').attr('selected','selected');
    return found;
  };

  $.each(['cat','reg'],function(){
    var type = this;
    var str_url = '/dir_data.ashx?lang='+lang+'&type='+type+'&parent=';
    var main = $('#s_'+type);
    var sub = $('#s_sub_'+type).hide();
    main.change(function(){
      $(sub).hide().find('option:gt(0)').remove();
      if(this.selectedIndex > 0) $.getJSON(str_url+$(this).val(),function(data){ addOpts(sub, data); });
    });
    $.getJSON(str_url+0,function(data){ addOpts(main, data); main.change(); });
  });
  
  $('#s_form').submit(function(){
    //build url
    var seg = [lang,'job-seekers'];
    var getSec = function(sec){
      var main = $('#s_'+sec+' option:selected');
      if(main.length > 0 && parseInt(main.val()) > 0){ seg[seg.length]=main.attr('url'); getSec('sub_'+sec); }
    };
    $.each(['reg','cat'],function(){ getSec(this); });
    if(seg.length==2) seg[seg.length]='listings';
    var url = '/' + seg.join('/') + '.aspx';
    //build params
    var q = []; var val;
    if((val=$('#s_pay').val()) > 0) q[q.length]='pay='+val;
    $('#s_term input:not(:checked)').each(function(){ q[q.length]=$(this).attr('class')+'=0'; });
    if((val=$('#s_sort').val()) > 0) q[q.length]='sort='+val;
    if(q.length>0) url += '?'+q.join('&');
    //redirect
    //alert(url);
    window.location=url;
    return false;
  });
  //loading
  $('#s_pay option[value='+$.url.param('pay')+']').attr('selected','selected');
  $('#s_term input').each(function(){
    if($.url.param($(this).attr('class'))!=0) $(this).attr('checked','checked');
  });
  $('#s_sort option[value='+$.url.param('sort')+']').attr('selected','selected');
});
