var        tech = Technology();

function Technology()
{
        if(document.getElementById)
                return "get";
        if(document.all)
                return "all";
        if(document.layers)
                return "layer";
}

function CreateObject(obj)
{
        switch(tech)
        {
                case "all":
                        if(document.all[obj])
                        {
                                this.object = eval('document.all["' + obj + '"]');
                                this.css = eval('document.all["' + obj + '"].style');
                                this.name = eval('document.all["' + obj + '"].id');
                        }
                        else
                                this.object = null;
                break;
                case "get":
                        if(document.getElementById(obj))
                        {
                                this.object = eval('document.getElementById("' + obj + '")');
                                this.css = eval('document.getElementById("' + obj + '").style');
                                this.name = eval('document.getElementById("' + obj + '").id');
                        }
                        else
                                this.object = null;
                break;
        }
}

function OpenPrintPage(Currentpage, Printpage, Options)
{
        PrintContent = new CreateObject("Header1_PrintContent");
        PageContent = new CreateObject("Content");
        PrintContent.object.value = PageContent.object.innerHTML;

        var Print = open("", "Print", Options);

        document.forms[0].target = "Print";
        document.forms[0].action = Printpage;
        document.forms[0].submit();
        document.forms[0].target = "_self";
        document.forms[0].action = Currentpage;
}

function SwitchImage(ImageUrl)
{
        document.images["BigPic"].src = ImageUrl;
}

function OpenNewWindow(url, title, options)
{
        var NewWindow = window.open(url, title, options);
        NewWindow.focus();
}

function SetBgColor(TableName, TableId, BgcClass)
{
        HtmlTable = new CreateObject(TableName + TableId);
        HtmlTable.object.className = BgcClass;
}

function Number(KeyCode)
{
    if(KeyCode < 48 || KeyCode > 57)
    {
      window.event.keyCode = 8;
      return 8;
    }
}

function GetSelectedValues(Destination, Source, ID)
{
        Type = new CreateObject("InputType" + ID);
        SelectedValues = new CreateObject(Destination + ID);
        SelectedValues.object.value = "";
        i = 0;
        while(SelectedValue = new CreateObject(Source + ++i))
        {
                if(SelectedValue.object != null)
                        SelectedValues.object.value += eval("SelectedValue.object." + Type.object.value) + ";";
                else
                        break;
        }
}

var VisibleItems = new Array();

function ShowItems(Guid, FirstPostingUri)
{
        var Added = false;
        //offene Channels werden nicht ins Array gespeichert!!!
        //-> sie sind immer offen während man durch das menu navigiert bis eine neue Seite geladen wird!
//        alert("sichbare channels: " + VisibleItems.length);
        // es ist mindestens ein Element bereits geöffnet
        if(VisibleItems.length > 0)
        {
                //Wenn das aktuelle Element kein ElternElement hat dann muss das Array geleert und alle Einträge auf unsichtbar gesetzt werden
                //da ein Root Element geöffnet wurde (else zweig)
                ParentElem = new CreateObject(Guid + "_Parent")
                if(ParentElem.object != null)
                {
//                        alert(ParentElem.name);
                        // wenn aktuelles Element Eltern hat, überprüfen ob das letzte Array Element die selben Eltern hatte
                        //ja: letzte Array unsichtbar; aktuelles = letztes Array
                        //nein: letztes löschen und unsichtbar
                        while(VisibleItems.length > 0)
                        {

                                if(ParentElem.object.value == VisibleItems[(VisibleItems.length - 1)])
                                {
//                                        alert(VisibleItems.length + "- found - added");
                                        VisibleItems[VisibleItems.length] = Guid;
                                        Added = true;
                                        break;
                                }
                                else
                                {
//                                        alert((VisibleItems.length - 1) + " - drop and invisible");
                                        CurrentItems = new CreateObject(VisibleItems[(VisibleItems.length - 1)] + "_Items");
                                        CurrentItems.css.display = "none";
                                        VisibleItems.pop();
                                }
                        }
                }
                else
                {
//                        alert("no parent -> root\n visible: " + VisibleItems.length);
                        for(i = (VisibleItems.length - 1); i >= 0; i--)
                        {
//                                alert(i + "- drop and invisible");
                                CurrentItems = new CreateObject(VisibleItems[i] + "_Items");
                                CurrentItems.css.display = "none";
                                VisibleItems.pop();
                        }
                }
        }

        CurrentItems = new CreateObject(Guid + "_Items")
        CurrentItems.css.display = "";

        if(!Added)
        {
//                alert("add: " + Guid + "\n anposi: " + VisibleItems.length);
                VisibleItems[VisibleItems.length] = Guid;
        }

//        var dummy = "";
//        for(i = 0; i < VisibleItems.length; i++)
//                dummy += i + " - " + VisibleItems[i] + "\n";
//        alert(dummy);

        if(FirstPostingUri)
                location.replace(FirstPostingUri);
}

function SaveCurNode(ph, item)
{
        CurrentNode = new CreateObject(ph + "_AuthoringModeControlsContainer_DirectNodeHidden");
        CurrentNode.object.value = item;
        __doPostBack(ph + ':AuthoringModeControlsContainer:DirectGoTo', '');
}

function FlipCementPlants(Indexer)
{
        i = 0;
        CurrentCementPlantSorts = new CreateObject("CementPlantSorts" + Indexer);

        //wenn Aktuelles Element schon sichtbar war dann unsichtbar machen (-> alle unsichtbar)
        if(CurrentCementPlantSorts.css.display == "")
        {
                CurrentCementPlantSorts.css.display = "none";
        }
        else
        {
                while(CementPlantSorts = new CreateObject("CementPlantSorts" + ++i))
                {
                        if(CementPlantSorts.object != null)
                                CementPlantSorts.css.display = "none";
                        else
                                break;
                }

                CurrentCementPlantSorts.css.display = "";
        }
}

function Flip(Indexer)
{
        i = 0;

        CurrentFlipContent = new CreateObject("FlipContent" + Indexer);
        CurrentFlipSubline = new CreateObject("FlipSubline" + Indexer);
        FlipImagesRow = new CreateObject("FlipImages");

        //wenn Aktuelles Element schon sichtbar war dann unsichtbar machen (-> alle unsichtbar)
        if(CurrentFlipContent.css.display == "")
        {
                DefaultImageUrl = new CreateObject("hiddenInAutoringMode1_DefaultImageUrl");
                DefaultImageAlt = new CreateObject("hiddenInAutoringMode1_DefaultImageUrl");

                document.images["hiddenInAutoringMode1_FlipPicPh"].src = DefaultImageUrl.object.value;
                document.images["hiddenInAutoringMode1_FlipPicPh"].alt = DefaultImageAlt.object.value;

                CurrentFlipContent.css.display = "none";
                CurrentFlipSubline.css.display = "";
        }
        else
        {
                FlipPic = new CreateObject("FlipPic" + Indexer);
                FlipPicAlt        = new CreateObject("FlipPicAlt" + Indexer);

                document.images["hiddenInAutoringMode1_FlipPicPh"].src = FlipPic.object.value;
                document.images["hiddenInAutoringMode1_FlipPicPh"].alt = FlipPicAlt.object.value;

                while(FlipContent = new CreateObject("FlipContent" + ++i))
                {
                        if(FlipContent.object != null)
                        {
                                FlipContent.css.display = "none";
                                FlipSubline = new CreateObject("FlipSubline" + i);
                                FlipSubline.css.display = "";
                        }
                        else
                                break;
                }
                CurrentFlipContent.css.display = "";
                CurrentFlipSubline.css.display = "none";
        }

        if(document.images["hiddenInAutoringMode1_FlipPicPh"].src == "")
                FlipImagesRow.object.className = "invisible";
        else
                FlipImagesRow.object.className = "";

        var PlainUri = document.location.href.replace(document.location.hash, "");
//        ViewObject(window.location);
//        alert(window.location.host + "\n" + window.location.hostname + "\n" + window.location.href + "\n" + window.location.pathname  + "\n" + window.location.toString()  + "\n" + window.location.search);
        if(CurrentFlipContent.css.display == "none")
        {
                //window.location.hash = "";
                window.location.href = PlainUri;
        }
        else
        {
                //window.location.hash = "#Anchor" + Indexer;
                window.location.href = (PlainUri + "#Anchor" + Indexer);
                //window.location.href("#FlipAnchor" + Indexer);
        }
}

var AlternationImagesSrcArray = new Array();
var AlternationImagesAltArray = new Array();
function StartAlternateImages(Speed)
{
        AlternationImagesSrc = new CreateObject("hiddenInAutoringMode1_AlternationImagesSrc");
        AlternationImagesAlt = new CreateObject("hiddenInAutoringMode1_AlternationImagesAlt");
        if(AlternationImagesSrc.object != null)
        {
                AlternationImagesSrcArray = AlternationImagesSrc.object.value.split("::");
                AlternationImagesAltArray = AlternationImagesAlt.object.value.split("::");
                if(AlternationImagesSrcArray.length > 1)
                        setTimeout("AlternateImage(1, " + Speed + ")", Speed);
        }
}

function AlternateImage(Image, Speed)
{
//        alert("alt:\nsrc = " + document.images["AlternationImage"].src + "\nalt = " + document.images["AlternationImage"].alt + "\nneu:\nsrc = " + AlternationImagesSrcArray[Image] + "\nalt = " + AlternationImagesAltArray[Image]);
        document.images["hiddenInAutoringMode1_AlternationImage"].src = "/hcglobal/webforms/thumbnails.aspx?ResourcePath=" + AlternationImagesSrcArray[Image] + "&ChannelGuid=custom&thumbnailwidth=1&thumbnailheight=105&thumbnailunit=pixelfixedheight";
        document.images["hiddenInAutoringMode1_AlternationImage"].alt = AlternationImagesAltArray[Image];

        Image++;
        if(Image == AlternationImagesSrcArray.length)
                Image = 0;
        setTimeout("AlternateImage(" + Image + ", " + Speed + ")", Speed);
}

function fnTrapKD(btnID, event){
btn = findObj(btnID);
 if (document.all){
  if (event.keyCode == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.click();
  }
 }
 else if (document.getElementById){
  if (event.which == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.focus();
   btn.click();
  }
 }
 else if(document.layers){
  if(event.which == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.focus();
   btn.click();
  }
 }
}

function findObj(n, d) {
        var p,i,x;
        if(!d)
                d=document;
        if((p=n.indexOf("?"))>0 && parent.frames.length) {
                d=parent.frames[n.substring(p+1)].document;
                n=n.substring(0,p);
        }
        if(!(x=d[n])&&d.all)
                x=d.all[n];
        for (i=0;!x&&i<d.forms.length;i++)
                x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++)
                x=findObj(n,d.layers[i].document);
        if(!x && d.getElementById)
                x=d.getElementById(n);
        return x;
}

function ViewObject(obj)
{
        msg = "";
        for(var i in obj)
        {
                msg = msg + i + " - " + obj[i] + "<br>";
        }
        Dummy = new CreateObject("dummy");
        if(Dummy.object != null)
                Dummy.object.innerHTML = msg;
        else
        {
                tmp = msg.replace(/<br>/gim,"\n");
                alert(tmp);
        }
}
