/* -------------------------------------------------------------------------------------------------
      oevw.at
      JavaScript Functions
      by codeworks webagency 2006
      www.codeworks.cc
                                                                                                    */


var pics = new Array();
var loaded = new Array();
var i = 0;

pics[0] = rootFolder + "img/menuHome.gif";
pics[1] = rootFolder + "img/menuHomeHover.gif";
pics[2] = rootFolder + "img/menuWohnungen.gif";
pics[3] = rootFolder + "img/menuWohnungenHover.gif";
pics[4] = rootFolder + "img/menuProjekte.gif";
pics[5] = rootFolder + "img/menuProjekteHover.gif";
pics[6] = rootFolder + "img/menuHausverwaltung.gif";
pics[7] = rootFolder + "img/menuHausverwaltungHover.gif";
pics[8] = rootFolder + "img/menuUnternehmen.gif";
pics[9] = rootFolder + "img/menuUnternehmenHover.gif";
pics[10] = rootFolder + "img/menuKontakt.gif";
pics[11] = rootFolder + "img/menuKontaktHover.gif";
pics[12] = rootFolder + "img/menuAktuelles.gif";
pics[13] = rootFolder + "img/menuAktuellesHover.gif";
pics[14] = rootFolder + "img/menuGaragen.gif";
pics[15] = rootFolder + "img/menuGaragenHover.gif";
pics[16] = rootFolder + "img/menuJobs.gif";
pics[17] = rootFolder + "img/menuJobsHover.gif";


if(loggedIn!='')
{
    pics[18] = rootFolder + "img/usermenuDownloads.gif";
    pics[19] = rootFolder + "img/usermenuDownloadsHover.gif";
    pics[20] = rootFolder + "img/usermenuReservierungen.gif";
    pics[21] = rootFolder + "img/usermenuReservierungenHover.gif";
    pics[22] = rootFolder + "img/usermenuDaten.gif";
    pics[23] = rootFolder + "img/usermenuDatenHover.gif";
    pics[24] = rootFolder + "img/usermenuLogout.gif";
    pics[25] = rootFolder + "img/usermenuLogoutHover.gif";
    pics[26] = rootFolder + "img/usermenuGewaehrleistung.gif";
    pics[27] = rootFolder + "img/usermenuGewaehrleistungHover.gif";
    pics[28] = rootFolder + "img/usermenuSonderwunsch.gif";
    pics[29] = rootFolder + "img/usermenuSonderwunschHover.gif";
}


for (i = 0; i < pics.length; i++)
{
    if(pics[i]!=undefined)
    {
        loaded[i] = new Image();
        loaded[i].src = pics[i];
    }
}


function imgChange(img_name,img_index)
{
    document.images[img_name].src = loaded[img_index].src;
}


function singleFlip(span_id)
{
    display = ( document.getElementById( span_id ).style.display == 'none' ) ? 'block' : 'none';
    document.getElementById( span_id ).style.display = display;
    return false;
}


function doubleFlip(span_id)
{
    displayOne = ( document.getElementById( span_id + "1" ).style.display == 'none' ) ? 'block' : 'none';
    displayTwo = ( document.getElementById( span_id + "2" ).style.display == 'none' ) ? 'block' : 'none';
    document.getElementById( span_id + "1" ).style.display = displayOne;
    document.getElementById( span_id + "2" ).style.display = displayTwo;

    // cookie stuff
    if(arguments[1]!='' && arguments.length>1) { setCookie(arguments[1],displayOne); }
    return false;
}


function EatCookie(name)
{
    var arg=name+"=";
    var alen=arg.length;
    var clen=document.cookie.length;
    var i=0;

    while (i<clen)
    {
        var j=i+alen;
        if(document.cookie.substring(i,j) == arg)
            return EatCookieVal(j);

        i=document.cookie.indexOf(" ",i) + 1;
        if (i === 0) { break; }
    }
    return '';
}


function EatCookieVal(offset)
{
    var endstr=document.cookie.indexOf(";",offset);
    if (endstr == -1) { endstr=document.cookie.length; }
    return unescape(document.cookie.substring(offset,endstr));
}


function setCookie(name,value)
{
    if(name!='' && value!='' && name!=undefined && value!=undefined)
    {
        var newValue = '';
        var oldCookieSplit = '';
        var oldCookie = EatCookie('showHide');

        if(oldCookie!='' && oldCookie!=undefined)
        {
            oldCookie = oldCookie.split(':');
            for(i=0;i<oldCookie.length;i++)
            {
                oldCookieSplit = oldCookie[i].split('|');
                if(oldCookieSplit[0]!=name)
                {
                    if(newValue!='') { newValue = newValue + ':' }
                    newValue = newValue + oldCookie[i];
                }
            }
        }
    
        if(newValue!='') { newValue = newValue + ':' }
        newValue = newValue + name + '|' + escape(value);
    
        var expdate = new Date();
        expdate.setTime(expdate.getTime()+(31*24*60*60*1000));
    
        document.cookie="showHide="+newValue+";path=/;expires="+expdate.toUTCString();
    }
}


function openWindow(file,add,menu,width,height)
{
    var newWidth = (width==undefined) ? 500 : width;
    var newHeight = (height==undefined) ? 350 : height;

    if(newWidth+100>screen.width) { newWidth = screen.width-100; }
    if(newHeight+100>screen.height) { newHeight = screen.height-100; }
    var left = (screen.width - newWidth) / 2;
    var top = (screen.height - newHeight) / 2;

    var urlAdd = (add!='' && add!=undefined) ? add : '';
    var menu = (menu!='1') ? '0' : '1';
    popUpWin = window.open(rootFolder + 'misc/' + file + '/' + urlAdd, 'popUpWin', 'status=1,toolbar=0,location=0,scrollbars=1,menubar=' + menu + ',resizable=1,width=' + newWidth + ',height=' + newHeight + ',left=' + left + ',top=' + top);
    popUpWin.focus();
    return false;
}


function URLEncode(url)
{
    var SAFECHARS = "0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz-_.()";
    var HEX = "0123456789ABCDEF";
  
    var encoded = "";
    for(var i=0; i<url.length; i++)
    {
        var ch = url.charAt(i);

        if(ch == " ")
            encoded += "+";

        else if(SAFECHARS.indexOf(ch) != -1)
            encoded += ch;

        else
        {
            var charCode = ch.charCodeAt(0);
            if(charCode > 255)
                encoded += "+";
            else
            {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    }
  
    return encoded;
}


function openPic(url)
{
    openWindow('popup_image','url/?' + URLEncode(url) + '/'); 
    return false;
}


function changeWindow(newWidth,newHeight)
{
    newHeight += 20;
    if(newWidth+100>screen.width) { newWidth = screen.width-100; }
    if(newHeight+100>screen.height) { newHeight = screen.height-100; }
    var left = (screen.width - newWidth) / 2;
    var top = (screen.height - newHeight) / 2;

    self.moveTo(left,top);
    self.resizeTo(newWidth,newHeight);
    self.focus();
}


function changeDropdown(dropdownField, datenArray)
{
    var i, j = 1;
    var prompt;

    // vorhandene eintraege leeren
    for (i = dropdownField.options.length; i >= 1; i--)
        dropdownField.options[i] = null; 

    if (datenArray!=null && datenArray!=undefined)
    {
        // add new items
        for (i = 0; i < datenArray.length; i++)
        {
            dropdownField.options[j] = new Option(datenArray[i][0]);
            if (datenArray[i][1] != null) {
                dropdownField.options[j].value = datenArray[i][1]; 
            }
            j++;
        }
        // select first item (prompt) for sub list
        dropdownField.options[0].selected = true;
        dropdownField.disabled = false;
    }
    else
        dropdownField.disabled = true;
}


function loginSwitch(field,action,text)
{
    if(action == "unset")
    {
        field.className = "loginActive";
        if(field.value == text) field.value = "";
    }
    else if(action == "set")
    {
        field.className = "login";
        if(field.value == "") field.value = text;
    }
}


function fieldSwitch(field,action,text)
{
    if(action == "unset")
    {
        if(field.value == text) field.value = "";
    }
    else if(action == "set")
    {
        if(field.value == "") field.value = text;
    }
}


function strReplace(strOld,strNew,strText)
{
    if(strOld==',') var strText = strReplace('.','',strText);

    // fehlerpruefung
    if((strText == null) || (strOld == null)) return null;
    if((strText.length == 0) || (strOld.length == 0)) return strText;

    // kein strnew
    if((strNew == null) || (strNew.length == 0)) strNew = "";

    var Pos = strText.indexOf(strOld, 0);
    while (Pos >= 0)
    {
      strText = strText.substring(0, Pos) + strNew + strText.substring(Pos + strOld.length);
      Pos = strText.indexOf(strOld, Pos + strNew.length);
    }

    return strText;
}


function conf(text)
{
    if(!confirm(text))
    {
        return false;
    }
}


function confDel(frm)
{
    var ausgewaehlt = 0;
    for(var i=0; i<frm.elements.length; i++)
        if(frm.elements[i].type=='checkbox' && frm.elements[i].checked==true)
            ausgewaehlt += 1;

    if(ausgewaehlt>0)
    {
        var confText = (ausgewaehlt>1) ?
            "Möchten Sie wirklich die ausgewählten " + ausgewaehlt + " Datensätze löschen?" :
            "Möchten Sie den ausgewählten Datensatz wirklich löschen?";

        if(!confirm(confText))
            return false;
    }
    else
    {
        alert("Bitte mindestens einen Datensatz wählen!");
        return false;
    }
}


function unloadWarning(page)
{
    if(document.frm.hideMessage.value!='true')
    {
        if(page=='wunsch')
        alert('Haben Sie vergessen, Ihre Sonderwunsch-Meldung abzuschließen?\n\nBitte beachten Sie, dass Sie Ihre Meldung abschließen müssen,\nbevor diese von uns bearbeitet werden kann! Klicken Sie dazu\neinfach auf "Meldung abschließen"!\n\nBis Sie Ihre Sonderwunsch-Meldung abgeschlossen haben, können\nSie diese jederzeit im Kundencenter bearbeiten und erweitern.');
        else
        alert('Haben Sie vergessen, Ihre Mangel-Meldung abzuschließen?\n\nBitte beachten Sie, dass Sie Ihre Meldung abschließen müssen,\nbevor diese von uns bearbeitet werden kann! Klicken Sie dazu\neinfach auf "Meldung abschließen"!\n\nBis Sie Ihre Mangel-Meldung abgeschlossen haben, können\nSie diese jederzeit im Kundencenter bearbeiten und erweitern.');

        return false;
    }
}


function disableChkboxes(frm,box)
{
    var ausgewaehlt = 0;
    for(var i=0; i<frm.elements.length; i++)
        if(frm.elements[i].type=='checkbox' && frm.elements[i]!=box)
            frm.elements[i].disabled = (box.checked==true) ? true : false;
}


function changeImage(imageFile)
{
    document.images['karteWien'].src = rootFolder + 'img/' + imageFile + '.gif';
}


function changeCheckbox(checkboxId,imageId,imageFile)
{
    newStatus = (document.getElementById( checkboxId ).checked==true) ? false : true;
    newImage = (newStatus==true) ? rootFolder + 'img/' + imageFile + '.gif' : rootFolder + 'img/space.gif';
    document.getElementById( checkboxId ).checked = newStatus;
    document.images[imageId].src = newImage;
    return false;
}


function changeMap(checkboxId,imageId,imageFile)
{
    newImage = (document.getElementById( checkboxId ).checked==true) ? rootFolder + 'img/' + imageFile + '.gif' : rootFolder + 'img/space.gif';
    document.images[imageId].src = newImage;
}


function callbackForm(action)
{
    var field = document.getElementById('cbfield');
    if (action == 'focus' && field.value == 'Telefon oder E-Mail') {
        field.value = '';
        field.className = 'std';
    }
    else if (action == 'unfocus' && field.value == '') {
        field.value = 'Telefon oder E-Mail';
        field.className = 'std light';
    }
}

function in_array (needle, haystack, argStrict) {
    // Checks if the given value exists in the array  
    // 
    // version: 1004.2122
    // discuss at: http://phpjs.org/functions/in_array    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: vlado houba
    // +   input by: Billy
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: true
    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
    // *     returns 2: false
    // *     example 3: in_array(1, ['1', '2', '3']);
    // *     returns 3: true    // *     example 3: in_array(1, ['1', '2', '3'], false);
    // *     returns 3: true
    // *     example 4: in_array(1, ['1', '2', '3'], true);
    // *     returns 4: false
    var key = '', strict = !!argStrict; 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
    return false;
}


function getRadioValue(obj)
{
    for (var i = 0; i < obj.length; i++) {
        if (obj[i].checked) {
            return obj[i].value;
        }
    }

    return false;
}


function setField(field, text)
{
    if (field.value == '')
    {
        field.value = text;
        $(field).addClass('light');
    }
}

function unsetField(field, text)
{
    if (field.value == text)
    {
        field.value = '';
        $(field).removeClass('light');
    }
}

