
function mailto(str) 
{
    var mailto = '';
    for (n = 0; s = str.substring(n * 2, 2 * n + 2); n++) {
        mailto+= unescape('%' + s) ;
    }
    location.href = 'mailto:' + mailto;
}

var httpRequest;

function showLoad()
{
    if (document.getElementById('layer_load')) {
        if (document.body.scrollTop) {
            document.getElementById('layer_load').style.top = (30 + document.body.scrollTop) + 'px'
        }
        document.getElementById('layer_load').style.display = 'block';
    }
}

function hideLoad()
{
    if (document.getElementById('layer_load')) {
        document.getElementById('layer_load').style.display = 'none';
    }
}

function changeContent(query)
{
    selection_init           = 0;
    selection_interval_count = 0;
    
    if (_EDIT_MODE) {
        location.href = _PHP_SELF + '?' + query;
        return;
    }
    
    showLoad();
    
    file = _BASE_HREF + 'action_template.php?' + query;
    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }

    httpRequest.open("GET", file, true);
    httpRequest.onreadystatechange = changeContentSet;
    httpRequest.send(null);
}

function changeContentSet()
{
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            hideLoad();
            document.getElementById('content_middleinner').innerHTML = httpRequest.responseText;
            if (selection_init_call_flag) {
                if (selection_interval) {
                    window.clearInterval(selection_interval);
                }
                selection_interval = window.setInterval('selectionInitTry()', 100);
            }
            if (grid_init_flag) {
                gridInit(0);
            }
            if (size_init_flag) {
                sizeInit(0);
            }
            
            
        } else {
            alert('Error in file "action_template.php"!');
        }
    }
}

function openPopup(url)
{
    win = window.open(url, 'popup', 'width = 572, height = 572, left = 100, top 100');
    win.focus();
}

function showPosLeft(id) 
{
    x   = 0;
    pos = document.getElementById(id);
    if (pos) {
        x = pos.offsetLeft;
        while (pos.offsetParent != null) {
            pos = pos.offsetParent;
            if (pos) {
                x = x + pos.offsetLeft;
            }
        }
    }
    return x;
}

function showPosTop(id) 
{
    y   = 0;
    pos = document.getElementById(id);
    if (pos) {
        y = pos.offsetTop;
        while (pos.offsetParent != null) {
            pos = pos.offsetParent;
            if (pos) {
                y = y + pos.offsetTop;
            }
        }
    }
    return y;
}

function showUpload()
{
    if (document.getElementById('animation_upload')) {
        document.getElementById('animation_upload').style.display = 'block';
        document.getElementById('animation_upload').style.left    = (showPosLeft('button_upload')) + 'px';
        document.getElementById('animation_upload').style.top     = (showPosTop('button_upload')) + 'px';
    }
}

function hideUpload()
{
    if (document.getElementById('animation_upload')) {
        document.getElementById('animation_upload').style.display = 'none';
    }
}

function showHelp(obj, id)
{
    if (document.getElementById(id)) {
        document.getElementById(id).style.display = 'block';
        
        if (id == 'help_layer_33' ||
            id == 'help_layer_38' ||
            id == 'help_layer_36' ||
            id == 'help_layer_5') {
            var offsetHelp = (-1 * document.getElementById(id).offsetHeight) + 4;
        } else {
            var offsetHelp = 22;
        }
        
        document.getElementById(id).style.top     = (showPosTop(obj.id) + offsetHelp) + 'px';
        document.getElementById(id).style.left    = (showPosLeft(obj.id) - 300) + 'px';
    }

}

function hideHelp(id)
{
    if (document.getElementById(id)) {
        document.getElementById(id).style.display = 'none';
    }
}

var price_block = false;
function showPrice()
{
    if (document.getElementById('layer_price')) {
        if (document.getElementById('layer_price').style.display == 'block') {
            hidePrice();
        } else {
            price_block                                          = true;
            document.getElementById('layer_price').style.display = 'block';
        }
    }
}

function hidePrice()
{
    if (document.getElementById('layer_price') && !price_block) {
        document.getElementById('layer_price').style.display = 'none';
    }
    price_block = false;
}

var pulldown_id    = '';
var pulldown_block = false;
function showPulldown(id)
{
    if (pulldown_id && pulldown_id != id) {
        hidePulldown();
    }
    
    pulldown_id  = id;
    if (document.getElementById(pulldown_id)) {
        if (document.getElementById(pulldown_id).style.display != 'block') {
            pulldown_block                                     = true;
            document.getElementById(pulldown_id).style.display = 'block';
        } else {
            hidePulldown();
        }
    }
}

function hidePulldown()
{
    if (pulldown_id && document.getElementById(pulldown_id) && !pulldown_block) {
        document.getElementById(pulldown_id).style.display = 'none';
    }
    pulldown_block = false;
}

function showAmount()
{
    if (document.getElementById('amount_layer')) {
        document.getElementById('amount_layer').style.display = 'block';
    }
}

function hideAmount()
{
    if (document.getElementById('amount_layer')) {
        document.getElementById('amount_layer').style.display = 'none';
    }
}

function deleteQuestion(url, text)
{
    if (confirm(text)) {
        location.href = url;
    }
}

function changePayment(id)
{
    
    if (document.getElementById('label_payment_type_1')) {
        document.getElementById('label_payment_type_1').style.fontWeight     = 'normal';
    }
    if (document.getElementById('label_payment_type_2')) {
        document.getElementById('label_payment_type_2').style.fontWeight     = 'normal';
    }
    if (document.getElementById('label_payment_type_3')) {
        document.getElementById('label_payment_type_3').style.fontWeight     = 'normal';
    }
    if (document.getElementById('label_payment_type_4')) {
        document.getElementById('label_payment_type_4').style.fontWeight     = 'normal';
    }
    if (document.getElementById('label_payment_type_5')) {
        document.getElementById('label_payment_type_5').style.fontWeight     = 'normal';
    }
    
    if (document.getElementById('label_payment_type_' + id)) {
        document.getElementById('label_payment_type_' + id).style.fontWeight = 'bold';
        document.forms['data'].elements['payment_type_' + id].checked        = 'checked';
        document.forms['data'].elements['payment_type_' + id].blur();
    }
    
    if (document.getElementById('layer_payment_type_1')) {
        document.getElementById('layer_payment_type_1').style.display        = 'none';
    }
    if (document.getElementById('layer_payment_type_2')) {
        document.getElementById('layer_payment_type_2').style.display        = 'none';
    }
    if (document.getElementById('layer_payment_type_3')) {
        document.getElementById('layer_payment_type_3').style.display        = 'none';
    }
    if (document.getElementById('layer_payment_type_4')) {
        document.getElementById('layer_payment_type_4').style.display        = 'none';
    }
    if (document.getElementById('layer_payment_type_5')) {
        document.getElementById('layer_payment_type_5').style.display        = 'none';
    }
    if (document.getElementById('layer_payment_type_' + id)) {
        document.getElementById('layer_payment_type_' + id).style.display    = 'block';
    }
}

function changeCreditcard(id)
{
    if (document.getElementById('label_creditcard_type_1') &&
        document.getElementById('label_creditcard_type_2') &&
        document.getElementById('label_creditcard_type_3')) {
        document.getElementById('label_creditcard_type_1').style.fontWeight     = 'normal';
        document.getElementById('label_creditcard_type_2').style.fontWeight     = 'normal';
        document.getElementById('label_creditcard_type_3').style.fontWeight     = 'normal';
        document.getElementById('label_creditcard_type_' + id).style.fontWeight = 'bold';
        document.forms['data'].elements['creditcard_type_' + id].checked        = 'checked';
        document.forms['data'].elements['creditcard_type_' + id].blur();
    }
}

var tooltip_status, tooltip_id;
var tooltip_offsetX = 0;
var tooltip_offsetY = 0;

function toolTip(set_status, set_id, set_offsetX, set_offsetY) 
{
    tooltip_id      = set_id;
    tooltip_status  = set_status;
    if (!set_offsetX) set_offsetX = 0;
    if (!set_offsetY) set_offsetY = 0;
    
    tooltip_offsetX = parseInt(set_offsetX);
    tooltip_offsetY = parseInt(set_offsetY);
    if (navigator.appName == "Microsoft Internet Explorer") {
        if (tooltip_status) {
            posX = window.event.x + document.body.scrollLeft;
            posY = window.event.y + document.body.scrollTop;
            document.getElementById(tooltip_id).style.left    = (posX + 20 + tooltip_offsetX) + 'px';
            document.getElementById(tooltip_id).style.top     = (posY + 20 + tooltip_offsetY) + 'px';
            document.getElementById(tooltip_id).style.display = 'block';
        }
    } else {
        if (!tooltip_status) {
            document.getElementById(tooltip_id).style.display = 'none';
        }
    }
}

function toolTipMove(e) 
{
    if (tooltip_id) {
        if (tooltip_status) {
            if (navigator.appName == "Microsoft Internet Explorer") {
                posX = window.event.x + document.body.scrollLeft;
                posY = window.event.y + document.body.scrollTop;
            } else {
                posX = e.pageX;
                posY = e.pageY;
            }
            document.getElementById(tooltip_id).style.left    = (posX + 20 + tooltip_offsetX) + 'px';
            document.getElementById(tooltip_id).style.top     = (posY + 20 + tooltip_offsetY) + 'px';
            document.getElementById(tooltip_id).style.zIndex  = 20;            
            document.getElementById(tooltip_id).style.display = 'block'; 
        } else {
            document.getElementById(tooltip_id).style.display = 'none';
        }
    }
}

var selection_status       = 0;
var selection_config_width = 240;
var selection_start_x      = 0;
var selection_start_y      = 0;
var selection_base_x       = 0;
var selection_base_y       = 0;
var selection_paper_x1     = 0;
var selection_paper_x2     = 0;
var selection_paper_y1     = 0;
var selection_paper_y2     = 0;

var selection_image_width  = 0;
var selection_paper_width  = 0;

var selection_init_call_flag = 0;
var selection_init           = 0;
var selection_interval;
var selection_interval_count = 0;

var objSelectionBackground;
var objSelectionLayer;
var objSelectionSize;
var objSelectionImage;
var objSelectionImageReal;

function selectionInitTry()
{
    selection_interval_count++;
    
    if (selection_interval_count < 10 && !selection_init) {
        if (window.selectionInitCall) {
            selectionInitCall();
        }
    } else {
        window.clearInterval(selection_interval);
    }
}

function selectionWindowResize()
{
    if (selection_config_width > image_width) {
        var dif = selection_config_width - selection_image_width;
        var haf = parseInt(dif / 2);
        var add = 140 + haf;
    } else {
        var add = 140;
    }
    if (objSelectionBackground && objSelectionSize && objSelectionLayer && objSelectionImage) {
        selection_base_x   = showPosLeft(objSelectionBackground.id) + add;
        selection_paper_x1 = selection_base_x;
        selection_paper_x2 = selection_base_x + selection_image_width - selection_paper_width;
        objSelectionLayer.style.left = selection_base_x + 'px';
        objSelectionImage.style.left = (selection_base_x + 1) + 'px';
    }
}

function selectionInit(paper_width, paper_height, image_width, image_height, offset_x, offset_y)
{
    objSelectionBackground = document.getElementById('selection_background');
    objSelectionLayer      = document.getElementById('selection_layer');
    objSelectionSize       = document.getElementById('selection_size');
    objSelectionImage      = document.getElementById('selection_image');
    objSelectionImageReal  = document.getElementById('selection_image_real');
    
    if (selection_config_width > image_width) {
        
        var dif = selection_config_width - image_width;
        var haf = parseInt(dif / 2);
        var add = 140 + haf;
    } else {
        var add = 140;
    }
    
    if (objSelectionBackground && objSelectionSize && objSelectionLayer && objSelectionImage) {
        selection_init   = 1;
        selection_base_x = showPosLeft(objSelectionBackground.id) + add;
        selection_base_y = showPosTop(objSelectionBackground.id);
        
        selection_paper_x1 = selection_base_x;
        selection_paper_x2 = selection_base_x + image_width - paper_width;
        selection_paper_y1 = selection_base_y;
        selection_paper_y2 = selection_base_y + image_height - paper_height;
        
        objSelectionSize.style.width    = paper_width  + 'px';
        objSelectionSize.style.height   = paper_height + 'px';
        objSelectionLayer.style.top     = selection_base_y + 'px';
        objSelectionLayer.style.left    = selection_base_x + 'px';
        objSelectionLayer.style.display = 'block';
        
        objSelectionImage.style.width   = paper_width  + 'px';
        objSelectionImage.style.height  = paper_height + 'px';
        objSelectionImage.style.top     = (selection_base_y + 1) + 'px';
        objSelectionImage.style.left    = (selection_base_x + 1) + 'px';
        objSelectionImage.style.display = 'block';
        
        if (offset_x) {
            newX                             = showPosLeft(objSelectionLayer.id) + offset_x;
            objSelectionLayer.style.left     = (newX) + 'px';
            selection_base_x                 = (newX);
            objSelectionImage.style.left     = (newX + 1) + 'px';
            objSelectionImageReal.style.left = (-1 * offset_x) + 'px';
        }
        if (offset_y) {
            newY                             = showPosTop(objSelectionLayer.id) + offset_y;
            objSelectionLayer.style.top      = (newY) + 'px';
            selection_base_y                 = (newY);
            objSelectionImage.style.top      = (newY + 1) + 'px';
            objSelectionImageReal.style.top  = (-1 * offset_y) + 'px';
        }
        
        selection_image_width = image_width;
        selection_paper_width = paper_width;
    }
}

function selectionEnable(e)
{
    selection_status = 1;
    
    if (navigator.appName == "Microsoft Internet Explorer") {
        posX = window.event.x + document.body.scrollLeft;
        posY = window.event.y + document.body.scrollTop;
    } else {
        posX = e.pageX;
        posY = e.pageY;
    }
    
    selection_start_x = posX;
    selection_start_y = posY;
}

function selectionDisable()
{
    selection_status = 0;
    if (objSelectionLayer) {
        selection_base_x = showPosLeft(objSelectionLayer.id);
        selection_base_y = showPosTop(objSelectionLayer.id);
    }
}

function selectionMove(e)
{
    var posX = 0;
    var posY = 0;
    
    if (selection_status && objSelectionLayer && objSelectionImage) {
        if (navigator.appName == "Microsoft Internet Explorer") {
            selection = document.getElementById('selection_layer');
            document.selection.empty();
            posX = window.event.x + document.body.scrollLeft;
            posY = window.event.y + document.body.scrollTop;
        } else {
            posX = e.pageX;
            posY = e.pageY;
        }
        
        difX = selection_base_x + posX - selection_start_x;
        difY = selection_base_y + posY - selection_start_y;
        offX = 0;
        offY = 0;
        
        if (difX >= selection_paper_x1 && difX <= selection_paper_x2) {
            objSelectionLayer.style.left = difX + 'px';
            objSelectionImage.style.left = (difX + 1) + 'px';
            offX                         = difX - selection_paper_x1;
        } else if (difX <= selection_paper_x1) {
            objSelectionLayer.style.left = selection_paper_x1 + 'px';
            objSelectionImage.style.left = (selection_paper_x1 + 1) + 'px';
            offX                         = 0;
        } else {
            objSelectionLayer.style.left = selection_paper_x2 + 'px';
            objSelectionImage.style.left = (selection_paper_x2 + 1) + 'px';
            offX                         = selection_paper_x2 - selection_paper_x1;
        }
        
        if (difY >= selection_paper_y1 && difY <= selection_paper_y2) {
            objSelectionLayer.style.top  = difY + 'px';
            objSelectionImage.style.top  = (difY + 1) + 'px';
            offY                         = difY - selection_paper_y1;
        } else if (difY <= selection_paper_y1) {
            objSelectionLayer.style.top  = selection_paper_y1 + 'px';
            objSelectionImage.style.top  = (selection_paper_y1 + 1) + 'px';
            offY                         = 0;
        } else {
            objSelectionLayer.style.top  = selection_paper_y2 + 'px';
            objSelectionImage.style.top  = (selection_paper_y2 + 1) + 'px';
            offY                         = selection_paper_y2 - selection_paper_y1;
        }
        
        objSelectionImageReal.style.top  = (-1 * offY) + 'px';
        objSelectionImageReal.style.left = (-1 * offX) + 'px';
        
        document.forms['form_image'].elements['offset_x'].value = offX;
        document.forms['form_image'].elements['offset_y'].value = offY;
    }
}

var grid_init_flag = 0;

function gridInit(status)
{
    var objGridImage = document.getElementById('grid_image');
    var objGridLines = document.getElementById('grid_lines');
    
    if (objGridImage && objGridLines) {
        objGridLines.style.top     = (showPosTop(objGridImage.id))  + 'px';
        objGridLines.style.left    = (showPosLeft(objGridImage.id)) + 'px';
        objGridLines.style.display = 'block';
    }
    
    // fuer Firefox and Friends in der letzten Zeile 1px Hoehe enterfernen
    if (navigator.appName != "Microsoft Internet Explorer" && !status) {
        if (document.getElementById('grid_last_row')) {
            for (i = 0; i < document.getElementById('grid_last_row').getElementsByTagName("td").length; ++i) {
                var obj = document.getElementById('grid_last_row').getElementsByTagName("td")[i];
                obj.style.height = (parseInt(obj.style.height) - 1) + 'px';
            }
        }
    }
}

var size_init_flag = 0;

function sizeInit(status)
{
    objPosImage            = document.getElementById('image'); 
    objSizePaperHeight     = document.getElementById('size_paper_height'); 
    objSizePaperHeightText = document.getElementById('size_paper_height_text'); 
    objSizePaperWidth      = document.getElementById('size_paper_width'); 
    objSizePaperWidthText  = document.getElementById('size_paper_width_text'); 
    
    objSizePartFirstHeight     = document.getElementById('size_part_first_height'); 
    objSizePartFirstHeightText = document.getElementById('size_part_first_height_text'); 
    objSizePartFirstWidth      = document.getElementById('size_part_first_width'); 
    objSizePartFirstWidthText  = document.getElementById('size_part_first_width_text'); 
    
    objSizePartLastHeight     = document.getElementById('size_part_last_height'); 
    objSizePartLastHeightText = document.getElementById('size_part_last_height_text'); 
    objSizePartLastWidth      = document.getElementById('size_part_last_width'); 
    objSizePartLastWidthText  = document.getElementById('size_part_last_width_text'); 
    
    if (document.getElementById('value_file_offset_x')) {
        file_offset_x = parseInt(document.getElementById('value_file_offset_x').innerHTML);
    } else {
        file_offset_x = 0;
    }
    
    if (document.getElementById('value_file_offset_y')) {
        file_offset_y = parseInt(document.getElementById('value_file_offset_y').innerHTML);         
    } else {
        file_offset_y = 0;
    }   
    
    if ((objSizePartFirstHeight && objSizePartFirstWidth) || (objSizePartLastHeight && objSizePartLastWidth)) {
        offset = 0;
    } else {
        offset = -1;
    } 
    
    if (objPosImage && objSizePaperHeight && objSizePaperHeightText) {
        objSizePaperHeight.style.left        = (showPosLeft(objPosImage.id) - 27) + 'px';
        objSizePaperHeight.style.top         = (showPosTop(objPosImage.id)  + offset + file_offset_y) + 'px';
        objSizePaperHeight.style.display     = 'block';
        objSizePaperHeightText.style.left    = (showPosLeft(objPosImage.id) - 100) + 'px';
        objSizePaperHeightText.style.top     = (showPosTop(objPosImage.id)  + offset + file_offset_y) + 'px';
        objSizePaperHeightText.style.display = 'block';
    } 
    
    if (objPosImage && objSizePaperWidth && objSizePaperWidthText) {
        objSizePaperWidth.style.left         = (showPosLeft(objPosImage.id) + offset + file_offset_x) + 'px';
        objSizePaperWidth.style.top          = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight + 16) + 'px';
        objSizePaperWidth.style.display      = 'block';
        objSizePaperWidthText.style.left     = (showPosLeft(objPosImage.id) + offset + file_offset_x) + 'px';
        objSizePaperWidthText.style.top      = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight + 23) + 'px';
        objSizePaperWidthText.style.display  = 'block';
    }
    
    if (objPosImage && objSizePartFirstHeight && objSizePartFirstHeightText) {
        objSizePartFirstHeight.style.left        = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth + 16) + 'px';
        objSizePartFirstHeight.style.top         = (showPosTop(objPosImage.id)) + 'px';
        objSizePartFirstHeight.style.display     = 'block';
        objSizePartFirstHeightText.style.left    = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth + 27) + 'px';
        objSizePartFirstHeightText.style.top     = (showPosTop(objPosImage.id)) + 'px';
        objSizePartFirstHeightText.style.display = 'block';
    } 
    
    if (objPosImage && objSizePartFirstWidth && objSizePartFirstWidthText) {
        objSizePartFirstWidth.style.left         = (showPosLeft(objPosImage.id)) + 'px';
        objSizePartFirstWidth.style.top          = (showPosTop(objPosImage.id)   + objPosImage.offsetHeight + 37) + 'px';
        objSizePartFirstWidth.style.display      = 'block';
        objSizePartFirstWidthText.style.left     = (showPosLeft(objPosImage.id)) + 'px';
        objSizePartFirstWidthText.style.top      = (showPosTop(objPosImage.id)   + objPosImage.offsetHeight + 44) + 'px';
        objSizePartFirstWidthText.style.display  = 'block';
    }
    
    if (objPosImage && objSizePartLastHeight && objSizePartLastHeightText) {
        objSizePartLastHeight.style.left        = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth  + 16) + 'px';
        objSizePartLastHeight.style.top         = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight - parseInt(objSizePartLastHeight.style.height)) + 'px';
        objSizePartLastHeight.style.display     = 'block';
        objSizePartLastHeightText.style.left    = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth  + 27) + 'px';
        objSizePartLastHeightText.style.top     = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight - parseInt(objSizePartLastHeight.style.height)) + 'px';
        objSizePartLastHeightText.style.display = 'block';
    } 
    
    if (objPosImage && objSizePartLastWidth && objSizePartLastWidthText) {
        objSizePartLastWidth.style.left         = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth  - parseInt(objSizePartLastWidth.style.width)) + 'px';
        objSizePartLastWidth.style.top          = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight + 37) + 'px';
        objSizePartLastWidth.style.display      = 'block';
        objSizePartLastWidthText.style.left     = (showPosLeft(objPosImage.id) + objPosImage.offsetWidth  - parseInt(objSizePartLastWidth.style.width)) + 'px';
        objSizePartLastWidthText.style.top      = (showPosTop(objPosImage.id)  + objPosImage.offsetHeight + 44) + 'px';
        objSizePartLastWidthText.style.display  = 'block';
    }
}




/*
Fuer Adminbereich Produkte (Template)
*/

var mediapool = null;

function openMediapoolAdmin(type)
{
    seq = 0;
    mediapool = window.open('index.php?/mediapool.html?seq='+seq+'&str_type=image%2F%2A&str_call_function=opener.insertImageStoreTemplate','mediapool','width=700,height=570,scrollbars=yes');
    mediapool.focus();
}

/*
@call in mediapool popup after save
*/

function insertImageStoreTemplate(url)
{
    
    document.forms['form_template'].elements['str_iconpath'].value = url.replace(/{writemediapool}/, 'upload/mediapool/');
    document.forms['form_template'].submit();
    mediapool.close();
}

