
var XMLRequest={dfSendForm:function(form_,addParams_,url_,method_,answerType_,cbobj_,cbfunc_,secCallbackParams_){var formAction=url_||form_.action;var formMethod=method_||form_.method;var answerType='';switch(answerType_.toLowerCase()){case'txt':answerType='txt';break;case'xml':answerType='xml';break;case'jso':default:answerType='jso';break;}
http_request=false;if(window.XMLHttpRequest){http_request=new XMLHttpRequest();}else{try{http_request=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{http_request=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){http_request=false;}}}
if(!http_request){alert('Es kann keine XMLHTTP-Instanz erzeugt werden.');return false;}
if(http_request.overrideMimeType){if(answerType=='txt'||answerType=='jso'){http_request.overrideMimeType('text/plain');}else if(answerType=='xml'){http_request.overrideMimeType('application/xml');}}
var THIS=http_request;http_request.readystate=function(){window.XMLRequest.submitCallback(THIS);}
var sendString='';for(aParam in addParams_){sendString+=(sendString=='')?'':'&';sendString+=aParam+"="+encodeURI(addParams_[aParam]);}
if(form_){for(var t=0;t<form_.elements.length;t++){var elem=form_.elements[t];if(elem.tagName.toLowerCase()=='input'){switch(elem.type.toLowerCase()){case'checkbox':if(elem.checked){sendString+="&"+elem.name+"="+encodeURI(elem.value);}
break;case'radio':if(elem.checked){sendString+="&"+elem.name+"="+encodeURI(elem.value);}
break;default:sendString+="&"+elem.name+"="+encodeURI(elem.value);break;}}
if(elem.tagName.toLowerCase()=='select'){sendString+="&"+elem.name+"="+encodeURI(elem.options[elem.selectedIndex].value);}
if(elem.tagName.toLowerCase()=='textarea'){sendString+="&"+elem.name+"="+encodeURI(elem.value);}}}
http_request.onreadystatechange=http_request.readystate;http_request.cbobj_=cbobj_||null;http_request.cbfunc_=cbfunc_||function(){};http_request.secCallbackParams_=secCallbackParams_||null;http_request.answerType_=answerType;http_request.url_=url_;http_request.open(formMethod,formAction+(method_.toLowerCase()=='get'?'?'+sendString:''),true);http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');http_request.send(method_.toLowerCase()=='post'?sendString:'');return false;},submitCallback:function(http_request){if(http_request.readyState==4){if(http_request.status==200){var obj;if(http_request.answerType_=='jso'){try{obj=eval(http_request.responseText);}catch(err){alert('some error: '+http_request.responseText);}}else if(http_request.answerType_=='xml'){obj=http_request.responseXML;}else if(http_request.answerType_=='txt'){obj=http_request.responseText;}
http_request.cbfunc_.call(http_request.cbobj_,obj,http_request.secCallbackParams_);}else{alert('Bei dem Request ist ein Problem aufgetreten:'+http_request.status);}}}}
function buyNowAjax(requestFile_,productId_){var requestFile=requestFile_;var productId=productId_;whenBuyLoading=function(){var e=document.getElementById('shopping_cart');e.innerHTML="Aktualisiere Warenkorb... <img src='images/ajax-loader.gif' border='0'>";}
whenUpdateLoading=function(){var e=document.getElementById('buyproduct_'+productId);e.innerHTML="Aktualisiere Produktauswahl... <img src='images/ajax-loader.gif' border='0'>";}
whenBuyCompleted=function(){var ajax_update=new sack();ajax_update.requestFile=requestFile+'&action=buy_now_refresh';ajax_update.method='post';ajax_update.element='buyproduct_'+productId;ajax_update.onLoading=whenUpdateLoading;ajax_update.onLoaded=whenUpdateLoading;ajax_update.onInteractive=whenUpdateLoading;ajax_update.runAJAX("");}
var ajax_buy=new sack();ajax_buy.requestFile=requestFile+'&action=buy_now';ajax_buy.method='post';ajax_buy.element='shopping_cart';ajax_buy.onLoading=whenBuyLoading;ajax_buy.onLoaded=whenBuyLoading;ajax_buy.onInteractive=whenBuyLoading;ajax_buy.onCompletion=whenBuyCompleted;ajax_buy.runAJAX("");}
function buyNowFromPulldown(buyNowLink,productId,pulldownFieldName,currentCartQuantity){var pulldownElement=document.getElementById(pulldownFieldName);var pulldownSelectedValue=pulldownElement.options[pulldownElement.selectedIndex].value;var paramStart=buyNowLink.indexOf('?');if(paramStart==-1){trennzeichen='?';}else{trennzeichen='&';}
if(pulldownSelectedValue<=0&&currentCartQuantity==0){alert('Bitte zuerst die gewünschte Anzahl auswählen.');}else if(pulldownSelectedValue<=0&&currentCartQuantity>0){var agree=confirm("Sie haben gewählt, das Produkt aus dem Warenkorb zu entfernen.\n\nProdukt aus dem Warenkorb entfernen?");if(agree){buyNowAjax(buyNowLink+trennzeichen+'prodanz='+pulldownSelectedValue,productId);}else{pulldownElement.selectedIndex=currentCartQuantity;return false;}}else{buyNowAjax(buyNowLink+trennzeichen+'prodanz='+pulldownSelectedValue,productId);return true;}}
function bookmarkNow(elementName_,SID_){var ENAME='merke_'+elementName_;var SID=SID_;var updateSymbol=function(response_){var element=document.getElementById(ENAME);if(element){if(response_.status=='add'){element.src=element.src.substr(0,element.src.lastIndexOf('/'))+'/produkt_gemerkt.gif';}else if(response_.status=='remove'){element.src=element.src.substr(0,element.src.lastIndexOf('/'))+'/produkt_merken.gif';}else if(response_.status=='login'){alert('Sie müssen sich zuerst anmelden, um den Merkzettel verwenden zu können.');}}
XMLRequest.dfSendForm(null,({'osCsid':SID}),'read_bookmark.php','GET','txt',null,updateList);}
var updateList=function(response_){var list=document.getElementById('bookmark_box');if(list){list.innerHTML=response_;}}
XMLRequest.dfSendForm(null,({'products_id':elementName_,'osCsid':SID_}),'set_bookmark.php','GET','jso',null,updateSymbol);}
function elementShowHide(name_,showhide_){if(typeof(name_)=='object'){for(t=0;t<name_.length;t++){var element=document.getElementById(name_[t]);if(showhide_==false||element.style.display=='block'){element.style.display='none';}else if(showhide_==true||showhide_==undefined){element.style.display='block';}}}}
function alertDoUpdate(ev_){var ev=ev_||window.event;var alertelement=document.getElementById('alertDoUpdate');alertelement.innerHTML='<font color="red" size="3">Durchgeführte Änderungen brauchen ein Aktualisieren der Rechnung!</font>';var select=ev.target||ev.srcElement;if(select){if(select.options[select.selectedIndex].value=='zznl'){var input=document.getElementById('availability_date_'+select.id);if(!input){input=document.createElement('INPUT');input.value='TT.MM.JJJJ';input.title='Voraussichtliche Verfügbarkeit.'
input.name='update_products['+select.id+'][availability_date]';input.id='availability_date_'+select.id;select.parentNode.insertBefore(input,select.nextSibling);}else{}
select.style.background='yellow';}else{var input=document.getElementById('availability_date_'+select.id);if(input)input.parentNode.removeChild(input);if(select.options[select.selectedIndex].value=='nml'){select.style.background='red';}
if(select.options[select.selectedIndex].value=='l'){select.style.background='';}}}}
function highlightAncorElement(){var hash=window.location.hash.substr(1);if(hash){var el=document.getElementById(hash);if(el){el.style.backgroundColor='#FFF4BB';}}}
function showProductInfo(prodName_,prodPrice_){var desc=document.getElementById('prodinfo_desc');var price=document.getElementById('prodinfo_price');desc.innerHTML=prodName_;price.innerHTML=prodPrice_;}
function hideProductInfo(){var desc=document.getElementById('prodinfo_desc');var price=document.getElementById('prodinfo_price');desc.innerHTML='';price.innerHTML='';}
function insertAtCursor(myField,myValue){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=myValue;}else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)+myValue+myField.value.substring(endPos,myField.value.length);}else{myField.value+=myValue;}}
function async_showTextAtoms(refreshId_){XMLRequest.dfSendForm(null,{'action':'show'},'/admin/communication_text_atoms.php','POST','txt',null,refreshElement,refreshId_);}
function async_saveTextAtom(value_,id_,refreshId_){XMLRequest.dfSendForm(null,{'action':'save','value':value_,'id':id_},'/admin/communication_text_atoms.php','POST','txt',null,refreshElement,refreshId_);}
function async_deleteTextAtom(id_,refreshId_){if(confirm('Textbaustein wirklich löschen?')){XMLRequest.dfSendForm(null,{'action':'delete','id':id_},'/admin/communication_text_atoms.php','POST','txt',null,refreshElement,refreshId_);}}
function refreshElement(response_,refreshId_){var e=document.getElementById(refreshId_);e.innerHTML=response_;}