//---------------------------------------------------------------------------------------------------
//Bild-Edit-Scheiss:
var Click_X, Click_Y;
var MoveMarken=false;
var MarkenControlID;

function mdown(e)
{
    document.getElementById("Marken").style.borderStyle = 'dashed';
    MoveMarken=true;
    Click_X = GetX(e);
    Click_Y = GetY(e);
    
}

function imMomentEgal() {

    var frwidth = document.getElementById("Marken").style.width;
    var frheight = document.getElementById("Marken").style.height;
    var frtop = document.getElementById("Marken").style.top;
    var frleft = document.getElementById("Marken").style.left;
    var tmp = frwidth.indexOf("px");
    var w = parseInt(frwidth.substr(0,tmp));
    var tmp = frheight.indexOf("px");
    var h = parseInt(frheight.substr(0,tmp));
    var tmp = frtop.indexOf("px");
    var x = parseInt(frtop.substr(0,tmp));
    var tmp = frleft.indexOf("px");
    var y = parseInt(frleft.substr(0,tmp));
    document.getElementById("SP["+MarkenControlID+"][1]").value = w;
    document.getElementById("SP["+MarkenControlID+"][1]").value = h;
    document.getElementById("SP["+MarkenControlID+"][1]").value = x;
    document.getElementById("SP["+MarkenControlID+"][1]").value = y;

}

function markenmove(e)
{
// Bewegung der Maus:
    var t,l;
    
    var New_X = GetX(e);
    var New_Y = GetY(e);

    var Dist_X = (New_X-Click_X);
    var Dist_Y = (New_Y-Click_Y);

    // Mausposition zwischenspeichern
    Click_X = New_X;
    Click_Y = New_Y;

    var frtop = document.getElementById("Marken").style.top;
    var frleft = document.getElementById("Marken").style.left;
    var tmp = frtop.indexOf("px");
    if (tmp>0) frtop=frtop.substr(0,tmp)
    t = parseInt(frtop)+Dist_Y;
    tmp = frleft.indexOf("px");
    if (tmp>0) frleft=frleft.substr(0,tmp);
    l = parseInt(frleft)+Dist_X;
    if (t<0) t=0;
    if (l<0) l=0;
    document.getElementById("Marken").style.left=l;
    document.getElementById("Marken").style.top=t;
    //Scheiss Igittigitt-Explodierer
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,1, l);
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,2, t);
    
}

function mup(e) {

    if (MoveMarken) {
        document.getElementById("Marken").style.borderStyle = 'none';
        MoveMarken=false;
    }
}

function GetX(e)
{
    if (NS4) return e.pageX;
    else return event.clientX + document.body.scrollLeft;
}

function GetY(e)
{
    if (NS4) return e.pageY;
    else return event.clientY + document.body.scrollTop;
}

function runter() {
    var t=document.getElementById('Marken').style.top;
    if (t.indexOf('px')>0) t=t.substr(0,t.indexOf('px'));
    t=parseInt(t);
    t=t+1;
    if (t>document.getElementById('Marken').style.height) t=document.getElementById('Marken').style.height;
    document.getElementById('Marken').style.top=t+'px';
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,2, t);
}
                                        
function rauf() {
    var t=document.getElementById('Marken').style.top;
    if (t.indexOf('px')>0) t=t.substr(0,t.indexOf('px'));
    t=parseInt(t);
    t=t-1;
    if (t<0) t=0;
    document.getElementById('Marken').style.top=t+'px';
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,2, t);
}
                                        
function rechts() {
    var t=document.getElementById('Marken').style.left;
    if (t.indexOf('px')>0) t=t.substr(0,t.indexOf('px'));
    t=parseInt(t);
    t=t+1;
    if (t>document.getElementById('Marken').style.width) t=document.getElementById('Marken').style.width;
    document.getElementById('Marken').style.left=t+'px';
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,1, t);
}
                                        
function links() {
    var t=document.getElementById('Marken').style.left;
    if (t.indexOf('px')>0) t=t.substr(0,t.indexOf('px'));
    t=parseInt(t);
    t=t-1;
    if (t<0) t=0;
    document.getElementById('Marken').style.left=t+'px';
    SetStaticParam(FindForm(document.getElementById("Marken")),document.MarkenControlID,1, t);
}


// Allgemeines Javascript fr Steuerelemente

function URLDecode(s) 
{
    // Alles muß man selbst machen! Grrr!
    s=s.replace(/@@@1/g,"%2B");
    s=s.replace(/@@@2/g,"%27");
    s=s.replace(/@@@3/g,"%26");
    s=s.replace(/@@@4/g,"%22");
    //s=s.replace(/@@@5/g,"%0D0A");
    return s;
}

function URLEncode(s) 
{
    // Alles muß man selbst machen! Grrr!
    s=s.replace(/\+/g,"@@@1");
    s=s.replace(/\'/g,"@@@2");
    s=s.replace(/&/g,"@@@3");
    s=s.replace(/\"/g,"@@@4");
    return s;
}


function OpenEditor(url,width,height) 
{
    w = window.open(url,"Editor","width="+width+",height="+height+",scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no");
    //w.resizeTo(width,height);
    //window.open(url,"Editor","width="+width+",height="+height); // For Debug
    
//GRR
}

function GetParamValue(form,paramname)
{
    for (i=0;i<form.elements.length;i++) {
        e=form.elements[i];
        if (e.name==paramname) {
            return e.value;
        }
    }
    return form.elements[0];
}

function SetParamValue(doc,formname,paramname,value)
{
    for (i=0;i<doc.forms.length;i++) {
        f=doc.forms[i];
        if (f.name==formname) {
            for (j=0;j<f.elements.length;j++) {
                e=f.elements[j];
                if (e.name==paramname) {
                    e.value=value;
                }
            }
        }
    }
}

function SetCheckboxes(formname,value)
{    
    for (j=0;j<formname.elements.length;j++){
        e=formname.elements[j];        
        if(e.type=="checkbox"){
            e.checked=value;
        }
    }
}

function GetStaticParameters(formname)
{    

    for (i=0;i<document.forms.length;i++) {
        f=document.forms[i];        
        if (f.name!=formname) {
            for (j=0;j<f.elements.length;j++) {
                e=f.elements[j];                
                if (e.name.substring(0,2)=="SP") {                    
                    dolly=e.cloneNode(true);
                    dolly.style.visibility="hidden";
                    dolly.value=e.value;
                    document.forms[formname].appendChild(dolly);
                }
            }
        }
    }
    return true;
}

function SetParam(form,reihenfolge,value)
{
    for (i=0;i<form.elements.length;i++) {
        e=form.elements[i];
        if (e.name=="P["+reihenfolge+"]") e.value=value;
    }
}

function SetStaticParam(form,control_id,reihenfolge,value)
{
    for (i=0;i<form.elements.length;i++) {
        e=form.elements[i];
        if (e.name=="SP["+control_id+"]["+reihenfolge+"]") {
            e.value=value;
        }
    }
}
/* DragDrop-Routinen */

NS4 = (navigator.appName=="Netscape") ? 1 : 0; // Mozilla/Firefox==Netscape...

if ((NS4)) {
    window.captureEvents(Event.MOUSEMOVE | Event.DRAGSTART | Event.SELECTSTART );
}

//document.onselectstart=function () {return false;};
//document.ondragstart=function () {return false;};
if (NS4) {    
    document.onmousemove=DragMoveDOM;
} else {    
    document.onmousemove=DragMoveIE;
}
document.onmouseup=mup;

var ActDragObject=null;
var xoffs=24;
var yoffs=4;
var DragDropCommandID=7;

function GetElement(ElementId)
{
    return document.getElementById(ElementId);        
}

function DragObject(ID,ShowPID,ControlID,Source)
{
    this.ID=ID;                 // Diese ID wird bewegt
    this.ShowPID=ShowPID;       // ID zum Anzeigen
    this.ControlID=ControlID;   // ID des Steuerelements (Quelle)
    this.Source=Source;         // Quelle des DragDrop (z.B. "tree")    
}

function DragStart(o,showpid,controlid,source)
{
    
    GetElement("DragIcon").style.visibility="visible";    
    GetElement("DragIcon").style.zIndex=9999;
        
    ActDragObject=new DragObject(o.id,showpid,controlid,source);
}

function FindForm(o)
{
    while (o.parentNode) {
        if (o.name) {
            if (o.name.substring(0,1)=="F") {
                return o;
            }
        }
        o=o.parentNode;
    }
}

function DragStop(o,sources,controlid)
{    
    document.getElementById("DragIcon").style.visibility="hidden";
    if ((ValidObject(o,sources,controlid))&&(o.id)) {
        f=FindForm(o);
        if (f) {
            SetParam(f,1,ActDragObject.ID);
            SetParam(f,2,ActDragObject.Source);
            SetParam(f,3,o.id);
            SetParam(f,4,ActDragObject.ControlID);
            f.B_ID.value=DragDropCommandID;
            f.sb.click(); 
        } else {
            window.location.href="index.php?productid="+ActDragObject.ShowPID+"&action=30&C_ID="+controlid+"&B_ID="+DragDropCommandID+"&P[1]="+ActDragObject.ID+"&P[2]="+ActDragObject.Source+"&P[3]="+o.id+"&P[4]="+ActDragObject.ControlID; 
        }
    }
    ActDragObject=null;
}

function ValidObject(o,sources,controlid)
{
    if ((ActDragObject)) {
        var srcarray=ActDragObject.Source.split(";");             
        for (i=0;i<srcarray.length;i++) {      
            if (srcarray[i]!="") {
                if ((sources.indexOf(srcarray[i])>=0)&&(o.id!=ActDragObject.ID)) {
                    return true;
                }
            }
        }
    }
    return false;
}

function DragMoveDOM(event)
{                
    if ((ActDragObject)) {                
        GetElement("DragIcon").style.left=(event.pageX-xoffs+document.body.scrollLeft)+"px";
        GetElement("DragIcon").style.top=(event.pageY-yoffs+document.body.scrollTop)+"px";
    } else if(MoveMarken) {
        markenmove(event);
    }    
}

function DragMoveIE()
{
    if (ActDragObject) {
        GetElement("DragIcon").style.left=(event.clientX-xoffs+document.body.scrollLeft)+"px";
        GetElement("DragIcon").style.top=(event.clientY-yoffs+document.body.scrollTop)+"px";    
    } else if(MoveMarken) {
        markenmove(event);
    }    
}

function DragOver(o,sources,controlid,style,color)
{
    if (ValidObject(o,sources,controlid)&&(o.id)) {
        o.style.backgroundColor=color;
        if (style) o.className=style;
    }
}
