var JSEARCH = {
  requiredAttrParams: ["btn_type" , "btn_lbl" , "kw_lbl" , "cat_lbl" , "loc_lbl" , "div_lbl" , "jobtype_lbl", "div_value" ],

  create: function( SO , id , parentid ) {
    DROP.setElementDisplay(parentid, "none");
    var loadfn = function() {
      if (DROP.hasRequiredAttrParams(SO)) {
        JSEARCH.init( SO, id , parentid );
      }
      DROP.setElementDisplay(parentid, "block");
    };
    DROP.addLoadEvent(loadfn);
  },

  init: function( SO , id , parentid ){

    if( !document.getElementById || !document.getElementsByTagName ) return;
    var objTarget = document.getElementById( id );
    var objParent = document.getElementById( parentid );
    if (typeof objTarget.innerHTML == "undefined" || typeof objParent.innerHTML == "undefined") return;

    var strOutPut = '';
    objTarget.innerHTML = '';

    strOutPut += '<form action="" method="post">\n';

    strOutPut += '<span class="wrapper"><label for="' + id + '_keywords">' + SO.kw_lbl + '</label><input type="text" id="' + id + '_keywords" class="txt" maxlength="30" /></span>';

    strOutPut += '<span class="wrapper"><label for="' + id + '_category" class="hide">' + SO.cat_lbl + '</label><select id="' + id + '_category">';
    strOutPut += '<option value="">' + SO.cat_lbl + '</option>';
    strOptions = '';
    for( x=0 ; x<JSEARCH.CatItems.length ; x++ ){
      strOptions += JSEARCH.addOption( JSEARCH.CatItems[x].split('|')[1] , JSEARCH.CatItems[x].split('|')[0] , '' , false );
    } 
    strOutPut += strOptions;
    strOutPut += '</select></span>';

    strOutPut += '<span class="wrapper"><label for="' + id + '_jobtype" class="hide">' + SO.cat_lbl + '</label><select id="' + id + '_jobtype">';
    strOutPut += '<option value="">' + SO.jobtype_lbl + '</option>';
    strOptions = '';
    for( x=0 ; x<JSEARCH.JobTypeItems.length ; x++ ){
      strOptions += JSEARCH.addOption( JSEARCH.JobTypeItems[x].split('|')[1] , JSEARCH.JobTypeItems[x].split('|')[0] , '' , false);
    } 
    strOutPut += strOptions;
    strOutPut += '</select></span>';

    strOutPut += '<span class="wrapper"><label for="' + id + '_location" class="hide">' + SO.loc_lbl + '</label><select id="' + id + '_location">';
    strOutPut += '<option value="">' + SO.loc_lbl + '</option>';
    strOptions = '';
    for( x=0 ; x<JSEARCH.LocItems.length ; x++ ){
      strOptions += JSEARCH.addOption( JSEARCH.LocItems[x].split('|')[1] , JSEARCH.LocItems[x].split('|')[0] , '' , false );
    } 
    strOutPut += strOptions;
    strOutPut += '</select></span>';

    strOutPut += '<span class="wrapper"><label for="' + id + '_division" class="hide">' + SO.loc_lbl + '</label><select id="' + id + '_division">';
    strOutPut += '<option value="">' + SO.div_lbl + '</option>';
    strOptions = '';
    for( x=0 ; x<JSEARCH.DivisionItems.length ; x++ ){
      if( SO.div_value == JSEARCH.DivisionItems[x].split('|')[1] ){
        strOptions += JSEARCH.addOption( JSEARCH.DivisionItems[x].split('|')[1] , JSEARCH.DivisionItems[x].split('|')[0] , '' , true );
      }
      else{
        strOptions += JSEARCH.addOption( JSEARCH.DivisionItems[x].split('|')[1] , JSEARCH.DivisionItems[x].split('|')[0] , '' , false );
      }
    } 
    strOutPut += strOptions;
    strOutPut += '</select></span>';

    strOutPut += '<a href="#" title="' + SO.btn_lbl + '" class="btn btn' + SO.btn_type + '" id="' + id + '_btn" target="_blank"><span>' + SO.btn_lbl + '</span></a>\n';
    strOutPut += '</form>\n';
    if ((SO.link_href != undefined) && (SO.link_text != undefined)){
        strOutPut += '<a class="jobsearch_link" target="_blank" href="' + SO.link_href + '">' + SO.link_text + '</a>\n';
    }

     objTarget.innerHTML = strOutPut;

    objButton = document.getElementById( id + '_btn' );
    if( objButton ){
      addEvent( objButton , 'click' , JSEARCH.processClick , false );
    }

    addclass( objTarget , 'selector' );
    objParent.style.overflow = 'visible';
    objParent.style.overflow = '';
  },

  addOption: function( strval , strtext , id , intselected ){
    strIdAttrib = id != '' ? ' id="' + id + '"' : '';
    strSelected = intselected ? ' selected="selected"' : '';
    strTemp = '<option value="' + strval + '"' + strIdAttrib + strSelected + '>' + strtext + '</option>\n';
    return strTemp;
  },

  processClick: function(e){
    var curNode = window.event ? window.event.srcElement: e ? e.target : null;
    if( curNode == null ) return;

    divBase = ascendDOM( curNode , 'div' );
    if( divBase.nodeName.toLowerCase() != 'div' || !divBase.id ) return;

    strSelected = 'http://jobsearch.kellycareernetwork.com/';

    objKw = document.getElementById( divBase.id + '_keywords' );
    objCat = document.getElementById( divBase.id + '_category' );
    objJobType = document.getElementById( divBase.id + '_jobtype' );
    objLoc = document.getElementById( divBase.id + '_location' );
    objDivision = document.getElementById( divBase.id + '_division' );

    strKw = objKw ? escape( objKw.value ) : '';
    strCat = objCat ? objCat.options[objCat.selectedIndex].value : '';
    strJobType = objJobType ? objJobType.options[objJobType.selectedIndex].value : '';
    strLoc = objLoc ? objLoc.options[objLoc.selectedIndex].value : '';
    strDivision = objDivision ? objDivision.options[objDivision.selectedIndex].value : '';

    if( strKw == '' && strCat == '' && strJobType == '' && strLoc == '' && strDivision == '' ){
      curNode.href = strSelected;
    }
    else {
      curNode.href = strSelected + 'jobsearch.asp?lid=' + strLoc + '&fn=' + strCat + '&jt=' + strJobType + '&co=' + strDivision + '&q=' + strKw;
    }

    return true;
  },



  CatItems: [ "Accounting/Finance/Insurance|1","Administrative/Clerical|2","Banking/Real Estate/Mortgage Professionals|558","Biotech/R&D/Science|559","Building Construction/Skilled Trades|544","Business/Strategic Management|3561","Creative/Design|11454","Customer Support/Client Care|545","Editorial/Writing|5623","Education/Training|3","Engineering|4","Food Services/Hospitality|13","Human Resources|5","Installation/Maintenance/Repair|553","IT/Software Development|660","Legal|7","Logistics/Transportation|5625","Manufacturing/Production/Operations|47","Marketing/Product|9007","Medical/Health|3975","Other|11","Project/Program Management|9008","Quality Assurance/Safety|11455","Sales/Retail/Business Development|10","Security/Protective Services|555" ],

  LocItems: [ "Alabama-Anniston|323" , "Alabama-Birmingham|324" , "Alabama-Mobile/Dothan|325" , "Alabama-Montgomery|328" , 
    "Alabama-Northern/Huntsville|326" , "Alabama-Tuscaloosa|329" , "Alaska-Anchorage|318" , "Arizona-Flagstaff|337" , 
    "Arizona-Phoenix|338" , "Arizona-Tucson|340" , "Arkansas-Eastern|333" , "Arkansas-Little Rock|334" , 
    "Arkansas-Western|331" , "California-Anaheim/Huntington Beach|347" , "California-Central Coast|349" , "California-Central Valley|343" , 
    "California-Chico/Eureka|344" , "California-Long Beach|882" , "California-Los Angeles|348" , "California-Marin County/North Bay|20586" , 
    "California-Oakland/East Bay|702" , "California-Orange County|350" , "California-Riverside County|20587" , "California-Sacramento|352" , 
    "California-San Bernardino/Palm Springs|351" , "California-San Diego|354" , "California-San Francisco|355" , "California-Santa Barbara|357" , 
    "California-Silicon Valley/Peninsula|883" , "California-Silicon Valley/San Jose|356" , "California-Ventura County|698" , "Colorado-Boulder/Fort Collins|361" , 
    "Colorado-Colorado Springs|362" , "Colorado-Denver|363" , "Colorado-Denver South|884" , "Colorado-Western/Grand Junction|365" , 
    "Connecticut-Danbury/Bridgeport|367" , "Connecticut-Hartford|368" , "Connecticut-New Haven|689" , "Connecticut-Southeast/New London|885" , 
    "Connecticut-Stamford|369" , "Delaware-Delaware|374" , "District of Columbia-Washington/Metro|371" , "Florida-Daytona|377" , 
    "Florida-Ft. Lauderdale|378" , "Florida-Ft. Myers/Naples|379" , "Florida-Gainesville/Jacksonville|380" , "Florida-Melbourne|382" , 
    "Florida-Miami|383" , "Florida-Orlando|385" , "Florida-Pensacola/Panama City|386" , "Florida-Sarasota/Bradenton|20585" , 
    "Florida-St. Petersburg|388" , "Florida-Tallahassee|389" , "Florida-Tampa|390" , "Florida-West Palm Beach|391" , 
    "Georgia-Atlanta|950" , "Georgia-Atlanta North|899" , "Georgia-Atlanta South|886" , "Georgia-Central/Augusta|395" , 
    "Georgia-Northeast|28888" , "Georgia-Savannah|398" , "Georgia-Southwest|942" , "Hawaii-Hawaii|401" , 
    "Idaho-Boise|412" , "Idaho-Eastern/Twin Falls|413" , "Idaho-Northern|887" , "Illinois-Bloomington/Peoria|700" , 
    "Illinois-Chicago|417" , "Illinois-Chicago North|888" , "Illinois-Chicago Northwest|889" , "Illinois-Chicago South|890" , 
    "Illinois-Chicago West|28886" , "Illinois-Rockford|423" , "Illinois-Southern|419" , "Illinois-Springfield/Champaign|424" , 
    "Indiana-Evansville|426" , "Indiana-Fort Wayne|427" , "Indiana-Gary/Merrillville|891" , "Indiana-Indianapolis|428" , 
    "Indiana-South Bend|430" , "Indiana-Terre Haute|431" , "Iowa-Cedar Rapids|404" , "Iowa-Central/Des Moines|406" , 
    "Iowa-Davenport|939" , "Iowa-Dubuque|29333" , "Iowa-Western/Sioux City|408" , "Kansas-Kansas City|435" , "Kansas-Overland Park|940" , 
    "Kansas-Topeka/Manhattan|434" , "Kansas-Wichita Western|437" , "Kentucky-Bowling Green/Paducah|439" , "Kentucky-Lexington|441" , 
    "Kentucky-Louisville|442" , "Kentucky-Northern Kentucky|28887" , "Louisiana-Baton Rouge|446" , "Louisiana-Lafayette /Lake Charles|447" , 
    "Louisiana-New Orleans|450" , "Louisiana-Northern|449" , "Maine-Central/Augusta|462" ,"Maine-Northern/Bangor|463", "Maine-Southern/Portland|464" , 
    "Maryland-Anne Arundel County|20583" , "Maryland-Baltimore|458" , "Maryland-Columbia|29334" , "Maryland-Frederick/Hagerstown|20589" , 
    "Maryland-Montgomery County|708" , "Maryland-Prince George's County|20588" , "Maryland-Salisbury|460" , "Massachusetts-Boston|453" , 
    "Massachusetts-Boston North|893" , "Massachusetts-Boston South|892" , "Massachusetts-Cape Cod/Islands|20584" , "Massachusetts-Framingham/Worcester|455" , 
    "Massachusetts-Western/Springfield|454" , "Michigan-Ann Arbor|468" , "Michigan-Detroit|470" , "Michigan-Flint/Saginaw|707" , 
    "Michigan-Grand Rapids|472" , "Michigan-Kalamazoo|695" , "Michigan-Lansing|473" , "Michigan-Northern|467" , 
    "Minnesota-Mankato/Rochester|482" , "Minnesota-Minneapolis|483" , "Minnesota-Northern/Duluth|480" , "Minnesota-St. Paul|684" , 
    "Mississippi-Central|502" , "Mississippi-Northern|500" , "Mississippi-Southern|499" , "Missouri-Jefferson City|489" , 
    "Missouri-Kansas City/Independence|491" , "Missouri-Springfield/Joplin|495" , "Missouri-St. Louis|497" , "Montana-Eastern/Billings|505" , 
    "Montana-Western/Missoula|510" , "Nebraska-Lincoln|526" , "Nebraska-Omaha|528" , "Nevada-Las Vegas|541" , 
    "Nevada-Reno|542" , "New Hampshire-Southern|530" , "New Jersey-Central|532" , "New Jersey-Northern|534" , 
    "New Jersey-Southern|533" , "New Mexico-Albuquerque|537" , "New Mexico-Santa Fe|685" , "New York-Albany/Poughkeepsie|544" , 
    "New York-Binghamton/Elmira|545" , "New York-Buffalo|546" , "New York-Long Island|549" , "New York-New York City|550" , 
    "New York-Northern|547" , "New York-Rochester|552" , "New York-Syracuse|553" , "New York-Utica|554" , 
    "New York-Westchester|556" , "North Carolina-Charlotte|512" , "North Carolina-Eastern/Greenville|515" , "North Carolina-Greensboro|514" , 
    "North Carolina-Raleigh/Durham-RTP|516" , "North Carolina-Western/Asheville|517" , "North Carolina-Wilmington/Fayetteville|513" , "North Carolina-Winston Salem|519" , 
    "North Dakota-Eastern|522" , "Ohio-Akron|558" , "Ohio-Cincinnati|559" , "Ohio-Cleveland|560" , 
    "Ohio-Columbus/Zanesville|561" , "Ohio-Dayton|562" , "Ohio-Middletown|28890" , "Ohio-Northwest|563" , 
    "Ohio-Youngstown|566" , "Oklahoma-Central-Oklahoma City|569" , "Oklahoma-Eastern/Tulsa|571" , "Oregon-Central|574" , 
    "Oregon-Portland|578" , "Oregon-Salem|579" , "Oregon-Southern|576" , "Pennsylvania-Allentown|581" , 
    "Pennsylvania-Erie|582" , "Pennsylvania-Harrisburg|583" , "Pennsylvania-Philadelphia|585" , "Pennsylvania-Pittsburgh|586" , 
    "Pennsylvania-Reading|29332" , "Pennsylvania-Wilkes Barre|588" , "Pennsylvania-York/Lancaster|703" , "Puerto Rico-San Juan|1384" , 
    "Rhode Island-Providence|591" , "South Carolina-Columbia|594" , "South Carolina-Florence/Myrtle Beach|595" , "South Carolina-Greenville/Spartanburg|596" , 
    "South Carolina-South/Charleston|593" , "South Dakota-East/Sioux Falls|598" , "South Dakota-West/Rapid City|600" , "Tennessee-Chattanooga|603" , "Tennessee-Knoxville|605" , 
    "Tennessee-Memphis|606" , "Tennessee-Nashville|607" , "Texas-Abilene/Odessa|610" , "Texas-Amarillo/Lubbock|611" , 
    "Texas-Austin|612" , "Texas-Dallas|615" , "Texas-East/Tyler/Beaumont|613" , "Texas-El Paso|616" , 
    "Texas-Fort Worth|686" , "Texas-Houston|619" , "Texas-San Antonio|624" , "Texas-South/Corpus Christi|618" , 
    "Texas-Waco|627" , "Texas-Wichita Falls|628" , "Utah-Provo|692" , "Utah-Salt Lake City|630" , "Utah-St. George|29335" , 
    "Vermont-Northern|529" , "Vermont-Southern|706" , "Virginia-Alexandria|894" , "Virginia-Charlottesville/Harrisonburg|634" , 
    "Virginia-Fairfax|693" , "Virginia-McLean/Arlington|895" , "Virginia-Norfolk/Hampton Roads|635" , "Virginia-Northern|701" , 
    "Virginia-Richmond|637" , "Virginia-Roanoke|638" , "Virginia-Southwest|20590" , "Virginia-Vienna|694" , 
    "Washington-Bellevue/Redmond|896" , "Washington-Central/Yakima|649" , "Washington-Eastern/Spokane|648" , "Washington-Seattle|647" , 
    "Washington-Tacoma/Olympia|697" , "West Virginia-Northern|663" , "West Virginia-Southern|661" , "Wisconsin-Eau Claire/LaCrosse|654" , 
    "Wisconsin-Green Bay/Appleton|653" , "Wisconsin-Madison|655" , "Wisconsin-Milwaukee|656" , "Wisconsin-Northern|659", "Wyoming-Cheyenne|668" ],

  DivisionItems: [ "Kelly Corporate and Branches|xkellyfcpkcnx" , "Automotive|xkellyasgkcnx" , 
    "Engineering|xkellyerkcnx" , "Financial|xkellyfikcnx,xkellytrnkcnx" , 
    "Healthcare|xkellyhrkcnx" , 
    "IT|xkellyitkcnx" , "Legal|xkellylrkcnx" , 
    "Scientific|xkellysrkcnx" , "Security Clearance|xkellykfskcnx" ],

  JobTypeItems: [ "All|0" , "Employee|4" , "Contract|3", "Intern|5" , "Seasonal|20"]

};
