var classFilter = "yliopisto";
var typeFilter = "oppilaitokset";
var cityFilter = null;
var subjectFilter = null;
var curEl = null;

function setActiveMainFilter(el, clazz, doload, no_resetsubject) {
    classFilter = clazz;
    $("#main-filters .button").removeClass('active');
    if (curEl) {
        $(curEl).removeClass('active');
    }
    if (el) {
        $(el).addClass('active');
        curEl = el;
    } else {
        curEl = null;
    }
    $(".search-filters select.oppialaselect").hide();
    $(".search-filters #oppiala-"+classFilter).show();
    if (!no_resetsubject) {
        var subjectSelect = $(".search-filters #oppiala-"+classFilter);
        if (subjectSelect.length > 0) {
            subjectSelect.get(0).selectedIndex = 0;
        }
    }
    subjectFilter = null;

    if (doload) {
        loadSearchResults();
    }
}

function setActiveSecondaryFilter(el, type, doload) {
    typeFilter = type;
    $("#secondary-filters .button").removeClass('active');
    if (el) {
        $(el).addClass('active');
    }
    if (typeFilter == 'alat') {
        var citySelect = $(".search-filters select.cityselect").show();
        if (citySelect.length > 0) {
            cityFilter = citySelect.get(0)[citySelect.get(0).selectedIndex].value;
        }
        $(".search-filters select.oppialaselect").hide();
        subjectFilter = null;
    } else if (typeFilter == 'paikkakunnat') {
        $(".search-filters select.cityselect").hide();
        cityFilter = null;
        var subjectSelect = $(".search-filters #oppiala-"+classFilter).show();
        if (subjectSelect.length > 0) {
            subjectFilter = subjectSelect.get(0)[subjectSelect.get(0).selectedIndex].value;
        }
    } else {
        var citySelect = $(".search-filters select.cityselect").show();
        if (citySelect.length > 0) {
            cityFilter = citySelect.get(0)[citySelect.get(0).selectedIndex].value;
        }
        var subjectSelect = $(".search-filters #oppiala-"+classFilter).show();
        if (subjectSelect.length > 0) {
            subjectFilter = subjectSelect.get(0)[subjectSelect.get(0).selectedIndex].value;
        }
    }

    if (doload) {
        loadSearchResults();
    }
}

function setCityFilter(el, doload) {
    cityFilter = el.options[el.selectedIndex].value;
    if (doload) {
        loadSearchResults();
    }
}

function setSubjectFilter(el, doload) {
    subjectFilter = el.options[el.selectedIndex].value;
    if (doload) {
        loadSearchResults();
    }
}

function loadSearchResults() {
    var url = opFilterBaseUrl+"/"+typeFilter;
    if (classFilter) {
        url = url+"/"+classFilter;
    }
    if (cityFilter && cityFilter != '0') {
        url = url+"/city/"+cityFilter;
    }
    if (subjectFilter && subjectFilter != '0') {
        url = url+"/subject/"+subjectFilter;
    }
    $("#search-results").load(url);
}

function opoChangeOppilaitosType(el) {
    var value = el[el.selectedIndex].value;
    if (value == 0) {
        $("#oppilaitos-0").show();
        $("#oppilaitos-0").get(0).selectedIndex = 0;
        $("#oppiala-0").show();
        $("#oppiala-0").get(0).selectedIndex = 0;
        $("#oppilaitos-1").hide();
        $("#oppiala-1").hide();
        $("#opo_node").get(0).value='622';
    } else if (value == 1) {
        $("#oppilaitos-1").show();
        $("#oppilaitos-1").get(0).selectedIndex = 0;
        $("#oppiala-1").show();
        $("#oppiala-1").get(0).selectedIndex = 0;
        $("#oppilaitos-0").hide();
        $("#oppiala-0").hide();
        $("#opo_node").get(0).value='623';
    }
}

var curDrawer = null;
var drawerTimerID = null;

function showDrawer() {
    if (!$(curDrawer).hasClass('active')) {
        $(curDrawer).children(".drawer-content").children(".drawer-text").slideDown();
        $(".drawerbox .drawer.active .drawer-content .drawer-text").slideUp();
        $(".drawerbox .drawer.active").removeClass('active');
        $(curDrawer).addClass('active');
    }
}

function checkOpoForm(form) {
    var error = "Seuraavat tiedot puuttuivat tai olivat epäkelpoja:\n";
    var hasErrors = false;
    var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

    if (form.powercontent_subject_ContentObjectAttribute_ezstring_data_text_pcattributeid.value.length == 0) {
        hasErrors = true;
        error += "  - Aihe on pakollinen\n";
    }
    if (form.powercontent_name_ContentObjectAttribute_ezstring_data_text_pcattributeid.value.length == 0) {
        hasErrors = true;
        error += "  - Nimi on pakollinen\n";
    }
    if (form.powercontent_email_ContentObjectAttribute_data_text_pcattributeid.value.length > 0) {
        if(emailReg.test(form.powercontent_email_ContentObjectAttribute_data_text_pcattributeid.value) == false) {
            hasErrors = true;
            error += "  - Sähköpostiosoite ei kelpaa\n";
        }
    }
    if (form.powercontent_message_ContentObjectAttribute_data_text_pcattributeid.value.length == 0) {
        hasErrors = true;
        error += "  - Kysymys on pakollinen\n";
    }
    if (form.chkEncOP.value != md5(form.powercontent_captcha_ContentObjectAttribute_data_text_pcattributeid.value)) {
        hasErrors = true;
        error += "  - Kuvavarmennus ei täsmää\n";
    }
    if (hasErrors) {
        alert(error);
        return false;
    }
    $.cookie('opoQuestionSent', '1', {path: '/', expires: 0});
    return true;
}

function checkOpoCommentForm(form) {
    var error = "Seuraavat tiedot puuttuivat tai olivat epäkelpoja:\n";
    var hasErrors = false;
    var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

    if (form.powercontent_person_name_ContentObjectAttribute_ezstring_data_text_pcattributeid.value.length == 0) {
        hasErrors = true;
        error += "  - Nimi on pakollinen\n";
    }
    if (form.powercontent_person_email_ContentObjectAttribute_data_text_pcattributeid.value.length == 0) {
        hasErrors = true;
        error += "  - Sähköpostiosoite on pakollinen\n";
    }
    if (form.powercontent_person_email_ContentObjectAttribute_data_text_pcattributeid.value.length > 0) {
        if(emailReg.test(form.powercontent_person_email_ContentObjectAttribute_data_text_pcattributeid.value) == false) {
            hasErrors = true;
            error += "  - Sähköpostiosoite ei kelpaa\n";
        }
    }
    if (form.chkEncOP.value != md5(form.powercontent_opo_captcha_ContentObjectAttribute_data_text_pcattributeid.value)) {
        hasErrors = true;
        error += "  - Kuvavarmennus ei täsmää\n";
    }
    if (hasErrors) {
        alert(error);
        return false;
    }
    return true;
}

function windowOpener(url,width,height,name,scrollers,menubar) { 
    browserName = navigator.appName; 
    browserVer = navigator.appVersion.substring(0,1); 
    if (width==null) {width=400;} 
    if (height==null) {height=400;} 
    if (name==null) {name="globaltPopup"} 
    var topPx = (browserName=="Netscape").php?"screenX":"top"; 
    var leftPx = (browserName=="Netscape").php?"screenY":"left"; 
    var winl = (screen.width - width) / 2; 
    var wint = (screen.height - height) / 2; 
    if (browserName != "Netscape" || browserVer != 2) { 
        controlWindow=window.open( url,name,"toolbar=no,height="+height+",width="+width+",location=no,directories=no,status=no,menubar="+menubar+",scrollbars="+scrollers+",resizable=no,"+leftPx+"="+winl+","+topPx+"="+wint+""); 
    }                                                                               
}

function showLocationInfo(loc) {
    $('#location-info').html(loc);
}

function changeTab(s,t) {
  $("#"+t+"TabBox li").removeClass("active");
  $("#"+t+"TabBox .tabItem").css("display","none");
  $("#"+s+"Tab").addClass("active");
  $("#"+s+"Items").css("display","block");
}

$(document).ready(function() {
    // Start out by hiding all drawers except the first
    $(".drawerbox .drawer:first").addClass('active');
    $(".drawerbox .drawer:not(.active) .drawer-content .drawer-text").slideUp();

    $(".drawerbox .drawer").mouseover(function() {
        curDrawer = this;
        drawerTimerID = setTimeout(showDrawer, 100);
    });
    $(".drawerbox .drawer").mouseout(function() {
        if (curDrawer === this) {
            curDrawer = null;
        }
        if (drawerTimerID) {
            clearTimeout(drawerTimerID);
        }
    });

    $('.expandable').truncate({max_length: 140, more: 'Lue lisää...', less: 'Sulje tiedot...'});
//    $('.expandable').expander({
//        slicePoint: 160,
//        expandText: 'Lue lisää...',
//        userCollapseText: 'Sulje tiedot...'});

    $('.rounded').corner({
        tl: {radius: 10},
        tr: {radius: 10},
        bl: {radius: 10},
        br: {radius: 10}
    });

    $('.rounded-bottom').corner({
        tl: {radius: 0},
        tr: {radius: 0},
        bl: {radius: 10},
        br: {radius: 10}
    });

/*
    $('a[rel="lightbox"]').lightBox({
        imageLoading: lightboxLoadingImg,
        imageBtnPrev: lightboxBtnPrev,
        imageBtnNext: lightboxBtnNext,
        imageBtnClose: lightboxBtnClose,
        imageBlank: lightboxBlank,
        txtImage: 'Kuva',
        txtOf: '/'
    });
*/

    $("#map").pinboard();
    $("#pins").pinboard();
    $("#locations").pinboard();

    // Load the default search results
//    $("#search-results").load(opFilterBaseUrl+'/oppilaitokset');

    //Karttajuttuja
    $('a.openSlide').click(function () {
      if ($(this).next(".dropCanvas").is(":hidden")) {
        $(this).next(".dropCanvas").slideDown("fast");
      } else {
        $(this).next(".dropCanvas").slideUp("fast");
      }
    });
    
    $("a.openOpoSlide").click(function () {
          if ($(this).next(".dropCanvas").is(":hidden")) {
            $(this).next(".dropCanvas").slideDown("fast");
          } else {
            $(this).next(".dropCanvas").slideUp("fast");
          }
    });
    
    $(".dropCanvas").hover('', 
      function () {
        $(this).slideUp("fast");
      }
    );
    
    //xajax_buildSearch();
    //xajax_opoSelectBuild();
    xajax_opoBrowseBuild();
    xajax_buildOpoSearchFilters();

});

function setSlideControls(){
    $("a.openSlide").click(function () {
          if ($(this).next(".dropCanvas").is(":hidden")) {
            $(this).next(".dropCanvas").slideDown("fast");
            $('select').addClass('hideSelection');
          } else {
            $(this).next(".dropCanvas").slideUp("fast");
            $('select').removeClass('hideSelection');
          }
    });
    
     $(".dropCanvas").hover('', 
      function () {
        $(this).slideUp("fast");
        $('select').removeClass('hideSelection');
      }
    );
    
}

function setOpoSlideControls(){
    $("a.openOpoSlide").click(function () {
          if ($(this).next(".dropCanvas").is(":hidden")) {
            $(this).next(".dropCanvas").slideDown("fast");
            $('select').addClass('hideSelection');
          } else {
            $(this).next(".dropCanvas").slideUp("fast");
            $('select').removeClass('hideSelection');
          }
    });
    
    $(".dropCanvas").hover('', 
      function () {
        $(this).slideUp("fast");
      }
    );
}


function addMapPinboard(x, y, url) {
    $("#pins").pinboard("addPin", x, y, url);
}

function fetchCookie(cookieName){
  cookieValue = $.cookie(cookieName);
  return cookieValue;
}