// Global Events

var overTextObj = new Array();

window.addEvent('domready',function(){
	if($('coupon_postalsearch')) zipRequest();	
	
	$$('.shadowbox').each(function(element) {
		// element.setAttribute('params','lightwindow_type=external,lightwindow_width=600,lightwindow_height=500,lightwindow_show_images=2,resizeSpeed=11');
			var url = element.getAttribute('href');
			if (url.indexOf("?") == -1) {
				url = url + '?popup=1';
			} else {
				url = url + '&popup=1';
			}
			element.setAttribute('href', url);
		});
	$$('a.popup').each(function(element) {
		// element.setAttribute('params','lightwindow_type=external,lightwindow_width=600,lightwindow_height=500,lightwindow_show_images=2,resizeSpeed=11');
			var url = element.getAttribute('href');
			if (url.indexOf("?") == -1) {
				url = url + '?popup=1';
			} else {
				url = url + '&popup=1';
			}
			element.setAttribute('href', url);
		});
	
	if($('coupon_form')) {
	// The elements used.
  var myForm = $('coupon_form');

  // Labels over the inputs.
  var offsetObj = {x:10,y:10};
  var positionObj = {offset:offsetObj};
  
  var arr_counter = 0;
  myForm.getElements('[type=text], textarea').each(function(el){
    overTextObj[arr_counter] = new OverText(el,{ positionOptions : positionObj});
	arr_counter++;
  });

  //add a validator for ALL instances
	Form.Validator.add('required', {
		errorMsg: 'Dieses ist ein Pflichtfeld',
		test: function(element){
			if (element.value.length == 0) return false;
			else return true;
		}
	});
  // Validation.
	new Form.Validator.Inline(
		myForm,
		{
			errorPrefix:'Fehler: ',
			onShowAdvice: function(element, advice) {
				if(element.hasClass('checkbox') || element.hasClass('radio')) { 
					var parentEl = element.getParent();
					if(parentEl != null) {
						if(parentEl.hasClass('parent_l')) {
							parentEl.getElements('label').addClass('validation-failed');
						} else if(parentEl.hasClass('parent_s')) {
							parentEl.getElements('span').addClass('validation-failed');
						} else  if(parentEl.hasClass('parent')) {
							parentEl.addClass('validation-failed');
						}
					}
				}
			},
			onHideAdvice: function(element, advice){
				if(element.hasClass('checkbox') || element.hasClass('radio')) {                      
					var parentEl = element.getParent();
					if(parentEl != null) {
						if(parentEl.hasClass('parent_l')) {
							parentEl.getElements('label').removeClass('validation-failed');
						} else if(parentEl.hasClass('parent_s')) {
							parentEl.getElements('span').removeClass('validation-failed');
						} else if(parentEl.hasClass('parent')) {
							parentEl.removeClass('validation-failed');
						}
					}
				}                         
			}
		}
	);
  }
});



// Postcode Request

function zipRequest(){
	var input = $('coupon_postalsearch');
	var output = $('sh_collection');
	
	// search function
	var search = function(){
		
		var zip = input.value;
		if(zip.length == 5 && isNaN(zip)==false){
			$('loader').set('style','background:url(fileadmin/template/landing/images/ajax-loader.gif) no-repeat');
			new Request.HTML({
				url:'/?type=2',
				method:'get',
				update:output,
				onComplete:function(){
					pager(output);
					$('loader').set('style','background:none');
					//$('coupon_postalcode').set('value',zip);
					overTextObj.each(function(el){el.reposition()});
				}
			}).send('tx_pacenterfinder_piResPlz[postalcode]='+zip);
		}
	};
	
	//add events to input
	input.setAttribute('autocomplete','off');
	input.addEvents({
		'keyup':search,
		'keydown':function(event){
			if(event.key=='enter'){
				new Event(event).stop();
				search();
			}
		}
	});
}


// Pager

function pager(parent){
	var items = parent.getElements('li');
	var show = 5;
	var pager;

	// hide items on start
	items.each(function(el,i){
		if(i>show-1) el.setStyle('display','none');
	});
	if(parent.getElements('.pager').length>0) parent.getElements('.pager')[0].dispose();

	// create pager navigation
	var pages = Math.ceil(items.length/show);
	if(items.length > show){
		var pager = new Element('div',{'class':'pager','html':'Weitere Sch&uuml;lerhilfen anzeigen: '}).inject(parent,'bottom');
		for(var i=1;i<=pages;i++){
			var link = new Element('span',{'html':i}).inject(pager);
		}
		pager.getElements('span')[0].set('class','active');

		// add events to pager
		pager.getElements('span').each(function(el,i){
			el.addEvent('click',function(){
				pager.getElements('span').each(function(el){el.set('class','');});
				el.set('class','active');
				items.each(function(el,j){
					(j>=i*show && j<i*show+show) ? el.setStyle('display','block') : el.setStyle('display','none');
				});
				//reposition overtext
				overTextObj.each(function(el){el.reposition()});

			});
		});
	}
}


// Popup

var afpl = false;function gpd(dv,wh){absV=0;calV=parseInt(dv);calV=(calV<1)?1:(calV>100)?100:calV;absV=Math.round((calV * (eval('screen.'+wh)/100)));return absV;}function gsc(wh){cp = Math.round(eval('screen.'+wh+'-openPopup_'+wh)/2);return cp;}function pps(){aa=arguments[0].split(',');rs=',left='+aa[0]+',top='+aa[1];return rs;}function wps(){aa=arguments[0].split(',');sb=false;tb=false;st=false;lb=false;di=false;mb=false;rz=false;for (i=0;i<aa.length;i++){sb = (aa[i].indexOf('scrollbars') != -1)? aa[i]:(!sb)? 'scrollbars=no':sb;tb = (aa[i].indexOf('toolbar') != -1)? aa[i]:(!tb)? 'toolbar=no':tb;st = (aa[i].indexOf('status') != -1)? aa[i]:(!st)? 'status=no':st;lb = (aa[i].indexOf('location') != -1)? aa[i]:(!lb)? 'location=no':lb;di = (aa[i].indexOf('directories') != -1)? aa[i]:(!di)? 'directories=no':di;mb = (aa[i].indexOf('menubar') != -1)? aa[i]:(!mb)? 'menubar=no':mb;rz = (aa[i].indexOf('resizable') != -1)? aa[i]:(!rz)? 'resizable=no':rz;}rs=','+sb+','+tb+','+st+','+lb;return rs;}function pds(){aa = arguments[0].split(',');bName=navigator.appName;bApp=navigator.appVersion;bVer=parseInt(navigator.appVersion);ns4=(document.layers||(bName.indexOf('Netscape')>=0&&bVer<5))?true:false;ie4=(document.all&&document.styleSheets)?true:false;ns5=(document.getElementById&&!document.all)?true:false;op5=(document.all&&!document.styleSheets)?true:false;win=(bApp.indexOf('Win')>=0)?true:false;mac=(bApp.indexOf('Mac')>=0)?true:false;diw =(ie4&&win)?aa[0]:(ns4&&win)?aa[2]:(ns5&&win)?aa[4]:(op5&&win)?aa[6]:(ie4&&mac)?aa[8]:(ns4&&mac)?aa[10]:(ns5&&mac)?aa[12]:(op5&&mac)?aa[14]:0;dih=(ie4&&win)?aa[1]:(ns4&&win)?aa[3]:(ns5&&win)?aa[5]:(op5&&win)?aa[7]:(ie4&&mac)?aa[9]:(ns4&&mac)?aa[11]:(ns5&&mac)?aa[13]:(op5&&mac)?aa[15]:0;pw=parseInt(openPopup_width)+parseInt(diw);ph=parseInt(openPopup_height)+parseInt(dih);rs='width='+pw+',height='+ph;return rs;}function openPopup(){pa=new Array('customPosition','customParams','browserDiff');for (i=0;i<pa.length;i++) eval('openPopup_'+pa[i]+'=false');openPopup_popupUrl = arguments[0];openPopup_width=(typeof(arguments[1])=='string'&&arguments[1].indexOf('%')>-1)?gpd(arguments[1],'width'):arguments[1];openPopup_height=(typeof(arguments[2])=='string'&&arguments[2].indexOf('%')>-1)?gpd(arguments[2],'height'):arguments[2];opo=(arguments.length>3)?arguments[3]:'';if(opo!=''){opo=opo.slice(1,opo.length);opoArray = opo.split('-');for (i=0;i<opoArray.length;i++){for (j=0;j<pa.length;j++){eval('openPopup_'+pa[j]+' = (opoArray[i].indexOf("'+pa[j]+'") != -1 && typeof(opoArray[i]) == "string")? opoArray[i].substring(opoArray[i].indexOf("[")+1,opoArray[i].indexOf("]")):(!openPopup_'+pa[j]+')? false:openPopup_'+pa[j]);}}}ps=(!openPopup_browserDiff)?'width='+openPopup_width+',height='+openPopup_height:pds(openPopup_browserDiff);ps+=(!openPopup_customPosition)?',left='+gsc('width')+',top='+gsc('height'):pps(openPopup_customPosition);ps+=(!openPopup_customParams)?',scrollbars=no,toolbar=no,status=no,location=no,directories=no,menubar=no,resizable=no':wps(openPopup_customParams);var poa=new Array();var time=new Date();var rnd=time.getTime();var pna='POPUP'+rnd;poa[poa.length]=open(openPopup_popupUrl,pna,ps);if (typeof(poa[poa.length-2]) == 'object') poa[poa.length-2].close();poa[poa.length-1].focus();}var afpl = true;

