var isIE6, isIE7, isIE;
var overleapCheckboxesSelector = false;
$(document).ready(function () {
 
 isIE = ($.browser.msie) ? true : false;
 isIE6 = ($.browser.msie && $.browser.version.substr(0,1)<7);
 isIE7 = ($.browser.msie && $.browser.version.substr(0,1) == 7);
 
 if(!isIE) {
  if(overleapCheckboxesSelector) {
   var selector = '.chkbox-style:not(' + overleapCheckboxesSelector + '), .radiobtn-style:not(' + overleapCheckboxesSelector + ')';
  } else {
   var selector = '.chkbox-style, .radiobtn-style';
  }
  var $checkboxes = $(selector);
  if($checkboxes.length > 0) {
   $checkboxes.checkBox(); 
  }
 }
 $(".imeta-search")
  .focus(function() {if ($(this).val() == "Suchbegriff ...") {$(this).val("");}})
  .blur(function(){ if ($(this).val() == "") {$(this).val("Suchbegriff ...");} }); 
 // end meta-search
 
 //main nav
 $("ul.sf-menu li > div > ul > li > a").click(function(){
  $(this).parent().find("ul").slideToggle();
  $(this).toggleClass("active");
 });
 
 $("ul.sf-menu > li").hover(           
    function() { $(this).addClass("hover"); $(this).children(".dd").show(); }
   ,function() { $(this).removeClass("hover"); $(this).children(".dd").hide(); }
  );
 
 /* main nav trick! */
 $(".dd ul").find("li:first").addClass("firstLi");
 
 
 // open close Sitemap
 $("a.sitemap").click(function(){
  $(this).find("strong").toggleClass("opened");
  $("div.sitemap-content").toggleClass("opened");
  $('html, body').animate({scrollTop: $(window).height()+3000}, 800);
  return false;
 });
 
 /***** Tips & Tricks ******/
  //remove :last margin
  $(".sitemap-list").last().addClass("sitemapLast");
  //remove :last teaser line
  $("div.teasersRow div.teaser-box").last().addClass("noLine");
  //remove last line from table
  $("table.accTable").find("tr:last").addClass("trlast");
  
  //pressetable header
  $(".ptable-small").find("tr:first").addClass("ptable-head");
  //pressetable footer 
  $(".ptable-small tr").last().addClass("ptable-foot");
  
  //pressetable header - neu
  $(".ptable-small-neu").find("tr:first").addClass("ptable-head");
  //pressetable footer -neu
  $(".ptable-small-neu tr").last().addClass("ptable-foot");
  
  //content table small 
  //$(".ctable-small tr").last().addClass("ctable-foot"); // footer
  $(".ctable-small").find("tr:last").addClass("ctable-foot"); // footer
  $(".ctable-small").find("tr:first").addClass("ctable-head"); // header
  $(".ctable-small tr").find("td:last").addClass("noBorder"); //right border
  
  //content table wide
  //$(".ctable-wide tr").last().addClass("ctable-foot"); // footer
  $(".ctable-wide").find("tr:last").addClass("ctable-foot"); // footer
  $(".ctable-wide").find("tr:first").addClass("ctable-head"); // header
  $(".ctable-wide tr").find("td:last").addClass("noBorder");
  
 /***** Tips & Tricks End ******/
 
 
 /********************* ### Startseite Stage ### ***************************/
 // initizial start flash bg image
 $(".flash-box").css("background-image", "url("+$("#flash-nav li a").attr("rel")+")"); 
 $(".flash-item-1").css("display", "block");
 
 // flash nav
 $("#flash-nav li").click(function() {
  stageTabClick(this);
 }); 
 
 //check for active_stage
 var querystring= window.location.search;
 if(querystring) {
  var matches = querystring.match(/active_stage=([1-5])/);
  if(matches) {
   var stageId = RegExp.$1;
   var tab = $("#flash-nav li")[stageId-1];
   stageTabClick(tab);
  }
 }
 
 
 
 // live nav
 $("#live-nav a").click(function(){         
  // active class
  $("#live-nav a").removeClass("active");
  $(this).addClass("active");
  active = $(this).attr("rel");          
  // reset
  $(".live-content").css("display","none");
  for(i=1;i<6;i++){
   $("#active-bg-0"+i).css("display","none");
  }
    // live fix height
  h = $("#live-"+active).height();
  $(this).focus(); //needed for chrome
  $("#live-bottom").css("display","block");
  $("#live-bottom").css("top",h);
  
  // display 
  $("#live-"+active).css("display","block");
  $("#active-bg-"+active).css("display","block");
  $("#active-bg-"+active).height(h);
  
  //change position & background image
  $(".live-box-1").addClass("moveNav");
  //$(".flash-box").addClass("refreshBg"); //css_images/start_dummy_1row_01.jpg
  var r_img = $("#refreshBg").attr("rel");
  $(".flash-box").css("background-image", "url("+r_img+")");
  $(".flash-box").css("background-position", "0 1px");
  
  return false;
 });
 
 //reset live nav
 
 
 $(".flash-click").click(function(){ 
  $("#live-nav a").removeClass("active");
  $(".live-content").css("display","none");
  $("#live-bottom").css("display","none");
  for(i=1;i<6;i++){
   $("#active-bg-0"+i).css("display","none");
  }
  //reset position & background image
  $(".live-box-1").removeClass("moveNav");
  //$(".flash-box").removeClass("refreshBg");
  var r_img2 = $("#flash-nav li.first a").attr("rel");
  $(".flash-box").css("background-image", "url("+r_img2+")");
  $(".flash-box").css("background-position", "0 0px");
 });
 
 
 // service-box nav
 /*
 ServiceSet do not have headline/subheadline/text for each item 
 thus deactivating the click function
 $("#service-box .nav a").click(function(){         
  // active class
  active = $(this).attr("rel");          
  // reset
  for(i=1;i<10;i++){
   $("#service-0"+i).css("display","none");
  }
  // display 
  $("#service-"+active).css("display","block");
 });
 */
 /* End Stage code*/
 /********************* ### Startseite Stage ### ***************************/
 //EASYCommentList - Preview function on comment form
 $(".tellus-area").keyup(function() {
  getCommentPreview();
 });
  
 $("#firstName, #lastName, #plz").blur(function() {
  getCommentPreview();
 });
});
//stage-tab-click function
function stageTabClick(stageTab) {
 var listSize = $("#flash-nav li").size();
 
 var stageClass = $(stageTab).parent().attr("class");
 var stageNo = stageClass.substring(6, 7);
 
 var b_img = $(stageTab).children().attr("rel");
 var index = $("#flash-nav li").index(stageTab) + 1;
 
 //outside click hack
 if(index != 1) {
  $(".flash-click").hide();
 } else {
  $(".flash-click").show();
 }
 
 
 // main flash image
 $(".flash-box").css("background-image", "url("+b_img+")"); 
 // bg navi
 $("#flash-nav").removeClass();
 $("#flash-nav").addClass("stage-"+stageNo);
 $("#flash-nav").addClass("flash-nav-bg-"+index);
 
 for(i=1; i<6; i++){
  $(".flash-item-"+i).css("display", "none");
 }
 $(".flash-item-"+index).css("display", "block");
 // nav item image
 $("#flash-nav li a span").css("display", "block");
 $(stageTab).find("span").css("display", "none");
 //reset live-nav
 $(".live-box-1").removeClass("moveNav");
 $("#live-nav a").removeClass("active");
 $(".live-content").css("display","none");
 $("#live-bottom").css("display","none");
 for(i=1;i<6;i++){
  $("#active-bg-0"+i).css("display","none");
 }
 $(".flash-box").css("background-position", "0 0px");
}
//Preview function for EASYCommentList asForm view
function getCommentPreview() {
 var previewMess = $(".tellus-area").val(); 
 var previewLastname = ($("#lastName").val()).substring(0,1);
 if (previewLastname != "") {
  previewLastname += ".";
 }
 var previewCity = $("#plz").val();
 if (previewCity != "") {
  previewCity = ", " + previewCity;
 }
 
 $(".preview-comment").html("&quot; "+previewMess+" &quot;");
 $(".preview-name").text($("#firstName").val());
 $(".preview-lastname").text(previewLastname);
 $(".preview-city").text(previewCity);
}
//Translates the formAccessPath as produced by the spring  tags to the corresponding "id"
//Note: The string should already fit for jquery selector (escaping)
function formAccessPathToIdSelector(formAccessPath, escapeDot) {
 var idStr = formAccessPath;
 idStr = idStr.replace(/\[/g, "");
 idStr = idStr.replace(/]/g, "");
 if (escapeDot) {
  idStr = idStr.replace(/\./g, "\\.");
 }
 return idStr;
}
function getFormFieldValue(formAccessPath) {
 var idStr = formAccessPathToIdSelector("#"+formAccessPath+".contentType", true);
 var contentType = $(idStr).val();
 var fieldIdStr = formAccessPathToIdSelector(formAccessPath, true);
 var fieldValue = "";
    switch (contentType) {
  case "EASYDateField":
   var dateDay = $("#"+fieldIdStr+"\\.day").val();
   var dateMonth = $("#"+fieldIdStr+"\\.month").val();
   var dateYear = $("#"+fieldIdStr+"\\.year").val();
   if (dateDay != "" && dateDay != "TT" &&
    dateMonth != "" && dateMonth != "MM" &&
    dateYear != "" && dateYear != "JJJJ") {
    fieldValue = new Date(dateYear, dateMonth, dateDay);
   }
   break;
  case "EASYTitleField":
   var v1 = $("#"+fieldIdStr+"\\.value1").val();
   var v2 = $("#"+fieldIdStr+"\\.value2").val();
   fieldValue = v1 + v2;
   break;
  case "EASYPhoneField":
   var v1 = $("#"+fieldIdStr+"\\.intCode").val();
   var v2 = $("#"+fieldIdStr+"\\.prefix").val();
   var v3 = $("#"+fieldIdStr+"\\.phoneNumber").val();
   if (v2 != "" || v3 != "") {
    fieldValue = v1 + v2 + v3;
   }
   break;
  case "EASYRadioField":
   $('.'+formAccessPathToIdSelector(formAccessPath+'.value', true).replace(/\./g, "-")).each(function(){
    if ($(this).attr('checked')) {
     fieldValue = $(this).val();
     return false;
    }
   });
   break;
  default:
   fieldValue = $("#"+fieldIdStr+"\\.value").val();
   break;
 }
 return fieldValue;
}
//Gets the default value from a form field
function getFormFieldDefaultValue(formAccessPath) {
 var fieldDefaultValue = "";
 var idStr = formAccessPathToIdSelector("#"+formAccessPath+".contentType", true);
 var contentType = $(idStr).val();
 var fieldIdStr = "#"+formAccessPathToIdSelector(formAccessPath, true);
    switch (contentType) {
  case "EASYNumberField":
   fieldDefaultValue = $(fieldIdStr+"\\.defaultValue").val();
   break;
  case "EASYDropdownField":
   fieldDefaultValue = $(fieldIdStr+"\\.defaultValue").val();
   break;
  default:
   fieldDefaultValue = "";
   break;
 }
 return fieldDefaultValue;
}
//Makes the needed things for the FormSlider open/close
function handleEASYFormSlider(formAccessPath, contentId, isInit, defaultHeadline, changedHeadline) {
 var active = hasSomeFormFieldChanged(formAccessPath);
 if (active) {
  $("#smallAccordion_"+contentId+" h2 a").html(changedHeadline);
 } else {
  $("#smallAccordion_"+contentId+" h2 a").html(defaultHeadline);
 }
 if (!isInit) {
  $("#smallAccordion_"+contentId).accordion("activate", 0); //close slider
 }
 return false;
}
/*
* Goes over each formField below formAccessPath and checks if changed
* FormFields are identified by the hidden field "*.. contentType"
*/
function hasSomeFormFieldChanged(formAccessPath) {
 var result = false;
 var idStr = formAccessPathToIdSelector(formAccessPath,false);
 $('input:hidden[id^="'+idStr+'"]').each(function(){
  var fieldId = $(this).attr("id");
  if ( fieldId.search(/\.contentType$/g) != -1) {
   var fieldBaseId = fieldId.replace(/\.contentType$/g, "");
   var fieldValue = getFormFieldValue(fieldBaseId);
   var fieldDefaultValue = getFormFieldDefaultValue(fieldBaseId);
   //alert("fieldValue: " + fieldValue + "; fieldTitle: " + fieldDefaultValue);
   if (fieldValue != fieldDefaultValue) {
    result = true;
    return false;
   }
  }
 });
 return result;
}
//Sets the correct event handler on the dependentFrom field
function initDependentField(formAccessPath) {
 var idStr = formAccessPathToIdSelector(formAccessPath+".dependentFrom.contentType", true);
 var dependentFromType = $("#"+idStr).val();
 var idStr = formAccessPathToIdSelector(formAccessPath+".dependentFromFormBean.formAccessPath", true);
 var dependentFromAccessPath = $("#"+idStr).val();
 //alert("depAccessPath: " + dependentFromAccessPath);
 var dependentId = formAccessPathToIdSelector(dependentFromAccessPath, true);
 //alert("depId: " + dependentId);
 switch (dependentFromType) {
  case "EASYDateField":
   $("#"+dependentId+"\\.day").change(function() {
    handleDependentField(formAccessPath);
   });
   $("#"+dependentId+"\\.month").change(function() {
    handleDependentField(formAccessPath);
   });
   $("#"+dependentId+"\\.year").change(function() {
    handleDependentField(formAccessPath);
   });
   break;
  case "EASYTitleField":
   $("#"+dependentId+"\\.value1").change(function() {
    handleDependentField(formAccessPath);
   });
   $("#"+dependentId+"\\.value2").change(function() {
    handleDependentField(formAccessPath);
   });
   break;
  case "EASYPhoneField":
   $("#"+dependentId+"\\.intCode").change(function() {
    handleDependentField(formAccessPath);
   });
   $("#"+dependentId+"\\.prefix").change(function() {
    handleDependentField(formAccessPath);
   });
   $("#"+dependentId+"\\.phoneNumber").change(function() {
    handleDependentField(formAccessPath);
   });
   break;
  case "EASYRadioField":
   $('.'+formAccessPathToIdSelector(dependentFromAccessPath+'.value', true).replace(/\./g, "-")).each(function(){
    $(this).change(function() {
     handleDependentField(formAccessPath);
    });
   });
   $("#"+dependentId+"\\.value").change(function() {
    handleDependentField(formAccessPath);
   });
   break;
  default:
   $("#"+dependentId+"\\.value").change(function() {
    handleDependentField(formAccessPath);
   });
   break;
 }
 handleDependentField(formAccessPath);
}
/*
* Event Handler for dependent fields
*/
function handleDependentField(formAccessPath) {
 //Get the value of the dependentField depending on it's type
 var idStr = formAccessPathToIdSelector(formAccessPath+".dependentFromFormBean.formAccessPath", true);
 var dependentFromAccessPath = $("#"+idStr).val();
 //Get the operator, comparisonValue and comaparison Type
 var idStr = formAccessPathToIdSelector(formAccessPath+".operator", true);
 var operator = $("#"+idStr).val();
 idStr = formAccessPathToIdSelector(formAccessPath+".comparisonValue", true);
 var comparisonValue = $("#"+idStr).val();
 idStr = formAccessPathToIdSelector(formAccessPath+".comparisonType", true);
 var comparisonType = $("#"+idStr).val();
 var dependentValue = getFormFieldValue(dependentFromAccessPath);
 //Make the comparison depending on
  //type and operator
 switch (comparisonType) {
  case "date":
   var arrayDate = comparisonValue.split(".");
   var compValue = new Date(arrayDate[2], arrayDate[1], arrayDate[0]);
   break;
  default:
   compValue = comparisonValue;
   break;
 }
 var compResult = false;
 var jsOperator = '';
 switch(operator) {
  case "eg":
   jsOperator = "==";
   break;
  case "lte":
   jsOperator = "<=";
   break;
  case "lt":
   jsOperator = "<";
   break;
  case "gt":
   jsOperator = ">";
   break;
  case "gte":
   jsOperator = ">=";
   break;
  case "neq":
   jsOperator = "!=";
   break;
  default:
   jsOperator = "==";
   break;
 }
 compResult = eval("dependentValue " + jsOperator + " compValue");
 idStr = "#dependentDiv_" + formAccessPathToIdSelector(formAccessPath, true);
 var idStrActive = formAccessPathToIdSelector("#" + formAccessPath + ".active", true);
 if (compResult) {
  $(idStr).show();
  $(idStrActive).val("true");
 } else {
  $(idStr).hide();
  $(idStrActive).val("false");
 }
}
$(document).ready(function () {
  
  // fancybox
  if($(".demoEB")[0]) {
   $(".demoEB").fancybox({
    'titleShow' : false,
    'width' : 936,
    'height' : 546,
    'overlayShow' : true,
    'hideOnOverlayClick' : true, 
    'centerOnScroll' : false, 
    'padding' : 10,
    'overlayOpacity' : 0.6,
    'overlayColor' : '#fff',
    'showCloseButton' : true,
    'type': 'iframe'
   });
  }
 });
function getBubbleTextGallery(linktag) {
 return '<div id="team-tip" class="team-tooltip"><div class="team-tooltip-right">'
  + $(linktag).attr('ttbody')
  + '</div></div>';
}
      
function getBubbleText(linktag) {
 return '<div id="headline-tip" class="hilfe-tip"><div class="buble-head">'
  + $(linktag).attr('tthead')
  + '</div><div class="buble-content">'
  + $(linktag).attr('ttbody')
  + '</div></div>';
}
function showHideBeilege(jQueryObj) {
    if (jQueryObj.attr('mainCountryId') == jQueryObj.val()) {
        $('#'+jQueryObj.attr('formAccessPathForId')+'\\.reqPapers.beilege-hide').hide();
    } else {
        $('#'+jQueryObj.attr('formAccessPathForId')+'\\.reqPapers.beilege-hide').show();
        if (jQueryObj.attr('showRequiredPapers') == "false") {
            $('#'+jQueryObj.attr('formAccessPathForId')+'\\.beilegeText').hide();
        } else {
            try {
                var reqPaperId = reqPaperCountry[jQueryObj.val()];
                var out = "";
                for (var i = 0; i < reqPaper[reqPaperId].length; i++) {
                    out += "<br />- "+reqPaper[reqPaperId][i];
                }
                $('#'+jQueryObj.attr('formAccessPathForId')+'\\.beilegeText div p').html('<strong>'+$('#'+jQueryObj.attr('formAccessPathForId')+'\\.beilegeText div p strong').html()+'</strong>'+out);
                $('#'+jQueryObj.attr('formAccessPathForId')+'\\.beilegeText').show();
            } catch(e) {
                $('#'+jQueryObj.attr('formAccessPathForId')+'\\.beilegeText').hide();
            }
        }
    }
}

