Array.prototype.contains = function(elem) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == elem) return true;
    }
    return false;
};
Array.prototype.remove = function(elem) {
    for (var i = 0; i < this.length; i++){
        if (this[i] == elem) this.splice(i, 1);
    }
};
Array.prototype.clear = function() {
    this.length = 0;
};
Array.prototype.numericSort = function() {
    this.sort(numericSorter);
};
Array.prototype.isEmpty = function() {
    return this.length == 0;
};
Array.prototype.dequeue = function() {
    if (this.length > 0) {
        var elem = this[0];
        this.splice(0, 1);
        return elem;
    }
};
Array.prototype.asSet = function() {
    var set = new Array();
    for (var i = 0; i < this.length; i++){
        if (!set.contains(this[i])) {
            set.push(this[i]);
        }
    }
    return set;
};
String.prototype.format = function() {
    var str = this;
    for (var i = 0; i < arguments.length; i++) {
        str = str.replace('{' + i + '}', arguments[i]);
    }
    return str;
};
function changeNaviImage(requestType) {
    switch (requestType) {
    case "TestDrive":
        document.getElementById('navigationImage').src = testDriveImg;
        break;
    case "BiddingInquiry":
        document.getElementById('navigationImage').src = biddingInquiryImg;
        break;
    case "Consultation":
        document.getElementById('navigationImage').src = consultationImg;
        break;
    default:
        document.getElementById('navigationImage').src = "";
        break;
    }
}

function popUpRouting(urlPattern, width, height, destKey, destZip, destCity, destStreet, destDealerName, destCountry) {
    openedRoutePlanning();

    var url = urlPattern.format(escape(destKey), escape(destZip), escape(destCity), escape(destStreet), escape(destDealerName), escape(destCountry));

    var paramYY = "scrollbars=yes,resizable=1";
    var paramYN = "scrollbar=yes,resizable=0";
    var paramNN = "scrollbar=0;resizable=0";
    var parameter2 = '';
    if ((navigator.appName.indexOf("Netscape") > -1 && parseInt(navigator.appVersion.substring(0,1)) >= 4)
        || (navigator.appName.indexOf("Microsoft Internet Explorer") > -1 && parseInt(navigator.appVersion.substring(0,1)) >= 4)) {
        var w = (screen.width/2)-(width/2); 
        var h = (screen.height/2)-(height/2); 
        
        if (width != 0) {
            parameter2 += ',width=' + width + ', screenX=' + w + ',left=' + w;
        }
        if (height != 0) {
            parameter2 += ',height=' + height + ', screenY=' + h + ',top=' + h;
        }
    } else {
        if (width != 0) {
            parameter2 += ',width=' + width;
        }
        if (height != 0) {
            parameter2 += ',height=' + height;
        }
    }

    if (url.indexOf("cc5.volkswagen.de") > 0) {
        var win = window.open(url, "CC5", paramYY + parameter2);
    } else {
        if (url.indexOf("www2.volkswagen.de/volkswagen_com/popup_movie_") > 0
            || url.indexOf("emosites.volkswagen.de") > 0) {
            var win = window.open(url, '_new', paramNN + parameter2);
        } else {
            var win = window.open(url, '_new', paramYY + parameter2);
        }
    }
    if (win) {
        win.focus();
    }
}
function switchOptionalFields(sender)
{
    if (isCompletelyLoaded) {
        if(sender=="show") {
            document.getElementById("show").style.display='none';
            if (document.getElementById("dcm:bottomLineContact")
                && navigator.appName == "Microsoft Internet Explorer") {
                if (navigator.appVersion.indexOf("MSIE 6.0") > 0) {
                    document.getElementById("dcm:bottomLineContact").className = "bottomLineContactOpenIE6";
                } else {
                    document.getElementById("dcm:bottomLineContact").className = "bottomLineContactOpenIE";
                }
            }
            document.getElementById("hide").style.display='inline';
            document.getElementById("optionalFields").style.display='inline';            
        } else {
            document.getElementById("show").style.display='inline';
            if (document.getElementById("dcm:bottomLineContact")
                && navigator.appName == "Microsoft Internet Explorer") {
                if (navigator.appVersion.indexOf("MSIE 6.0")>0) {
                    document.getElementById("dcm:bottomLineContact").className = "bottomLineContactIE6";
                } else {
                    document.getElementById("dcm:bottomLineContact").className = "bottomLineContactIE";
                }
            }
            document.getElementById("hide").style.display='none';
            document.getElementById("optionalFields").style.display='none';
        }
    }
}

function numericSorter(a, b) {
    return parseInt(a) - parseInt(b);
}
function handleEnter(event) {
    returnPressed = true;
    if (!event) {
        event = window.event;
    }
    if ((event.which && event.which == 13)
        || (event.keyCode && event.keyCode == 13)) {
        if (!isInMessage) {
            var forwardButton = document.getElementById('dcm:forward0');
            if (forwardButton) {
                forwardButton.click();
            }
        }
        window.setTimeout("resetReturn()", 100);
    } else {
        resetReturn();
    }
}
function registerReturnHandler() {
    window.onkeypress = handleEnter;
    var formElement = document.getElementById('dcm:form');
    if (formElement) {
        formElement.onkeypress = handleEnter;
        var inputs = formElement.getElementsByTagName('input');
        for (var i = 0; i < inputs.length; i++) {
            inputs[i].onkeypress = handleEnter;
        }
    }
}
function resetReturn() {
    returnPressed = false;
}
function integrator_app_onload() {}
/**
 * This method changes the (Logo) first image in the
 * HTML- tree. This is determined by the product
 * line of the selected car. 
 *
 *  @param productLine The of the selected car. 
 */
function showCorrectLogo(productLine) {
	//Die URL des Logos in Abhängigkeit zur productline bestimmen.
	//Hier muss die URL für die Logos konfiguriert werden.
	var url = 'http://www.volkswagen-nutzfahrzeuge.de/etc/medialib/vwcms/virtualmaster/vwn_master/common/logos.Par.0001.Image.gif/Volkswagen_Nutzfahrzeuge_Logo.gif';
	if(productLine == 'Life') {
		url = 'http://www.volkswagen-nutzfahrzeuge.de/etc/medialib/vwcms/virtualmaster/vwn_master/common/logos.Par.0002.Image.gif/Volkswagen_Das-Auto_Logo.gif';
	}
	
	document.images[0].src = url;
}
