/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var url ="http://"+document.location.host+"/DataProviderService/DataProvider";
function sendNewsletter(){
        
    var title=  $("subject").value;
    var longTextEditor = CKEDITOR.instances['bodytext'];
    var text = longTextEditor.getData();
    var customerNewsletter = $('customerNewsletter').checked;
    
    openLoadingScreen("Sende Newsletter");
    var message = syncSoap("sendNewsletter", new Array(text,title,customerNewsletter));
                     var status= message[0];
        var statusText = status.status;
        if (statusText && statusText.length > 0){
            alert("Nachricht = "+statusText);
        }
    closeLoadingScreen();
    
}



function saveCustomerChanged(bid,divname){

    syncSoap("changeOrderDetails", new Array(bid,
    $(divname+"_advertesing").value,
    $(divname+"_vorname").value,
     $(divname+"_nachname").value,
    $(divname+"_email").value,
    $(divname+"_street").value,
    $(divname+"_plz").value,
     $(divname+"_ort").value,
      $('notes').value,
    $(divname+"_handy").value,
    $(divname+"_telefon").value,$(divname+"_reduction").value));
    
}

function checkNewsletter(){
    var message = syncSoap("checkNewsletter", new Array());
                 var status= message[0];
        var statusText = status.status;
        if (statusText && statusText.length > 0){
            alert("Nachricht = "+statusText);
        }

}
function newBus(){
    var editBusDiv = document.getElementById("bussediv_edit");
    var busdiv  = document.getElementById("bussediv");
    busdiv.index = null;
    editBusDiv.style.display='block';
    clearInputFields(editBusDiv);
}
function editBus(){
    var editBusDiv = document.getElementById("bussediv_edit");
    var busdiv  = document.getElementById("bussediv");
    var index = busdiv.index;
    var value = busdiv.values[index];
    //document.getElementById("bussediv_name").value = value.name;
    //document.getElementById("bussediv_type").value = value.type;
    //document.getElementById("bussediv_personCount").value = value.personCount;
    editBusDiv.style.display='block';
    checkInternalTypes(editBusDiv.id);
}
function deleteBus(){
    var bussediv = document.getElementById("bussediv");
    var index = bussediv.index;
    var value = bussediv.values[index]; 
    removeTableRow(index, "bussediv");
    var pl = new SOAPClientParameters();
    pl.add("arg0","Busse");
    pl.add("arg1",value.id);
    SOAPClient.invoke(url, "dropRecord", pl, false, null);
}
function saveBus(){
    var busdiv  = document.getElementById("bussediv");
    var index = busdiv.index;
    var obj;
    if (index != null){
        obj = busdiv.values[index];
    }
    else {
        obj = new Object();
        obj.defaultValue = true;
    }
    obj.name=  document.getElementById("bussediv_name").value;
    obj.type = document.getElementById("bussediv_type").value;
    obj.personCount=  document.getElementById("bussediv_personCount").value;

    var pl = new SOAPClientParameters();
    pl.add("arg0",obj);
    var saved = SOAPClient.invoke(url, "saveBusse", pl, false, null);
    if (index != null){
        busdiv.values[index] = saved;
        appendTableChanges(new Array(saved.name,saved.type,saved.personCount), index, "bussediv");
    }
    else {      
        busdiv.values[busdiv.values.length] = saved;
        appendTableRow(new Array(saved.name,saved.type,saved.personCount), busdiv.values.length-1, "bussediv");
        selectTableRow("bussediv", busdiv.values.length-1);
    }
    document.getElementById("bussediv_edit").style.display='none';
}

function newParameter(){
    var editBusDiv = document.getElementById("parameterdiv_edit");
    var busdiv  = document.getElementById("parameterdiv");
    busdiv.index = null;
    editBusDiv.style.display='block';
    clearInputFields(editBusDiv);
}
function editParameter(){
    var editBusDiv = document.getElementById("parameterdiv_edit");
    var busdiv  = document.getElementById("parameterdiv");
    var index = busdiv.index;
    var value = busdiv.values[index];
    document.getElementById("parameterdiv_shorttext").value = value.shortText;

    var descriptionEditor = CKEDITOR.instances["parameterdiv_longtext"];
    if (value.description['#text']){
        descriptionEditor.setData(value.description['#text']);
    }
    else if (value.description) {
        descriptionEditor.setData(value.description);
    }
   
    //document.getElementById("bussediv_personCount").value = value.personCount;
    editBusDiv.style.display='block';
    checkInternalTypes(editBusDiv.id);
}
function deleteParameter(){
    var bussediv = document.getElementById("parameterdiv");
    var index = bussediv.index;
    var value = bussediv.values[index]; 
    removeTableRow(index, "parameterdiv");
    syncSoap("dropRecord",new Array("PropertiesAdmin",value.id));
   
}
function saveParameter(){
    var busdiv  = document.getElementById("parameterdiv");
    var index = busdiv.index;
    var obj;
    if (index != null){
        obj = busdiv.values[index];
    }
    else {
        obj = new Object();
        obj.defaultValue = true;
    }

    
    obj.shortText=  document.getElementById("parameterdiv_shorttext").value;
  
     var descriptionEditor = CKEDITOR.instances["parameterdiv_longtext"];
    obj.description = descriptionEditor.getData();
    var pl = new SOAPClientParameters();
    pl.add("arg0",obj);
    var saved = SOAPClient.invoke(url, "savePropertyEntry", pl, false, null);
    if (index != null){
        busdiv.values[index] = saved;
        appendTableChanges(new Array(saved.shortText), index, "parameterdiv");
    }
    else {      
        busdiv.values[busdiv.values.length] = saved;
        appendTableRow(new Array(saved.shortText), busdiv.values.length-1, "parameterdiv");
        selectTableRow("parameterdiv", busdiv.values.length-1);
    }
    document.getElementById("parameterdiv_edit").style.display='none';
}


function newKarte(){
    var editBusDiv = document.getElementById("kartendiv_edit");
    var busdiv  = document.getElementById("kartendiv");
    busdiv.index = null;
    editBusDiv.style.display='block';
    clearInputFields(editBusDiv);
}
function editKarte(){
    var editBusDiv = document.getElementById("kartendiv_edit");
    var busdiv  = document.getElementById("kartendiv");
    var index = busdiv.index;
    var value = busdiv.values[index];
    //  document.getElementById("kartendiv_name").value = value.name;
    //  document.getElementById("kartendiv_description").value = value.description;
    //  document.getElementById("kartendiv_price").value = value.price;
    checkInternalTypes("kartendiv_edit");   
    editBusDiv.style.display='block';
}
function deleteKarte(){
    var bussediv = document.getElementById("kartendiv");
    var index = bussediv.index;
    var value = bussediv.values[index]; 
    removeTableRow(index, "kartendiv");
    var pl = new SOAPClientParameters();
    pl.add("arg0","Karten");
    pl.add("arg1",value.id);
    SOAPClient.invoke(url, "dropRecord", pl, false, null);
}
function saveKarte(){
    var busdiv  = document.getElementById("kartendiv");
    var index = busdiv.index;
    var obj;
    if (index != null){
        obj = busdiv.values[index];
    }
    else {
        obj = new Object();
        obj.defaultValue = true;
    }
    obj.name=  document.getElementById("kartendiv_name").value;
    obj.description = document.getElementById("kartendiv_description").value;
    obj.price=  document.getElementById("kartendiv_price").value;

    var pl = new SOAPClientParameters();
    pl.add("arg0",obj);
    var saved = SOAPClient.invoke(url, "saveKarten", pl, false, null);
    if (index != null){
        busdiv.values[index] = saved;
        appendTableChanges(new Array(saved.name,saved.description,saved.price), index, "kartendiv");
    }
    else {      
        busdiv.values[busdiv.values.length] = saved;
        appendTableRow(new Array(saved.name,saved.description,saved.price), busdiv.values.length-1, "kartendiv");
        selectTableRow("kartendiv", busdiv.values.length-1);
    }
    document.getElementById("kartendiv_edit").style.display='none';
}

function newAbfahrt(){
    var editBusDiv = document.getElementById("abfahrtendiv_edit");
    var busdiv  = document.getElementById("abfahrtendiv");
    busdiv.index = null;
    editBusDiv.style.display='block';
    clearInputFields(editBusDiv);
}
function editAbfahrt(){
    var editBusDiv = document.getElementById("abfahrtendiv_edit");
    var busdiv  = document.getElementById("abfahrtendiv");
    var index = busdiv.index;
    var value = busdiv.values[index];
    //document.getElementById("abfahrtendiv_name").value = value.name;
    //document.getElementById("abfahrtendiv_description").value = value.description;
    //document.getElementById("abfahrtendiv_price").value = value.price;
    checkInternalTypes("abfahrtendiv_edit");      
    editBusDiv.style.display='block';
}
function deleteAbfahrt(){
    var bussediv = document.getElementById("abfahrtendiv");
    var index = bussediv.index;
    var value = bussediv.values[index]; 
    removeTableRow(index, "abfahrtendiv");
    var pl = new SOAPClientParameters();
    pl.add("arg0","Abfahrtsorte");
    pl.add("arg1",value.id);
    SOAPClient.invoke(url, "dropRecord", pl, false, null);
}
function saveAbfahrt(){
    var busdiv  = document.getElementById("abfahrtendiv");
    var index = busdiv.index;
    var obj;
    if (index != null){
        obj = busdiv.values[index];
    }
    else {
        obj = new Object();
        obj.defaultValue = true;
    }
    obj.name=  document.getElementById("abfahrtendiv_name").value;
    obj.description = document.getElementById("abfahrtendiv_description").value;
    obj.price=  document.getElementById("abfahrtendiv_price").value;
    //alert("ssf"+document.getElementById("abfahrtendiv_price")+" price = "+obj.price);
    var pl = new SOAPClientParameters();
    pl.add("arg0",obj);
    var saved = SOAPClient.invoke(url, "saveAbfahrtsorte", pl, false, null);
    if (index != null){
        busdiv.values[index] = saved;
        appendTableChanges(new Array(saved.name,saved.description,saved.price), index, "abfahrtendiv");
    }
    else {      
        busdiv.values[busdiv.values.length] = saved;
        appendTableRow(new Array(saved.name,saved.description,saved.price), busdiv.values.length-1, "abfahrtendiv");
        selectTableRow("abfahrtendiv", busdiv.values.length-1);
    }
    document.getElementById("abfahrtendiv_edit").style.display='none';
}

function createParameterContents(){
    var parameter = syncSoap("getPropertyEntrys",new Array());
    createTable(new Array("Name"),new Array("shortText"),parameter,"parameterdiv")
}
function createContents(){
    
    var pl = new SOAPClientParameters();
    pl.add("arg0",true);
    var busse = SOAPClient.invoke(url, "getBusse", pl, false, null);
    createTable(new Array("Name","Type","Personenanzahl"),new Array("name","type","personCount"),busse,"bussediv")

    
    pl = new SOAPClientParameters();
    pl.add("arg0",true);
    var karten = SOAPClient.invoke(url, "getKarten", pl, false, null);
    createTable(new Array("Name","Beschreibung","Preis"),new Array("name","description","price"),karten,"kartendiv")

    
    pl = new SOAPClientParameters();
    pl.add("arg0",true);
    var abfahrten = SOAPClient.invoke(url, "getAbfahrtsorte", pl, false, null);
    createTable(new Array("Name","Beschreibung","Preis"),new Array("name","description","price"),abfahrten,"abfahrtendiv")
}

function bookPayment(element,id,url,callback){
    var amountField=  $("paymentAmount"+id);
    var noteField =    $("paymentNote"+id);
    var boxField =    $("paymentBox"+id);
    var time = new Date().getTime();
 
    var payment = new Object();
    payment.booking_id=id;
    payment.type=1;
    payment.amount=amountField.value;
    payment.note=noteField.value;
    payment.date=time;


    syncSoap("bookPayment", new Array(payment));
    boxField.style.display ='none';
    if (callback){
        callback();
    }
    else {
    refreshMasterDataDiv(url);
    }
}

function bookStorno(element,id,url,callback){
    var grund = prompt("Grund für Stornierung","");
    syncSoap("stornoBook", new Array(id+"",grund));
     if (callback){
        callback();
    }
    else {
    refreshMasterDataDiv(url);
    }
}

function refreshMasterDataDiv(parameters){
    //var div= $("bookings_admin_div");
    openLoadingScreen("Lade Daten! Bitte warten!", true);
     sendRequest('editform', 'bookings_admin.jsp'+parameters);

   // new Ajax.Updater('bookings_admin_div', '/com.hme.web.new-war/bookings_admin.jsp'+parameters, { method: 'get' });
    closeLoadingScreen();
}

function newGutschein(){
    var editBusDiv = document.getElementById("gutscheindiv_edit");
    var busdiv  = document.getElementById("gutscheindiv");
    busdiv.index = null;
    editBusDiv.style.display='block';
    clearInputFields(editBusDiv);
}
function editGutschein(){
    var editBusDiv = document.getElementById("gutscheindiv_edit");
    var busdiv  = document.getElementById("gutscheindiv");
    var index = busdiv.index;
    var value = busdiv.values[index];
    document.getElementById("gutscheindiv_name").value = value.name;
    document.getElementById("gutscheindiv_currency").value = value.price;
    document.getElementById("gutscheindiv_active").checked = value.active;
    document.getElementById("gutscheindiv_count").value = value.maxCount;
      document.getElementById("gutscheindiv_description").value = value.description;
   
    //document.getElementById("bussediv_personCount").value = value.personCount;
    editBusDiv.style.display='block';
    checkInternalTypes(editBusDiv.id);
}
function deleteGutschein(){
    var bussediv = document.getElementById("gutscheindiv");
    var index = bussediv.index;
    var value = bussediv.values[index]; 
    removeTableRow(index, "gutscheindiv");
    syncSoap("dropRecord",new Array("Advertising",value.id));
   
}

function openCheck(){
     if (document.getElementById("gutscheindiv_edit").style.display=='block'){
           editGutschein();
       }
}
function createAdvertisingContents(){
    var parameter = syncSoap("getGutscheinEntrys",new Array());
   
    createTable(new Array("Name","Wert","Max Anzahl","Anzahl Gebraucht","Gutscheincode","Aktive"),new Array("name","price","maxCount","usedCount","unique_id","active"),parameter,"gutscheindiv","openCheck();");
}
function saveGutschein(){
    var busdiv  = document.getElementById("gutscheindiv");
    var index = busdiv.index;
    var obj;
    if (index != null){
        obj = busdiv.values[index];
    }
    else {
        obj = new Object();
        obj.defaultValue = true;
    }
  
    obj.description = document.getElementById("gutscheindiv_description").value;
    obj.name=  document.getElementById("gutscheindiv_name").value;
    obj.price= document.getElementById("gutscheindiv_currency").value ;
    obj.active=    document.getElementById("gutscheindiv_active").checked ;
    obj.maxCount=        document.getElementById("gutscheindiv_count").value;
    
    
    var pl = new SOAPClientParameters();
    pl.add("arg0",obj);
    var saved = SOAPClient.invoke(url, "saveGutscheinEntry", pl, false, null);
    if (index != null){
        busdiv.values[index] = saved;
        appendTableChanges(new Array(saved.name,saved.price,saved.maxCount,saved.usedCount,saved.unique_id,saved.active), index, "gutscheindiv");
    }
    else {      
        busdiv.values[busdiv.values.length] = saved;
        appendTableRow(new Array(saved.name,saved.price,saved.maxCount,saved.usedCount,saved.unique_id,saved.active), busdiv.values.length-1, "gutscheindiv");
        selectTableRow("gutscheindiv", busdiv.values.length-1);
    }
    document.getElementById("gutscheindiv_edit").style.display='none';
}

