﻿var PAGE_LOADED = false;
var CURRENT_PREVIEW = document.getElementById("welcomePanel");

window.onload = function()
{
    PAGE_LOADED = true;
    JobViewer.ShowAjaxPage();
    //$("searchText").focus();
}

document.body.onclick = function()
{
    var pop1 = $("industryPopup");
    var pop2 = $("jobTypePopup");
    var pop3 = $("newsPopup");

    if(pop1) document.body.removeChild(pop1);
    if(pop2) document.body.removeChild(pop2);
    if(pop3) document.body.removeChild(pop3);
}

JobViewer.AssignHoverEffect();

var cnt = 0;

function industryClick(text)
{
    var searchBox = $("searchText");
    var locationBox = $("searchLocation");

    if(searchBox.value == "Job Keywords") searchBox.value = "";
    if(locationBox.value == "City or Zip Code") locationBox.value = "";

    searchBox.value = searchBox.value.replace(new RegExp("[\\s]*industry:([^\"]+?\\b|\".+?\")", "ig"), "");
    searchBox.value = searchBox.value.replace(new RegExp("[\\s]*type:([^\"]+?\\b|\".+?\")", "ig"), "");
    searchBox.value = searchBox.value.trim() + " industry:\"" + text + "\"";
    searchBox.value = searchBox.value.trim();

    JobViewer.RefreshList(1, searchBox.value + (locationBox.value.trim().length > 0 ? " in " + locationBox.value.trim() : ""));
}

function jobTypeClick(text)
{
    var searchBox = $("searchText");
    var locationBox = $("searchLocation");

    if(searchBox.value == "Job Keywords") searchBox.value = "";
    if(locationBox.value == "City or Zip Code") locationBox.value = "";

    searchBox.value = searchBox.value.replace(new RegExp("[\\s]*industry:([^\"]+?\\b|\".+?\")", "ig"), "");
    searchBox.value = searchBox.value.replace(new RegExp("[\\s]*type:([^\"]+?\\b|\".+?\")", "ig"), "");
    searchBox.value = searchBox.value.trim() + " type:\"" + text + "\"";
    searchBox.value = searchBox.value.trim();

    JobViewer.RefreshList(1, searchBox.value + (locationBox.value.trim().length > 0 ? " in " + locationBox.value.trim() : ""));
}

function advanceSearchClick(link)
{
    var searchBox = $("advanceSearchPanel");
    
    link.blur();

    if(link.innerHTML == "advanced search")
    {
        link.innerHTML = "close";
        searchBox.style.display = "";
        //$("FilterBox").style.display = "none";

        var attributes = {
            height: { to: 130 }
        };
        var anim = new YAHOO.util.Anim(searchBox, attributes, 0.5, YAHOO.util.Easing.backOut);
        anim.animate();
    }
    else
    {
        link.innerHTML = "advanced search";

        var attributes = {
            height: { to: 0 }
        };
        var anim = new YAHOO.util.Anim(searchBox, attributes, 0.5, YAHOO.util.Easing.backIn);
        anim.onComplete.subscribe(function()
        {
            //$("FilterBox").style.display = "";
            searchBox.style.display = "none";
        });
        anim.animate();
    }
}

function performSearch(evt)
{
    if (!evt) var evt = window.event;

    if (window.event)
        window.event.cancelBubble = true;
    else if(evt.stopPropagation)
        evt.stopPropagation();
    
    var link = $("advanceSearchLink");
    var keyword = $("searchText");
    var location = $("searchLocation");
    var radius = $("searchRadius");
    
    var query = "";
    
    if(keyword.value == "Job Keywords") keyword.value = "";
    if(location.value == "City or Zip Code") location.value = "";
    
    if(link && link.innerHTML == "advanced search")
    {
        query = keyword.value.trim() + (location.value.trim().length > 0 ? " in " + location.value.trim() : "");
    }
    else
    {
        query = keyword.value.trim() + (location.value.trim().length > 0 ? " in " + location.value.trim() : "") + " radius:" + radius.value.trim();
        
        var telecommute = $("searchTelecommute");
        var fulltime = $("searchFulltime");
        var parttime = $("searchParttime");
        var intern = $("searchIntern");
        var industry = $("searchIndustry");
        var jobType = $("searchJobType");
        //var industry = $("searchIndustry");

        if(telecommute.checked) query += " telecommute:yes";
        if(fulltime.checked && parttime.checked)
            query += " time:all";
        else if(fulltime.checked)
            query += " time:full";
        else if(parttime.checked)
            query += " time:part";
        else if(intern.checked)
            query += " time:intern";
        
        //if(industry.selectedIndex > 0)
            //query += " industry:\"" + industry.options[industry.selectedIndex].value + "\"";
        
        if(jobType.selectedIndex > 0)
            query += " type:\"" + jobType.options[jobType.selectedIndex].value + "\"";
    }
    
    //alert(query);
    JobViewer.RefreshList(1, query);
}

function cancelEvent(evt)
{
    if (!evt) var evt = window.event;

    if (window.event)
        window.event.cancelBubble = true;
    else if(evt.stopPropagation)
        evt.stopPropagation();
}

function searchTextBoxFocus(textbox)
{
    if(!textbox.__defaultText) textbox.__defaultText = textbox.value;
    if(textbox.value == textbox.__defaultText) textbox.value = "";
}

function searchTextBoxBlur(textbox)
{
    if(textbox.value.trim().length == 0 && textbox.__defaultText) textbox.value = textbox.__defaultText;
}