
function showStornoInfos()
{
    hideSerial();
    hideWait();
    
    $('container_confirm_storno').style.display = 'block';
    $('container_new_serial').style.display = 'block';
    $('dStorno').style.display = 'block';
    $('dDetails').style.display = 'block';
      
    setDetails($F('serial'), $F('ean'), $F('desc'), $F('price'));
    
    $('dTan').innerHTML = 'tan';
}

function getSerialTan(productid,serial,user,pass,cspid,activationtime)
{
    showWait();
    
    var timeout = 15;
    var args  = 'serial='+serial;
        args += '&prodid='+productid;    
        args += '&user='+user;    
        args += '&pass='+pass;    
        args += '&cspid='+cspid;
        args += '&activationtime='+activationtime;     
    
    /* belegt hidden-felder */        
        
    $('user').value = user;
    $('pass').value = pass;
    $('cspid').value = cspid;
    $('productid').value = productid;
        
    var myAjax = new Ajax.Request( homedir+'tan-contentcard.php',
                                    {
                                        method: 'get',
                                        parameters: args,
                                        onSuccess: getSerialStorno,
                                        asynchronous: true
                                    }
                                  );
    new AjaxTimeouter(myAjax, timeout, handleDetailTimeout.bind(handleDetailTimeout) );
}

function getSerialStorno(myAjax)
{
    var dom = myAjax.responseXML;
    var tan;

    if($('status').value == 'DELIVERED' || dom.getElementsByTagName('code')[0].childNodes[0].nodeValue == '4289')
    {
        var Code = dom.getElementsByTagName('code')[0].childNodes[0].nodeValue;

        fetchCodeMessage(Code);
        
        if (getCodeMessage().length > 0)
        {
            serverError(Code+': '+getCodeMessage());
        }
        else if (dom.getElementsByTagName('description')[0].childNodes[0].nodeValue.length > 0)
        {
            serverError(Code+': '+dom.getElementsByTagName('description')[0].childNodes[0].nodeValue);
        }
        else
        {
            serverError(Code+': '+text('eError'));
        }
        
		if ($('status').value == 'DELIVERED')
        {
			showStornoErrorCustomerFinal();
		}
		else
		{
			showStornoErrorFinal();
		}
        
        hideWait();
	}
    /*else if (dom.getElementsByTagName('code').length || dom.getElementsByTagName('description').length)
    {   
        showStornoErrorFinalNoPrint();
              
        var Code = dom.getElementsByTagName('code')[0].childNodes[0].nodeValue;

        fetchCodeMessage(Code);

        if (getCodeMessage().length > 0)
        {
            serverError(Code+': '+getCodeMessage());
        }
        else if (dom.getElementsByTagName('description')[0].childNodes[0].nodeValue.length > 0)
        {
            serverError(Code+': '+dom.getElementsByTagName('description')[0].childNodes[0].nodeValue);
        }
        else
        {
            serverError(Code+': '+text('eError'));
        }
            
        hideWait();
    }*/
	else
    {
        if(dom.getElementsByTagName('tan').length)
        {
            tan = dom.getElementsByTagName('tan')[0].childNodes[0].nodeValue;
			$('tan').value = tan;
        }
                
        var timeout = 15;
        var args  = 'tan='+tan;
            args += '&serial='+serial.value;
            args += '&user='+$('user').value;    
            args += '&pass='+$('pass').value;    
            args += '&cspid='+$('cspid').value;
        
        var myAjax = new Ajax.Request( homedir+'storno-contentcard.php',
                                        {
                                            method: 'get',
                                            parameters: args,
                                            onSuccess: handleStornoResponse,
                                            asynchronous: true
                                        }
                                      );
        new AjaxTimeouter(myAjax, timeout, handleDetailTimeout.bind(handleDetailTimeout) );
    }
}

function handleStornoResponse(myAjax)
{ 
    var dom = myAjax.responseXML;
    
    if (dom.getElementsByTagName('tan').length)
    {   
        $('stornotan').value = dom.getElementsByTagName('tan')[0].childNodes[0].nodeValue;
    }
        
    if (dom.getElementsByTagName('description').length || dom.getElementsByTagName('code').length)
    {        
        showStornoErrorFinal();
                
        var Code = dom.getElementsByTagName('code')[0].childNodes[0].nodeValue;

        fetchCodeMessage(Code);

        if (getCodeMessage().length > 0)
        {
            serverError(Code+': '+getCodeMessage());
        }
        else if (dom.getElementsByTagName('description')[0].childNodes[0].nodeValue.length > 0)
        {
            serverError(Code+': '+dom.getElementsByTagName('description')[0].childNodes[0].nodeValue);
        }
        else
        {
            serverError(Code+': '+text('eError'));
        }
		
        hideWait();
    }
    else
    {
        hideWait();
        showStornoHappyFinal();
    }
}    


function showStornoErrorFinal()
{ 
    $('container_confirm_storno').style.display = 'none';
    $('Final').style.display = 'block';
    /*$('stornoprintbutton').style.display = 'none';*/
    $('stornoprintcancelbutton').style.display = 'block';
}

function showStornoErrorCustomerFinal()
{ 
    $('container_confirm_storno').style.display = 'none';
    $('Final').style.display = 'block';
    $('stornoprintcustomerbutton').style.display = 'block';
    $('stornoprintcancelbutton').style.display = 'block';
}

function showStornoErrorFinalNoPrint()
{ 
    $('freischaltprintbutton').style.display = 'none';
    $('freischaltprintvoucher').style.display = 'none';
    $('container_confirm_storno').style.display = 'none';
    $('Final').style.display = 'block';
    $('stornoprintcancelbutton').style.display = 'block';
    $('stornoprintbutton').style.display = 'block';
}

function showStornoHappyFinal()
{ 
    hideWait();
    serverSuccess(text('eSuccessStorno'));
    
    $('freischaltprintvoucher').style.display = 'none';
    $('freischaltprintbutton').style.display = 'none';
    $('container_confirm_storno').style.display = 'none';
    $('Final').style.display = 'block';
	
	$('stornoprintcustomerbutton').style.display = 'none';
    $('stornoprintcancelbutton').style.display = 'none';	
	$('stornoprintbutton').style.display = 'block';
    $('stornoprintbutton').style.display = 'block';
}


function createNewWindow(URL, winName, winWidth, winHeight, aParams, options)
{
	var link_addition = "";

	if (typeof aParams == 'object')
	{
        for (var Key in aParams)
        {
            if (typeof aParams[Key] != 'function') {
        	    link_addition = link_addition + '&' + Key + '=' + aParams[Key];
            }
        }

        var mkURL = URL + '?' + link_addition;

    } else {

		var mkURL = URL;

    }

    var breite = (screen.width - winWidth)/2;
    var hoehe = (screen.height - winHeight)/2 - 60;
    var features = 'width='+winWidth+',height='+winHeight+',top='+hoehe+',left='+breite;
    if(options != '') { features = features+','+options; }
    var popup = window.open(mkURL, winName, features);
    popup.focus();
    return popup;
}


function printVoucher(mode) /* mode: 0 = freischaltbeleg, 1 = stornobeleg, 2 = kundenbeleg */
{   
    var timeout = 15;
    var args  = 'tan='+$('tan').value;
        args += '&serial='+serial.value;
        args += '&user='+$('user').value;    
        args += '&pass='+$('pass').value;    
        args += '&productid='+$('productid').value;    
        args += '&cspid='+$('cspid').value;
        args += '&ean='+$('ean').value;
        args += '&desc='+$('desc').value;
        args += '&price='+$('price').value;
        args += '&stornotan='+$('stornotan').value;
        args += '&atan='+$('vatan').value;
        args += '&dtan='+$('vdtan').value;
        args += '&mobile='+$('vmobile').value;
        args += '&activationtime='+$('activationtime').value;
        args += '&deliverytime='+$('deliverytime').value;
        args += '&mode='+mode;

    var myAjax = new Ajax.Request( homedir+'printVoucher.php',
                                    {
                                        method: 'get',
                                        parameters: args,
                                        onSuccess: createwindow,
                                        asynchronous: true
                                    }
                                  );
    new AjaxTimeouter(myAjax, timeout, handleDetailTimeout.bind(handleDetailTimeout) );
}

function createwindow(myAjax)
{
	var Voucher = createNewWindow('', 'printvoucher', 520, 740, null, 'scrollbars=yes');
	Voucher.focus();
    Voucher.document.write(myAjax.responseText);
    Voucher.document.close();
}

function printVoucherFreischalt()
{
    
}


function getSerialInfo(serial,cspid)
{
    /* deaktiviert für die dauer der prüfung das serial-feld */

    $('serial').disabled=true;
    
    /* wenn der user eingeloggt, wird der wartetext angezeigt */
    
    if(logged_in == 1) 
    {
        showWait();
    }

    var timeout = 15;
    var args  = 'serial='+serial.value;
        args += '&cspid='+cspid;    

    var myAjax = new Ajax.Request( homedir+'info-contentcard.php',
                                    {
                                        method: 'get',
                                        parameters: args,
                                        onSuccess: handleInfoResponse,
                                        asynchronous: true
                                    }
                                  );

    new AjaxTimeouter(myAjax, timeout, handleDetailTimeout.bind(handleDetailTimeout) );
}

function handleInfoResponse(myAjax)
{
    hideWait();
    
    var price;
    var dom = myAjax.responseXML;

    if (dom.getElementsByTagName('description').length && dom.getElementsByTagName('code').length)
    {        
        var Code = dom.getElementsByTagName('code')[0].childNodes[0].nodeValue;

        fetchCodeMessage(Code);

        if (getCodeMessage().length > 0)
        {
            serverError(Code+': '+getCodeMessage());
        }
        else if (dom.getElementsByTagName('description')[0].childNodes[0].nodeValue.length > 0)
        {
            serverError(Code+': '+dom.getElementsByTagName('description')[0].childNodes[0].nodeValue);
        }
        else
        {
            serverError(Code+': '+text('eError'));
        }
        
        $('serial').disabled=false;
        $('serial').focus();
    }
    var price = String(parseInt(dom.getElementsByTagName('amount')[0].childNodes[0].nodeValue, 10)/100).replace(/\./g, ',');
    var ean = dom.getElementsByTagName('eancode')[0].childNodes[0].nodeValue;
    var desc = dom.getElementsByTagName('description')[0].childNodes[0].nodeValue;
    price = price + ' ' + dom.getElementsByTagName('currency')[0].childNodes[0].nodeValue;
    var return_status = dom.getElementsByTagName('status')[0].childNodes[0].nodeValue;
    var return_cancel = dom.getElementsByTagName('status')[0].getAttribute('cancelable');
    
    var activationtime = null;
    var deliverytime = null;
    var deliverytime = null;
    var return_mobile = null;
    var return_atan = null;
    var return_dtan = null;
    
    if (dom.getElementsByTagName('type').length && dom.getElementsByTagName('value').length && dom.getElementsByTagName('type')[0].childNodes[0].nodeValue == 'MSISDN')
    {
    	return_mobile = dom.getElementsByTagName('value')[0].childNodes[0].nodeValue;
    }
    
    if (dom.getElementsByTagName('activation-time') && dom.getElementsByTagName('activation-time').length)
    {
    	//return_atan = dom.getElementsByTagName('activation-time')[0].getAttribute('tan');
        activationtime = dom.getElementsByTagName('activation-time')[0].childNodes[0].nodeValue;
    }
    
    if (dom.getElementsByTagName('delivery-time') && dom.getElementsByTagName('delivery-time').length)
    {
    	//return_dtan = dom.getElementsByTagName('delivery-time')[0].getAttribute('tan');
    	deliverytime = dom.getElementsByTagName('delivery-time')[0].childNodes[0].nodeValue;
    }
    
    /*alert('activationtime = '+activationtime);
    alert('deliverytime = ' + deliverytime);
    alert('return_mobile = '+return_mobile);
    alert('return_atan = '+return_atan);
    alert('return_dtan = '+return_dtan);*/
        
    $('vdtan').value = return_dtan;
    $('vmobile').value = return_mobile;
    $('vatan').value = return_atan;
    $('deliverytime').value = activationtime;
    $('deliverytime').value = deliverytime;
    $('activationtime').value = activationtime;
    
    $('ean').value = ean;
    $('desc').value = desc;
    $('price').value = price;

    $('status').value = return_status;
    
    $('found_serial_line').style.display    = 'none';
    $('serial_status_line').style.display   = 'block';
    $('serial_error_line').style.display    = 'none';
    
    /* JE NACHDEM WELCHER STATUS ZURÜCKKOMMT - BUTTONS ANZEIGEN */

    if(return_status == 'UNUSED')
    {
        $('activate').disabled=false;
        $('storno').disabled=false;
    }
    else if(return_status == 'ACTIVATED')
    {
        $('activate').disabled=true;
        $('storno').disabled=false;
    }
    else if(return_status == 'DELIVERED')
    {
        $('activate').disabled=true;
        $('storno').disabled=false;
    }
    else if(return_status == 'LOCKED')
    {
        $('activate').disabled=true;
        $('storno').disabled=false;
    }
    else if(return_status == 'CANCELED')
    {
        $('activate').disabled=true;
        $('storno').disabled=true;
    }
    else if(return_status == 'EXPIRED')
    {
        $('activate').disabled=true;
        $('storno').disabled=true;
    }

    if (return_cancel == 'false' && return_status != 'DELIVERED')
    {
    	$('storno').disabled = true;
    }

    /* STATUS-ZEILE */

    $('serial_status_text').innerHTML = serial_status[return_status];
    
    if(logged_in == 1) 
    {
        hideWait();
    }
    
    $('serial').disabled=false;
}


function getSerialInfoDirect(serial,cspid)
{
    /* deaktiviert für die dauer der prüfung das serial-feld */
    
    $('serial').disabled=true;
    
    /* wenn der user eingeloggt, wird der wartetext angezeigt */
    
    if(logged_in == 1) 
    {
        showWait();
    }
    
    var timeout = 15;
    var args  = 'serial='+serial.value;
        args += '&cspid='+cspid;    
    
    var myAjax = new Ajax.Request( homedir+'info-contentcard.php',
                                    {
                                        method: 'get',
                                        parameters: args,
                                        onSuccess: handleInfoResponseDirect,
                                        asynchronous: true
                                    }
                                  );
    new AjaxTimeouter(myAjax, timeout, handleDetailTimeout.bind(handleDetailTimeout) );
}

function handleInfoResponseDirect(myAjax)
{
    hideWait();
    
    var price;
    var dom = myAjax.responseXML;
    
    if (dom.getElementsByTagName('description').length && dom.getElementsByTagName('code').length)
    {   
        var Code = dom.getElementsByTagName('code')[0].childNodes[0].nodeValue;

        fetchCodeMessage(Code);

        if (getCodeMessage().length > 0)
        {
            serverError(Code+': '+getCodeMessage());
        }
        else if (dom.getElementsByTagName('description')[0].childNodes[0].nodeValue.length > 0)
        {
            serverError(Code+': '+dom.getElementsByTagName('description')[0].childNodes[0].nodeValue);
        }
        else
        {
            serverError(Code+': '+text('eError'));
        }
        $('serial').disabled=false;
    }
       
    
    var price = String(parseInt(dom.getElementsByTagName('amount')[0].childNodes[0].nodeValue, 10)/100).replace(/\./g, ',');
    var ean = dom.getElementsByTagName('eancode')[0].childNodes[0].nodeValue;
    var desc = dom.getElementsByTagName('description')[0].childNodes[0].nodeValue;
    var return_status = dom.getElementsByTagName('status')[0].childNodes[0].nodeValue;
    price = price + ' ' + dom.getElementsByTagName('currency')[0].childNodes[0].nodeValue;
    
    if(dom.getElementsByTagName('activation-time').length)
    {
        var activationtime = dom.getElementsByTagName('activation-time')[0].childNodes[0].nodeValue;
    }
    
    $('ean').value = ean;
    $('desc').value = desc;
    $('price').value = price;
    $('activationtime').value = activationtime;
    $('status').value = return_status;
    
    $('found_serial_line').style.display    = 'none';
    $('serial_status_line').style.display   = 'block';
    $('serial_error_line').style.display    = 'none';
    
    /* STATUS-ZEILE */
    
    $('serial_status_text').innerHTML = serial_status[return_status];
    
    if(logged_in == 1) 
    {
        hideWait();
    }
    
    $('serial').disabled=false;
    
    chkStorno($('serial'));
}


function hideafterlogin()
{
   
}
