var animatedcollapse={divholders:{},divgroups:{},lastactiveingroup:{},preloadimages:[],show:function(divids){if(typeof divids=="object"){for(var i=0;i<divids.length;i++)
this.showhide(divids[i],"show")}
else
{this.showhide(divids,"show")
if(divids=='errormsg'||divids=='successmsg'||divids=='infomsg'||divids=='warningmsg')
setTimeout("animatedcollapse.hide('"+divids+"');",3000);}},hide:function(divids){if(typeof divids=="object"){for(var i=0;i<divids.length;i++)
this.showhide(divids[i],"hide")}
else
this.showhide(divids,"hide")},toggle:function(divid){if(typeof divid=="object")
divid=divid[0]
this.showhide(divid,"toggle")},addDiv:function(divid,attrstring){this.divholders[divid]=({id:divid,$divref:null,attrs:attrstring})
this.divholders[divid].getAttr=function(name){var attr=new RegExp(name+"=([^,]+)","i")
return(attr.test(this.attrs)&&parseInt(RegExp.$1)!=0)?RegExp.$1:null}
this.currentid=divid
return this},showhide:function(divid,action){var $divref=this.divholders[divid].$divref
if(this.divholders[divid]&&$divref.length==1){var targetgroup=this.divgroups[$divref.attr('groupname')]
if($divref.attr('groupname')&&targetgroup.count>1&&(action=="show"||action=="toggle"&&$divref.css('display')=='none')){if(targetgroup.lastactivedivid&&targetgroup.lastactivedivid!=divid)
this.slideengine(targetgroup.lastactivedivid,'hide')
this.slideengine(divid,'show')
targetgroup.lastactivedivid=divid}
else{this.slideengine(divid,action)}}},slideengine:function(divid,action){var $divref=this.divholders[divid].$divref
var $togglerimage=this.divholders[divid].$togglerimage
if(this.divholders[divid]&&$divref.length==1){var animateSetting={height:action}
if($divref.attr('fade'))
animateSetting.opacity=action
$divref.animate(animateSetting,$divref.attr('speed')?parseInt($divref.attr('speed')):500,function(){if($togglerimage){$togglerimage.attr('src',($divref.css('display')=="none")?$togglerimage.data('srcs').closed:$togglerimage.data('srcs').open)}
if(animatedcollapse.ontoggle){try{animatedcollapse.ontoggle(jQuery,$divref.get(0),$divref.css('display'))}
catch(e){alert("An error exists inside your \"ontoggle\" function:\n\n"+e+"\n\nAborting execution of function.")}}})
return false}},generatemap:function(){var map={}
for(var i=0;i<arguments.length;i++){if(arguments[i][1]!=null){map[arguments[i][0]]=arguments[i][1]}}
return map},init:function(){var ac=this
jQuery(document).ready(function($){animatedcollapse.ontoggle=animatedcollapse.ontoggle||null
var urlparamopenids=animatedcollapse.urlparamselect()
var persistopenids=ac.getCookie('acopendivids')
var groupswithpersist=ac.getCookie('acgroupswithpersist')
if(persistopenids!=null)
persistopenids=(persistopenids=='nada')?[]:persistopenids.split(',')
groupswithpersist=(groupswithpersist==null||groupswithpersist=='nada')?[]:groupswithpersist.split(',')
jQuery.each(ac.divholders,function(){this.$divref=$('#'+this.id)
if((this.getAttr('persist')||jQuery.inArray(this.getAttr('group'),groupswithpersist)!=-1)&&persistopenids!=null){var cssdisplay=(jQuery.inArray(this.id,persistopenids)!=-1)?'block':'none'}
else{var cssdisplay=this.getAttr('hide')?'none':null}
if(urlparamopenids[0]=="all"||jQuery.inArray(this.id,urlparamopenids)!=-1){cssdisplay='block'}
else if(urlparamopenids[0]=="none"){cssdisplay='none'}
this.$divref.css(ac.generatemap(['height',this.getAttr('height')],['display',cssdisplay]))
this.$divref.attr(ac.generatemap(['groupname',this.getAttr('group')],['fade',this.getAttr('fade')],['speed',this.getAttr('speed')]))
if(this.getAttr('group')){var targetgroup=ac.divgroups[this.getAttr('group')]||(ac.divgroups[this.getAttr('group')]={})
targetgroup.count=(targetgroup.count||0)+1
if(jQuery.inArray(this.id,urlparamopenids)!=-1){targetgroup.lastactivedivid=this.id
targetgroup.overridepersist=1}
if(!targetgroup.lastactivedivid&&this.$divref.css('display')!='none'||cssdisplay=="block"&&typeof targetgroup.overridepersist=="undefined")
targetgroup.lastactivedivid=this.id
this.$divref.css({display:'none'})}})
jQuery.each(ac.divgroups,function(){if(this.lastactivedivid&&urlparamopenids[0]!="none")
ac.divholders[this.lastactivedivid].$divref.show()})
if(animatedcollapse.ontoggle){jQuery.each(ac.divholders,function(){animatedcollapse.ontoggle(jQuery,this.$divref.get(0),this.$divref.css('display'))})}
var $allcontrols=$('a[rel]').filter('[rel^="collapse["], [rel^="expand["], [rel^="toggle["]')
$allcontrols.each(function(){this._divids=this.getAttribute('rel').replace(/(^\w+)|(\s+)/g,"").replace(/[\[\]']/g,"")
if(this.getElementsByTagName('img').length==1&&ac.divholders[this._divids]){animatedcollapse.preloadimage(this.getAttribute('data-openimage'),this.getAttribute('data-closedimage'))
$togglerimage=$(this).find('img').eq(0).data('srcs',{open:this.getAttribute('data-openimage'),closed:this.getAttribute('data-closedimage')})
ac.divholders[this._divids].$togglerimage=$(this).find('img').eq(0)
ac.divholders[this._divids].$togglerimage.attr('src',(ac.divholders[this._divids].$divref.css('display')=="none")?$togglerimage.data('srcs').closed:$togglerimage.data('srcs').open)}
$(this).click(function(){var relattr=this.getAttribute('rel')
var divids=(this._divids=="")?[]:this._divids.split(',')
if(divids.length>0){animatedcollapse[/expand/i.test(relattr)?'show':/collapse/i.test(relattr)?'hide':'toggle'](divids)
return false}})})
$(window).bind('unload',function(){ac.uninit()})})},uninit:function(){var opendivids='',groupswithpersist=''
jQuery.each(this.divholders,function(){if(this.$divref.css('display')!='none'){opendivids+=this.id+','}
if(this.getAttr('group')&&this.getAttr('persist'))
groupswithpersist+=this.getAttr('group')+','})
opendivids=(opendivids=='')?'nada':opendivids.replace(/,$/,'')
groupswithpersist=(groupswithpersist=='')?'nada':groupswithpersist.replace(/,$/,'')
this.setCookie('acopendivids',opendivids)
this.setCookie('acgroupswithpersist',groupswithpersist)},getCookie:function(Name){var re=new RegExp(Name+"=[^;]*","i");if(document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1]
return null},setCookie:function(name,value,days){if(typeof days!="undefined"){var expireDate=new Date()
expireDate.setDate(expireDate.getDate()+days)
document.cookie=name+"="+value+"; path=/; expires="+expireDate.toGMTString()}
else
document.cookie=name+"="+value+"; path=/"},urlparamselect:function(){window.location.search.match(/expanddiv=([\w\-_,]+)/i)
return(RegExp.$1!="")?RegExp.$1.split(","):[]},preloadimage:function(){var preloadimages=this.preloadimages
for(var i=0;i<arguments.length;i++){if(arguments[i]&&arguments[i].length>0){preloadimages[preloadimages.length]=new Image()
preloadimages[preloadimages.length-1].src=arguments[i]}}}}
;jQuery.autocomplete=function(input,options){var me=this;var $input=$(input).attr("autocomplete","off");if(options.inputClass)$input.addClass(options.inputClass);var results=document.createElement("div");var $results=$(results);$results.hide().addClass(options.resultsClass).css("position","absolute");if(options.width>0)$results.css("width",options.width);$("body").append(results);input.autocompleter=me;var timeout=null;var prev="";var active=-1;var cache={};var keyb=false;var hasFocus=false;var lastKeyPressCode=null;function flushCache(){cache={};cache.data={};cache.length=0;};flushCache();if(options.data!=null){var sFirstChar="",stMatchSets={},row=[];if(typeof options.url!="string")options.cacheLength=1;for(var i=0;i<options.data.length;i++){row=((typeof options.data[i]=="string")?[options.data[i]]:options.data[i]);if(row[0].length>0){sFirstChar=row[0].substring(0,1).toLowerCase();if(!stMatchSets[sFirstChar])stMatchSets[sFirstChar]=[];stMatchSets[sFirstChar].push(row);}}
for(var k in stMatchSets){options.cacheLength++;addToCache(k,stMatchSets[k]);}}
$input.keydown(function(e){lastKeyPressCode=e.keyCode;switch(e.keyCode){case 38:e.preventDefault();moveSelect(-1);break;case 40:e.preventDefault();moveSelect(1);break;case 9:case 13:if(selectCurrent()){$input.get(0).blur();e.preventDefault();}
break;default:active=-1;if(timeout)clearTimeout(timeout);timeout=setTimeout(function(){onChange();},options.delay);break;}}).focus(function(){hasFocus=true;}).blur(function(){hasFocus=false;hideResults();});hideResultsNow();function onChange(){if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32))return $results.hide();var v=$input.val();if(v==prev)return;prev=v;if(v.length>=options.minChars){$input.addClass(options.loadingClass);requestData(v);}else{$input.removeClass(options.loadingClass);$results.hide();}};function moveSelect(step){var lis=$("li",results);if(!lis)return;active+=step;if(active<0){active=0;}else if(active>=lis.size()){active=lis.size()-1;}
lis.removeClass("ac_over");$(lis[active]).addClass("ac_over");};function selectCurrent(){var li=$("li.ac_over",results)[0];if(!li){var $li=$("li",results);if(options.selectOnly){if($li.length==1)li=$li[0];}else if(options.selectFirst){li=$li[0];}}
if(li){selectItem(li);return true;}else{return false;}};function selectItem(li){if(!li){li=document.createElement("li");li.extra=[];li.selectValue="";}
var v=$.trim(li.selectValue?li.selectValue:li.innerHTML);input.lastSelected=v;prev=v;$results.html("");$input.val(v);hideResultsNow();if(options.onItemSelect)setTimeout(function(){options.onItemSelect(li)},1);};function createSelection(start,end){var field=$input.get(0);if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};function autoFill(sValue){if(lastKeyPressCode!=8){$input.val($input.val()+sValue.substring(prev.length));createSelection(prev.length,sValue.length);}};function showResults(){var pos=findPos(input);var iWidth=(options.width>0)?options.width:$input.width();$results.css({width:parseInt(iWidth)+"px",top:(pos.y+input.offsetHeight)+"px",left:pos.x+"px"}).show();};function hideResults(){if(timeout)clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){if(timeout)clearTimeout(timeout);$input.removeClass(options.loadingClass);if($results.is(":visible")){$results.hide();}
if(options.mustMatch){var v=$input.val();if(v!=input.lastSelected){selectItem(null);}}};function receiveData(q,data){if(data){$input.removeClass(options.loadingClass);results.innerHTML="";if(!hasFocus||data.length==0)return hideResultsNow();if($.browser.msie){$results.append(document.createElement('iframe'));}
results.appendChild(dataToDom(data));if(options.autoFill&&($input.val().toLowerCase()==q.toLowerCase()))autoFill(data[0][0]);showResults();}else{hideResultsNow();}};function parseData(data){if(!data)return null;var parsed=[];var rows=data.split(options.lineSeparator);for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){parsed[parsed.length]=row.split(options.cellSeparator);}}
return parsed;};function dataToDom(data){var ul=document.createElement("ul");var num=data.length;if((options.maxItemsToShow>0)&&(options.maxItemsToShow<num))num=options.maxItemsToShow;for(var i=0;i<num;i++){var row=data[i];if(!row)continue;var li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
li.extra=extra;ul.appendChild(li);$(li).hover(function(){$("li",ul).removeClass("ac_over");$(this).addClass("ac_over");active=$("li",ul).indexOf($(this).get(0));},function(){$(this).removeClass("ac_over");}).click(function(e){e.preventDefault();e.stopPropagation();selectItem(this)});}
return ul;};function requestData(q){if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){receiveData(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data);addToCache(q,data);receiveData(q,data);});}else{$input.removeClass(options.loadingClass);}};function makeUrl(q){var url=options.url+"?q="+encodeURI(q);for(var i in options.extraParams){url+="&"+i+"="+encodeURI(options.extraParams[i]);}
return url;};function loadFromCache(q){if(!q)return null;if(cache.data[q])return cache.data[q];if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var qs=q.substr(0,i);var c=cache.data[qs];if(c){var csub=[];for(var j=0;j<c.length;j++){var x=c[j];var x0=x[0];if(matchSubset(x0,q)){csub[csub.length]=x;}}
return csub;}}}
return null;};function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};this.flushCache=function(){flushCache();};this.setExtraParams=function(p){options.extraParams=p;};this.findValue=function(){var q=$input.val();if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){findValueCallback(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data)
addToCache(q,data);findValueCallback(q,data);});}else{findValueCallback(q,null);}}
function findValueCallback(q,data){if(data)$input.removeClass(options.loadingClass);var num=(data)?data.length:0;var li=null;for(var i=0;i<num;i++){var row=data[i];if(row[0].toLowerCase()==q.toLowerCase()){li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
li.extra=extra;}}
if(options.onFindValue)setTimeout(function(){options.onFindValue(li)},1);}
function addToCache(q,data){if(!data||!q||!options.cacheLength)return;if(!cache.length||cache.length>options.cacheLength){flushCache();cache.length++;}else if(!cache[q]){cache.length++;}
cache.data[q]=data;};function findPos(obj){var curleft=obj.offsetLeft||0;var curtop=obj.offsetTop||0;while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}
return{x:curleft,y:curtop};}}
jQuery.fn.autocomplete=function(url,options,data){options=options||{};options.url=url;options.data=((typeof data=="object")&&(data.constructor==Array))?data:null;options.inputClass=options.inputClass||"ac_input";options.resultsClass=options.resultsClass||"ac_results";options.lineSeparator=options.lineSeparator||"\n";options.cellSeparator=options.cellSeparator||"|";options.minChars=options.minChars||1;options.delay=options.delay||400;options.matchCase=options.matchCase||0;options.matchSubset=options.matchSubset||1;options.matchContains=options.matchContains||0;options.cacheLength=options.cacheLength||1;options.mustMatch=options.mustMatch||0;options.extraParams=options.extraParams||{};options.loadingClass=options.loadingClass||"ac_loading";options.selectFirst=options.selectFirst||false;options.selectOnly=options.selectOnly||false;options.maxItemsToShow=options.maxItemsToShow||-1;options.autoFill=options.autoFill||false;options.width=parseInt(options.width,10)||0;this.each(function(){var input=this;new jQuery.autocomplete(input,options);});return this;}
jQuery.fn.autocompleteArray=function(data,options){return this.autocomplete(null,options,data);}
jQuery.fn.indexOf=function(e){for(var i=0;i<this.length;i++){if(this[i]==e)return i;}
return-1;};
;animatedcollapse.addDiv('postAdform','fade=1');animatedcollapse.init();function postAds()
{if($('#postAd').hasClass('postad'))
{$('#postAd').removeClass().addClass('postadselected');$('#message').html('');$('#mesImage').html('');showTags();showImages();document.getElementById('postadContainer').style.display='none';}
else
{$('#postAd').removeClass().addClass('postad');document.getElementById('postadContainer').style.display='';}
animatedcollapse.toggle('postAdform');}
function imageSort()
{$("#sorting ul").sortable({stop:function(){qString=$(this).sortable("serialize");$('#mesImage').fadeIn("slow");$('#mesImage').html("Aktualisieren...");$.ajax({type:"POST",url:"usave.php",data:qString,cache:false,success:function(html){$('#mesImage').html("Die Reihenfolge wurde aktualisiert.");}});}});$("#sorting ul").disableSelection();}
function disableField(defaulttext)
{var searchtext=$('#search_text').val();if(defaulttext==searchtext)
document.getElementById('search_text').value="";document.getElementById('search_text').className="textbox";return false;}
var closedialog=0;$(document).ready(function(){var closedialog;function overlayclickclose(){if(closedialog){}}
$('#mydialogtel').dialog({bgiframe:true,autoOpen:false,modal:true,width:500,resizable:false,open:function(){closedialog=1;$(document).bind('click',overlayclickclose);},focus:function(){closedialog=0;},close:function(){$(document).unbind('click');},buttons:{Submit:function(){var telnumber=$('#telephone_number').val();$.post("usave.php",{telnumber:telnumber},function(data){if(data=='smsok')
{$('#sms_code').focus();$('#sms_code').attr('value','');$('#sms_number').html($('#telephone_number').val());$('#mydialogsms').dialog('open');}
else if(data=='smsokdef')
{$('#sms_code').focus();$('#sms_code').attr('value','');$('#sms_number').html($('#telephone_number').val());$('#mydialogsms').dialog('open');}
else if(data=='LIMIT_EXCEEDED')
{alert('Die maximale Anzahl an SMS pro Trag wurde erreicht.');}
else
{$('#sms_code').attr('value','');$('#mydialogtel').dialog('open');$('#telephone_number').focus();}});$(this).dialog('close');}}});$('#opendialogtel').click(function(){$('#mydialogtel').dialog('open');closedialog=0;});});var closedialog=1;$(document).ready(function(){var closedialog;function overlayclickclose(){if(closedialog){}}
$('#mydialogsms').dialog({bgiframe:true,autoOpen:false,modal:true,width:500,resizable:false,open:function(){closedialog=1;$(document).bind('click',overlayclickclose);},focus:function(){closedialog=0;},close:function(){$(document).unbind('click');},buttons:{Submit:function(){var sms_code=$('#sms_code').val();$.post("usave.php",{smscode:sms_code},function(data){var returntext=data.text;if(returntext=='smscodeok')
{$('#categorypay').html('Gleich haben Sie es geschafft');$('#amount').attr('value','');$('#totalpay').html('');var paybutton='<input class="submit" value="Weiter" type="button" onclick="activateNoPayAd()" />';$('#pay_button').html(paybutton);$('#mydialogpaypal').dialog('open');}
else if(returntext=='smscodeokpay')
{$('#item_number').attr('value',data.adid);$('#amount').attr('value',data.payamt);var adtitle=$('#ad_title').val();$('#item_name').attr('value','inserate.at - '+adtitle);$('#custom').attr('value','C');var catpayment="Preis für ein Inserat dieser Kategorie: "+data.payamt+" EUR";$('#categorypay').html(catpayment);var totalpayment="Gesamtbetrag: "+data.payamt+" EUR";$('#totalpay').html(totalpayment);var paybutton='<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">';$('#pay_button').html(paybutton);$('#mydialogpaypal').dialog('open');}
else
{alert("Der eingegebene SMS-Code ist falsch. Fordern Sie einen neuen Code an.")
$('#mydialogtel').dialog('open');$('#telephone_number').focus();}},'json');$(this).dialog('close');}}});$('#opendialogsms').click(function(){$('#mydialogsms').dialog('open');closedialog=0;});});function addPost()
{adtitle=trim($('#ad_title').val());addesc=trim($('#ad_description').val());adtags=trim($('#ad_tags').val());adpretags=trim($('#tagHidden').val());adsubtags=trim($('#subCatHidden').val());adkeytags=trim($('#keywordTagHidden').val());ademail=trim($('#ad_email').val());$('#validation').html('Inserat wird gespeichert...');if(adtitle==""||addesc==""||adpretags==""){$('#validation').html('Füllen Sie alle gekennzeichneten Felder aus.');}
else if(adtitle.length>60)
{$('#validation').html('Der Inseratentitel darf maximal 60 Zeichen lang sein.');}
else if((ademail!="")&&(!checkEmail(ademail)))
{$('#validation').html('Die eingegebene E-Mail Adresse ist ungültig.');$('#ad_email').focus();}
else
{$.post("usave.php",{ad_title:adtitle,ad_description:addesc,ad_tags:adtags,ad_pretags:adpretags,adsubtags:adsubtags,adkeytags:adkeytags,ad_email:ademail},function(data){var returntext=data.text;if(returntext=='oksms'){$('#mydialogtel').dialog('open');$('#telephone_number').focus();}
else if(returntext=='oknosms')
{$('#categorypay').html('Gleich haben Sie es geschafft!');$('#amount').attr('value','');$('#totalpay').html('');var paybutton='<input class="submit" value="Weiter" type="button" onclick="activateNoPayAd()" />';$('#pay_button').html(paybutton);$('#mydialogpaypal').dialog('open');}
else if(returntext=='oknosmspay')
{$('#item_number').attr('value',data.adid);$('#amount').attr('value',data.payamt);var adtitle=$('#ad_title').val();$('#item_name').attr('value','inserate.at - '+adtitle);$('#custom').attr('value','C');var catpayment="Preis für ein Inserat dieser Kategorie: "+data.payamt+" EUR";;$('#categorypay').html(catpayment);var totalpayment="Gesamtbetrag: "+data.payamt+" EUR";$('#totalpay').html(totalpayment);var paybutton='<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">';$('#pay_button').html(paybutton);$('#mydialogpaypal').dialog('open');}
else if(returntext=='bad')
{$('#validation').html('Das Inserat kann aufgrund des Inhalts nicht aufgegeben werden.');}
else
{$('#validation').html('Füllen Sie alle gekennzeichneten Felder aus.');}},'json');}}
function activateNoPayAd()
{if(document.getElementById('ad_option_std').checked==false&&document.getElementById('ad_option_com').checked==false)
{alert("Bitte wählen Sie die Art des Inserats.");}
else
{var ad_title=$('#ad_title').val();$.post("usave.php",{active_nopayad:1,adtitleurl:ad_title},function(data){var returntext=data.text;if(returntext=='okadactive'){$('#message').html('Das Inserat wurde erfolgreich aufgegeben.');$('#validation').html('');$('#listImages').html('');$('#ad_title').attr('value','');$('#ad_description').attr('value','');$('#ad_tags').attr('value','');$('#ad_email').attr('value','');$('#subCatList').html('Keine Unterkategorie vorhanden');$('#keywordTagList').html('Keine verwandten Begriffe erkannt');$('#tagHidden').attr('value','');$('#subCatHidden').attr('value','');$('#keywordTagHidden').attr('value','');$('#tagAddedList').html('');$('#subCatAddedList').html('');$('#keywordTagAddedList').html('');$('#sms_code').attr('value','');document.getElementById('listColRight').style.display='none';postAds();ad_id=data.adid;adtitle=data.title;adtitle=adtitle.replace(/[^a-zA-Z0-9öÖäÄüÜß]+/g,'-');window.location=ad_id+"-"+adtitle+".html";}},'json');}}
var closedialog=0;$(document).ready(function(){var closedialog;function overlayclickclose(){if(closedialog){}}
$('#mydialogpaypal').dialog({bgiframe:true,autoOpen:false,modal:true,width:500,resizable:false,open:function(){closedialog=1;$(document).bind('click',overlayclickclose);},focus:function(){closedialog=0;},close:function(){$(document).unbind('click');cancelPost();location.reload();},reset:{Submit:function(){$.post("usave.php",{paypal:1},function(data){});$(this).dialog('close');}}});$('#opendialogpaypal').click(function(){$('#mydialogpaypal').dialog('open');closedialog=0;});});function showImages()
{$.post("usave.php",{images:1},function(data){if(data!=''){$('#listImages').html(data);imageSort();}});}
function deleteImage(imageid)
{$('#mesImage').html('<img src="images/loading.gif" alt="loading" /> Entferne Bild...');$.post("usave.php",{imageid:imageid},function(data){if(data!=''){showImages();}});}
function showTags()
{$.post("usave.php",{taglist:1},function(data){if(data!=''){$('#tagList').html(data);document.getElementById('tagListNew').style.display='none';document.getElementById('tagList').style.display='';}});}
function addTags(tagid)
{var tid;tid=$('#tagHidden').val();matchPos=tid.search(","+tagid);if(matchPos==-1)
tid=","+tagid;$('#tagHidden').attr('value',tid);document.getElementById('tagListNew').style.display='';showSelectedTags();showAdvertisementOptions();}
function showSelectedTags()
{tags=$('#tagHidden').val();$.post("usave.php",{tags:tags},function(data){if(data!=''){$('#tagAddedList').html(data);document.getElementById('tagListNew').style.display='none';document.getElementById('listColRight').style.display='';document.getElementById('tagAddedList').style.display='';}});showSubCategory();$('#subCatHidden').attr('value',"");showSelectedSubCat();}
function showAdvertisementOptions()
{tags=$('#tagHidden').val();$.post("usave.php",{payoptions:tags},function(data){if(data!=''){$('#payoptions').html(data);}});}
function updatePaymentAmount()
{tags=$('#tagHidden').val();var adoption;var payment_top;var payment_bold;if(document.formpaymentoptions.ad_option)
{if(!document.formpaymentoptions.ad_option[0].checked&&!document.formpaymentoptions.ad_option[1].checked)
{alert("Bitte wählen Sie die Art des Inserats.");return false;}
if(document.formpaymentoptions.ad_option[1].checked)
adoption=document.formpaymentoptions.ad_option[1].value;else
adoption=document.formpaymentoptions.ad_option[0].value;}
if(document.formpaymentoptions.payment_top.checked)
payment_top=document.formpaymentoptions.payment_top.value;if(document.formpaymentoptions.payment_bold.checked)
payment_bold=document.formpaymentoptions.payment_bold.value;$('#totalpay').html('<img src="images/loading.gif">');$.post("usave.php",{payamount_update:tags,ad_option:adoption,payment_top:payment_top,payment_bold:payment_bold},function(data){if(data!="")
{var totamount=data.amount;if(totamount>0)
{$('#amount').attr('value',totamount);var adid=data.adid;$('#item_number').attr('value',adid);var adtitle=$('#ad_title').val();$('#item_name').attr('value','inserate.at - '+adtitle);var custom=data.custom;$('#custom').attr('value',custom);var totalpayment="Gesamtbetrag: "+totamount+" EUR";$('#totalpay').html(totalpayment);var paybutton='<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">';$('#pay_button').html(paybutton);}
else
{var paybutton='<input class="submit" value="Weiter" type="button" onclick="activateNoPayAd()" />';$('#pay_button').html(paybutton);$('#totalpay').html('');$('#amount').attr('value','');}}},'json');}
function deleteTag(tagid)
{var tid;tid=$('#tagHidden').val();tid=tid.replace(","+tagid,"");$('#tagHidden').attr('value',tid);document.getElementById('tagListNew').style.display='';showSelectedTags();showSelectedSubCat();}
function showSubCategory()
{subcategory=$('#tagHidden').val();$.post("usave.php",{subcategory:subcategory,},function(data){if(data!=''){$('#subCatList').html(data);document.getElementById('subCatListNew').style.display='none';document.getElementById('subCatList').style.display='';}});}
function addSubCat(subcatid)
{var sid;sid=$('#subCatHidden').val();matchPos=sid.search(","+subcatid);if(matchPos==-1)
sid=sid+","+subcatid;$('#subCatHidden').attr('value',sid);document.getElementById('subCatListNew').style.display='';showSelectedSubCat();}
function showSelectedSubCat()
{tags_sub=$('#tagHidden').val();subcats=$('#subCatHidden').val();$.post("usave.php",{subcats:subcats,tags_sub:tags_sub},function(data){if(data!=''){$('#subCatAddedList').html(data);document.getElementById('subCatListNew').style.display='none';document.getElementById('listColRight').style.display='';document.getElementById('subCatAddedList').style.display='';}});}
function deleteSubCat(subcatid)
{var sid;sid=$('#subCatHidden').val();sid=sid.replace(","+subcatid,"");$('#subCatHidden').attr('value',sid);document.getElementById('subCatListNew').style.display='';showSelectedSubCat();}
function showKeywordTags()
{document.getElementById('keywordTagListNew').style.display='';var searchtext1=$('#ad_title').val();var searchtext2=$('#ad_description').val();var searchtext=searchtext1+' '+searchtext2;$.post("usave.php",{searchtext:searchtext},function(data){if(data!=''){$('#keywordTagList').html(data);document.getElementById('keywordTagListNew').style.display='none';document.getElementById('keywordTagList').style.display='';}});}
function addKeywordTag(keywordid)
{var kid;kid=$('#keywordTagHidden').val();matchPos=kid.search(","+keywordid);if(matchPos==-1)
kid=kid+","+keywordid;$('#keywordTagHidden').attr('value',kid);document.getElementById('keywordTagListNew').style.display='';showSelectedKeywordTag();}
function showSelectedKeywordTag()
{keytags=$('#keywordTagHidden').val();$.post("usave.php",{keytags:keytags},function(data){if(data!=''){$('#keywordTagAddedList').html(data);document.getElementById('keywordTagListNew').style.display='none';document.getElementById('listColRight').style.display='';document.getElementById('keywordTagAddedList').style.display='';}});}
function deleteKeywordTag(keytagid)
{var kid;kid=$('#keywordTagHidden').val();kid=kid.replace(","+keytagid,"");$('#keywordTagHidden').attr('value',kid);document.getElementById('keywordTagListNew').style.display='';showSelectedKeywordTag();}
function cancelPost()
{$('#message').html('');$('#validation').html('');$('#listImages').html('');$('#ad_title').attr('value','');$('#ad_description').attr('value','');$('#ad_tags').attr('value','');$('#ad_email').attr('value','');$('#subCatList').html('Keine Unterkategorie vorhanden');$('#keywordTagList').html('Keine verwandten Begriffe erkannt');$('#tagHidden').attr('value','');$('#subCatHidden').attr('value','');$('#keywordTagHidden').attr('value','');$('#tagAddedList').html('');$('#subCatAddedList').html('');$('#keywordTagAddedList').html('');$('#sms_code').attr('value','');document.getElementById('listColRight').style.display='none';postAds();$.post("usave.php",{sessclear:1},function(data){});}
function checkVal(defaulttext)
{var searchtext=$('#search_text').val();if(searchtext==""||(defaulttext==searchtext))
{$('#message').html('Geben Sie einen Suchbegriff ein!');$('#search_text').attr('value','');$('#search_text').focus();return false;}
else
{searchtext=searchtext.replace(' & ',' and ');searchtext=searchtext.replace(/[^a-zA-Z0-9.öÖäÄüÜß]+/g,'-');window.location="search/"+searchtext+".html";}}
function checkValEnter(e,defaulttext)
{var characterCode;if(e&&e.which)
{e=e
characterCode=e.which}
else
{e=event
characterCode=e.keyCode}
if(characterCode==13)
{var searchtext=$('#search_text').val();if(searchtext==""||(defaulttext==searchtext))
{$('#message').html('Geben Sie einen Suchbegriff ein!');$('#search_text').attr('value','');$('#search_text').focus();return false;}
else
{searchtext=searchtext.replace(' & ',' and ');searchtext=searchtext.replace(/[^a-zA-Z0-9.öÖäÄüÜß]+/g,'-');window.location="search/"+searchtext+".html";}}}
var closedialog=1;$(document).ready(function(){var closedialog;function overlayclickclose(){if(closedialog){}}
$('#feedback').dialog({bgiframe:true,autoOpen:false,modal:true,width:500,resizable:false,open:function(){closedialog=1;$(document).bind('click',overlayclickclose);},focus:function(){closedialog=0;},close:function(){$(document).unbind('click');},buttons:{Submit:function(){var feedback_name=$('#feedback_name').val();var feedback_email=$('#feedback_email').val();var feedback_text=$('#feedback_text').val();$.post("usave.php",{feedback_text:feedback_text,feedback_name:feedback_name,feedback_email:feedback_email},function(data){if(data=='fbok')
{$('#feedback_name').attr('value','');$('#feedback_email').attr('value','');$('#feedbackmail_text').attr('value','');}
else if(data=='fbnotok')
{alert('Geben Sie eine detaillierte Nachricht ein!')
$('#feedback').dialog('open');}});$(this).dialog('close');}}});$('#openfeedback').click(function(){$('#feedback').dialog('open');closedialog=0;});});function checkEmail(emailString)
{splitVal=emailString.split('@');if(splitVal.length<=1){return false;}
if(splitVal[0].length<=0||splitVal[1].length<=0){return false;}
splitDomain=splitVal[1].split('.');if(splitDomain.length<=1){return false;}
if(splitDomain[0].length<=0||splitDomain[1].length<=1){return false;}
return true;}
function toggle_SubCat(object,subcatid)
{var me=jQuery(object);if(me.hasClass('selected'))
{me.removeClass('selected');deleteSubCat(subcatid);}else{me.addClass('selected');addSubCat(subcatid);}}
function toggle_tag(object,tagid)
{var me=jQuery(object);if(me.hasClass('selected'))
{me.removeClass('selected');deleteTag(tagid);}else{jQuery('#tagList .selected').removeClass('selected');me.addClass('selected');addTags(tagid);}}
;var qq=qq||{};qq.extend=function(first,second){for(var prop in second){first[prop]=second[prop];}};qq.indexOf=function(arr,elt,from){if(arr.indexOf)return arr.indexOf(elt,from);from=from||0;var len=arr.length;if(from<0)from+=len;for(;from<len;from++){if(from in arr&&arr[from]===elt){return from;}}
return-1;};qq.getUniqueId=(function(){var id=0;return function(){return id++;};})();qq.attach=function(element,type,fn){if(element.addEventListener){element.addEventListener(type,fn,false);}else if(element.attachEvent){element.attachEvent('on'+type,fn);}};qq.detach=function(element,type,fn){if(element.removeEventListener){element.removeEventListener(type,fn,false);}else if(element.attachEvent){element.detachEvent('on'+type,fn);}};qq.preventDefault=function(e){if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}};qq.insertBefore=function(a,b){b.parentNode.insertBefore(a,b);};qq.remove=function(element){element.parentNode.removeChild(element);};qq.contains=function(parent,descendant){if(parent==descendant)return true;if(parent.contains){return parent.contains(descendant);}else{return!!(descendant.compareDocumentPosition(parent)&8);}};qq.toElement=(function(){var div=document.createElement('div');return function(html){div.innerHTML=html;var element=div.firstChild;div.removeChild(element);return element;};})();qq.css=function(element,styles){if(styles.opacity!=null){if(typeof element.style.opacity!='string'&&typeof(element.filters)!='undefined'){styles.filter='alpha(opacity='+Math.round(100*styles.opacity)+')';}}
qq.extend(element.style,styles);};qq.hasClass=function(element,name){var re=new RegExp('(^| )'+name+'( |$)');return re.test(element.className);};qq.addClass=function(element,name){if(!qq.hasClass(element,name)){element.className+=' '+name;}};qq.removeClass=function(element,name){var re=new RegExp('(^| )'+name+'( |$)');element.className=element.className.replace(re,' ').replace(/^\s+|\s+$/g,"");};qq.setText=function(element,text){element.innerText=text;element.textContent=text;};qq.children=function(element){var children=[],child=element.firstChild;while(child){if(child.nodeType==1){children.push(child);}
child=child.nextSibling;}
return children;};qq.getByClass=function(element,className){if(element.querySelectorAll){return element.querySelectorAll('.'+className);}
var result=[];var candidates=element.getElementsByTagName("*");var len=candidates.length;for(var i=0;i<len;i++){if(qq.hasClass(candidates[i],className)){result.push(candidates[i]);}}
return result;};qq.obj2url=function(obj,temp,prefixDone){var uristrings=[],prefix='&',add=function(nextObj,i){var nextTemp=temp?(/\[\]$/.test(temp))?temp:temp+'['+i+']':i;if((nextTemp!='undefined')&&(i!='undefined')){uristrings.push((typeof nextObj==='object')?qq.obj2url(nextObj,nextTemp,true):(Object.prototype.toString.call(nextObj)==='[object Function]')?encodeURIComponent(nextTemp)+'='+encodeURIComponent(nextObj()):encodeURIComponent(nextTemp)+'='+encodeURIComponent(nextObj));}};if(!prefixDone&&temp){prefix=(/\?/.test(temp))?(/\?$/.test(temp))?'':'&':'?';uristrings.push(temp);uristrings.push(qq.obj2url(obj));}else if((Object.prototype.toString.call(obj)==='[object Array]')&&(typeof obj!='undefined')){for(var i=0,len=obj.length;i<len;++i){add(obj[i],i);}}else if((typeof obj!='undefined')&&(obj!==null)&&(typeof obj==="object")){for(var i in obj){add(obj[i],i);}}else{uristrings.push(encodeURIComponent(temp)+'='+encodeURIComponent(obj));}
return uristrings.join(prefix).replace(/^&/,'').replace(/%20/g,'+');};var qq=qq||{};qq.FileUploaderBasic=function(o){this._options={debug:false,action:'/server/upload',params:{},button:null,multiple:true,maxConnections:3,allowedExtensions:['jpg','jpeg','gif','png'],sizeLimit:0,minSizeLimit:0,onSubmit:function(id,fileName){},onProgress:function(id,fileName,loaded,total){},onComplete:function(id,fileName,responseJSON){},onCancel:function(id,fileName){},messages:{typeError:"{file} has invalid extension. Only {extensions} are allowed.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",onLeave:"The files are being uploaded, if you leave now the upload will be cancelled."},showMessage:function(message){alert(message);}};qq.extend(this._options,o);this._filesInProgress=0;this._handler=this._createUploadHandler();if(this._options.button){this._button=this._createUploadButton(this._options.button);}
this._preventLeaveInProgress();};qq.FileUploaderBasic.prototype={setParams:function(params){this._options.params=params;},getInProgress:function(){return this._filesInProgress;},_createUploadButton:function(element){var self=this;return new qq.UploadButton({element:element,multiple:this._options.multiple&&qq.UploadHandlerXhr.isSupported(),onChange:function(input){self._onInputChange(input);}});},_createUploadHandler:function(){var self=this,handlerClass;if(qq.UploadHandlerXhr.isSupported()){handlerClass='UploadHandlerXhr';}else{handlerClass='UploadHandlerForm';}
var handler=new qq[handlerClass]({debug:this._options.debug,action:this._options.action,maxConnections:this._options.maxConnections,onProgress:function(id,fileName,loaded,total){self._onProgress(id,fileName,loaded,total);self._options.onProgress(id,fileName,loaded,total);},onComplete:function(id,fileName,result){self._onComplete(id,fileName,result);self._options.onComplete(id,fileName,result);},onCancel:function(id,fileName){self._onCancel(id,fileName);self._options.onCancel(id,fileName);}});return handler;},_preventLeaveInProgress:function(){var self=this;qq.attach(window,'beforeunload',function(e){if(!self._filesInProgress){return;}
var e=e||window.event;e.returnValue=self._options.messages.onLeave;return self._options.messages.onLeave;});},_onSubmit:function(id,fileName){this._filesInProgress++;},_onProgress:function(id,fileName,loaded,total){},_onComplete:function(id,fileName,result){this._filesInProgress--;if(result.error){this._options.showMessage(result.error);}},_onCancel:function(id,fileName){this._filesInProgress--;},_onInputChange:function(input){if(this._handler instanceof qq.UploadHandlerXhr){this._uploadFileList(input.files);}else{if(this._validateFile(input)){this._uploadFile(input);}}
this._button.reset();},_uploadFileList:function(files){for(var i=0;i<files.length;i++){if(!this._validateFile(files[i])){return;}}
for(var i=0;i<files.length;i++){this._uploadFile(files[i]);}},_uploadFile:function(fileContainer){var id=this._handler.add(fileContainer);var fileName=this._handler.getName(id);if(this._options.onSubmit(id,fileName)!==false){this._onSubmit(id,fileName);this._handler.upload(id,this._options.params);}},_validateFile:function(file){var name,size;if(file.value){name=file.value.replace(/.*(\/|\\)/,"");}else{name=file.fileName!=null?file.fileName:file.name;size=file.fileSize!=null?file.fileSize:file.size;}
if(!this._isAllowedExtension(name)){this._error('typeError',name);return false;}else if(size===0){this._error('emptyError',name);return false;}else if(size&&this._options.sizeLimit&&size>this._options.sizeLimit){this._error('sizeError',name);return false;}else if(size&&size<this._options.minSizeLimit){this._error('minSizeError',name);return false;}
return true;},_error:function(code,fileName){var message=this._options.messages[code];function r(name,replacement){message=message.replace(name,replacement);}
r('{file}',this._formatFileName(fileName));r('{extensions}',this._options.allowedExtensions.join(', '));r('{sizeLimit}',this._formatSize(this._options.sizeLimit));r('{minSizeLimit}',this._formatSize(this._options.minSizeLimit));this._options.showMessage(message);},_formatFileName:function(name){if(name.length>33){name=name.slice(0,19)+'...'+name.slice(-13);}
return name;},_isAllowedExtension:function(fileName){var ext=(-1!==fileName.indexOf('.'))?fileName.replace(/.*[.]/,'').toLowerCase():'';var allowed=this._options.allowedExtensions;if(!allowed.length){return true;}
for(var i=0;i<allowed.length;i++){if(allowed[i].toLowerCase()==ext){return true;}}
return false;},_formatSize:function(bytes){var i=-1;do{bytes=bytes/1024;i++;}while(bytes>99);return Math.max(bytes,0.1).toFixed(1)+['kB','MB','GB','TB','PB','EB'][i];}};qq.FileUploader=function(o){qq.FileUploaderBasic.apply(this,arguments);qq.extend(this._options,{element:null,listElement:null,template:'<div class="qq-uploader">'+'<div class="qq-upload-drop-area"><span>Bilddateien hier mit der Maus hereinziehen</span></div>'+'<div class="qq-upload-button">Bild hinzufügen</div>'+'<ul class="qq-upload-list"></ul>'+'</div>',fileTemplate:'<li style="display:none">'+'<span class="qq-upload-file"></span>'+'<span class="qq-upload-spinner"></span>'+'<span class="qq-upload-size"></span>'+'<a class="qq-upload-cancel" href="#">Abbrechen</a>'+'<span class="qq-upload-failed-text">Upload fehlgeschlagen</span>'+'</li>',classes:{button:'qq-upload-button',drop:'qq-upload-drop-area',dropActive:'qq-upload-drop-area-active',list:'qq-upload-list',file:'qq-upload-file',spinner:'qq-upload-spinner',size:'qq-upload-size',cancel:'qq-upload-cancel',success:'qq-upload-success',fail:'qq-upload-fail'}});qq.extend(this._options,o);this._element=this._options.element;this._element.innerHTML=this._options.template;this._listElement=this._options.listElement||this._find(this._element,'list');this._classes=this._options.classes;this._button=this._createUploadButton(this._find(this._element,'button'));this._bindCancelEvent();this._setupDragDrop();};qq.extend(qq.FileUploader.prototype,qq.FileUploaderBasic.prototype);qq.extend(qq.FileUploader.prototype,{_find:function(parent,type){var element=qq.getByClass(parent,this._options.classes[type])[0];if(!element){throw new Error('element not found '+type);}
return element;},_setupDragDrop:function(){var self=this,dropArea=this._find(this._element,'drop');var dz=new qq.UploadDropZone({element:dropArea,onEnter:function(e){qq.addClass(dropArea,self._classes.dropActive);e.stopPropagation();},onLeave:function(e){e.stopPropagation();},onLeaveNotDescendants:function(e){qq.removeClass(dropArea,self._classes.dropActive);},onDrop:function(e){dropArea.style.display='none';qq.removeClass(dropArea,self._classes.dropActive);self._uploadFileList(e.dataTransfer.files);}});dropArea.style.display='none';qq.attach(document,'dragenter',function(e){if(!dz._isValidFileDrag(e))return;dropArea.style.display='block';});qq.attach(document,'dragleave',function(e){if(!dz._isValidFileDrag(e))return;var relatedTarget=document.elementFromPoint(e.clientX,e.clientY);if(!relatedTarget||relatedTarget.nodeName=="HTML"){dropArea.style.display='none';}});},_onSubmit:function(id,fileName){qq.FileUploaderBasic.prototype._onSubmit.apply(this,arguments);this._addToList(id,fileName);},_onProgress:function(id,fileName,loaded,total){qq.FileUploaderBasic.prototype._onProgress.apply(this,arguments);var item=this._getItemByFileId(id);var size=this._find(item,'size');size.style.display='inline';var text;if(loaded!=total){text=Math.round(loaded/total*100)+'% from '+this._formatSize(total);}else{text=this._formatSize(total);}
qq.setText(size,text);},_onComplete:function(id,fileName,result){qq.FileUploaderBasic.prototype._onComplete.apply(this,arguments);var item=this._getItemByFileId(id);qq.remove(this._find(item,'cancel'));qq.remove(this._find(item,'spinner'));if(result.success){qq.addClass(item,this._classes.success);}else{qq.addClass(item,this._classes.fail);}
showImages();},_addToList:function(id,fileName){var item=qq.toElement(this._options.fileTemplate);item.qqFileId=id;var fileElement=this._find(item,'file');qq.setText(fileElement,this._formatFileName(fileName));this._find(item,'size').style.display='none';this._listElement.appendChild(item);$('#mesImage').html('<img src="images/loading.gif"> Uploadvorgang läuft...');},_getItemByFileId:function(id){var item=this._listElement.firstChild;while(item){if(item.qqFileId==id)return item;item=item.nextSibling;}},_bindCancelEvent:function(){var self=this,list=this._listElement;qq.attach(list,'click',function(e){e=e||window.event;var target=e.target||e.srcElement;if(qq.hasClass(target,self._classes.cancel)){qq.preventDefault(e);var item=target.parentNode;self._handler.cancel(item.qqFileId);qq.remove(item);}});}});qq.UploadDropZone=function(o){this._options={element:null,onEnter:function(e){},onLeave:function(e){},onLeaveNotDescendants:function(e){},onDrop:function(e){}};qq.extend(this._options,o);this._element=this._options.element;this._disableDropOutside();this._attachEvents();};qq.UploadDropZone.prototype={_disableDropOutside:function(e){if(!qq.UploadDropZone.dropOutsideDisabled){qq.attach(document,'dragover',function(e){if(e.dataTransfer){e.dataTransfer.dropEffect='none';e.preventDefault();}});qq.UploadDropZone.dropOutsideDisabled=true;}},_attachEvents:function(){var self=this;qq.attach(self._element,'dragover',function(e){if(!self._isValidFileDrag(e))return;var effect=e.dataTransfer.effectAllowed;if(effect=='move'||effect=='linkMove'){e.dataTransfer.dropEffect='move';}else{e.dataTransfer.dropEffect='copy';}
e.stopPropagation();e.preventDefault();});qq.attach(self._element,'dragenter',function(e){if(!self._isValidFileDrag(e))return;self._options.onEnter(e);});qq.attach(self._element,'dragleave',function(e){if(!self._isValidFileDrag(e))return;self._options.onLeave(e);var relatedTarget=document.elementFromPoint(e.clientX,e.clientY);if(qq.contains(this,relatedTarget))return;self._options.onLeaveNotDescendants(e);});qq.attach(self._element,'drop',function(e){if(!self._isValidFileDrag(e))return;e.preventDefault();self._options.onDrop(e);});},_isValidFileDrag:function(e){var dt=e.dataTransfer,isWebkit=navigator.userAgent.indexOf("AppleWebKit")>-1;return dt&&dt.effectAllowed!='none'&&(dt.files||(!isWebkit&&dt.types.contains&&dt.types.contains('Files')));}};qq.UploadButton=function(o){this._options={element:null,multiple:false,name:'file',onChange:function(input){},hoverClass:'qq-upload-button-hover',focusClass:'qq-upload-button-focus'};qq.extend(this._options,o);this._element=this._options.element;qq.css(this._element,{position:'relative',overflow:'hidden',direction:'ltr'});this._input=this._createInput();};qq.UploadButton.prototype={getInput:function(){return this._input;},reset:function(){if(this._input.parentNode){qq.remove(this._input);}
qq.removeClass(this._element,this._options.focusClass);this._input=this._createInput();},_createInput:function(){var input=document.createElement("input");if(this._options.multiple){input.setAttribute("multiple","multiple");}
input.setAttribute("type","file");input.setAttribute("name",this._options.name);qq.css(input,{position:'absolute',right:0,top:0,fontFamily:'Arial',fontSize:'118px',margin:0,padding:0,cursor:'pointer',opacity:0});this._element.appendChild(input);var self=this;qq.attach(input,'change',function(){self._options.onChange(input);});qq.attach(input,'mouseover',function(){qq.addClass(self._element,self._options.hoverClass);});qq.attach(input,'mouseout',function(){qq.removeClass(self._element,self._options.hoverClass);});qq.attach(input,'focus',function(){qq.addClass(self._element,self._options.focusClass);});qq.attach(input,'blur',function(){qq.removeClass(self._element,self._options.focusClass);});if(window.attachEvent){input.setAttribute('tabIndex',"-1");}
return input;}};qq.UploadHandlerAbstract=function(o){this._options={debug:false,action:'/upload.php',maxConnections:999,onProgress:function(id,fileName,loaded,total){},onComplete:function(id,fileName,response){},onCancel:function(id,fileName){}};qq.extend(this._options,o);this._queue=[];this._params=[];};qq.UploadHandlerAbstract.prototype={log:function(str){if(this._options.debug&&window.console)console.log('[uploader] '+str);},add:function(file){},upload:function(id,params){var len=this._queue.push(id);var copy={};qq.extend(copy,params);this._params[id]=copy;if(len<=this._options.maxConnections){this._upload(id,this._params[id]);}},cancel:function(id){this._cancel(id);this._dequeue(id);},cancelAll:function(){for(var i=0;i<this._queue.length;i++){this._cancel(this._queue[i]);}
this._queue=[];},getName:function(id){},getSize:function(id){},getQueue:function(){return this._queue;},_upload:function(id){},_cancel:function(id){},_dequeue:function(id){var i=qq.indexOf(this._queue,id);this._queue.splice(i,1);var max=this._options.maxConnections;if(this._queue.length>=max&&i<max){var nextId=this._queue[max-1];this._upload(nextId,this._params[nextId]);}}};qq.UploadHandlerForm=function(o){qq.UploadHandlerAbstract.apply(this,arguments);this._inputs={};};qq.extend(qq.UploadHandlerForm.prototype,qq.UploadHandlerAbstract.prototype);qq.extend(qq.UploadHandlerForm.prototype,{add:function(fileInput){fileInput.setAttribute('name','qqfile');var id='qq-upload-handler-iframe'+qq.getUniqueId();this._inputs[id]=fileInput;if(fileInput.parentNode){qq.remove(fileInput);}
return id;},getName:function(id){return this._inputs[id].value.replace(/.*(\/|\\)/,"");},_cancel:function(id){this._options.onCancel(id,this.getName(id));delete this._inputs[id];var iframe=document.getElementById(id);if(iframe){iframe.setAttribute('src','javascript:false;');qq.remove(iframe);}},_upload:function(id,params){var input=this._inputs[id];if(!input){throw new Error('file with passed id was not added, or already uploaded or cancelled');}
var fileName=this.getName(id);var iframe=this._createIframe(id);var form=this._createForm(iframe,params);form.appendChild(input);var self=this;this._attachLoadEvent(iframe,function(){self.log('iframe loaded');var response=self._getIframeContentJSON(iframe);self._options.onComplete(id,fileName,response);self._dequeue(id);delete self._inputs[id];setTimeout(function(){qq.remove(iframe);},1);});form.submit();qq.remove(form);return id;},_attachLoadEvent:function(iframe,callback){qq.attach(iframe,'load',function(){if(!iframe.parentNode){return;}
if(iframe.contentDocument&&iframe.contentDocument.body&&iframe.contentDocument.body.innerHTML=="false"){return;}
callback();});},_getIframeContentJSON:function(iframe){var doc=iframe.contentDocument?iframe.contentDocument:iframe.contentWindow.document,response;this.log("converting iframe's innerHTML to JSON");this.log("innerHTML = "+doc.body.innerHTML);try{response=eval("("+doc.body.innerHTML+")");}catch(err){response={};}
return response;},_createIframe:function(id){var iframe=qq.toElement('<iframe src="javascript:false;" name="'+id+'" />');iframe.setAttribute('id',id);iframe.style.display='none';document.body.appendChild(iframe);return iframe;},_createForm:function(iframe,params){var form=qq.toElement('<form method="post" enctype="multipart/form-data"></form>');var queryString=qq.obj2url(params,this._options.action);form.setAttribute('action',queryString);form.setAttribute('target',iframe.name);form.style.display='none';document.body.appendChild(form);return form;}});qq.UploadHandlerXhr=function(o){qq.UploadHandlerAbstract.apply(this,arguments);this._files=[];this._xhrs=[];this._loaded=[];};qq.UploadHandlerXhr.isSupported=function(){var input=document.createElement('input');input.type='file';return('multiple'in input&&typeof File!="undefined"&&typeof(new XMLHttpRequest()).upload!="undefined");};qq.extend(qq.UploadHandlerXhr.prototype,qq.UploadHandlerAbstract.prototype)
qq.extend(qq.UploadHandlerXhr.prototype,{add:function(file){if(!(file instanceof File)){throw new Error('Passed obj in not a File (in qq.UploadHandlerXhr)');}
return this._files.push(file)-1;},getName:function(id){var file=this._files[id];return file.fileName!=null?file.fileName:file.name;},getSize:function(id){var file=this._files[id];return file.fileSize!=null?file.fileSize:file.size;},getLoaded:function(id){return this._loaded[id]||0;},_upload:function(id,params){var file=this._files[id],name=this.getName(id),size=this.getSize(id);this._loaded[id]=0;var xhr=this._xhrs[id]=new XMLHttpRequest();var self=this;xhr.upload.onprogress=function(e){if(e.lengthComputable){self._loaded[id]=e.loaded;self._options.onProgress(id,name,e.loaded,e.total);}};xhr.onreadystatechange=function(){if(xhr.readyState==4){self._onComplete(id,xhr);}};params=params||{};params['qqfile']=name;var queryString=qq.obj2url(params,this._options.action);xhr.open("POST",queryString,true);xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("X-File-Name",encodeURIComponent(name));xhr.setRequestHeader("Content-Type","application/octet-stream");xhr.send(file);},_onComplete:function(id,xhr){if(!this._files[id])return;var name=this.getName(id);var size=this.getSize(id);this._options.onProgress(id,name,size,size);if(xhr.status==200){this.log("xhr - server response received");this.log("responseText = "+xhr.responseText);var response;try{response=eval("("+xhr.responseText+")");}catch(err){response={};}
this._options.onComplete(id,name,response);}else{this._options.onComplete(id,name,{});}
this._files[id]=null;this._xhrs[id]=null;this._dequeue(id);},_cancel:function(id){this._options.onCancel(id,this.getName(id));this._files[id]=null;if(this._xhrs[id]){this._xhrs[id].abort();this._xhrs[id]=null;}}});
