
/* Popup *************************************************************************************************************** */

var map_elements = function() {
	if (typeof(POPUNDER) !="object") {
		return false;
		}
	if (typeof(MAPPER) == "object") {
		//Pop-under function; var POPUNDER is filled in html files (#44805)
		for (var mapped in MAPPER) {
			if ( MAPPER[mapped] && POPUNDER[mapped] != undefined ) {
				if (typeof(MAPPER[mapped]) == 'string') {
					var clicktarget = $(MAPPER[mapped]);
					} 
				else if (typeof(MAPPER[mapped]) == 'object') {
					var clicktarget = MAPPER[mapped];
					}
				if (clicktarget) {
					clicktarget.mapkey = mapped;
					clicktarget.addEvent( 'click', function() { showPu(POPUNDER[this.mapkey]['url'], POPUNDER[this.mapkey]['size']); } );
					}
				}
			}
		}
	else {
		setTimeout(function(){map_elements();}, 1000);
	}
}

	function openWindow(url,width,height) {
		window.open(url,'','scrollbars=yes,width='+width+',height='+height+',resizable=yes');
	} 
	
	function MM_openBrWindow(theURL,winName,features) { 
	  window.open(theURL,winName,features);
	}

	//make it popup! simply add the class 'poplink' to every link!
	window.addEvent('domready', function() {
		var popLinks = $$('a.poplink');
		popLinks.each(function(el){
			el.set({
				'events': {
					'click': function() {
						window.open(this.href,'','scrollbars=yes,width=400,height=450,resizable=yes');
						return false;
					}
				}
			})
		});
		//do not call popunder on elements with class 'preventPop':
		$$('.preventPop').each(function(el){
			el.addEvents({
				'mouseenter': function(){
					preventPop = true;
				},
				'mouseleave': function(){
					preventPop = false;
				}
			});
		});
		map_elements();
		// browser detection (task 52298, 49153)
		var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
		var is_firefox36 = navigator.userAgent.toLowerCase().indexOf('firefox/3.6') > -1;
		var is_firefox4 = navigator.userAgent.toLowerCase().indexOf('firefox/4.0') > -1;
		var is_firefox5 = navigator.userAgent.toLowerCase().indexOf('firefox/5.0') > -1;
		var is_ie6 = navigator.userAgent.toLowerCase().indexOf('msie 6.0') > -1;
		var is_ie7 = navigator.userAgent.toLowerCase().indexOf('msie 7.0') > -1;
		var is_ie8 = navigator.userAgent.toLowerCase().indexOf('msie 8.0') > -1;
		var is_ie9 = navigator.userAgent.toLowerCase().indexOf('msie 9.0') > -1;
		
		//deactivate pop under in browser (task 52298, 49153):
		if (is_firefox4 || is_firefox5) popIsDead = true;
	});
	
// launch "popunder" windows once
function popunder(theURL,winName,features) {
	if (checkPopunder(theURL)) {
	  var win = window.open(theURL,winName,features);
	  win.blur();
	}
}

function arrayContain(url)
{
  return popunderCol.indexOf(url)!=-1;
}  

// check if already launched and add to collection
var popunderCol = new Array;
function checkPopunder(url) {
  var isinarray = arrayContain(url); 
  if (isinarray) {
	return false;
   } else {
	var newItem = popunderCol.push(url);
	return true;
  }
}

/* PopUnder on click ****************************************************************************************************** */

//switch off Popunder in the meantime:
preventPop = false;
//switch off popunder permanently:
popIsDead = false;
//call the popunder: showPu('url': give different url's for multiple popunder windows)
var showPu = function(url, size) {
	if (size == 'fullscreen') {
		mywidth = screen.width;
		myhight = screen.height;
		}
	else if (size == 'parentsize') {
		var S = window.getSize();
		mywidth = S.x;
		myhight = S.y;
	}
	else if (size.match(/\d+x\d+/)) {
		mywidth = size.split('x')[0];
		myhight = size.split('x')[1];
	}
	else {
		mywidth = 600;
		myhight = 600;
	}
	var options = 'scrollbars=yes,width=' + mywidth + ',height=' + myhight + ',resizable=yes';
	if ((!popIsDead) && (!preventPop)) {

		popunder(url,'',options);
	}
}

/* Globales Script das Selectboxen sichtbar und unsichtbar macht ************************************************************************************************* */

	function hidetagsIE(TagNamen){
		if ( navigator.userAgent.indexOf("MSIE 6") != -1 ){
			var no = 0;
			while (document.getElementsByTagName(TagNamen)[no]){
				document.getElementsByTagName(TagNamen)[no].style.visibility = "hidden"; 
				no++;
			}
		}
	}

	function showtagsIE(TagNamen){
		if ( navigator.userAgent.indexOf("MSIE 6") != -1 ){
			var no = 0;
			while (document.getElementsByTagName(TagNamen)[no]){
				document.getElementsByTagName(TagNamen)[no].style.visibility = "visible"; 
				no++;
			}
		}
	}
	

/* Globales Script das DIVs sichtbar und unsichtbar macht ************************************************************************************************* */

var toggle = function(elements) {
	for (i=0; i<toggle.arguments.length; i++) {
		var el = $(toggle.arguments[i]);
		if(el) {
			if (el.getStyle("display") == "none") el.setStyle("display","block");
			else if (el.getStyle("display") == "block") el.setStyle("display","none");
		}
	}
};

var showlayer = function(elements) {
	for (i=0; i<showlayer.arguments.length; i++) {
		var el = $(showlayer.arguments[i]);
		if(el) {
			el.setStyle("display","block");
		}
	}
	if(elements == "popinfo") document.getElementById("landselect").style.display = "block";
};

var hidelayer = function(elements) {
	for (i=0; i<hidelayer.arguments.length; i++) {
		var el = $(hidelayer.arguments[i]);
		if(el) {
			el.setStyle("display","none");
		}
	}
	if(elements == "popinfo") document.getElementById("landselect").style.display = "none";
};
	
/* Coreg Checkbox anhaken beim Klick aufs Bild ************************************************************************************************* */

function checkthebox(el) {
	document.getElementsByName(el)[0].checked = !document.getElementsByName(el)[0].checked;
}	
	
/* Popunder, das auf Seite 1 eingeblendet wird ******************************************* */
function popUnderP1() {
	/* partner pks einfach hinten in das array packen */
	var notshown = new Array(1088,0,831,1092,941,1042,155,1027,876,1080,983,813,1107,1038)
	
	if (document.getElementById("register")) {
		var ppk = document.getElementById("register").partner_pk.value;
	} else {
		var ppk = document.forms[0].partner_pk.value;
	}
	var nopop = false;
	for (i=0;i<notshown.length;i++) {
		if(ppk == notshown[i] || ppk == '') { 
			nopop = true;
			break;
		}
	}
	//alert('PPK ist '+ppk+' | '+notshown.length+":"+nopop)
	if(!nopop) {
		var pu = window.open("http://www.winmycar.de/perl/lp.pl?file=index1.html&partner_pk=1014&sub_id=GWS-PopUnder","","width=940,height=790,scrollbars=1,resizable=1");
		pu.blur();
	}
}

/*  */
var toggle = function(elements) {
	for (i=0; i<toggle.arguments.length; i++) {
		var el = $(toggle.arguments[i]);
		if(el) {
			if (el.getStyle("display") == "none") el.setStyle("display","block");
			else if (el.getStyle("display") == "block") el.setStyle("display","none");
		}
	}
};

var showdiv = function(elements) {
	for (i=0; i<showdiv.arguments.length; i++) {
		var el = $(showdiv.arguments[i]);
		if(el) {
			el.setStyle("display","block");
		}
		if(el == "popinfo") $("landselect").setStyle("display", "block");
	}
};

var hidediv = function(elements) {
	for (i=0; i<hidediv.arguments.length; i++) {
		var el = $(hidediv.arguments[i]);
		if(el) {
			el.setStyle("display","none");
		}
		if(el == "popinfo") $("landselect").setStyle("display", "none");
	}
};

pro6pp_interface = new Object();
pro6pp_interface.url = 'http://api.pro6pp.nl/v1/';
pro6pp_interface.key = 'oKtRMY8zYR4tBNmh';
pro6pp_interface.zipcode_name = 'zipcode';
pro6pp_interface.regex_zipcode = /^\d{4}\s?[a-zA-Z]{2}$/i;
pro6pp_interface.regex_house_number = /\d/i;
pro6pp_interface.initialize = function() {
	$$('input[name=' + pro6pp_interface.zipcode_name + ']')[0].addEvents({
		'keyup': function() {
			pro6pp_interface.get_data($$('input[name=' + pro6pp_interface.zipcode_name + ']')[0].get('value'));
		},
		'blur': function() {
			pro6pp_interface.get_data($$('input[name=' + pro6pp_interface.zipcode_name + ']')[0].get('value'));
		}
	});
	if(pro6pp_interface.check_country()) pro6pp_interface.readonly_elements_by_name(['street', 'city'], true);
	$$('select[name=country]')[0].addEvent('change', function() {
		if(pro6pp_interface.check_country()) pro6pp_interface.readonly_elements_by_name(['street', 'city'], true);
		else pro6pp_interface.readonly_elements_by_name(['street', 'city'], false);
	});
}
pro6pp_interface.readonly_elements_by_name = function(elements, state) {
	switch(state) {
		case true:
			elements.each(function(element) {
				if($$('input[name=' + element + ']')[0].get('value') == '') $$('input[name=' + element + ']')[0].setProperty('readonly', 'property');
				if($$('input[name=' + element + ']')[0].get('value') == '') $$('input[name=' + element + ']')[0].addClass('readonly');
			});
		break;
		case false:
			elements.each(function(element) {
				$$('input[name=' + element + ']')[0].removeProperty('readonly');
				$$('input[name=' + element + ']')[0].removeClass('readonly');
			});
		break;
	}
}
pro6pp_interface.get_data = function(zipcode) {
	if(pro6pp_interface.check_country() && (zipcode.length == 6 || zipcode.length == 7)) {
		if(pro6pp_interface.check_zipcode(zipcode)) {
			var temp_method = 'autocomplete';
			var temp_url = pro6pp_interface.url + temp_method + '?auth_key=' + pro6pp_interface.key + '&nl_sixpp=' + zipcode;
			pro6pp_interface.request(temp_url, pro6pp_interface.set_data);
		} else {
			pro6pp_interface.readonly_elements_by_name(['street', 'city'], false);
		}
	}
}
pro6pp_interface.set_data = function(data) {
	if(data.status == 'ok') {
		$$('input[name=city]')[0].set('value', data.results[0].city);
		$$('input[name=street]')[0].set('value', data.results[0].street);
		if(typeof(mooli) != 'undefined') {
			if(typeof($$('input[name=city]')[0].group) != 'undefined') mooli.validateGroup($$('input[name=city]')[0]);
			else mooli.validate($$('input[name=city]')[0]);
			if(typeof($$('input[name=street]')[0].group) != 'undefined') mooli.validateGroup($$('input[name=street]')[0]);
			else mooli.validate($$('input[name=street]')[0]);
		}
	} else pro6pp_interface.readonly_elements_by_name(['street', 'city'], false);
}
pro6pp_interface.request = function(url, todo) {
	var pro6pp_request = new Request.JSONP({
		'url': url,
		'onComplete': todo,
		'onFailure': pro6pp_interface.readonly_elements_by_name(['street', 'city'], false)
	}).send();
}
pro6pp_interface.check_zipcode = function(zipcode)  {
	var result = false;
	if(typeof(zipcode) == 'string') {
		if(zipcode.search(pro6pp_interface.regex_zipcode) > -1) result = true;
	}
	return result;
}
pro6pp_interface.check_country = function() {
	var result = false;
	if($$('select[name=country]')[0].get('value') == '' || $$('select[name=country]')[0].get('value') == '1') result = true;
	return result;
}
