var all_checked = false;

$(function(){
	
        $('#dslwebmulticheck input').checkBox();

	$('#check-all').click(function(){
		if (all_checked)
			$('#dslwebmulticheck input[type=checkbox]').checkBox('changeCheckStatus', false);
		else
			$('#dslwebmulticheck input[type=checkbox]').checkBox('changeCheckStatus', true);
		if (all_checked) all_checked=false; else all_checked=true;
		return false;
	});	
	$('#check-all-link').click(function(){
		if (all_checked)
			$('#dslwebmulticheck input[type=checkbox]').checkBox('changeCheckStatus', false);
		else
			$('#dslwebmulticheck input[type=checkbox]').checkBox('changeCheckStatus', true);
		if (all_checked) all_checked=false; else all_checked=true;		
		return false;
	});
	
	
});
	
function createWindow() {
	
	var params = $("#dslwebmulticheck").serialize();
	var show_url = "http://www.dslweb.de/verfuegbarkeit/dsl-verfuegbarkeit-popup.php?"+params;
	
	$.window({
		title: "DSL Verf&uuml;gbarkeit pr&uuml;fen",
		minimizable: false,
		bookmarkable: false,
		showFooter: false,
		draggable: true,
		resizable: false,
		scrollable: false,
		width: 850,
		minWidth: 850,
		height: 700,
		minHeight: 700,
		x: 10,
		y: 20,  
		url: show_url
	});
}

function check_box(boxid) {
	$(boxid).checkBox('toggle');
}

	
$(document).ready(function() {


	    $dslwebmulticheck = $("#dslwebmulticheck"); // instance of dslwebmulticheck for faster dom-select
		
	    var validator = $dslwebmulticheck.validate({
			errorPlacement: function(error, element) {
				element.parent().addClass("error");
				error.prependTo( element.parent() );
			},
			invalidHandler: function() {
				var test = validator.numberOfInvalids();
			    if (test>0) {
			    	$('#fields_error').show();
			    } else {
			    	$('#fields_error').hide();
			    }
			},
			messages: {
				vorwahl: "<span></span>",
				rufnummer: "<span></span>",
				strasse: "<span></span>",
				hausnr: "<span></span>",
				plz: "<span></span>",
				ort: "<span></span>"
			},
			submitHandler: function(form) {
				
			   $('#fields_error').hide();
			   var count = $("input:checkbox:checked").length;
			   
			   if (count==0) {
			   		$('#checkbox_error').fadeIn();
			   		return false;
			   } else {
			   		$('#checkbox_error').hide();
			   }
				
			   //form.submit();
			   createWindow();
			},			
			errorClass: "message",
			errorElement: "strong",
			onkeyup: false, // deaktivieren - notwendig wegen errorHandlerContainer 
			onclick: false // deaktivieren - notwendig wegen errorHandlerContainer 
	    });
	    
	    var errorHandlerContainer = function(){
	      $(this).valid(); // Validiert das aktive Feld (je nach Ereignis - blur, keyup, change)
	            
	      var $cont = $(this).parent(); // Hole �bergerodnetes Div des Feldes 
	      var haserror = $("strong.message:visible", $cont).size(); // Finde Fehler-Nachricht
	      
	      if (haserror<1) {
	        $cont.removeClass("error"); // Kein Fehler Entferne Error CSS-Klasse.  
	      } else {
	        $cont.addClass("error"); // Wenn Fehler f�ge Error CSS-Klasse hinzu.    
	      }
	      
				var test = validator.numberOfInvalids();
			    if (test>0) {
			    	$('#fields_error').show();
			    } else {
			    	$('#fields_error').hide();
			    }	      
	    } 
		// Pr�fe wenn Ereignis blur (gegenteil von focus)
		$(":input", $dslwebmulticheck).change(errorHandlerContainer);
   });
	
