
var activeObjectSmallLink = null;
function changeObjectMediumImage(changeData, linkEl)
{
    var imgEl = document.getElementById('objMiddleImage');
    imgEl.src=changeData.src;
    imgEl.parentNode.rel=changeData.key;

    if (!activeObjectSmallLink) {
        activeObjectSmallLink = document.getElementById('smallImageFirstBorder');
    }

    if (activeObjectSmallLink) {
        activeObjectSmallLink.style.border = "0px solid #ccc";
        activeObjectSmallLink.style.backgroundColor = "#fff";
    }
    linkEl.parentNode.style.border = "1px solid #ccc";
    linkEl.parentNode.style.backgroundColor = "#eee";
    activeObjectSmallLink = linkEl.parentNode;
}

// Diese Datei beherbergt alle eigenen YUI funktionen


// Faden
anim = new Array();
/*isComp = true;

function delayFadeOut(elem)
{
	anim[elem].animate();
}*/

function myFadeOut(elem)
{
/*	var outCompleteHandler = function()
	{
		isComp = true;
	}*/

	anim[elem] = new YAHOO.util.Anim(elem, { opacity: { from: 0.9, to: 0.3 } }, 0.6, YAHOO.util.Easing.easeOut);
	anim[elem].animate();
//     YAHOO.util.Dom.setStyle(elem, 'opacity', 0.3);
//	anim[elem].onComplete.subscribe(outCompleteHandler);
	
/*	if(isComp == true)
	{
		isComp = false;
		
		anim[elem].animate();
	}
	else
	{
		window.setTimeout("delayFadeOut('" + elem + "')", 450);
	}*/
}
function myFadeIn(elem)
{
	YAHOO.util.Dom.setStyle(elem, 'opacity', 0.9);
	/*isComp = false;
	
	var inCompleteHandler = function()
	{
		isComp = true;
	}
	
	anim[elem] = new YAHOO.util.Anim(elem, { opacity: { from: 0.3, to: 1 } }, 0.4, YAHOO.util.Easing.easeIn);
	anim[elem].onComplete.subscribe(inCompleteHandler);
	anim[elem].animate();*/
}

// AJAX Content replacen

function ajaxEditTagWord(sourceElement, wordid, from, to)
{
    // Knöpfe unsichtbar schalten und Ajax-Loader aktivieren
    YAHOO.util.Dom.setStyle(sourceElement + '_buttons', 'display', 'none');
    YAHOO.util.Dom.setStyle(sourceElement + '_ajaxLoader', 'display', 'block');
    
    var getFile = '/IndexEditWordYui.php?from=' + from + '&to=' + to + '&id=' + wordid;
    
    var callback =
    {
        success: function(o)
        {
            var respText = o.responseText;
            document.getElementById(sourceElement + '_resp').innerHTML = respText;
            
            if(from != "manuell")
            {
                // Knopffader neu setzen und wieder anzeigen
                YAHOO.util.Dom.setStyle(sourceElement + '_button_green', 'opacity', 0.3);
                YAHOO.util.Dom.setStyle(sourceElement + '_button_yellow', 'opacity', 0.3);
                YAHOO.util.Dom.setStyle(sourceElement + '_button_red', 'opacity', 0.3);
                document.getElementById(sourceElement + '_button_red').setAttribute("onMouseOver", "myFadeIn('" + sourceElement + "_button_red');");
                document.getElementById(sourceElement + '_button_red').setAttribute("onMouseOut", "myFadeOut('" + sourceElement + "_button_red');");
                document.getElementById(sourceElement + '_button_yellow').setAttribute("onMouseOver", "myFadeIn('" + sourceElement + "_button_yellow');");
                document.getElementById(sourceElement + '_button_yellow').setAttribute("onMouseOut", "myFadeOut('" + sourceElement + "_button_yellow');");
                document.getElementById(sourceElement + '_button_green').setAttribute("onMouseOver", "myFadeIn('" + sourceElement + "_button_green');");
                document.getElementById(sourceElement + '_button_green').setAttribute("onMouseOut", "myFadeOut('" + sourceElement + "_button_green');");
                
                if(to == "blacklist")
                {
                    YAHOO.util.Dom.setStyle(sourceElement + '_button_red', 'opacity', 1);
                    document.getElementById(sourceElement + '_button_red').setAttribute("onMouseOver", "");
                    document.getElementById(sourceElement + '_button_red').setAttribute("onMouseOut", "");
                }
                else if(to == "greylist")
                {
                    YAHOO.util.Dom.setStyle(sourceElement + '_button_yellow', 'opacity', 1);
                    document.getElementById(sourceElement + '_button_yellow').setAttribute("onMouseOver", "");
                    document.getElementById(sourceElement + '_button_yellow').setAttribute("onMouseOut", "");
                }
                else if(to == "whitelist")
                {
                    YAHOO.util.Dom.setStyle(sourceElement + '_button_green', 'opacity', 1);
                    document.getElementById(sourceElement + '_button_green').setAttribute("onMouseOver", "");
                    document.getElementById(sourceElement + '_button_green').setAttribute("onMouseOut", "");
                }
            }
            
            YAHOO.util.Dom.setStyle(sourceElement + '_ajaxLoader', 'display', 'none');
            if(from != "manuell") { YAHOO.util.Dom.setStyle(sourceElement + '_buttons', 'display', 'block'); }
            else {  YAHOO.util.Dom.setStyle(sourceElement, 'display', 'none'); }
        }
    }
    
    var connectionObject = YAHOO.util.Connect.asyncRequest('GET', getFile, callback);
}

function ajaxProductNewIndex(product_id)
{
    // Knöpfe unsichtbar schalten und Ajax-Loader aktivieren
    YAHOO.util.Dom.setStyle('newIndex_a', 'display', 'none');
    YAHOO.util.Dom.setStyle('newIndex_ajaxLoader', 'display', 'inline');

    var getFile = '/IndexEditWordYui.php?do=newindex&objid=' + product_id;

    var callback =
    {
        success: function(o)
        {
            var respText = o.responseText;
            document.getElementById('newIndex_resp').innerHTML = respText;

            YAHOO.util.Dom.setStyle('newIndex_ajaxLoader', 'display', 'none');
        }
    }

    var connectionObject = YAHOO.util.Connect.asyncRequest('GET', getFile, callback);
}


function replaceBadchars(sour)
{
	var elem = document.getElementById(sour);
        var oupStart = elem.value;
	var oup = elem.value;
        
	while(oup.match(/[äöüÄÖÜÀßçàóéêòÉêÉâëôáîèíï]/))
	{
		oup = oup.replace(/À/, "A");
		oup = oup.replace(/ö/, "oe");
		oup = oup.replace(/ä/, "ae");
		oup = oup.replace(/ü/, "ue");
		oup = oup.replace(/ß/, "ss");
		oup = oup.replace(/é/, "e");
		oup = oup.replace(/è/, "e");
		oup = oup.replace(/ï/, "i");
		oup = oup.replace(/ç/, "c");
		oup = oup.replace(/í/, "i");
		oup = oup.replace(/Ä/, "Ae");
		oup = oup.replace(/à/, "a");
		oup = oup.replace(/ó/, "o");
		oup = oup.replace(/î/, "i");
		oup = oup.replace(/â/, "a");
		oup = oup.replace(/ô/, "o");
		oup = oup.replace(/ë/, "e");
		oup = oup.replace(/É/, "E");
		oup = oup.replace(/ê/, "e");
		oup = oup.replace(/Ö/, "Oe");
		oup = oup.replace(/Ü/, "Ue");
		oup = oup.replace(/ò/, "o");
		oup = oup.replace(/É/, "E");
		oup = oup.replace(/á/, "a");
		
	}
	
        if(oupStart != oup)
        {
          elem.value = oup;

        }
	return false;
}

function pageSearchAutocomplete()
{
	// Instantiate one XHR DataSource and define schema as an array: 
	//     ["Record Delimiter", "Field Delimiter"] 
//     oACDS = new YAHOO.widget.DS_XHR("/index_search_autocomplete.php", ["\n", "\t"]);
//     oACDS.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT;
    oACDS = new YAHOO.util.XHRDataSource("/index_search_autocomplete.php");
    oACDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
    oACDS.responseSchema = {
        recordDelim: "\n",
        fieldDelim: "\t"
    };
	oACDS.maxCacheEntries = 25;
	oACDS.queryMatchSubset = false; 
	
	 
	// Instantiate first AutoComplete 
	var myInput = document.getElementById('searchInput'); 
	var myContainer = document.getElementById('searchContainer'); 
	oAutoComp0 = new YAHOO.widget.AutoComplete(myInput,myContainer,oACDS); 
	oAutoComp0.allowBrowserAutocomplete = false;
	oAutoComp0.minQueryLength = 2;
	oAutoComp0.maxResultsDisplayed = 26;
	oAutoComp0.useShadow = false; 
	oAutoComp0.typeAhead = false;
	oAutoComp0.delimChar = " "; 
	oAutoComp0.queryDelay = 0.7; 
	oAutoComp0.animVert = true;
	oAutoComp0.animHoriz = true;
	oAutoComp0.animSpeed = 0.3;
	oAutoComp0.formatResult = function(oResultItem, sQuery) { 
	    var sKey = oResultItem[0]; 
	    var nQuantity = oResultItem[1];
	    var sKeyQuery = sKey.substr(0, sQuery.length); 
	    var sKeyRemainder = sKey.substr(sQuery.length); 
	    if(sKey == '[...]')
	    {
		    var aMarkup = ["<div id='searchResult'><div class='searchQuery'>",
		    	nQuantity,
		    	"</div>",
		    	sKey, 
		    	"</div>"];
	    }
	    else
	    {
		    var aMarkup = ["<div id='searchResult'><div class='searchQuery'>",
		    	nQuantity,
		    	"</div><span style='font-weight:bold'>",
		    	sKeyQuery, 
		    	"</span>", 
		    	sKeyRemainder,
		    	"</div>"];
	    }
	    return (aMarkup.join("")); 
	}; 
}
YAHOO.util.Event.addListener(window, 'load', pageSearchAutocomplete);



// Um Ausdrücke einem Produkt zuzuordnen
var dialogInst = null;

function instanceHandDialog()
{
    // Event-Handler definieren
    var handleSubmit = function() {
        this.submit();
    };
    var handleCancel = function() {
        this.cancel();
    };
    var handleSuccess = function(o)
    {
        var zwResp = o.responseText;
        var zwRespTmp = null;
        var idStartPos = null;
        var idEndPos = null;
        var newWordId = null;

        document.getElementById("manuellWords").innerHTML = '';     
        document.getElementById("manuellWords").innerHTML = o.responseText;
        while(zwResp.match(/xyx[0-9]+zyz/))
        {
            idStartPos = zwResp.search(/xyx/) + 3;
            idEndPos = zwResp.search(/zyz/);
            
            newWordId = zwResp.substr(idStartPos, idEndPos - idStartPos);
            
            zwRespTmp = zwResp.substr(0, idStartPos - 3);
            zwResp = zwResp.substr(idEndPos+3);
            
            document.getElementById("manuellWords").innerHTML = zwRespTmp + document.getElementById("manuellWords").innerHTML;
            
            allChecks[allChecks.length] = 'tagSearch_' + newWordId;
            YAHOO.util.Dom.setStyle('tagSearch_' + newWordId + '_chkimg', 'opacity', 0);
            document.getElementById('tagSearch_' + newWordId).value = '0';
        }
        
/*      document.getElementById("inputAddWord").value = "";
        document.getElementById("inputAddWord").innerHTML = "";*/

    };
    var handleFailure = function(o) {
        alert("Submission failed: " + o.status);
    };
    

    // Dialog instanzieren
    dialogInst = new YAHOO.widget.Dialog("handAddWord", 
                                                                { width : "300px",
                                                                  fixedcenter : true,
                                                                  visible : false, 
                                                                  underlay : "shadow", 
                                                                  constraintoviewport : true,
                                                                  buttons : [ { text:"Senden", handler:handleSubmit, isDefault:true },
                                                                              { text:"Abbruch", handler:handleCancel } ]
                                                                 } );
    
    // Wire up the success and failure handlers
    dialogInst.callback = { success: handleSuccess,
                                                 failure: handleFailure };
    
    // Render the Dialog
    dialogInst.render();
}

function showWordAddDialog()
{
    if(dialogInst == null)
    {
        YAHOO.util.Dom.setStyle('handAddWord', 'display', 'block');
        instanceHandDialog();
    }
/*  function myAnim() {
        var anim = new YAHOO.util.Motion('handAddWord', { points: { from: [-310, 200], to: [(YAHOO.util.Dom.getViewportWidth()/2)-220, (YAHOO.util.Dom.getViewportHeight()/2)-100] } }, 0.3 );
        anim.animate();
    }*/
    
    dialogInst.show();
}


// Um titel automatisch in die ersetzungen / verbundenen wörter zu geben
var dialogReplaceInst = null;
var dialogReplaceLoading = null;

function instanceReplaceDialog()
{
    // Event-Handler definieren
    var handleSubmit = function() {
        dialogReplaceLoading = new YAHOO.widget.SimpleDialog('widget_info_loading', {
            visible:true,
            width: '300px',
            close: false,
            fixedcenter: true,
            constraintoviewport : true,
            modal: false,
            draggable:false,
            buttons: [ { text: 'OK', handler: function() { this.hide(); }, isDefault: true } ]
        });
        dialogReplaceLoading.setHeader("Lade - bitte warten...");
        dialogReplaceLoading.setBody('<img src="/gfx/ajax_loader2.gif" border="0" alt="" align="left"> Worte werden verarbeitet - bitte warten...');
        dialogReplaceLoading.render(document.getElementById('renderDiv'));

        this.submit();
    };
    var handleCancel = function() {
        this.cancel();
    };
    var handleSuccess = function(o)
    {
        var zwResp = o.responseText;

        var handleOK = function() {
            this.hide();
        };

        var infoDialog = new YAHOO.widget.SimpleDialog('widget_info', {
            visible:true,
            width: '300px',
            close: true,
            fixedcenter: true,
            constraintoviewport : true,
            modal: false,
            draggable:false,
            icon: YAHOO.widget.SimpleDialog.ICON_INFO,
            buttons: [ { text: 'OK', handler: function() { this.hide(); }, isDefault: true } ]
        });
        infoDialog.setHeader("Ergebnis");

        if (o.responseText == 'success') {
            dialogReplaceLoading.hide();
            infoDialog.setBody('Worte wurden erfolgreich verarbeitet.');
            document.getElementById('autoReplacer').innerHTML = 'Worte wurden verarbeitet.';
        } else {
            alert('Fehler bei der zuweisung - bitte erneut probieren.');
        }
        infoDialog.render(document.getElementById('renderDiv'));

    };
    var handleFailure = function(o) {
        alert("Submission failed: " + o.status);
    };

    // Dialog instanzieren
    dialogReplaceInst = new YAHOO.widget.Dialog("replaceWords", {
        width : "430px",
        fixedcenter : true,
        visible : false,
        underlay : "shadow",
        constraintoviewport : true,
        buttons : [ { text:"Senden", handler:handleSubmit, isDefault:true },
                    { text:"Abbruch", handler:handleCancel } ]
    });
    
    // Wire up the success and failure handlers
    dialogReplaceInst.callback = { success: handleSuccess,
                            failure: handleFailure };

    // Render the Dialog
    dialogReplaceInst.render();
}

function showReplaceDialog()
{
    if (dialogReplaceInst == null) {
        YAHOO.util.Dom.setStyle('replaceWords', 'display', 'block');
        instanceReplaceDialog();
    }

    dialogReplaceInst.show();
}


// Tags-Suche - Checkboxes
nextDirection = new Array();
function switchTagSearchbox(elem)
{
	if(typeof nextDirection[elem] == "undefined")
	{
		nextDirection[elem] = 1;
	}
	
	if(nextDirection[elem] == 1)
	{
		nextDirection[elem] = 0;
		isComp = false;
		
		document.getElementById(elem).value = '1';
		
		var inCompleteHandler = function()
		{
			isComp = true;
		}
		
		anim[elem + '_chkimg'] = new YAHOO.util.Anim(elem + '_chkimg', { opacity: { from: 0, to: 1 } }, 0.3, YAHOO.util.Easing.easeIn);
		anim[elem + '_chkimg'].onComplete.subscribe(inCompleteHandler);
		anim[elem + '_chkimg'].animate();
	}
	else
	{
		nextDirection[elem] = 1;
		
		document.getElementById(elem).value = '0';
		
		var outCompleteHandler = function()
		{
			isComp = true;
		}
	
		anim[elem + '_chkimg'] = new YAHOO.util.Anim(elem + '_chkimg', { opacity: { from: 1, to: 0 } }, 0.3, YAHOO.util.Easing.easeOut);
		anim[elem + '_chkimg'].onComplete.subscribe(outCompleteHandler);
		
		if(isComp == true)
		{
			isComp = false;
			
			anim[elem + '_chkimg'].animate();
		}
		else
		{
			window.setTimeout("delayFadeOut('" + elem + "_chkimg')", 350);
		}
	}
}

