// variable to hold the status for scrolling whether to scroll or not
var isScrollRequired = true;

// variable to hold the value if the user has clicked on calculator product list for the first time
var calculatorProductChecked = false;

//variable to hold the value if user has checked/unchecked PHV,RS checkbox for online contract closure
var onlineClosureChecked = false;

//Variable to hold that page load is start of the module
var moduleStart = true;

//Flag to be set true when OSC pixel is added to the page
var oscPixelAdded = false;

var internalCalc = true;

var saveHistoryPos;


// variable to hold the value if the user has clicked on calculator product list for the first time
var rkCalculatorProductChecked = false;

addEvent(window, "load", startSscrollDetect);
function addEvent(elm, evType, fn, useCapture)
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
// By Scott Andrew
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
} 

// pass the message to be displayed to the function as string i.e 'message'.
function showMessage(strMsg){
	alert(strMsg);
}

// This is the function that sets the flag to false and thus the calculator page does not scrolls to the top
function setNoScrollRequired()
{
    isScrollRequired = false;
}

//function to validate the email address
function IsValidEmailID(emailStr) 
{
	return /^(\w+\.)*([\w-]+)@([\w-]+\.)+([a-zA-Z]{2,4})$/.test(emailStr);			
}

//trimming spaces from left of string
function trimAll(sString) 
{
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
}


//function to check if the string entered has numbers
function HasNumericData(strData)
{    
    var invalidCharacters = '0123456789';
    var isNumData = false;   
    for (var index = 0; index < strData.length && isNumData == false; index++) 
    {
       var currentChar = strData.charAt(index);  
       if (invalidCharacters.indexOf(currentChar) != -1) 
       {            
           isNumData = true;
           break;
       }
    }    
    return isNumData;    
}

//function to check if the data entered is numeric or not
function IsNumericData(dataNum)
{     
    var isNumData = true;      
    var validCharacters = '0123456789';
    for (var index = 0; index < dataNum.length && isNumData == true; index++) 
    {
        var currentChar = dataNum.charAt(index);                  
        if (validCharacters.indexOf(currentChar) == -1) 
        {                 
           isNumData = false;
           break;
        }
    }     
    return isNumData;    
}

//function to check if the date is valid
function IsValidDate(dateStr) 
{    
    var datePat = /^(\d{1,2})(\.)(\d{1,2})(\.)(\d{4})$/;

    var matchArray = dateStr.match(datePat); // is the format valid

    if (matchArray == null) 
    { 
        return false;
    }
    
    if(GetCurrentDate(matchArray) == false)
    {
        return false;        
    }
            
    day = matchArray[1]; // p@rse date into variables
    month = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) 
    { // check month range     
        return false;
    }

    if (day < 1 || day > 31) 
    {        
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
    {    
        return false;
    }

    if (month == 2) 
    { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) 
        {     
            return false;
        }
    }
    return true; // date is valid
}

//function to get current date
function GetCurrentDate(matchArray)
{
    var today = new Date();
    var currDate = today.getDate();  
    var currMonth = today.getMonth()+ 1;    
    var currYear = today.getYear(); 
    
    var browName = navigator.appName;    
    if(browName == 'Netscape')
        currYear = 1900 + currYear; 
   
    date = matchArray[1]; // p@rse date into variables
    month = matchArray[3];
    year = matchArray[5];
    
    if(currYear > year)
    {        
        return true;
    }
    else
    { 
      
        if(currYear == year)
        {
            
            if(currMonth > month)
            {
                return true;
            }
            else
            {
                if(currMonth == month)
                {
                    if(currDate >= date)
                        return true;
                    else
                        return false;                    
                }
                else
                    return false;
                
            }
        }
        else
        {            
           if(currYear < year) 
           {            
                return false;
           }
        }
    }        
}

function OpenPrintWindow(printID)
{  
  printWindow = window.open(PrintPreviewPopUpUrl+"/PrintPreviewPopUp.aspx?printID=" + printID,'PrintPreviewPopUp','width=700,height=650,toolbar=0,scrollbars=1,location=0,statusbar=no,menubar=0,resizable=0,left=200,top=200');
	printWindow.focus();
}

function OpenPrintWindow_tonline(printID,calculatorcategory)
{  
  printWindow = window.open(PrintPreviewPopUpUrl+"/PrintPreviewPopUp.aspx?printID=" + printID + "&calculatorCategory=" + calculatorcategory ,'PrintPreviewPopUp','width=700,height=650,toolbar=0,scrollbars=1,location=0,statusbar=no,menubar=0,resizable=0,left=200,top=200');
  printWindow.focus();
}

function OpenPrintWindowComparison(url )
{  
    printWindow = window.open(PrintPreviewPopUpUrl+ "/" + url,'PrintPreviewPopUp','width=820,height=650,toolbar=0,scrollbars=1,location=0,statusbar=no,menubar=0,resizable=0,left=200,top=200');
	printWindow.focus();
}

//function to validate email & display error message
function ValidateEmail(emailFieldId)
{
   var email = document.getElementById(emailFieldId).value;
   if ((email=="") ||(IsValidEmailID(email)==false))
   {
        showMessage(EMAIL_INVALID_MESSAGE);
        return false;
   }
   else
   {return true; }
}

//Function to impose the maximum length onto a textbox in the multiline mode.An alternative to Maxlength of singleline mode
function imposeMaxLength(e,object,maxLength)
{
    //Code 37 to 40 for arrow keys,8 for backspace-key,45 for insert-key,46 for del-key,35 for end-key and 36 for home-key
    if (!((e.keyCode>=35 && e.keyCode<=40) || (e.keyCode==8) || (e.keyCode==46) || (e.keyCode==45)))
    {
    return (object.value.length < maxLength);
    }
}

function EnableCalculateButtonForHyperLink(btnName,event)
{
    //Call method to generate OSC pixel
    if (internalCalc && oscPixelAdded)
    {
        if (moduleStart)
        {
           scMStart();
           moduleStart = false; 
        }
    }
    
    if(document.getElementById(btnName).parentNode.className == 'button_orange button_inactive')
    {
        document.getElementById(btnName).parentNode.className = 'button_orange';
    }
    
    if (document.all)
    {
        if (event.keyCode == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).click();
            document.getElementById(btnName).focus();
            return false;
        }
    }

    else if (event.which)
    {
        if (event.which == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).focus();
            return false;
        }
    }
}

function CheckCssClass(control)
{
    if(control.parentNode.className == 'button_orange button_inactive')
        return false;
    else 
        return true;
}

function CheckCssClassRegister(control)
{
    if(control.parentNode.className == 'button_orange fsFloat-Right button_inactive')
        return false;
    else 
        return true;
}

function EnableCalculateButton(btnName,event)
{
    //Call method to generate OSC pixel
    if (internalCalc && oscPixelAdded)
    {
        if (moduleStart)
        {
           scMStart();
           moduleStart = false; 
        }
    }
    
    if( document.getElementById(btnName).disabled)
    {
        document.getElementById(btnName).disabled = false;
        document.getElementById(btnName).src = "/templates/images/btn_neu_berechnen_active.gif";
    }
    
    if (document.all)
    {
        if (event.keyCode == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).click();
            document.getElementById(btnName).focus();
            return false;
        }
    }

    else if (event.which)
    {
        if (event.which == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).focus();
            return false;
        }
    }
}

function EnableCalculateButton_tonline(btnName,event)
{  
    if (oscPixelAdded)
    {
        if (moduleStart)
        {
           scMStart();
           moduleStart = false; 
        }
    }
      
    if( document.getElementById(btnName).disabled)
    {
        document.getElementById(btnName).disabled = false;
        document.getElementById(btnName).src = "/templates/images/btn_neu_berechnen_tonline.gif";
    }
    
    if (document.all)
    {
        if (event.keyCode == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).click();
            document.getElementById(btnName).focus();
            return false;
        }
    }

    else if (event.which)
    {
        if (event.which == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            document.getElementById(btnName).focus();
            return false;
        }
    }

}


//Function to show the progress bar image on the calculators 
function showProgress(image,imagePath,header,headerText)
{
    image.src = imagePath;
    document.getElementById(header).innerHTML = headerText;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function DisplaySaveResultConfirm(confirmDiv)
{
    document.getElementById(confirmDiv).style.width = 250 + "px";
    document.getElementById(confirmDiv).style.height = 100 + "px";
    document.getElementById(confirmDiv).style.left = 717 + "px";
    document.getElementById(confirmDiv).style.top = 325 + "px";
    document.getElementById(confirmDiv).style.position = "absolute";
    document.getElementById(confirmDiv).style.display = "block";
}

function HideSaveResultConfirm(confirmDiv)
{
    confirmDiv.parentNode.parentNode.style.display = "none";
}

function DisableInputForm(inputDiv,disablingDiv)
{
     try
     {
		var XYPos = findPos(document.getElementById(inputDiv));
		 var inputDivWidth = document.getElementById(inputDiv).offsetWidth;
		 var inputDivHeight = document.getElementById(inputDiv).offsetHeight;     
		 document.getElementById(disablingDiv).style.width = inputDivWidth + 'px';     
		 document.getElementById(disablingDiv).style.height = inputDivHeight + 'px';
		 document.getElementById(disablingDiv).style.left = XYPos[0] + 'px';
		 document.getElementById(disablingDiv).style.top = XYPos[1] + 'px';
		 document.getElementById(disablingDiv).style.position = "absolute";
		 document.getElementById(disablingDiv).style.display = "block";
     }
     catch (e){}
}

function findPosTOI(obj,objParent) {
	var curleft = curtop = 0;
	var curleftParent = curtopParent = 0;
	
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	if (objParent.offsetParent) {
		do {
			curleftParent += objParent.offsetLeft;
			curtopParent += objParent.offsetTop;
		} while (objParent = objParent.offsetParent);
	}
	curleft = (curleft - curleftParent);
	curtop = (curtop - curtopParent + 36);
	return [curleft,curtop];
}
function DisableInputFormTOI(inputDiv,disablingDiv,inputdiv1)
{
     try
     {
		 var XYPos = findPosTOI(document.getElementById(inputDiv), document.getElementById("positionTOI"));
		 var inputDivWidth = document.getElementById(inputDiv).offsetWidth;
		 var inputDivHeight = document.getElementById(inputDiv).offsetHeight;     
		 document.getElementById(disablingDiv).style.width = inputDivWidth + 'px';     
		 document.getElementById(disablingDiv).style.height = inputDivHeight + 'px';
		 document.getElementById(disablingDiv).style.left = XYPos[0] + 'px';
		 document.getElementById(disablingDiv).style.top = XYPos[1] + 'px';
		 document.getElementById(disablingDiv).style.position = "absolute";
		 document.getElementById(disablingDiv).style.display = "block";
     }
     catch (e){}
}
function EnableInputForm(disablingDiv)
{
     document.getElementById(disablingDiv).style.display = "none";
}

// Function handles the check uncheck events of Product List Checkboxes
function productChecked(checkedObj,comparisonId,comparison1Id,hdnSelectedProducts)
{
    var firstProductSelected;
    
    //Check if the checkbox is selected for the first time 
    //Then remove all the default selected checkboxes
    if (calculatorProductChecked==false)
    {
        for(var i=0;i<selectedProductsArray.length;i++)
        
        {
            if (document.getElementById(selectedProductsArray[i]))
            {
                document.getElementById(selectedProductsArray[i]).checked = false ;
            }
        }
        selectedProductsArray.splice(0,3);
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then change the selection order 
    if (checkedObj.id == selectedProductsArray[0])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray.reverse(); 
            calculatorProductChecked=true;
        } 
        else
        {
            selectedProductsArray.shift();
            calculatorProductChecked=true;

        }
    }
    
    //Check if the checkbox id is at the index 1 of array 
    //then change the selection order 
    else if (checkedObj.id == selectedProductsArray[1])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray[1]=selectedProductsArray[2];
            selectedProductsArray[2]= checkedObj.id;
            calculatorProductChecked=true;
            
        }
        else
        {
            if (selectedProductsArray.length > 2)
            {
                selectedProductsArray[1]=selectedProductsArray[2];
                selectedProductsArray.splice(2,1);
                calculatorProductChecked=true;
            }
            else
            {
                selectedProductsArray.splice(1,1);
                calculatorProductChecked=true;
   
            }


        }
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then remove the checkbox id from array
    else if (checkedObj.id == selectedProductsArray[2])
    {
        if (!checkedObj.checked)
            {
                selectedProductsArray.splice(2,1);
                calculatorProductChecked=true;
            }
    }
    
    //Check if the checkbox id does not exist in the array
    //then add the checkbox id into array
    else
    {
        if (checkedObj.checked)
        {
            if (selectedProductsArray.length > 2)
            {
                firstProductSelected =selectedProductsArray.shift();
                if (document.getElementById(firstProductSelected))
                {
                    document.getElementById(firstProductSelected).checked = false ;
                }
            }
            selectedProductsArray.push(checkedObj.id);
            calculatorProductChecked=true;

        }

    }
    
    //Disable the comparison button if selected products are less then 2
    if (selectedProductsArray.length < 2)
    {
        document.getElementById(comparisonId).disabled=true;
        document.getElementById(comparison1Id).disabled=true;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";

    }
    else
    {
        document.getElementById(comparisonId).disabled=false;
        document.getElementById(comparison1Id).disabled=false;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen.gif";
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen.gif";


    }
    
    
    //Assign the value of selected products into a hidden input
    var selectedproducts = new String();
    selectedproducts = (selectedProductsArray.join("-"));
    selectedproducts=selectedproducts.split('-');
    
    document.getElementById(hdnSelectedProducts).value="";
    
    for(var i=0;i<selectedproducts.length;i++)
    { 
       if(!(i%2==0))
       {   
           if (document.getElementById(hdnSelectedProducts).value == "") 
           {
               document.getElementById(hdnSelectedProducts).value += selectedproducts[i];
           }
           else
           {
               document.getElementById(hdnSelectedProducts).value += "," + selectedproducts[i];
           }
       }
    }
}

// Function handles the check uncheck events of Product List Checkboxes
function productCheckedForHyperLink(checkedObj,dvComparisonId,dvComparison1Id,hdnSelectedProducts)
{
    var firstProductSelected;
    
    //Check if the checkbox is selected for the first time 
    //Then remove all the default selected checkboxes
    if (calculatorProductChecked==false)
    {
        for(var i=0;i<selectedProductsArray.length;i++)
        
        {
            if (document.getElementById(selectedProductsArray[i]))
            {
                document.getElementById(selectedProductsArray[i]).checked = false ;
            }
        }
        selectedProductsArray.splice(0,3);
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then change the selection order 
    if (checkedObj.id == selectedProductsArray[0])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray.reverse(); 
            calculatorProductChecked=true;
        } 
        else
        {
            selectedProductsArray.shift();
            calculatorProductChecked=true;

        }
    }
    
    //Check if the checkbox id is at the index 1 of array 
    //then change the selection order 
    else if (checkedObj.id == selectedProductsArray[1])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray[1]=selectedProductsArray[2];
            selectedProductsArray[2]= checkedObj.id;
            calculatorProductChecked=true;
            
        }
        else
        {
            if (selectedProductsArray.length > 2)
            {
                selectedProductsArray[1]=selectedProductsArray[2];
                selectedProductsArray.splice(2,1);
                calculatorProductChecked=true;
            }
            else
            {
                selectedProductsArray.splice(1,1);
                calculatorProductChecked=true;
   
            }


        }
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then remove the checkbox id from array
    else if (checkedObj.id == selectedProductsArray[2])
    {
        if (!checkedObj.checked)
            {
                selectedProductsArray.splice(2,1);
                calculatorProductChecked=true;
            }
    }
    
    //Check if the checkbox id does not exist in the array
    //then add the checkbox id into array
    else
    {
        if (checkedObj.checked)
        {
            if (selectedProductsArray.length > 2)
            {
                firstProductSelected =selectedProductsArray.shift();
                if (document.getElementById(firstProductSelected))
                {
                    document.getElementById(firstProductSelected).checked = false ;
                }
            }
            selectedProductsArray.push(checkedObj.id);
            calculatorProductChecked=true;

        }

    }
    
    //Disable the comparison button if selected products are less then 2
    if (selectedProductsArray.length < 2)
    {
//        document.getElementById(comparisonId).disabled=true;
//        document.getElementById(comparison1Id).disabled=true;
//        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
//        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        document.getElementById(dvComparisonId).className = 'button_orange button_inactive';
        document.getElementById(dvComparison1Id).className = 'button_orange button_inactive';
    }
    else
    {
//        document.getElementById(comparisonId).disabled=false;
//        document.getElementById(comparison1Id).disabled=false;
//        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen.gif";
//        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen.gif";
        document.getElementById(dvComparisonId).className = 'button_orange';
        document.getElementById(dvComparison1Id).className = 'button_orange';

    }
    
    
    //Assign the value of selected products into a hidden input
    var selectedproducts = new String();
    selectedproducts = (selectedProductsArray.join("-"));
    selectedproducts=selectedproducts.split('-');
    
    document.getElementById(hdnSelectedProducts).value="";
    
    for(var i=0;i<selectedproducts.length;i++)
    { 
       if(!(i%2==0))
       {   
           if (document.getElementById(hdnSelectedProducts).value == "") 
           {
               document.getElementById(hdnSelectedProducts).value += selectedproducts[i];
           }
           else
           {
               document.getElementById(hdnSelectedProducts).value += "," + selectedproducts[i];
           }
       }
    }
}



//This method is used to check the selected products after binding of product list
function CheckSelectedProducts(comparisonId,comparison1Id)
{
    
    for(var i=0;i<selectedProductsArray.length;i++)
    {
        if (document.getElementById(selectedProductsArray[i]))
        {
            document.getElementById(selectedProductsArray[i]).checked = true ;
        }
    }
    
    if(selectedProductsArray.length < 2)
    {
        document.getElementById(comparisonId).disabled=true;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        document.getElementById(comparison1Id).disabled=true;
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
       
    }

}

//This method is used to clear selectedProducts array on calculate button click
function ClearProductsArray()
{
   selectedProductsArray = [];
}

function SetExplorerBackButtonStatus()
{   
    linkClicked = true;
}

function UnsuppressExitAlertBox()
{
    linkClicked = false;
}   


function closeForm(formName) 
{
		document.getElementById(formName).style.display="none";
}
/*

function showForgotPassword()
{
		document.getElementById("forgot-password").style.display="block";
}
*/
//cm33 specific script
var $d =  function(strId){return document.getElementById(strId);}
var origImgSrc;
Show = function(id){

	var actualImg = $d(id+'On').getElementsByTagName('img')[0];
	var subsImg = $d(id+'Off').getElementsByTagName('img')[0];
	origImgSrc = actualImg.src;
	actualImg.src = subsImg.src;

}

Hide= function(id){

	var actualImg = $d(id+'On').getElementsByTagName('img')[0];
	actualImg.src = origImgSrc

}

function cursorMouseHand(elementName)
{
    document.getElementById(elementName).style.cursor="pointer";
}


// This method disables the passed dropdown list
function DisableDropDownList(dropdown)
{
    document.getElementById(dropdown).disabled=true;
}

// This method enables the passed dropdown list
function EnableDropDownList(dropdown)
{
    document.getElementById(dropdown).disabled=false;
}

function DisableOnlineClosureButtons(clientid,message)
{
    // Disabling all the checkboxes & buttons after clicking the online button
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").disabled = true;
    document.getElementById(clientid + "_imgBtnEditPersondaten").disabled = true;
    document.getElementById(clientid + "_imgBtnEditPersondaten").src = "/templates/Images/btn_personendaten_andern_inactive.gif";
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").disabled = true;
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").src = "/templates/Images/btn_zuruck_inactive.gif";
    document.getElementById(clientid + "_chkDaten").disabled = true;
    document.getElementById(clientid + "_chkAllgemeine").disabled = true;
    document.getElementById(clientid + "_chkNutzungsbedingungen").disabled = true;
    document.getElementById(clientid + "_lblMessage").innerHTML = message;
    
    //hide redirect message 
    redirectClicked = true;
    linkClicked = true;    
}

function DisableOnlineClosureButtons_tonline(clientid,message)
{
    // Disabling all the checkboxes & buttons after clicking the online button
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").disabled = true;
    document.getElementById(clientid + "_imgBtnEditPersondaten").disabled = true;
    document.getElementById(clientid + "_imgBtnEditPersondaten").src = "/templates/Images/btn_personendaten_andern_inactive_tonline.gif";
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").disabled = true;
    document.getElementById(clientid + "_imgDatenzusammenfassungZuruck").src = "/templates/Images/btn_zuruck_inactive_tonline.gif";
    document.getElementById(clientid + "_chkDaten").disabled = true;
    document.getElementById(clientid + "_chkAllgemeine").disabled = true;
    document.getElementById(clientid + "_chkNutzungsbedingungen").disabled = true;
    document.getElementById(clientid + "_lblMessage").innerHTML = message;
    
    //hide redirect message 
    redirectClicked = true;
    linkClicked = true;    
}

var iSelectVal="";
function loadDropdown(clientid,textboxid)
{
   if (iSelectVal!=$d(textboxid).value)
   {
    $d(clientid).disabled=false;
    iSelect = $d(clientid);
    iSelect.innerHTML="";
    var objOption = new Option('Ort wird geladen...','noValue');
    iSelect.options[0] = objOption;
    iSelectVal = $d(textboxid).value;
   }
}
   
// Variable to hold disable image URL for button causing postback.
var calculatorButtonDisabledURL ="";
var calculatorButtonDisabled2URL ="";
function MakeButtonDisabled(disabledImagePath, disabledImagePath2)
{
    // Function assigns a new image URL which will be called by InitializeRequest() to disable the button that is causing the postback
    calculatorButtonDisabledURL = disabledImagePath;
    if(!disabledImagePath2)
    {   // There doesnt exist a second argument
        calculatorButtonDisabled2URL="";
    }
    else
    {  // Second argument exists. This will be used to specify an alternate image URL for the button causing postback
       calculatorButtonDisabled2URL = disabledImagePath2;
    }
}

//function MakeButtonDisabledForLink(disabledImagePath, disabledImagePath2)
//{

////if(document.getElementById(btnName).parentNode.className == 'button_orange button_inactive')
//    // Function assigns a new image URL which will be called by InitializeRequest() to disable the button that is causing the postback
//    calculatorButtonDisabledURL = disabledImagePath;
//    if(!disabledImagePath2)
//    {   // There doesnt exist a second argument
//        calculatorButtonDisabled2URL="";
//    }
//    else
//    {  // Second argument exists. This will be used to specify an alternate image URL for the button causing postback
//       calculatorButtonDisabled2URL = disabledImagePath2;
//    }
//}


function ShowSaveLayer(controlId){
    var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		var verticalOffset = 2;
		var horizOffset = 2;
    } else {
        var verticalOffset = 4;
		var horizOffset = 1;
    }
        var saveIconXY = findPos($d(saveHistoryPos));
		var saveIconleftPos = $d(controlId).offsetWidth+horizOffset;
		$d(controlId).style.left = saveIconleftPos-28+'px';
		$d(controlId).style.top = saveIconXY[1]-$d(controlId).offsetHeight+verticalOffset-5+'px';
		
}
/*login layer*/
function SaveloginLayer(loginForm){
    var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		var verticalOffset = 2;
		var horizOffset = 2;
    } else {
        var verticalOffset = 4;
		var horizOffset = 1;
    }
		var saveIconXY = findPos($d(saveHistoryPos));
		var saveIconleftPos = saveIconXY[0]-113+horizOffset;
		$d(loginForm).style.left = saveIconleftPos+'px';
		$d(loginForm).style.top = saveIconXY[1]-$d(loginForm).offsetHeight-5+'px';
}

function showHelpLayer(helpIconID,helpContentID){
   var els = document.getElementsByTagName("select");
    for (var x = 0; x < els.length; x++){
        els[x].blur();
    }
    var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		var verticalOffset = 2;
		var horizOffset = 2;
    } else {
        var verticalOffset = 4;
		var horizOffset = 1;
    }
    try
    {
    	if ($d(helpContentID))
		{
			$d("helpContentArea").innerHTML = $d(helpContentID).innerHTML;
		}else{
			$d("helpContentArea").innerHTML = "No information available";
		}
		

		helpIcon = helpIconID.id;
		var helpIconXY = findPos($d(helpIcon));
		var leftPos = helpIconXY[0]-286+horizOffset;
		if (leftPos<=0)
		{
			leftPos=helpIconXY[0]-1+horizOffset;
		}
		$d("dvHelpLayer").style.left = leftPos+'px';
		$d("dvHelpLayer").style.top = helpIconXY[1]+$d(helpIcon).offsetHeight-$d("dvHelpLayer").offsetHeight+verticalOffset+'px';
		$d("dvHelpLayer").style.display = 'block';
		$d("dvHelpLayer").style.visibility = 'visible';
    }
    catch (e){}
	
}

function showMehrLayer(moreInfoMenu,moreInfoMenuItems){
    var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		var verticalOffset = 2;
		var horizOffset = 2;
    } else {
        var verticalOffset = 4;
		var horizOffset = 1;
    }
    try
    {
		helpIcon = moreInfoMenu.id;
		var helpIconXY = findPos($d(moreInfoMenu));
		var leftPos = helpIconXY[0]+horizOffset;
		$d(moreInfoMenuItems).style.left = leftPos-$d(moreInfoMenu).offsetWidth-2+'px';
		$d(moreInfoMenuItems).style.left;
		$d(moreInfoMenuItems).style.top = helpIconXY[1]+24+'px';
		$d(moreInfoMenuItems).style.visibility = 'visible';
    }
    catch (e){}
	
}
function showProduct(helpIconID,helpContentID){
   var els = document.getElementsByTagName("select");
    for (var x = 0; x < els.length; x++){
        els[x].blur();
    }
    var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		var verticalOffset = 2;
		var horizOffset = 2;
    } else {
        var verticalOffset = 4;
		var horizOffset = 1;
    }
    try
    {
    	if ($d(helpContentID))
		{
			$d("helpContentArea").innerHTML = $d(helpContentID).innerHTML;
		}else{
			$d("helpContentArea").innerHTML = "No information available";
		}
		

		helpIcon = helpIconID.id;
		var helpIconXY = findPos($d(helpIcon));
		var leftPos = helpIconXY[0]-196+horizOffset;
		if (leftPos<=0)
		{
			leftPos+=0;
		}
		$d("dvHelpLayer").style.left = leftPos+'px';
		$d("dvHelpLayer").style.top = helpIconXY[1]+$d(helpIcon).offsetHeight-$d("dvHelpLayer").offsetHeight+verticalOffset+'px';
		$d("dvHelpLayer").style.display = 'block';
		$d("dvHelpLayer").style.visibility = 'visible';
    }
    catch (e){}
	
}
function hideLayer(helpLayerID){
	$d(helpLayerID).style.visibility = 'hidden';
	return false;		
}
/*The next two functions are for the purpose of fixing the onmouseout issue with nested elements on all browsers */
function is_child_of(parent, child) {
	if( child != null ) {			
		while( child.parentNode ) {
			if( (child = child.parentNode) == parent ) {
				return true;
			}
		}
	}
	return false;
}



function fixOnMouseOut(element, event, JavaScript_code) {
	var current_mouse_target = null;
	if( event.toElement ) {				
		current_mouse_target 			 = event.toElement;
	} else if( event.relatedTarget ) {				
		current_mouse_target 			 = event.relatedTarget;
	}
	if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
		eval(JavaScript_code);
		       // var verticalOffset = -1000;
		        $d("dvHelpLayer").style.top = '-1000px';
		        $d("dvHelpLayer").style.left = '0px';          
	}	
}


function showExampleLayer(exampleLinkID,exampleContentID){
	try
	{
		if ($d(exampleContentID))
		{
			$d("exampleContentArea").innerHTML = $d(exampleContentID).innerHTML;
		}else{
			$d("exampleContentArea").innerHTML = "No information available";
		}
		
		exampleLink = exampleLinkID.id;
		var exampleLinkXY = findPos($d(exampleLink));
		OffsetHeight = ($d("dvExampleLayer").offsetHeight)/2;
		$d("dvExampleLayer").style.left = exampleLinkXY[0]+52+'px';	
		$d("dvExampleLayer").style.top = exampleLinkXY[1]-OffsetHeight+'px';
		$d("dvExampleLayer").style.display = 'block';
		$d("dvExampleLayer").style.visibility = 'visible';
	}
	catch (e){}
	
}

/*Detect scroll to hide open layers on scrolling*/
var initScrollY;
function startSscrollDetect(){
	var browsername=navigator.appName;
    if (browsername.indexOf("Microsoft")!=-1){
		initScrollY=document.body.scrollTop;
    } else {
		initScrollY=window.pageYOffset;
    }
	setInterval("scrollingDetector()", 500);
}
function scrollingDetector(){
	if ($d('dvHelpLayer'))
	{
		var browsername=navigator.appName;
		if (browsername.indexOf("Microsoft")!=-1){
			newScrollY=document.body.scrollTop;
		} else {
			newScrollY=window.pageYOffset;
		}
		if (newScrollY!=initScrollY)
		{
			hideLayer('dvHelpLayer');
		}
		initScrollY=newScrollY;
	}
	
}

function setOnlineClosureChecked()
{
    onlineClosureChecked = true;
}

/* Code change starts here
 * Code changed by :- Vikrant Tiwari
 * artf733596: denied cookies are generating error pages
 * Added javascript code to check if cookie is disabled and to show a popup once
 *
*/
var calleeDetail= false;
var calleeComparison= false;
var calleeOnline= false;
var calleeProductList = false;
var calleePaging =false;
var calleeSorting = false;


function checkCookies(callee)
{
   
   var cookieDate = new Date();
  
   chkcookie = (cookieDate.getTime() + '');
  
   document.cookie = "chkcookie=" + chkcookie + "; path=/";
  
    if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="Detail" && calleeDetail==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeDetail=true;
       return false;
    }
    else if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="Compare" && calleeComparison==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeComparison=true;
       return false;
    }
    else if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="Online" && calleeOnline==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeOnline=true;
       return false;
    }
      else if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="ProductList" && calleeProductList==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeProductList=true;
       return false;
    }
     else if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="Paging" && calleePaging==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleePaging=true;
       return false;
    }
     else if (document.cookie.indexOf(chkcookie,0) < 0 && callee=="Sorting" && calleeSorting==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeSorting=true;
       return false;
    }     
    
    if(document.cookie.indexOf(chkcookie,0) >= 0 )
    {
        return true;
    }   
    return false;
}

var calleeLogIn = false;
function checkCookiesLogIn(boolLogin,logInStatus,SaveHistory)
{
   var cookieDate = new Date();
   saveHistoryPos = SaveHistory;
   chkcookie = (cookieDate.getTime() + '');
  
   document.cookie = "chkcookie=" + chkcookie + "; path=/";
    if (document.cookie.indexOf(chkcookie,0) < 0  && calleeLogIn==false)
    {
       alert('FÃ¼r die Berechnung ist ein Cooky erforderlich. Sie haben mÃ¶glicherweise in den Browsereinstellungen die Akzeptanz von Cookies deaktiviert. Bitte nehmen Sie entsprechende Ã„nderungen in Ihren Browsereinstellungen vor.');
       calleeLogIn=true;
       return false;
    }
    else if(document.cookie.indexOf(chkcookie,0) >= 0 && logInStatus==false)
        {
            showLoginNew('dvLoginForm',boolLogin,SaveHistory);
        }
    else if(document.cookie.indexOf(chkcookie,0) >= 0 && logInStatus==true)
    {
      return true;
    }
    return false;
}
function HideOverlay(){
                document.getElementById("transparentLayer").style.display="none";
}
function LoginEventStatus() 
  {
    try
       {   //Code Added for Integration with Incovia artf758030
         if(document.getElementById('hdnUser') == null  || document.getElementById(iframeIDField).contentWindow.FS24LoginEventStatus == undefined )
            {
                       
            }
            else
            {
            document.getElementById(iframeIDField).contentWindow.FS24LoginEventStatus(document.getElementById('hdnUser').getAttribute('value'));
              }
            
   } 
    catch(e)
    {
    }
  }
  
  //Disable Result List when wrong inputs are given for re-search
function DisableResultPage(resultDiv,disablingDiv)
{
     var XYPos = findPos(document.getElementById(resultDiv));
     var inputDivWidth = document.getElementById(resultDiv).offsetWidth;
     var inputDivHeight = document.getElementById(resultDiv).offsetHeight;     
     document.getElementById(disablingDiv).style.width = inputDivWidth + 'px';     
     document.getElementById(disablingDiv).style.height = inputDivHeight + 'px';
     document.getElementById(disablingDiv).style.left = XYPos[0] + 'px';
     document.getElementById(disablingDiv).style.top = XYPos[1] + 'px';
     document.getElementById(disablingDiv).style.position = "absolute";
}

// Function handles the check uncheck events of Product List Checkboxes
function productCheckedRK(checkedObj,comparisonId,comparison1Id,hdnSelectedProducts,hdnSelectedProductRate,hdnSelectedProductDuration)
{
    var firstProductSelected;
    
    //Check if the checkbox is selected for the first time 
    //Then remove all the default selected checkboxes
    if (rkCalculatorProductChecked==false)
    {
        for(var i=0;i<selectedProductsArray.length;i++)
        
        {
            if (document.getElementById(selectedProductsArray[i]))
            {
                document.getElementById(selectedProductsArray[i]).checked = false ;
            }
        }
        selectedProductsArray.splice(0,3);
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then change the selection order 
    if (checkedObj.id == selectedProductsArray[0])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray.reverse(); 
            rkCalculatorProductChecked=true;
        } 
        else
        {
            selectedProductsArray.shift();
            rkCalculatorProductChecked=true;

        }
    }
    
    //Check if the checkbox id is at the index 1 of array 
    //then change the selection order 
    else if (checkedObj.id == selectedProductsArray[1])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray[1]=selectedProductsArray[2];
            selectedProductsArray[2]= checkedObj.id;
            rkCalculatorProductChecked=true;
            
        }
        else
        {
            if (selectedProductsArray.length > 2)
            {
                selectedProductsArray[1]=selectedProductsArray[2];
                selectedProductsArray.splice(2,1);
                rkCalculatorProductChecked=true;
            }
            else
            {
                selectedProductsArray.splice(1,1);
                rkCalculatorProductChecked=true;
   
            }


        }
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then remove the checkbox id from array
    else if (checkedObj.id == selectedProductsArray[2])
    {
        if (!checkedObj.checked)
            {
                selectedProductsArray.splice(2,1);
                rkCalculatorProductChecked=true;
            }
    }
    
    //Check if the checkbox id does not exist in the array
    //then add the checkbox id into array
    else
    {
        if (checkedObj.checked)
        {
            if (selectedProductsArray.length > 2)
            {
                firstProductSelected =selectedProductsArray.shift();
                if (document.getElementById(firstProductSelected))
                {
                    document.getElementById(firstProductSelected).checked = false ;
                }
            }
            selectedProductsArray.push(checkedObj.id);
            rkCalculatorProductChecked=true;

        }

    }
    
    //Disable the comparison button if selected products are less then 2
    if (selectedProductsArray.length < 2)
    {
        document.getElementById(comparisonId).disabled=true;
        document.getElementById(comparison1Id).disabled=true;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        
    }
    else
    {
        document.getElementById(comparisonId).disabled=false;
        document.getElementById(comparison1Id).disabled=false;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen.gif";
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen.gif";

    }
    
    
    //Assign the value of selected products into a hidden input
    var selectedproducts = new String();
    selectedproducts = (selectedProductsArray.join("-"));
    selectedproducts=selectedproducts.split('-');
        
    document.getElementById(hdnSelectedProducts).value="";
    document.getElementById(hdnSelectedProductRate).value="";
    document.getElementById(hdnSelectedProductDuration).value="";
    
    for(var i=0;i<selectedproducts.length;i++)
    { 
       if(!(i%2==0))
       {   
           //Split selectedproducts into strings
           var prodInfoArray = selectedproducts[i].split("_");
           var productId = prodInfoArray[0];
           var productRate = prodInfoArray[1];
           var productDuration = prodInfoArray[2];
           
           //Hidden field Slected Product Id
           if (document.getElementById(hdnSelectedProducts).value == "") 
           {
               document.getElementById(hdnSelectedProducts).value += productId;
           }
           else
           {
               document.getElementById(hdnSelectedProducts).value += "_" + productId;
           }
           
           //Hidden field Slected Product Rate
           if (document.getElementById(hdnSelectedProductRate).value == "") 
           {
               document.getElementById(hdnSelectedProductRate).value += productRate;
           }
           else
           {
               document.getElementById(hdnSelectedProductRate).value += "_" + productRate;
           }
           
           //Hidden field Slected Product Duration           
           if (document.getElementById(hdnSelectedProductDuration).value == "") 
           {
               document.getElementById(hdnSelectedProductDuration).value += productDuration;
           }
           else
           {
               document.getElementById(hdnSelectedProductDuration).value += "_" + productDuration;
           }
       }
    }
}

function productCheckedRKForHyperLink(checkedObj,dvComparisonId,dvComparison1Id,hdnSelectedProducts,hdnSelectedProductRate,hdnSelectedProductDuration)
{
    var firstProductSelected;
    
    //Check if the checkbox is selected for the first time 
    //Then remove all the default selected checkboxes
    if (rkCalculatorProductChecked==false)
    {
        for(var i=0;i<selectedProductsArray.length;i++)
        
        {
            if (document.getElementById(selectedProductsArray[i]))
            {
                document.getElementById(selectedProductsArray[i]).checked = false ;
            }
        }
        selectedProductsArray.splice(0,3);
    }
    
//    alert("selectedProductsArray.length: " + selectedProductsArray.length);
//    
//    alert("selectedProductsArray[0] " + selectedProductsArray[0]);
//    alert("selectedProductsArray[0] " + selectedProductsArray[1]);
//    alert("selectedProductsArray[0] " + selectedProductsArray[2]);
    
    //Check if the checkbox id is at the index 0 of array 
    //then change the selection order 
    if (checkedObj.id == selectedProductsArray[0])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray.reverse(); 
            rkCalculatorProductChecked=true;
        } 
        else
        {
            selectedProductsArray.shift();
            rkCalculatorProductChecked=true;

        }
    }
    
    //Check if the checkbox id is at the index 1 of array 
    //then change the selection order 
    else if (checkedObj.id == selectedProductsArray[1])
    {
        if (checkedObj.checked)
        {
            selectedProductsArray[1]=selectedProductsArray[2];
            selectedProductsArray[2]= checkedObj.id;
            rkCalculatorProductChecked=true;
            
        }
        else
        {
            if (selectedProductsArray.length > 2)
            {
                selectedProductsArray[1]=selectedProductsArray[2];
                selectedProductsArray.splice(2,1);
                rkCalculatorProductChecked=true;
            }
            else
            {
                selectedProductsArray.splice(1,1);
                rkCalculatorProductChecked=true;
   
            }


        }
    }
    
    //Check if the checkbox id is at the index 0 of array 
    //then remove the checkbox id from array
    else if (checkedObj.id == selectedProductsArray[2])
    {
        if (!checkedObj.checked)
            {
                selectedProductsArray.splice(2,1);
                rkCalculatorProductChecked=true;
            }
    }
    
    //Check if the checkbox id does not exist in the array
    //then add the checkbox id into array
    else
    {
        if (checkedObj.checked)
        {
            if (selectedProductsArray.length > 2)
            {
                firstProductSelected =selectedProductsArray.shift();
                if (document.getElementById(firstProductSelected))
                {
                    document.getElementById(firstProductSelected).checked = false ;
                }
            }
            selectedProductsArray.push(checkedObj.id);
            rkCalculatorProductChecked=true;

        }

    }
    
    //Disable the comparison button if selected products are less then 2
    if (selectedProductsArray.length < 2)
    {
        document.getElementById(dvComparisonId).className = 'button_orange button_inactive';
        document.getElementById(dvComparison1Id).className = 'button_orange button_inactive';
    }
    else
    {
        document.getElementById(dvComparisonId).className = 'button_orange';
        document.getElementById(dvComparison1Id).className = 'button_orange';
    }
    
    
    //Assign the value of selected products into a hidden input
    var selectedproducts = new String();
    selectedproducts = (selectedProductsArray.join("-"));
    selectedproducts=selectedproducts.split('-');
        
    document.getElementById(hdnSelectedProducts).value="";
    document.getElementById(hdnSelectedProductRate).value="";
    document.getElementById(hdnSelectedProductDuration).value="";
    
    alert("selectedproducts.length  :   " + selectedproducts.length);
    for(var i=0;i<selectedproducts.length;i++)
    { 
       if(!(i%2==0))
       {   
           //Split selectedproducts into strings
           var prodInfoArray = selectedproducts[i].split("_");
           var productId = prodInfoArray[0];
           var productRate = prodInfoArray[1];
           var productDuration = prodInfoArray[2];
           
           //Hidden field Slected Product Id
           if (document.getElementById(hdnSelectedProducts).value == "") 
           {
               document.getElementById(hdnSelectedProducts).value += productId;
           }
           else
           {
               document.getElementById(hdnSelectedProducts).value += "_" + productId;
           }
           
           //Hidden field Slected Product Rate
           if (document.getElementById(hdnSelectedProductRate).value == "") 
           {
               document.getElementById(hdnSelectedProductRate).value += productRate;
           }
           else
           {
               document.getElementById(hdnSelectedProductRate).value += "_" + productRate;
           }
           
           //Hidden field Slected Product Duration           
           if (document.getElementById(hdnSelectedProductDuration).value == "") 
           {
               document.getElementById(hdnSelectedProductDuration).value += productDuration;
           }
           else
           {
               document.getElementById(hdnSelectedProductDuration).value += "_" + productDuration;
           }
       }
    }
} 

//This method is used to check the selected products after binding of product list
function CheckSelectedProductsRK(comparisonId,comparison1Id)
{
    if(selectedProductsArray.length > 0)
    {
        for(var i=0;i<selectedProductsArray.length;i++)
        {
            if (document.getElementById(selectedProductsArray[i]))
            {
                document.getElementById(selectedProductsArray[i]).checked = true ;
            }
        }
    }
    
    if(selectedProductsArray.length < 2)
    {
        document.getElementById(comparisonId).disabled=true;
        document.getElementById(comparisonId).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
        document.getElementById(comparison1Id).disabled=true;
        document.getElementById(comparison1Id).src= "/templates/Images/btn_angebote_vergleichen_inactive.gif";
       
    }

}

/* Â© Copyright 2008 Sapient Corporation.  All Rights Reserved
This function will be called by OSC control to render the pixel
*/

function CreateOSCPixel(pageName,OSCchannel,OSCpageType,OSChier1, OSCprop1, OSCprop2, OSCprop3, OSCprop4, 
OSCprop5, OSCprop6, OSCprop7, OSCprop8, OSCprop9, OSCprop10, OSCprop11, OSCprop12, OSCcampaign, OSCproducts, 
OSCevents, OSCstate, OSCzip, OSCpurchase, OSCeVar1, OSCeVar2, OSCeVar3, OSCeVar4, OSCeVar5, OSCeVar6, OSCeVar7, 
OSCeVar8, OSCeVar9, OSCeVar10, OSCeVar11, OSCeVar12, OSCeVar13, OSCeVar14, OSCeVar15, OSCeVar16, OSCeVar17, OSCeVar18, OSCeVar19, OSCeVar20, OSCeVar24)
{
    s.pageName=pageName;
    s.server=document.location.host;
    s.channel=OSCchannel;
    s.pageType=OSCpageType;
    s.hier1=OSChier1;
    s.prop1=OSCprop1;
    s.prop2=OSCprop2;
    s.prop3=OSCprop3;
    s.prop4=OSCprop4;
    s.prop5=OSCprop5;
    s.prop6=OSCprop6;
    s.prop7=OSCprop7;
    s.prop8=OSCprop8;
    s.prop9=OSCprop9;
    s.prop10=OSCprop10;
    s.prop11=OSCprop11;
    s.prop12=OSCprop12;
    /* Conversion Variables */
    s.campaign=OSCcampaign;
    s.products=OSCproducts;
    s.events=OSCevents;
    s.state=OSCstate;
    s.zip=OSCzip;
    s.purchaseID=OSCpurchase;
    s.eVar1=OSCeVar1;
    s.eVar2=OSCeVar2;
    s.eVar3=OSCeVar3;
    s.eVar4=OSCeVar4;
    s.eVar5=OSCeVar5;
    s.eVar6=OSCeVar6;
    s.eVar7=OSCeVar7;
    s.eVar8=OSCeVar8;
    s.eVar9=OSCeVar9;
    s.eVar10=OSCeVar10;
    s.eVar11=OSCeVar11;
    s.eVar12=OSCeVar12;
    s.eVar13=OSCeVar13;
    s.eVar14=OSCeVar14;
    s.eVar15=OSCeVar15;
    s.eVar16=OSCeVar16;
    s.eVar17=OSCeVar17;
    s.eVar18=OSCeVar18;
    s.eVar19=OSCeVar19;
    s.eVar20=OSCeVar20;
    s.eVar24=OSCeVar24;
    /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
    var s_code=s.t();if(s_code)document.write(s_code);
     }
     
/************************************Dsquare Pixel :: Start ****************************************/   
function WriteDTrack(Src,PID,IncomingURL,RefId,SessionId,Ordnr,Amt,PLZ,Institut,enddate,tarif,zinterval,gebdate,geschlecht,DS_pers,DS_verm,SB,partner,versbereich,erstzul,SF,Berufsstatus,bes_vers,HSN,TSN)
{
    var referer = document.referrer; 
    
    var myFSCookie = "";
    myFSCookie = getDSquareCookie("MyFSID");
    
    if(myFSCookie != null)
    {
        if(myFSCookie.length == 36)
        {
            if(!(/^[a-zA-Z0-9/-]+$/.test(myFSCookie)))
            {
                myFSCookie = "";
            }
        }
        else
        {
            myFSCookie = "";
        }
    }
    else
    {
        myFSCookie = "";
    }
    
    var pixelString = Src+'?pid='+PID+'&params=';
     
    pixelString = pixelString + Base64.encode(escape(document.referrer));                                                                                                                                                   
    
    pixelString = pixelString + ','+Base64.encode(escape(document.location.href))+','+RefId+','+SessionId+','+Ordnr+'||'+Amt+'||'+PLZ+'|'+Institut+'|||'+ Berufsstatus + ','+ myFSCookie +',' + 
    tarif+'|'+enddate+'|||'+zinterval+'|'+gebdate+'|'+geschlecht+'|'+erstzul+'|'+SF+'|'+DS_pers+'|'+DS_verm+'|'+SB+'|'+partner+'|'+versbereich+'|'+bes_vers+'|'+HSN+'|'+TSN;
    
    pixelString = pixelString + '&Key='+ new Date().getTime();
    
    document.getElementById('pixelImage').src = pixelString;
    
    return false;
}

var Base64 = 
	{
       
		// private property
		_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

		// public method for encoding
		encode : function (input) 
		{
			var output = "";
			var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
			var i = 0;

			input = Base64._utf8_encode(input);
			while (i < input.length) 
			{

				chr1 = input.charCodeAt(i++);
				chr2 = input.charCodeAt(i++);
				chr3 = input.charCodeAt(i++);

				enc1 = chr1 >> 2;
				enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
				enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
				enc4 = chr3 & 63;

				if (isNaN(chr2)) 
					{
						enc3 = enc4 = 64;
					} 
				else if (isNaN(chr3)) 
					{
						enc4 = 64;
					}

				output = output +
				this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
				this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

			}

			return output;
		},

	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;

		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

		while (i < input.length) {

			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));

			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;

			output = output + String.fromCharCode(chr1);

			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}

		}

		output = Base64._utf8_decode(output);

		return output;

	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}
/************************************Dsquare Pixel :: End ****************************************/ 

// HTML Event-Handler On Click, OnChange or OnSubmit  ="scMStart();"
// The matching javascript Function is:
function scMStart()
{
    var s = s_gi(s_account);

	s.linkTrackVars='products,prop1,prop2,prop9,prop12,eVar1,eVar2,eVar10,eVar14,eVar16,eVar17,events,pageName';

    s.linkTrackEvents='event1';

	s.events = 'event1';

    s.eVar1 = s.prop1;

    s.eVar2 = s.prop2;

    s.eVar10 = s.pageName;

    s.eVar17 = s.prop12;

	s.tl(this,'o','Link Name');

}


// HTML Event-Handler On Click, OnChange or OnSubmit  ="scLogin();"
// The matching javascript Function is: 

function scLogin(){
         var s = s_gi(s_account);
 
            s.linkTrackVars='products,prop9,eVar10,eVar14,eVar16,events,pageName';
            s.linkTrackEvents='event17,event16,event15';
 
        s.products='MyFS;MyFS;0;0.00';
        s.events = 'event17';
	s.eVar10 = s.pageName;
        s.prop9 = s.eVar14 = 'loggedin';
 
        s.tl(this,'o','Link Name');
}


// HTML Event-Handler for "Tell a friend" Submit-Button.
// On Click, OnChange or OnSubmit="scTellFr();"
// The matching javascript Function is:


function scTellFr()
{
    	var s = s_gi(s_account);

	s.linkTrackVars='products,prop1,prop2,eVar1,eVar2,prop9,eVar10,eVar14,eVar16,events,pageName';
	s.linkTrackEvents='event19';

         s.events = 'event19';
         s.eVar1 = s.prop1;
         s.eVar2 = s.prop2;

         s.tl(this,'o','Link Name');

}

/******************************************************bgiframe :: Start******************************************************************************/

/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-07-21 18:44:59 -0500 (Sat, 21 Jul 2007) $
 * $Rev: 2446 $
 *
 * Version 2.1.1
 */

(function($){

/**
 * The bgiframe is chainable and applies the iframe hack to get 
 * around zIndex issues in IE6. It will only apply itself in IE6 
 * and adds a class to the iframe called 'bgiframe'. The iframe
 * is appeneded as the first child of the matched element(s) 
 * with a tabIndex and zIndex of -1.
 * 
 * By default the plugin will take borders, sized with pixel units,
 * into account. If a different unit is used for the border's width,
 * then you will need to use the top and left settings as explained below.
 *
 * NOTICE: This plugin has been reported to cause perfromance problems
 * when used on elements that change properties (like width, height and
 * opacity) a lot in IE6. Most of these problems have been caused by 
 * the expressions used to calculate the elements width, height and 
 * borders. Some have reported it is due to the opacity filter. All 
 * these settings can be changed if needed as explained below.
 *
 * @example $('div').bgiframe();
 * @before <div><p>Paragraph</p></div>
 * @result <div><iframe class="bgiframe".../><p>Paragraph</p></div>
 *
 * @param Map settings Optional settings to configure the iframe.
 * @option String|Number top The iframe must be offset to the top
 * 		by the width of the top border. This should be a negative 
 *      number representing the border-top-width. If a number is 
 * 		is used here, pixels will be assumed. Otherwise, be sure
 *		to specify a unit. An expression could also be used. 
 * 		By default the value is "auto" which will use an expression 
 * 		to get the border-top-width if it is in pixels.
 * @option String|Number left The iframe must be offset to the left
 * 		by the width of the left border. This should be a negative 
 *      number representing the border-left-width. If a number is 
 * 		is used here, pixels will be assumed. Otherwise, be sure
 *		to specify a unit. An expression could also be used. 
 * 		By default the value is "auto" which will use an expression 
 * 		to get the border-left-width if it is in pixels.
 * @option String|Number width This is the width of the iframe. If
 *		a number is used here, pixels will be assume. Otherwise, be sure
 * 		to specify a unit. An experssion could also be used.
 *		By default the value is "auto" which will use an experssion
 * 		to get the offsetWidth.
 * @option String|Number height This is the height of the iframe. If
 *		a number is used here, pixels will be assume. Otherwise, be sure
 * 		to specify a unit. An experssion could also be used.
 *		By default the value is "auto" which will use an experssion
 * 		to get the offsetHeight.
 * @option Boolean opacity This is a boolean representing whether or not
 * 		to use opacity. If set to true, the opacity of 0 is applied. If
 *		set to false, the opacity filter is not applied. Default: true.
 * @option String src This setting is provided so that one could change 
 *		the src of the iframe to whatever they need.
 *		Default: "javascript:false;"
 *
 * @name bgiframe
 * @type jQuery
 * @cat Plugins/bgiframe
 * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 */
$.fn.bgIframe = $.fn.bgiframe = function(s) {
	// This is only for IE6
	if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
		s = $.extend({
			top     : 'auto', // auto == .currentStyle.borderTopWidth
			left    : 'auto', // auto == .currentStyle.borderLeftWidth
			width   : 'auto', // auto == offsetWidth
			height  : 'auto', // auto == offsetHeight
			opacity : true,
			src     : 'javascript:false;'
		}, s || {});
		var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
		    html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
		               'style="display:block;position:absolute;z-index:-1;'+
			               (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
					       'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
					       'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
					       'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
					       'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
					'"/>';
		return this.each(function() {
			if ( $('> iframe.bgiframe', this).length == 0 )
				this.insertBefore( document.createElement(html), this.firstChild );
		});
	}
	return this;
};

})(jQuery);

/******************************************************bgiframe :: End******************************************************************************/
  
  
// HTML Event-Handler for "PrintView" Submit-Button.
// On Click, OnChange or OnSubmit="scPrint();"
// The matching javascript Function is:


function scPrint()
{
    	var s = s_gi(s_account);

	s.linkTrackVars='products,prop1,prop2,eVar1,eVar2,prop9,eVar14,eVar16,events,eVar10,prop50,eVar50,pageName';
	s.linkTrackEvents='event18';

         s.events = 'event18';
         s.eVar1 = s.prop1;
         s.eVar2 = s.prop2;
	 s.eVar10 = s.pageName;

         s.tl(this,'o','Link Name');

}

function productPopScroll()
{
 window.scrollTo(250,200)
}

function openProductWindow(url)
{
newwindow=window.open(url,'',"width=560, height=430,toolbar=yes,status=yes,location=yes,menubar=yes,scrollbars=yes,resizable=yes");
if (window.focus)
{
newwindow.focus();
}
}

//Show Newsletter box from Link or button
function showNLBoxFromLink()
{
    closeNLPopup('dvNewsletter');
    transparentLayer();
    showNLPopup('dvMainPopup'); 
    showNLPopup('dvDetails'); 
    return false;
}

function showNLPopup(dvid) {    
		document.getElementById(dvid).style.display = "block";
	}
	
function closeNLPopup(dvid){
		document.getElementById(dvid).style.display="none";
	}    

	
	

var $ = jQuery.noConflict();
    $(document).ready(function(){
    jQuery(function()
    {
    jQuery('#transparentLayer').bgiframe();       
    jQuery(document).ready(function(){
     if(jQuery.updnWatermark != null)
     {
         jQuery.updnWatermark.attachAll();
     }
    });
    });
    });

			