
// Sets global variables for browser detection.
var _IE6;
var isExpanded = 1;
function BrowserCheck(){
  var navAgent=navigator.userAgent.toLowerCase();
  var appVer=navigator.appVersion.toLowerCase();
  var versMinor=parseFloat(appVer);
  var versMajor=parseInt(versMinor);
  _Mac=(navAgent.indexOf("mac")!=-1);
  _Win=((navAgent.indexOf("win")!=-1)||(navAgent.indexOf("16bit")!=-1));
  _OS2=(navigator.platform=="OS/2")?true:false;
  _All=(document.all)?true:false;
  _DOM=(document.getElementById)?true:false;
  _OP=(window.opera)?true:false;
  _SAFARI=(navAgent.indexOf('safari')!=-1)?true:false;
  var iePos=appVer.indexOf('msie');
  if (iePos!=-1){
	  versMinor=parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
	  versMajor=parseInt(versMinor);}
  nav6Pos=navAgent.indexOf('netscape6');
  nav7Pos=navAgent.indexOf('netscape/7');
  if (nav6Pos!=-1){
	  versMinor=parseFloat(navAgent.substring(nav6Pos+10));
	  versMajor=parseInt(versMinor); }
  var netsc=((navAgent.indexOf('mozilla')!=-1) && (navAgent.indexOf('spoofer')==-1) && (navAgent.indexOf('compatible') == -1)
		 && (navAgent.indexOf('opera')==-1) && (navAgent.indexOf('webtv')==-1));
  _NS4=(document.layers)?true:false;
  _NS6=(netsc&&versMajor==6);
  _NS7=(netsc);
  var msie=(iePos!=-1);
  _IE4=(msie&&versMajor==4);
  _IE5=(msie&&versMajor==5);
  _IE6=(msie&&versMajor==6);
  _IE7=(msie&&versMajor==7);
  _IE8=(msie&&versMajor==8);
  _FF=(navAgent.indexOf("firefox")!=-1);
  _OtherBrowser=(!_NS4&&!_NS6&&!_OP&&!_IE4&&!_IE5&&!_IE6&&!_IE7);
}BrowserCheck();

// returns x coordinate of object
function getXCoordinate(obj)
{
	if (!obj && this)
	{
		obj = this;
	}
	var IE_Werte = document.all ? true : false;
	var linkePos = obj.offsetLeft;
	var teilElement = obj.offsetParent;
	while (teilElement != null)
	{
		if(IE_Werte)
		{
			if( (teilElement.tagName != "TABLE") && (teilElement.tagName != "BODY") )
			{
				linkePos += teilElement.clientLeft;
			}
		}
		else
		{
			if(teilElement.tagName == "TABLE")
			{
				var nParBorder = parseInt(teilElement.border);
				if(isNaN(nParBorder))
				{
					var nParFrame = teilElement.getAttribute('frame');
					if(nParFrame != null)
					{
						linkePos += 1;
					}
				}
				else if(nParBorder > 0)
				{
					linkePos += nParBorder;
				}
			}
		}
		linkePos += teilElement.offsetLeft;
		teilElement = teilElement.offsetParent;
	}
	return linkePos;
}



// returns y coordinate of object.
function getYCoordinate(obj)
{
	if (!obj && this)
	{
		obj = this;
	}
	var IE_Werte = document.all ? true : false;
	var nTopPos = obj.offsetTop;
	var teilElement = obj.offsetParent;
	while (teilElement != null)
	{
		if(IE_Werte)
		{
			if( (teilElement.tagName != "TABLE") && (teilElement.tagName != "BODY") )
			{
				nTopPos += teilElement.clientTop;
			}
		}
		else
		{
			if(teilElement.tagName == "TABLE")
			{
				var nParBorder = parseInt(teilElement.border);
				if(isNaN(nParBorder))
				{
					var nParFrame = teilElement.getAttribute('frame');
					if(nParFrame != null)
					{
						nTopPos += 1;
					}
				}
				else if(nParBorder > 0)
				{
					nTopPos += nParBorder;
				}
			}
		}
		nTopPos += teilElement.offsetTop;
		teilElement = teilElement.offsetParent;
	}
	return nTopPos;
}

// registers a function for event.
function tsAddEvent(obj, eventType, func, useCaption)
{
	if (!obj || !eventType || !func) return false;
 	else if (obj.addEventListener) {
 		obj.addEventListener(eventType, func, useCaption);
		return true;
 	} else if (obj.attachEvent)	{
 		var resultValue = obj.attachEvent("on"+eventType, func);
 		return resultValue;
 	} else return false;
}


// changes language
function tsChangeLanguage() {
	var adresswert = parent.frames.location;
	document.changeLanguageForm.url.value = adresswert;
	document.changeLanguageForm.submit();
}

// shows preview image
function tsShowPreview(filename){
	$("tsPreviewImage").src=filename;
}

function pageOffset(win)
{
    if(!win) win = window;
    var pos = {left:0,top:0};

    if(typeof win.pageXOffset != 'undefined')
    {
         // Mozilla/Netscape
         pos.left = win.pageXOffset;
         pos.top = win.pageYOffset;
    }
    else
    {
         var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ?
         win.document.documentElement : win.document.body || null;

         pos.left = obj.scrollLeft;
         pos.top = obj.scrollTop;
    }
    return pos;
}

// opens layer
function tsOpenLayer(id){
	var winHeight = Math.max(document.documentElement.offsetHeight, (window.innerHeight || document.body.clientHeight));
	$("tsCoverLayer").style.width=document.body.offsetWidth+"px";
	$("tsCoverLayer").style.height=winHeight+"px";
	$("tsCoverLayer").style.display="block";
	$(id).style.display="block";
	jQuery("#"+id+ " .captchaimg").attr("src", "/captcha.jpg?random=" + Math.random());
	tsHideDropdowns();
}

function tsOpenLayerCentered(id){
	var winHeight = Math.max(document.documentElement.offsetHeight, (window.innerHeight || document.body.clientHeight));
	$("tsCoverLayer").style.width=document.body.offsetWidth+"px";
	$("tsCoverLayer").style.height=winHeight+"px";
	$("tsCoverLayer").style.display="block";
	var scrollY = pageOffset().top
	var innerHeight = document.documentElement.clientHeight;

	$(id).style.display="block";
	$(id).style.top=Math.ceil(scrollY + (innerHeight - $(id).offsetHeight)/2)+"px";
	tsHideDropdowns();
}

// closes layer
function tsCloseLayer(id){
	$("tsCoverLayer").style.display="none";
	$(id).style.display="none";
	tsShowDropdowns();
}

// gets parameters of form
function tsGetParamsOfForm(id){
	var params = "";
	inputs = $(id).getElementsByTagName("input");
	textareas = $(id).getElementsByTagName("textarea");
	selects = $(id).getElementsByTagName("select");
	var x;
		
	for(x=0; x<inputs.length; x++){
		if(inputs[x].type=="radio" || inputs[x].type=="checkbox"){
			if(inputs[x].checked){
				params += "&" + inputs[x].name +"="+ inputs[x].value;
			}
		}else{
			params += "&" + inputs[x].name +"="+ inputs[x].value;
		}
	}
	for(x=0; x<textareas.length; x++){
		params += "&" + textareas[x].name +"="+ textareas[x].value;
	}
	for(x=0; x<selects.length; x++){
		params += "&" + selects[x].name +"="+ selects[x].value;
	} 
	return params.substring(1);
}

// hides all dropdowns in content and header
function tsHideDropdowns(){
	if(_IE6){
		drops=$("tsHeaderArea").getElementsByTagName("select");
		for(x=0; x<drops.length; x++){
			drops[x].style.visibility="hidden";
		}
		drops=$("tsContentArea").getElementsByTagName("select");
		for(x=0; x<drops.length; x++){
			drops[x].style.visibility="hidden";
		}
	}
}

// shows all hidden dropdowns
function tsShowDropdowns(){
	if(_IE6){
		drops=document.getElementsByTagName("select");
		for(x=0; x<drops.length; x++){
			drops[x].style.visibility="visible";
		}
	}
}



// example function for submitting financing with loading bar
function tsSubmitFinancing(){
	$("tsLayerFinancingContent").style.visibility="hidden";
	$("tsLayerFinancingLoading").style.visibility="visible";
}

// selects euipments of equipment layer
function tsSelectEquipments(){
	if($("tsChooseEquipment")){
		boxes = $("tsChooseEquipment").getElementsByTagName("input");
		var equipmentsString = "";
		for(var x=0; x < boxes.length; x++){
			if(boxes[x].checked == true){
				equipmentsString += ", " + tsEquipmentsLabel[boxes[x].name];
			}
		}
		if(equipmentsString.length <= 0){
			equipmentsString = "12" + tsEquipmentsLabel['noneselected'];
		}
		$("tsEuipmentListing").innerHTML=equipmentsString.substring(2);
		tsCloseLayer('tsChooseEquipment');
	}
}



// selects all cities in city layer
function tsCitiesSelectAll(obj){
	boxes = $("tsChooseCities").getElementsByTagName("input");
	for(var x=0; x < boxes.length; x++){
		boxes[x].checked = obj.checked;
	}
}

// selects all cities of country in city layer
function tsCitiesSelectCountry(obj){
	boxes = obj.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input");
	for(var x=0; x < boxes.length; x++){
		boxes[x].checked = obj.checked;
	}
}


// expands or collapses further information on p0053
function tsExpandInfo(linkId, colsId, colsLength, tsLnkClose, tsLnkOpen){
	newHeight = 0;
	if($(linkId).innerHTML == tsLnkClose) {
//	  isExpanded = 0;
		$(linkId).className = 'tsTxtLnkArrowDown';
		$(linkId).innerHTML = tsLnkOpen;
		for (var i = 1; i <= colsLength; i++) {
			$(colsId+'_'+i+'_close').style.display = 'none';
			$(colsId+'_'+i+'_open').style.display = 'block';
			newHeight = Math.max($(colsId+'_'+i+'_open').offsetHeight,newHeight);
		}
	}
	else {
//		isExpanded = 1;			
		$(linkId).className = "tsTxtLnkArrow";
		$(linkId).innerHTML = tsLnkClose;
		/* UPDATE: 1568 start*/
		for (var i = 1; i <= colsLength; i++) 
		{
			$(colsId+'_'+i+'_open').style.display = 'none';
			$(colsId+'_'+i+'_close').style.display = 'block';
			newHeight = Math.max($(colsId+'_'+i+'_close').offsetHeight,newHeight);
		}
		$(colsId+'_'+1+'_close').parentNode.height = ''+ newHeight; 		
		/* UPDATE: 1568 end*/
	}
}

//global variables for popups
var tsSubwindow = 0;
var tsSubwindow2 = 0;

// opens a popup window 
function tsOpenPopup(pURL, width, height, sender) {
	attributes = "location=yes,scrollbars=yes,width="+width+",height="+height;
	if(sender) {
		tsSubwindow2 = window.open(pURL, "popup2", attributes);
	}
	else {
		tsSubwindow = window.open(pURL, "popup", attributes);
	}
}

// closes the current popup window
function tsClosePopup(sender) {
	if(!sender.closed)
		sender.close();
	sender = 0;
}

/*
*	Functions modified by T-Systems
*/

// Function for comparing Vehicles from Picklist in Search Result List
function tsSubmitCompare(){
	if (tsGetCountCheckedBoxes('compareTrucks', 2, 999) == false){
		tsOpenLayerCentered('tsLayerVehicleCompareError');
	}
	else {
	document.fahrZeugVergleichForm.submit();
	}
}

// selects cities of city layer
function tsSelectCities(){
	printSelectedCities();
	tsCloseLayer('tsChooseCities');
	updateSearchForm('');
}

function printSelectedCities(){
	if($("tsCityListing")){
		boxes = $("tsChooseCities").getElementsByTagName("input");
		var citiesString = "";
		for(var x=0; x < boxes.length; x++){
			if(boxes[x].name.match(/checkedTruckStores\(.+\)/)){
				code = boxes[x].name.replace(/checkedTruckStores\((.+)\)/, "$1");
				if(boxes[x].checked == true && tsCitiesLabel[code]){
					citiesString += ", " + tsCitiesLabel[code];
				}
			}
		}
		if(citiesString == "")
			citiesString = "  "+tsCitiesLabel["all"];
		$("tsCityListing").innerHTML=citiesString.substring(2);
	}
}

function updateSelectAllFromCountryCheckboxes(){
	boxes = $("tsChooseCities").getElementsByTagName("input");
	for(var x=0; x < boxes.length; x++){
		if(boxes[x].name.match(/country\..+/)){
			foundUnchecked = false;
			country = boxes[x].name.replace(/country\.(.+)/, "$1");

			for(var j=0;j<boxes.length;j++){
				if(boxes[j].name.indexOf("checkedTruckStores("+country) == 0 ||
						(country == "all" && boxes[j].name.indexOf("checkedTruckStores(") == 0)){
					if(!boxes[j].checked){
						foundUnchecked = true;
					}
				}				
			}
			if(foundUnchecked){
				boxes[x].checked = false;
			}else{
				boxes[x].checked = true;
			}
		}
	}
}

// count checkboxes and check if count is between checkMin and checkMax
function tsGetCountCheckedBoxes(id, checkMin, checkMax){
	var checkedBoxes = 0;
	var inputs = $(id).getElementsByTagName("input");
	var x;
		
	for(x=0; x<inputs.length; x++){
		if(inputs[x].type=="checkbox"){
			if(inputs[x].checked){
				checkedBoxes++;
			}
		}
	}
	
	if(checkedBoxes  >= checkMin && checkedBoxes <= checkMax) {
		return true;
	}
	else {
		return false;
	}
}

var checkedCheckboxes;
function storeCheckboxStates(container){
	checkedCheckboxes = new Array();
	inputs = $(container).getElementsByTagName("input");
	for(i=0;i<inputs.length;i++){
		if(inputs[i].type == "checkbox" && inputs[i].checked){
			checkedCheckboxes[inputs[i].name] = true;
		}
	}
}
function restoreCheckboxStates(container){
	inputs = $(container).getElementsByTagName("input");
	for(i=0;i<inputs.length;i++){
		if(inputs[i].type == "checkbox"){
			if(checkedCheckboxes[inputs[i].name])
				inputs[i].checked = true;
			else
				inputs[i].checked = false;
		}
	}
}

/* START TruckStore Leasing Aktion */
function tsLeasingCampaignRefineBoxScroll(){
	var id="tsLeasingCampaignRefineBox";
	var onTop=318;
	var scrollPos=document.documentElement.scrollTop;
	var pos=(onTop+scrollPos)+"px";
	document.getElementById(id).style.top=pos;
	window.setTimeout(tsLeasingCampaignRefineBoxScroll,200)
}
/* END TruckStore Leasing Aktion */

/* START Sell vehicle teaser contact data*/
jQuery(".tsSellVehicleTeaserContactData .tsPopoverBalloon").click(function(){
	var buttonWidth = jQuery(this).width();
	var content = jQuery(".tsPopoverBalloonContent", jQuery(this)).html();
	var pos = jQuery(this).offset();
	pos.left+=-60+(buttonWidth/2);
	pos.left = pos.left>0?pos.left:0;
	jQuery("#tsPopoverBalloon .tsPopoverBalloonBody").html(content);
	var height = jQuery("#tsPopoverBalloon").height();
	jQuery("#tsPopoverBalloon").css("left", pos.left+"px").css("top", (pos.top - height + 10) + "px").show();
	omniContactTracking();
	return false;
});
jQuery("#tsPopoverBalloon .tsPopoverBalloonClose").click(function(){
	jQuery("#tsPopoverBalloon").hide();
	return false;
});
/* END Sell vehicle teaser contact data*/


