﻿
﻿if (window.addEventListener)
	window.addEventListener("load", function() {
		document.getElementById('open_form').style.display = "none"
	}, false);
else if (window.attachEvent && !window.opera)
	window.attachEvent("onload", function() {
		document.getElementById('open_form').style.display = "none"
	}, false);

function moreOptions(action) {
	if (true == action) {
		$('#open_form').attr('style', 'visibility: visible; position: static');
		$('#open_form').show();
		$('#options').attr('href', 'javascript:moreOptions(false);')
	} else if (false == action) {
		$('#open_form').hide();
		$('#options').attr('href', 'javascript:moreOptions(true);')
	}

}
var formAction = true;
var aCompanyLogoId = new Array('11','26','15','16','17');
var aCompanyClientId = new Array('11','26','15','16','17');
var aCompanyName = new Array('orizon','RKM','RP Personal','jobs in time','Vivantes personal');
var aCompanyId = new Array('orizon','rkm','rp','jit','viv');

var aCompanyColorSchema = new Array('#c44a02','#004489','#24B0E1','#E2001A','#C10435');
var aCompanyInitiativText = new Array(
					 'Mit orizon finden Sie Ihren Job, egal wo, in welcher Branche und mit welcher Qualifikation.',
					 'Karriere-Perspektiven in den Wachstumsbranchen der Zukunft.',
					 'Einfach gute Jobs in Industrie, Handel, Handwerk und Verwaltung.',
					 'job in time bietet erstklassige Karriereaussichten im kaufm&auml;nnischen Bereich.',
					 'Vivantes personal: Tolle Berufschancen f&uuml;r Sie im Gesundheits- und Pflegebereich.');

$('ul.companylist li').live('click', function() {
	//console.log($(this).position().top);
	$('#refineSearchButton').css('top', $(this).position().top + 'px')
	$('#refineSearchButton').mouseup();	
});
// MATRIX
$('#refineSearchButton').live('mouseover', function() {
	$(this).draggable( {
		axis : 'y',
		containment: '.column01',
		disabled : false,
		drag : oSlideCorrection.validate,
		stop: function(event, ui) {
			if ( $.browser.msie ) {
				if( parseInt($.browser.version) == 7 || parseInt($.browser.version) == 8) {
					$('ul.companylist li').css('filter', '');
					$(this).css('filter', '');
				};
			}
		}
	});
}).live(
		'mouseup',
		function() {
			$(this).draggable( {
				disabled : true
			});

			$(this).css('opacity', '1.0');

			var iPosition = Math.floor((parseInt($(this).css('top')
					.toLowerCase().replace(/px/, '')) / 90));
			var rest = (parseInt($(this).css('top')
					.toLowerCase().replace(/px/, '')) % 90);
			if (rest > 45) iPosition = iPosition + 1;
			var iPositionDeparture = Math.floor((parseInt($('#fade_departure')
					.css('top').toLowerCase().replace(/px/, '')) / 90));
			var rest = (parseInt($('#fade_departure').css('top')
					.toLowerCase().replace(/px/, '')) % 90);
			if (rest > 45) iPositionDeparture = iPositionDeparture + 1;

			if ($(this).attr('id') == 'refineSearchButton') {
				if (iPositionDeparture <= iPosition) {
					$(this).css('top', '355px');
				} else {
					if(iPosition>=0){
						$(this).css('top', (iPosition * 90) + 'px');
					} else {
						$(this).css('top', '0px');
					}
				}
			}
			
			$.each($('ul.companylist li'), function(i, oCompany) {
				$(oCompany).css('opacity', '1');
			});

			// Set Request
			var iPositionDeparture = Math.floor((parseInt($('#fade_departure')
					.css('top').toLowerCase().replace(/px/, '')) / 90));
			var rest = (parseInt($('#fade_departure').css('top')
					.toLowerCase().replace(/px/, '')) % 90);
			if (rest > 45) iPositionDeparture = iPositionDeparture + 1;
			var iPosition = Math.floor((parseInt($('#refineSearchButton').css('top')
							.toLowerCase().replace(/px/, '')) / 90));
			var rest = (parseInt($('#refineSearchButton').css('top')
					.toLowerCase().replace(/px/, '')) % 90);
			if (rest > 45) iPosition = iPosition + 1;
			var sStartDate = false;
			var sEndDate = false;
			var id;

			$.each($('ul.companylist li'), function(i, oCompany) {
				if (i == iPosition) {
					sStartText = $(oCompany).text();
					id = i;
					
					if ($(this).hasClass('first_co')) {
						$('#refineSearchButton').attr('class', 'search_first_co');
					} else if ($(this).hasClass('last_co')) {
						$('#refineSearchButton').attr('class', 'search_last_co');
					} else {
						$('#refineSearchButton').attr('class', 'search_middle_co');
					}
				}
				if (i == iPositionDeparture) {
					sEndText = $(oCompany).text();
				}
			});
			if ($.browser.msie) {
				if (parseInt($.browser.version) == 7 || parseInt($.browser.version) == 8) {
					$('ul.companylist li').css('filter', '');
					$('#refineSearchButton').css('filter', '');
				}
				
			}
			
			if (sStartText !== false && sEndText !== false) {
				$('#check_avail').removeClass('dn');
				$('.column02').animate( {'opacity' : '0.1'}, 300, '', clearOpacity);
				
				formAction = false;
				//filterCompanyOptions(sStartText, sEndText, id);javascript:searchJobsProClient(7209,1,'',0,'lastmodificationdate','DESC',10,1);return false;
				searchJobsProClient(idart,1,aCompanyClientId[id],id,'lastmodificationdate','DESC',10,1);
			}
				
			return false;
});

var oSlideCorrection = {};
oSlideCorrection.validate = function(event, ui) {
	var iPosition = Math.floor((parseInt($(this).css('top').toLowerCase()
			.replace(/px/, '')) / 90));
	var rest = (parseInt($(this).css('top')
			.toLowerCase().replace(/px/, '')) % 90);
	if (rest > 45) iPosition = iPosition + 1;
	$.each($('ul.companylist li'), function(i, oCompany) {
		if (iPosition == i) {
			$(oCompany).css('opacity', '1');
			if ($(this).hasClass('first_co')) {
				$('#refineSearchButton').attr('class', 'search_first_co');
			} else if ($(this).hasClass('last_co')) {
				$('#refineSearchButton').attr('class', 'search_last_co');
			} else {
				$('#refineSearchButton').attr('class', 'search_middle_co');
			}
			
		} else {
			$(oCompany).css('opacity', '0.3');
		}
		
		if ( $.browser.msie ) {
			if( parseInt($.browser.version) == 7 || parseInt($.browser.version) == 8) {
				$(oCompany).css('filter', '');
				
			};
		}
			
		writeFaderText(iPosition,'');
		
	});

}
function writeFaderText(iPosition,sum) {
	if(iPosition==0){
		$('#refineSearchButton span').text(sprintf('Alle %s Jobs der orizon Gruppe', sum, aCompanyName[iPosition]));
		//$('#refineSearchButton').text($('ul.companylist li:eq(' + iPosition + ')').text());
	} else {
		//$('#refineSearchButton span').text(sprintf('Alle %s %s Jobs von %s', sum, $('ul.companylist li:eq(' + iPosition + ')').text().toLowerCase()+'en', aCompanyName[iPosition]));
		if (typeof(sum) == 'undefined') {
			var sum = '';
		}
		
		if (sum == 0) {
			$('#refineSearchButton span').text(sprintf('Alle Jobs von %s', aCompanyName[iPosition]));
		} else {
			$('#refineSearchButton span').text(sprintf('Alle %s %s Jobs von %s', sum, '', aCompanyName[iPosition]));
		}
		
	}
	
	$('#refineSearchButton span').css('user-selec', 'none');
}

function filterCompanyOptions(sStartDate, sEndDate, id) {	
	//if (window.location.href = "front_content.php"){
		 var url = window.location.href.split('front_content.php');	
		 if(url[1] != '') {
			 path = url[1].split('sortby');
			 if(typeof path[1] == 'undefined') {
				 path = url[1].split('&x=');
				 if(typeof path[1] == 'undefined') {
					 top.location.href = "front_content.php?client="+aCompanyClientId[id]+"&iPosition="+id;
				 } else {
					 top.location.href = "front_content.php?idart=" + idart + "&search=1&client="+aCompanyClientId[id]+"&iPosition="+id+"&x="+path[1];
				 }
			 } else { 
				 top.location.href = "front_content.php?client="+aCompanyClientId[id]+"&iPosition="+id+"&sortby"+path[1];
			}	 
		 } else {
		 	top.location.href = "front_content.php?client="+aCompanyClientId[id]+"&iPosition="+id;
          	//top.location.href = "front_content.php?client="+aCompanyClientId[id]+"&iPosition="+id;
	 	}
    //}
	//$('.column02').animate({'opacity':'1'});
	//$('#check_avail').addClass('dn');	
}


function searchJobsProClient(idart,search,client,iPosition,sortby,sort_direction,per_page,page){	
	//console.log(idart+','+search+','+client+','+iPosition+','+sortby+','+sort_direction+','+per_page+','+page);
	var freetext = $('input[name=freetext]').val();  
	if (freetext == 'Geben Sie Ihren Suchbegriff ein') freetext = '';
	var municipality = $('input[name=municipality]').val();  
	if (municipality == 'Stadt / PLZ') municipalityk = '';
	var distance = $('select[name=distance]').val(); 

	var branch = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('branch[]'), function(){
    	branch[SavedCounter++] = this.value;
    });
	var department = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('department[]'), function(){
    	department[SavedCounter++] = this.value;
    }); 
	var job_name = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('job_name[]'), function(){
    	job_name[SavedCounter++] = this.value;
    });  
	var hours_per_week = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('hours_per_week[]'), function(){
    	hours_per_week[SavedCounter++] = this.value;
    });  
	var assignment_start_date = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('assignment_start_date[]'), function(){
    	assignment_start_date[SavedCounter++] = this.value;
    }); 
	var category = new Array();
	var SavedCounter = 0;
    $.each(document.getElementsByName('category[]'), function(){
    	category[SavedCounter++] = this.value;
    });  
    if (formAction == true) {
    	 $.ajax({
    	    	type: 'POST',
    	    	url: 'front_content.php',
    	    	data: 'idart='+idart+'&search='+search
    					+'&client='+aCompanyClientId[0]+'&iPosition=0'
    					+'&sortby='+sortby+'&sort_direction='+sort_direction
    					+'&per_page='+per_page+'&page='+page
    					+'&freetext='+freetext+'&municipality='+municipality
    					+'&distance='+distance+'&branch[]='+branch
    					+'&department[]='+department+'&job_name[]='+job_name
    					+'&hours_per_week[]='+hours_per_week+'&assignment_start_date[]='+assignment_start_date
    					+'&category[]='+category
    					+'&job_count=all',
    			success: function(result) {
    	    		$('ul.companylist li:first').text(sprintf('Alle %s Jobs der orizon Gruppe', result));
    	    	}
    	}); 
    }
    
	$.ajax({
		type: 'POST',
		url: 'front_content.php',
		data: 'idart='+idart+'&search='+search
			+'&client='+client+'&iPosition='+iPosition
			+'&sortby='+sortby+'&sort_direction='+sort_direction
			+'&per_page='+per_page+'&page='+page
			+'&freetext='+freetext+'&municipality='+municipality
			+'&distance='+distance+'&branch[]='+branch
			+'&department[]='+department+'&job_name[]='+job_name
			+'&hours_per_week[]='+hours_per_week+'&assignment_start_date[]='+assignment_start_date
			+'&category[]='+category,
		success: function(result) {
			//console.log(result);
			if(result != "false") {
				//pagging buttons
				$('div#pagging div.prev-next').remove();
				$(".column02").html(result);		
				var sum = 0;
				$.each($('.column02 .suchergebnisse'), function(i, oJob) {
					sum++;
				});
				if(sum != 0){
				$("div#pagging").html($('div#pagging2').html());
				$('div#pagging2').remove();
				}
				//show jobs anzahl
				var sum = $('input[name=sum]').val();  
				writeFaderText(iPosition, sum);
				//change initiativ fenster images and text
				changeInitiativFenster(iPosition, sum);
				//show verlauf img
				$('#check_avail').addClass('dn');
				$('.column02').animate( {'opacity' : '1'}, 300, '', clearOpacity);
				//change parameter value
				$('input[name=client]').val(client);
				$('input[name=iPosition]').val(iPosition);
				$('input[name=Suche]').remove();
				$('form[name=job_search] div.suche-frm').prepend('<input class="btn-suche" type="image" onclick="javascript:searchJobsProClient('+idart+',1,\''+client+'\','+iPosition+',\'lastmodificationdate\',\'DESC\',10,1);return false;" alt="Suche" src="images/buttons/search.png" name="Suche">');
			} 
		}
	
	});
	
	formAction = true;
	
}
// png fix for ie7
function clearOpacity() {
	if ( $.browser.msie ) {
		if( parseInt($.browser.version) == 7 || parseInt($.browser.version) == 8) {

			$('div.column02').css('filter', '');
		};
	}
}
//change initiativ fenster images and text
function changeInitiativFenster(iPosition, sum){
	$.each(initiativeUrls, function(i, item) {
		if (aCompanyClientId[iPosition] == i) {
			$('div#initiativForm .initiative_register').attr('href', item);	
		}
		if ($('input[name=target_initiative_url]').val() == 'blank') {
			$('div#initiativForm .initiative_register').attr('target', '_blank');
		} else {
			$('div#initiativForm .initiative_register').attr('target', '_self');
		}
    });

	$('div#initiativForm').css('background-image', 'url(images/boxes/initiativ_teaser_'+aCompanyId[iPosition]+'.jpg)');
	if (typeof(sum) != 'undefined') {
		$('div#initiativForm p.grey').html('Es warten <span class="'+aCompanyId[iPosition]+'">'+sum+'</span> Jobs auf Sie.');
	} else {
		$('div#initiativForm p.grey').html('Es warten <span class="'+aCompanyId[iPosition]+'"></span> Jobs auf Sie.');
	}
	
	$('div#initiativForm div.text').html('<span class="'+aCompanyId[iPosition]+'">'+aCompanyInitiativText[iPosition]+'</span>');
	$('div#initiativForm a img').attr('src','images/buttons/initia_but_'+aCompanyId[iPosition]+'.png');
}

sprintfWrapper = {		 
		init : function () {	 
			if (typeof arguments == "undefined") { return null; }
			if (arguments.length < 1) { return null; }
			if (typeof arguments[0] != "string") { return null; }
			if (typeof RegExp == "undefined") { return null; }
	 
			var string = arguments[0];
			var exp = new RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g);
			var matches = new Array();
			var strings = new Array();
			var convCount = 0;
			var stringPosStart = 0;
			var stringPosEnd = 0;
			var matchPosEnd = 0;
			var newString = '';
			var match = null;
	 
			while (match = exp.exec(string)) {
				if (match[9]) { convCount += 1; }
	 
				stringPosStart = matchPosEnd;
				stringPosEnd = exp.lastIndex - match[0].length;
				strings[strings.length] = string.substring(stringPosStart, stringPosEnd);
	 
				matchPosEnd = exp.lastIndex;
				matches[matches.length] = {
					match: match[0],
					left: match[3] ? true : false,
					sign: match[4] || '',
					pad: match[5] || ' ',
					min: match[6] || 0,
					precision: match[8],
					code: match[9] || '%',
					negative: parseInt(arguments[convCount]) < 0 ? true : false,
					argument: String(arguments[convCount])
				};
			}
			strings[strings.length] = string.substring(matchPosEnd);
	 
			if (matches.length == 0) { return string; }
			if ((arguments.length - 1) < convCount) { return null; }
	 
			var code = null;
			var match = null;
			var i = null;
	 
			for (i=0; i<matches.length; i++) {
	 
				if (matches[i].code == '%') { substitution = '%' }
				else if (matches[i].code == 'b') {
					matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(2));
					substitution = sprintfWrapper.convert(matches[i], true);
				}
				else if (matches[i].code == 'c') {
					matches[i].argument = String(String.fromCharCode(parseInt(Math.abs(parseInt(matches[i].argument)))));
					substitution = sprintfWrapper.convert(matches[i], true);
				}
				else if (matches[i].code == 'd') {
					matches[i].argument = String(Math.abs(parseInt(matches[i].argument)));
					substitution = sprintfWrapper.convert(matches[i]);
				}
				else if (matches[i].code == 'f') {
					matches[i].argument = String(Math.abs(parseFloat(matches[i].argument)).toFixed(matches[i].precision ? matches[i].precision : 6));
					substitution = sprintfWrapper.convert(matches[i]);
				}
				else if (matches[i].code == 'o') {
					matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(8));
					substitution = sprintfWrapper.convert(matches[i]);
				}
				else if (matches[i].code == 's') {
					matches[i].argument = matches[i].argument.substring(0, matches[i].precision ? matches[i].precision : matches[i].argument.length)
					substitution = sprintfWrapper.convert(matches[i], true);
				}
				else if (matches[i].code == 'x') {
					matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
					substitution = sprintfWrapper.convert(matches[i]);
				}
				else if (matches[i].code == 'X') {
					matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
					substitution = sprintfWrapper.convert(matches[i]).toUpperCase();
				}
				else {
					substitution = matches[i].match;
				}
	 
				newString += strings[i];
				newString += substitution;
	 
			}
			newString += strings[i];
	 
			return newString;
	 
		},
	 
		convert : function(match, nosign){
			if (nosign) {
				match.sign = '';
			} else {
				match.sign = match.negative ? '-' : match.sign;
			}
			var l = match.min - match.argument.length + 1 - match.sign.length;
			var pad = new Array(l < 0 ? 0 : l).join(match.pad);
			if (!match.left) {
				if (match.pad == "0" || nosign) {
					return match.sign + pad + match.argument;
				} else {
					return pad + match.sign + match.argument;
				}
			} else {
				if (match.pad == "0" || nosign) {
					return match.sign + match.argument + pad.replace(/0/g, ' ');
				} else {
					return match.sign + match.argument + pad;
				}
			}
		}
	}
	 
	sprintf = sprintfWrapper.init;
//change logos images
$('.suchergebnisse').live('mouseover', function() {	
	var src = $(this).find('span.logo img').attr('src').split('_grey');
	$(this).find('span.logo img').attr('src',src[0]+src[1]);	
}).live(
		'mouseout',
		function() {
			var src = $(this).find('span.logo img').attr('src').split('_small.png');	
			$(this).find('span.logo img').attr('src',src[0]+'_small_grey.png');
		});
