/**
 * Transporter – Informationen bewegen, www.transporter.at, 2009
 * @author t.wanner
 */

/* !flashbase funktionen
 ****************************************************/
function loadPage(strText){
    document.getElementById("fromflash").innerHTML = strText;
    returntoflash = 'ok';
    return (returntoflash);
}

function javascript_to_flash(texttoflash){
    var textfromflash = thisMovie("projektfilter").showPageInfo(texttoflash);
    return (true);
}

function thisMovie(movieName){
    var isIE = navigator.appName.indexOf("Microsoft") != -1;
    return (isIE) ? window[movieName] : document[movieName];
}






// ********* ajaxloader nur für aufrufe aus flash

// projektlink aufgerufen
function doAlert(message){
	alert(message);
}


// projektlink aufgerufen
function loadProjectPage(projectID){
	/*alert('loadProjectPage');*/
	window.location.href='projekte/projektfilter/index.htm?tx_usratpprojects_pi2[projectnr]=' + projectID+'#projekt';
}

// projektthumb aufgerufen
function loadProject(projectID){
    	IDIn('ajaxLoader'); 
	window.softScrollTarget = "#projekt";
	ajaxloaderstuff('index.php', 'projekt', 'id=42&type=3&tx_usratpprojects_pi2[projectnr]=' + projectID);
}

// ******** ajaxloader nur für aufrufe aus html

// normaler seitencontent aufruf
function ajaxloader(link, target){

    if (target == undefined) target = "seite";
    if (link == "" || ajaxMode == 0) {
        // rsh script hat probleme mit leer und sonderzeichen und feurt faelschlicher weise einen event der hier abgefangen wird
        return true;
    } 
    window.link = link;
    ajaxfcontainer = document.getElementById("fcontainer");
	
    ajaxloaderstuff(link, target, "");
    
    window.softScrollTarget = "#alles";
    return false;
}

// ************

// diese funktion verwalten die ladeprozedur 
function ajaxloaderstuff(link, target, urlparams){
    // uid lokal initialisieren
    window.link = link;
    seiteladen(link, target, urlparams);
}

// seiteladen lädt den inhalt per ajax
function seiteladen(link, target, urlparams){

    new Ajax.Updater({
        success: target
    }, link, {
        method: 'get',
        parameters: '?' + urlparams,
		evalScripts: true,
        onFailure: function(){
            ajaxErrorIn();
        },
        onSuccess: function(){
            // ladeinfo aus
            
            if (ajaxMode) {
                if (this.link != null) {
                    dhtmlHistory.add(window.link, window.link);
                    //alert("add: "+dhtmlHistory);
                }
                else {
                    dhtmlHistory.add(175, "Error");
                }
            }
        },
        onComplete: function(){
            // ladeinfo aus
            if (Hyphenator.isBookmarklet()) {
                Hyphenator.hyphenateDocument();
            }
            Hyphenator.setMinWordLength(8);
            Hyphenator.run();
            Form.Observer;

            suchblur();
            IDOut('ajaxLoader');
			
			if (window.softScrollTarget != "") softscroll(window.softScrollTarget);

        },
    });
}


/* softscroll (benötigt prototype.js und scriptaculous.js?load=effects)
 ****************************************************/
var ajaxMode = 0;

window.dhtmlHistory.create({
    toJSON: function(o){
        return Object.toJSON(o);
    },
    fromJSON: function(s){
        return s.evalJSON();
    }
});


var isSafari = !!navigator.userAgent.match(/Apple.*Safari/)


var historyChange = function(newLocation, historyData){
    //if (!dhtmlHistory.isFirstLoad()) {
    alert("historyChange: " + newLocation);
    ajaxloader(newLocation, "seite");
    //}
}



function setAjaxMode(newAjaxMode){
    if (newAjaxMode == 1) {
        Event.observe(window, 'load', function(){
            dhtmlHistory.initialize();
            dhtmlHistory.addListener(historyChange);
            if (dhtmlHistory.isFirstLoad()) {
                dhtmlHistory.add("index.php", "#");
            }
        });
    }
    ajaxMode = newAjaxMode;
}


function initialize(){
    //alert("initialize: " + self.document.location.hash.substring(1));
    if (self.document.location.hash.substring(1) != "") {
        //alert("is ajax");
        //setAjaxMode(1);
        //ajaxloaderstuff(self.document.location.hash.substring(1), 'seite', 'type=2')
    }
    suchblur();
}

