var btn = {init : function(){if(!document.getElementById || !document.createElement || !document.appendChild) return false;as=btn.getElementsByClassName('btn(.*)');for (i=0;i<as.length; i++){if( as[i].tagName == "INPUT" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" ) ) {var a1=document.createElement("a");a1.appendChild(document.createTextNode(as[i].value));
a1.className=as[i].className;a1.id=as[i].id;$(a1).attr("name",$(as[i]).attr("name"));
$(a1).attr("value",$(as[i]).attr("value"));as[i] = as[i].parentNode.replaceChild(a1, as[i]);as[i] = a1;as[i].style.cursor = "pointer";}else if(as[i].tagName=="A"){var tt=as[i].childNodes;}else{return false};var i1=document.createElement('i');var i2=document.createElement('i');var s1=document.createElement('span');var s2=document.createElement('span');s1.appendChild(i1);
s1.appendChild(s2);while(as[i].firstChild){s1.appendChild(as[i].firstChild);}
as[i].appendChild(s1);as[i] = as[i].insertBefore(i2,s1);}
btn.addEvent(document.getElementById('submit_btn'),'click',function(){var form=btn.findForm(this);$(form).append("<input type='hidden' name='"+
$(this).attr("name")+"' value='" + $(this).attr("value")
+"'>")
$(form).submit();});
btn.addEvent(document.getElementById('submit_btn2'),'click',function(){var form=btn.findForm(this);$(form).append("<input type='hidden' name='"+
$(this).attr("name")+"' value='" + $(this).attr("value")
+"'>");$(form).submit();});btn.addEvent(document.getElementById('submit_btn3'),'click',function(){var form=btn.findForm(this);$(form).append("<input type='hidden' name='"+
$(this).attr("name")+"' value='" + $(this).attr("value")
+"'>")
$(form).submit();});
btn.addEvent(document.getElementById('reset_btn*'),'click',function(){var form=btn.findForm(this);form.reset();});},
findForm : function(f) {while(f.tagName!="FORM"){f=f.parentNode;}
return f;},
addEvent : function(obj,type,fn) {if(obj){if(obj.addEventListener) {obj.addEventListener(type,fn,false);}else if(obj.attachEvent){obj["e"+type+fn] = fn;obj[type+fn] = function(){obj["e"+type+fn]( window.event );}
obj.attachEvent("on"+type, obj[type+fn]);}}},
getElementsByClassName : function(className,tag,elm) {var testClass=new RegExp("(^|\s)" + className + "(\s|$)");var tag=tag || "*";var elm=elm || document;var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);var returnElements = [];var current;var length=elements.length;for(var i=0;i<length; i++){current=elements[i];if(testClass.test(current.className)){returnElements.push(current);}}
return returnElements;}}
$(document).ready(function(){btn.init();return false;});
var autocompletion_cache = {};var geo_coords = {};var longest_cached=function (term){for(i=term.length;i>0;i--){sub=request_term.substr(0,i);if(autocompletion_cache[sub])
return sub;}
return false;}
var retrieve_suggestions=function (request_term){term=longest_cached(request_term);var pre_suggestions=autocompletion_cache[term];var suggestions=new Array;for(j=0;j<pre_suggestions.length;j++){if(pre_suggestions[j].substr(0,request_term.length).toLowerCase()==request_term)
suggestions.push(pre_suggestions[j])}
return suggestions;}
$(document).ready(function(){function TreeComplete(request,callback){request_term=request.term.toLowerCase().replace("/","*");request_term=request_term.replace(/^\s+|\s+$/g,"");if(request_term.length==0) return;if(autocompletion_cache[request_term]){callback(autocompletion_cache[request_term]);return;}
term=longest_cached(request_term);if(term){var suggestions=retrieve_suggestions(request_term);}if((term) &&(autocompletion_cache[term].length<10)){callback(suggestions);return;}else{var retrieve_request=function (request_term,callback) {$.ajax({url: "/res/autocompletion/"+request_term+".json",
cache:true,
success: function(data) {var json;if(typeof(data)=="string")
json=jQuery.parseJSON(data);else json=data;for (key in json){if(key!="##node_coords")
autocompletion_cache[key.toLowerCase()]=json[key];}if(autocompletion_cache[request_term])
callback(autocompletion_cache[request_term]);var coords=json["##node_coords"];for (key in coords) geo_coords[key] = coords[key];},
error: function(){if(term) {var suggestions=retrieve_suggestions(request_term);callback (suggestions);}else{if(request_term.length>0)
retrieve_request(request_term.substr(0,request_term.length-1), callback);}}});}
retrieve_request(request_term,callback)}}
$("#id_where").autocomplete({"source":TreeComplete,
"focus":function(event,ui){var chosen=ui.item.value;}})
$("#id_where").change(function(){$("#id_lat").val("")
$("#id_long").val("")});$("#form-search").submit(function(){var coords=geo_coords[$("#id_where").val()];if(coords){coords=coords.split(":");$("#id_lat").val(coords[0])
$("#id_long").val(coords[1])}else if($("#id_lat").length && $("#id_long").length){if($("#id_where").val().length==0)
{$("#id_radius").val("");$("#id_lat,#id_long").val("");}}
else $("#id_lat,#id_long").val("");})})

var cats = ["Club & Konzert", "Musical", "Kinder & Familie", "Märkte & Feste", "Kinofilme",
"Comedy & Kabarett", "Lesungen & Vorträge", "Sport", "Erlebnis & Aktivitäten",
"Messen & Kongresse", "Musik", "Kultur", "Theater"];var rotate=true;var i=0;function rotateCats () {if(rotate){$("#id_what").attr("placeholder", "z.B. "+cats[i]);i++;if(i==cats.length){i=0;}
setTimeout("rotateCats()",2000);}else{return false;}}
$(function(){var date=new Date();var month = (date.getMonth() + 1).toString();if(month.length==1){month="0" + month;}
var curr_date = (date.getDate()).toString() + "." + month + "." + (date.getFullYear()).toString();var where_placeholder = "z.B. Berlin oder NRW";var when_placeholder = "z.B. Morgen oder " + curr_date;$("#id_where").attr("placeholder", where_placeholder);if($("#geo_where").val().length>0){$("#id_where").attr("placeholder","z.B. "+$("#geo_where").val());}
$("#id_when").attr("placeholder", when_placeholder);var i=document.createElement('input');if('placeholder' in i){var id_what = $("#id_what").attr("placeholder");if(id_what!=undefined){id_what=id_what.replace("z.B. ", "");}if($.inArray(id_what,cats) != -1 || id_what == ""){rotate=true;rotateCats();}}else{$("#id_what").attr("placeholder", "z.B. Musical, Theater, Musik");}});
