// JavaScript Document

///
/// browser-switch
///
if (document.all && !window.opera && !window.XMLHttpRequest) var bIE6 = true;
else var bIE6 = false;
bOpera = window.opera;

jQuery.noConflict();

function getUrlVars() {
	var vars = {};
	var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
		vars[key] = value;
	});
	return vars;
}

function strrpos (haystack, needle, offset) {
    var i = -1;
    if (offset) {
        i = (haystack+'').slice(offset).lastIndexOf(needle); // strrpos' offset indicates starting point of range till end,        // while lastIndexOf's optional 2nd argument indicates ending point of range from the beginning
        if (i !== -1) {
            i += offset;
        }
    }    else {
        i = (haystack+'').lastIndexOf(needle);
    }
    return i >= 0 ? i : false;
}

jQuery(document).ready(function(){
								
	///
	/// Home Flash Movie
	///
/*	var oCatch = jQuery('#FlashContent');
	if (oCatch) {
		jQuery('#FlashContent *').hide();
		jQuery('#FlashContent').flash(
			{swf:'fileadmin/templates/flash/schmidt_reuter.swf',height:370,width:975, wMode: "transparent"}
		);
	}*/
	
	///
	/// Home News Styler
	///
	jQuery('.home-teaser li:first').addClass("first");
	jQuery('.home-teaser li:eq(1)').addClass("last");
	var bFirstNewsPic = ( jQuery('.home-teaser li:first img:not(.more)').length > 0 ) ? true : false ;
	if ( bFirstNewsPic ) { jQuery('.home-teaser li.last').find("img:not(img.more)").hide(); }
	jQuery('.home-teaser .page-navi').hide();
	
	///
	/// SideNavi Helper (add classes to correct borders)
	///
	var iNoOfMainLis = jQuery('#SideNavi>li').length;
	jQuery('#SideNavi>li>ul>li').each(function(){
		
		if ( jQuery(this).hasClass("last") && !(jQuery(this).hasClass("active")) ) jQuery(this).addClass("inactive-last");
	})
	
	jQuery('#SideNavi>li:nth-child(' + iNoOfMainLis + ')>ul>li:last').each(function(){
		
		if ( jQuery(this).parent().parent().next("li").length > 0 ) jQuery(this).addClass("last");
	})
	
	///
	/// style tables
	///
/*	jQuery('.txt-img table tr:even').addClass("even");
	jQuery('.txt-img table').attr("cellspacing", 0);
	jQuery('.txt-img table').attr("cellpadding", 0);
	jQuery('.txt-img table').attr("border", 0);
	jQuery('.txt-img table th:last').css("border", "none");*/
	
	jQuery('.csc-default table').each(function(){
		
		if ( !(jQuery(this).hasClass("clear_table")) && (!(jQuery(this).find("tbody").hasClass("clear_table"))) ) {
			jQuery('.csc-default table tr:even').addClass("even");
			jQuery('.csc-default table').attr("cellspacing", 0);
			jQuery('.csc-default table').attr("cellpadding", 0);
			jQuery('.csc-default table').attr("border", 0);
		//	jQuery('.csc-default table th:last').css("border", "none");
			jQuery('.csc-default table .tr-0 td:last').css("border", "none");
		//	jQuery('.csc-default table').attr("width", "100%");
		}
	});
	///
	/// guarantee width of first element
	///
	var iFirstColumnWidth = parseFloat(jQuery('.reference-content table td:first').width());
	if (iFirstColumnWidth < 90 ) { jQuery('.reference-content table td:first').css("width", "90px").attr("width", "90"); }
	
	///
	/// style dl-list
	///
	jQuery('.main-list li:last').css("border", "none");
	jQuery('.main-list li:first').addClass("first");
	
	///
	/// input fields show / hide default text
	///
	jQuery('input').focus(function(){
							  
		var sThisRel = jQuery(this).attr("rel");							  
		if ( jQuery(this).val() == sThisRel ) { 
		
			jQuery(this).val("");
		}
	});
	
	jQuery('input').blur(function(){
							 
		var sThisRel = jQuery(this).attr("rel");							  
		if ( typeof(sThisRel) != "undefined") { 
		
			if (jQuery(this).val() == '') {
				
				jQuery(this).val(jQuery(this).attr("rel"));
			}
		}
	});
	
	///
	/// close open sliders when opening another one
	///
	function checkOpenAndClose() {
		
		jQuery('.slider-btn').each(function(){
									   
			if (jQuery(this).hasClass("active")) {
				
				if (!bIE6) jQuery(this).next(".slider-content").slideToggle().removeClass("active");
				else jQuery(this).next(".slider-content").toggle().removeClass("active");
			}
		});
	}
	
	jQuery('.slider-btn').click(function(){
		
		if (!(jQuery(this).next("slider-content").hasClass("active"))) checkOpenAndClose();
		
		if (!bIE6) jQuery(this).next(".slider-content").slideToggle().addClass("active");
		else jQuery(this).next(".slider-content").toggle().addClass("active");
		
		return false;
	})
	
	///
	///  style dividers
	///
	jQuery('.divider').addClass("page-navi").addClass("page-navi-top").find("hr").hide();
	
	///
	///  lightbox
	///
	jQuery('a[target=thePicture]').each(function(){
	
		var sThisHref = jQuery(this).attr("href");
		var iBeginning = (sThisHref.indexOf("file=") + 5);
		var iEnd = sThisHref.indexOf("&width");
		var sNewHref = sThisHref.slice(iBeginning, iEnd);
		sNewHref = unescape(sNewHref);
		jQuery(this).attr("href", sNewHref);
		jQuery(this).removeAttr("onclick");
		jQuery(this).lightBox();
	});
	
	/*jQuery('img[clickenlarge=1]').each(function(){
	
	var sThisHref = jQuery(this).attr("src");
	var iEnd = strrpos(sThisHref, '.');
	var sNewHref = sThisHref.slice(0, iEnd);
	sNewHref = sNewHref.replace("RTEmagicC", "RTEmagicP");
	jQuery(this).wrap('<a href="' +  sNewHref + '"></a>');
	jQuery(this).closest('a').lightBox();
});*/

	jQuery('img[clickenlarge=1]').each(function(){
	
	var sThisHref = jQuery(this).attr("src");
	var iEnd = sThisHref.indexOf('.');
	var iExt = strrpos(sThisHref, '.'); 
	var sExt = sThisHref.substr(iExt);
	var sNewHref = sThisHref.slice(0, iEnd);
	sNewHref = sNewHref.replace("RTEmagicC", "RTEmagicP");
	jQuery(this).wrap('<a href="' +  sNewHref + sExt + '"></a>');
	jQuery(this).closest('a').lightBox();
	});

	
	///
	/// substituted submit buttons
	///
	var bButtonDeact = false;
	///
	///
	jQuery('#MetaNLRegister .submit-substitute').click(function(){
																
		if (!bButtonDeact) {

			bButtonDeact = true;
			
			var self = jQuery(this).closest("form");
			
			jQuery(self).find('input').each(function(){
				if (jQuery(this).val() == jQuery(this).attr("rel")) jQuery(this).val("");
			});
			
			var sThisFormId = '#' + jQuery(self).attr("id");
			
			var ParamString	 = jQuery(self).serialize();
			
//			alert(ParamString);
			
			jQuery.post("/fileadmin/formmailer/formmailer.php", ParamString, function (data) { 
											
//			alert(data);
			
				var dataSlices = data.split('|');
				var iCounter;
				var SubArray = new Array;
				for ( iCounter = 0; iCounter < dataSlices.length; iCounter++ ) {
					
					SubArray = dataSlices[iCounter].split(':');
					
					if ( SubArray[0] == 'error' ) {
						
						if ( SubArray[1] == 'true' ) { // if error
							
							jQuery(self).find('.suc-message').slideUp(function(){jQuery(self).find('.err-message').slideDown();});
						}
						else {//if error == false
							jQuery(self).find('.err-message').slideUp(function(){jQuery(self).find('.suc-message').slideDown();});
							}
					}
				}
				jQuery(self).find('input').each(function(){jQuery(this).val(jQuery(this).attr("rel"))});
			});
			
			bButtonDeact = false
		}
		
		return false;
	})
	
	///
	/// contact form button
	///
	jQuery('.contact-form .submit-substitute').click(function(){
		
		//// warning: because of being copied from HRworks self in this case is the form, not the button
		var self = jQuery(this).closest("form");
		var oThisButton = this;
		var bFormWithLabels = true;
		
		var sThisAttrDsAbl = jQuery(this).attr("disabled");
		
		if (sThisAttrDsAbl == 'true') return false;
		
		jQuery(this).attr("disabled","true");
		
		var sThisFormId = '#' + jQuery(self).attr("id");
		
		var ParamString	 = jQuery(self).serialize();
		
		var sThisAction = jQuery(self).attr("action");

		jQuery.post(sThisAction, ParamString, function (data) { 
			
			// alert(data);
			
			jQuery(oThisButton).attr("disabled","false");
			
			jQuery(self).find('label').removeClass("highlight");
			jQuery(self).find('select').removeClass("highlight");


			var dataSlices = data.split('|');
			var iCounter;
			var SubArray = new Array;
			for ( iCounter = 0; iCounter < dataSlices.length; iCounter++ ) {
				
				SubArray = dataSlices[iCounter].split(':');
				
				if ( SubArray[0] == 'error' ) {
					
					if ( SubArray[1] == 'true' ) { // if error
					
						jQuery(self).find('.suc-message').fadeOut(function(){jQuery(self).find('.err-message').fadeIn();});
						jQuery(sThisFormId + 'Success').fadeOut(function(){jQuery(sThisFormId + 'Error').fadeIn();});
					}
					else {//if error == false
					
						jQuery(self).find('.err-message').fadeOut(function(){jQuery(self).find('.suc-message').fadeIn();});
						jQuery(sThisFormId + 'Error').fadeOut(function(){jQuery(sThisFormId + 'Success').fadeIn();});
						jQuery(self).find('#ClearForm').click();
						}
				}
				
				if ( SubArray[0] == 'errorFields' ) {
					
					var aErrorFields = SubArray[1].split(',');
					
					jCounter = 0;
					for ( jCounter = 0; jCounter < aErrorFields.length; jCounter++ ) {
						
						if ( bFormWithLabels ) {
							
							jQuery(self).find("label[for='" + aErrorFields[jCounter] + "']").addClass("highlight");
							if ( aErrorFields[jCounter] == 'city' ) jQuery(self).find("label[for='zip']").addClass("highlight");
							if ( aErrorFields[jCounter] == 'lead_source' ) jQuery(self).find("#LeadSourceSelect").addClass("highlight");
						}
						else {
							
							jQuery(self).find("input[name='" + aErrorFields[jCounter] + "']").css("color","#D00");
							jQuery(self).find("select[name='" + aErrorFields[jCounter] + "']").css("color","#D00");
							jQuery(self).find("input").each(function(){
								if (jQuery(this).val() == '') jQuery(this).val(jQuery(this).attr("rel"));
							});
						}
					}
				}
			}

		});

//		jQuery(this).prev(".substituted-btn").click();
		
		return false;
	})
	
	///
	/// Lightbox
	///
	var sLightBoxIcon = '<div class="lightbox-ico"></div>';
	if (!bOpera) {
		jQuery('a.lightbox').lightBox().append(sLightBoxIcon);
	}
	else {
		jQuery('a.lightbox').lightBox();
	}
	
	///
	/// Hover function reference overview
	///
	jQuery('.reference-overview li a').hover(
		function(){
			
 			jQuery(this).parent().find("div.link a").addClass("hover");
		}, 
		function(){
			
 			jQuery(this).parent().find("div.link a").removeClass("hover");
		}
	)
	
	///
	/// reference eco award
	///
	var sEcoAwardHtml = '';
	sEcoAwardHtml = (!bIE6) ? '<img src="/fileadmin/templates/img/structure/ico/eco.png" class="eco-award-image" alt="Schmidt Reuter Eco Award" />' : '<img src="/fileadmin/templates/img/structure/ico/eco.gif" class="eco-award-image" alt="Schmidt Reuter Eco Award" />';
	jQuery('.eco-award').each(function(){
		
		if (!bIE6){
			jQuery('.reference-content img:last').wrap('<div class="eco-award-wrapper" style="position:relative; display:inline; background:transparent;" />');
			jQuery('.eco-award').html(sEcoAwardHtml);
			jQuery('.reference-content .eco-award-wrapper').append(jQuery('.eco-award').html());
		}
		else {
			jQuery('.reference-content img:last').wrap('<div class="eco-award-wrapper" style="position:relative; display:inline; " />');
			var oThisImg = jQuery('.reference-content img:last');
			var iThisImgHeight = jQuery(oThisImg).height();
			var iThisImgWidth = jQuery(oThisImg).width();
			jQuery('.eco-award').html(sEcoAwardHtml);
			jQuery('.eco-award-image').css("top", iThisImgHeight -31).css("left", iThisImgWidth -24);
			jQuery('.reference-content .eco-award-wrapper').append(jQuery('.eco-award').html());
		}
	});
	
	///
	/// download table height fixer
	///
	jQuery('.dl-list li .img-wrapper .download-image tr td').each(function(){
		
		var iThisImageHeight = jQuery(this).find("img").height();
		if (iThisImageHeight < 73) {
			var iNewMargin = Math.floor( (73 - iThisImageHeight) / 2 );
			jQuery(this).find("img").css("marginTop", iNewMargin);
		}
/*		iThisImageHeight = (iThisImageHeight < 71 ) ? 71 : iThisImageHeight;
		jQuery(this).attr("height", iThisImageHeight);*/
	})
	
})
