var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isIE6  = (navigator.appVersion.indexOf("4.") != -1) ? true : false;
nn6 = document.getElementById && !document.all;
ie4 = document.all;

window.onload = function(){
    
    if(nn6){
        menu = document.getElementById('menuInner');
    } else if(ie4){
        menu = document.all['menuInner'];
    }
    if(menu){
        menu = menu.getElementsByTagName('li');
        for(i=0;i<menu.length;i++){
            if(menu[i].className == 'clicked'){
                liTagId = menu[i].id;

                menu[i].style.backgroundImage = "url('../design/menu_background_clicked.jpg')";
                sublink = menu[i].getElementsByTagName('a');
                for(k=0;k<sublink.length;k++){
                    if(sublink[k].className == "clicked-sub"){
                        menu[i].style.backgroundImage = "url('../../design/menu_background_clicked.jpg')";
                    } 
                }
                menu[i].style.backgroundRepeat = "repeat-x";
                divField = menu[i].getElementsByTagName('div');
                if(divField != undefined){
                    for(m=0;m<divField.length;m++){
                        if(divField[m].className == "hidden-absolute"){
                            divTagId = divField[m].id;
                            SubMenu('showsub', divTagId, liTagId, 910);
                        }
                    }
                }
            } 
        }
    }
    text_replace();
}

function text_replace(text){
    if(text == undefined){
        i = 'footer_text';
        j = 'preview';
        if(nn6){
            fotObj = document.getElementById(i);
            preObj = document.getElementById(j);
        } else if(ie4){
            fotObj = document.all[i];
            preObj = document.all[j];
        }
        fotObj.innerHTML = fotObj.innerHTML.replace(/\(snabel\)/gi,'@');
        preObj.innerHTML = preObj.innerHTML.replace(/\(snabel\)/gi,'@');
    } else{
        text = text.replace(/\(snabel\)/gi,'@');
        return text;
    }
}

function SubMenu(reason, n, parent, maxPos){
    if(nn6){
        subObj = document.getElementById(n);
        parentObj = document.getElementById(parent);
    } else if(ie4){
        subObj = document.all[n];
        parentObj = document.all[parent];
        
    }
    if (nn6 || ie4) {
        if(reason == 'showsub'){
            var startPos = 110;
            FetchClickedField('hide');
            if(maxPos == undefined){
                maxPos = 910;
            }
            subObj.style.padding = "0.5em 0.5em 0.5em 0em";
            subObj.style.letterSpacing = "0px";
            var leftPos = getElementLeft(parent) - 10;
            var topPos = getElementTop(parent) + 38;
            var subHeight = subObj.offsetHeight + 10;
            var subWidth = subObj.offsetWidth + 50;
            if(leftPos-startPos+subWidth > maxPos){
                leftPos -= leftPos-startPos+subWidth-maxPos;
            }
            subObj.style.visibility = "visible";
            subObj.style.height = "" + subHeight + "px";
            subObj.style.width = "" + subWidth + "px";
            subObj.style.left = "" + leftPos + "px";
            subObj.style.top = "" + topPos + "px";
        } else if(reason == 'hidesub'){
            subObj.style.width = "";
            subObj.style.height = "";
            subObj.style.visibility = "hidden";
            subObj.className = "hidden-absolute";
            FetchClickedField('show');
        }
    }
}

function FetchClickedField(reason){
    if(nn6){
        menu = document.getElementById('menuInner');
    } else if(ie4){
        menu = document.all['menuInner'];
    }
            if(menu){
                menu = menu.getElementsByTagName('li');
                for(i=0;i<menu.length;i++){
                    if(menu[i].className == 'clicked'){
                        liTagId = menu[i].id;
                        divField = menu[i].getElementsByTagName('div');
                        if(divField != undefined){
                            for(m=0;m<divField.length;m++){
                                if(divField[m].className == "hidden-absolute"){
                                    if(reason == 'show'){
                                        divField[m].style.visibility = "visible";
                                    } else if(reason == 'hide'){
                                        divField[m].style.visibility = "hidden";
                                    }
                                    break;
                                }
                            }
                        }
                    } 
                }
            }        
}

function PopObject(reason, n, message, elmid){
    if(nn6){
        popObj = document.getElementById(n);
    } else if(ie4){
        popObj = document.all[n];
    }
    if (nn6 || ie4) {
        if(popObj.style.visibility == "visible"){
            if(reason == 'i_blur'){
                window.clearTimeout(poptimeout);
            }
            popObj.innerHTML = "";
            FadeObject(popObj);
        } else {
            if(reason != 'i_blur'){
                var pop = FadeObject(popObj);
            }
            if(pop){
                if(reason == 'login'){
                    popObj.innerHTML = "<div id='popup_field'><form method='post' action='?'>Användarnamn:<br /><input type='text' name='username' /><br />Lösenord:<br /><input type='password' name='password' /><br /><input type='submit' name='submit_login' value='Logga in' /></form><div align='right'><a href=\"javascript:;\" onclick=\"PopObject('', 'popregular','');\" >[Stäng fönster]</a></div></div>";
                } else if(reason == 'message'){
                    popObj.innerHTML = "<div id='popup_field'>" + message + "<div align='right'><a href=\"javascript:;\" onclick=\"PopObject('', 'popregular','');\" >[Stäng fönster]</a></div></div>";
                } else if(reason == 'add_pic'){
                    popObj.innerHTML = "<div id='popup_field'><form method='post' action='?' enctype='multipart/form-data'>Http-adress:<br /><input type='text' name='http_adress' id='http_adress' onfocus=\"PopObject('i_focus', 'popsmall', '', this.id);\"  onblur=\"PopObject('i_blur', 'popsmall', '');\" /><br />Ladda upp en bild:<br /><input name='uploaded_picture' type='file' maxlength='120' /><br /><input type='submit' name='submit_imgflash' value='Spara' /></form><div align='right'><a href=\"javascript:;\" onclick=\"PopObject('', 'popregular','');\" >[Stäng fönster]</a></div>";
                } else if(reason == 'add_smorgastarta'){
                    popObj.innerHTML = "<div id='popup_field'><form method='post' action='?' enctype='multipart/form-data'>Ladda upp en bild:<br /><input name='uploaded_picture' type='file' maxlength='120' /><br /><input type='submit' name='submit_img_receptbank' value='Spara' /></form><div align='right'><a href=\"javascript:;\" onclick=\"PopObject('', 'popregular','');\" >[Stäng fönster]</a></div>";
                }
                if(reason == 'picture'){
                    popObj.innerHTML = "<img src='images/loading.gif'>";
                    var loader = new ImageLoader(message);
                    loader.loadEvent = function(url, image){
                        //if(!isIE) { var randomnumber = Math.floor(Math.random()*101); var image = message + "?" + randomnumber; } else { image = message; }
                        popObj.innerHTML = "<div id='popup_field'><div align='right'><a href='javascript:;' onclick=\"PopObject('', 'poptext', '', '');\">[Stäng fönster]</a></div></div>";
                        popObj.appendChild(image);
                        var leftPos = getElementLeft(elmid) + 40;
                        var topPos = (400 - image.height/2);  //screen.height              
                        popObj.style.left = "" + leftPos + "px";
                        popObj.style.top = "" + topPos + "px";
                        
                    }
                    loader.load();  
                }
                if(reason == 'i_focus'){
                    var leftPos = getElementLeft(elmid) - 152;
                    var topPos = getElementTop(elmid) - 5;
                    popObj.style.left = "" + leftPos + "px";
                    popObj.style.top = "" + topPos + "px";
                    popObj.innerHTML = "<div id='small_popup_field'>Se till att bilden <b>inte är bredare än 450 pixlar</b>, ifall du är osäker ladda då upp bilden istället.</div>";
                    var poptimeout = window.setTimeout("PopObject('i_blur', 'popsmall', '')", 7000);
                }
            }
        }
    }
    return false;
}
function FadeObject(popObj){
    var visible = popObj.className;
    var step = begining = 5;
    var totalSteps = 5;
    var ReCallSpeed = 30;
    
    if(popObj.className == 'false'){
        step = 0;
        popObj.className = 'true';
        if (isIE == true) { popObj.style.filter = 'Alpha(Opacity=0)'; } else { popObj.style.opacity = 0;}
        popObj.style.visibility = "visible";
    } else if(popObj.className == 'true'){
        popObj.className = 'false';
        if (isIE == true) { popObj.style.filter = 'Alpha(Opacity=100)'; } else { popObj.style.opacity = 1;}
        step = begining;
    }
    var engine = window.setInterval( function () {
        if(visible == 'true'){ step = step-1; } else { step = step+1 }
        if (step < 0) {
            window.clearInterval(engine);
            popObj.style.visibility = "hidden";
            return;
        }
        if(step > begining){
            window.clearInterval(engine);
            return;
        }
        if (isIE == true) {
            popObj.style.filter = 'Alpha(Opacity=' + (step / totalSteps)*100 + ')';
        } else {
            popObj.style.opacity = (step / totalSteps);
        }
    }, ReCallSpeed);
    return true;
}

function getElementLeft(Elem) {
    if(document.getElementById) {
	var elem = document.getElementById(Elem);
    } else if (document.all){
	var elem = document.all[Elem];
    }
    xPos = elem.offsetLeft;
    tempEl = elem.offsetParent;
    while (tempEl != null) {
 	xPos += tempEl.offsetLeft;
    	tempEl = tempEl.offsetParent;
    }
    return xPos;
}

function getElementTop(Elem) {
    if(document.getElementById) {	
	var elem = document.getElementById(Elem);
    } else if (document.all) {
	var elem = document.all[Elem];
    }
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
    while (tempEl != null) {
  	yPos += tempEl.offsetTop;
	tempEl = tempEl.offsetParent;
    }
    return yPos;
}