var HiswaControls = function(){};

HiswaControls.prototype = 
{
	init: function()
	{
		this.create_h2_blocks();
		var $this = this;
		
		jQuery("#noviteit_select_link").click(function(){ $this.maak_noviteiten_formulier(); });
		jQuery("#activiteit_add_link").click(function(){ $this.maak_activiteiten_formulier(); });
		jQuery("#overnachting_add_link").click(function(){ $this.maak_overnachting_formulier(); });
		jQuery("#shuttle_add_link").click(function(){ $this.maak_shuttle_formulier(); });
		jQuery("#hiswa_users").change(function(){ $this.login_as(this.value); });
		
		jQuery("#categories a .title").each(function(){
			if(this.offsetHeight < 15){
				jQuery(this).css("padding-top",7);
			}
		});
		
		jQuery(".voorziening:odd").each(function(){
			jQuery(this).css("background-color","#edf2fb");
		});
	},
	
	create_h2_blocks: function()
	{
		var hasH2 		= jQuery("#content_text h2").size();
		
		if(hasH2){
			var $h2 		= jQuery("#content_text").children();
			var $headers	= new Array();
			var i			= -1;
			
			$h2.each(function(){
				if(this.tagName == "H2"){
					i++;
					$headers[i] = {button:this, children:[]};
					$headers[i].button = this;
				} else if(i != -1){
					$headers[i].children.push(this);
					jQuery(this).hide();
				}
			});
			
			var len = $headers.length;
			
			for(var k=0; k<len; k++){
				this.add_h2_click_event($headers[k]);
			}
		}
	},
	
	add_h2_click_event: function(block)
	{
		var c = block.children;
		
		jQuery(block.button).css("cursor", "pointer");		
		jQuery(block.button).click(function(){			   
			for(var i=0; i<c.length; i++){
				jQuery(c[i]).toggle();
			}
		});
	},
	
	login_as: function(userId)
	{
		location.href = "/static/login_as/"+userId+"/login.html";
	},
	
	initDayOrderControls: function()
	{
		var self = this;
		
		jQuery("#bestelformulier .af_field_numeric input").each(function(){
			var $this 	= jQuery(this);
			var name	= $this.attr("name");
			if(name.indexOf("[0]") == -1){
				$this.attr("name", name+"[0][value]");
			}
		});
		
		jQuery("#bestelformulier .days select").unbind();
		jQuery("#bestelformulier .days select:last-child").change(function(){
			var $this = jQuery(this);
			
			$parent = $this.parent().hasClass("extraday") ? $this.parent().parent() : $this.parent();
				
			var currentAmount = $parent.find(".extraday").size() + 1;
			var id = $parent.find(".field-id").val();
		
			if(currentAmount < 7){
				if($this.val() != '') self.addProductDay(id, '', '');
			}
			
			self.initDayOrderControls();
		});
	},
	
	addProductDay: function(id, amount, day)
	{
		var $parent = jQuery(".af_field_"+id).next();
		
		var currentAmount = $parent.find(".extraday").size() + 1;
		var options	= {'':'',0:'ma',1:'di',2:'wo',3:'do',4:'vr',5:'za',6:'zo'};
		
		var $html = "<div class='clear'></div>"+
			"<div class='extraday'>"+
			"<input type='text' maxlength='4' value='"+amount+"' name='field["+id+"]["+currentAmount+"][value]'><select name='field["+id+"]["+currentAmount+"][day]'>"
		
		jQuery.each(options, function(key, value){
			$html += "<option value='"+key+"'"+(day==key?" selected='selected'":"")+">"+value+"</option>";
		});
		
		$html += "</select></div>";
		
		$parent.append($html);
	},
	
	setDayOrders: function(data)
	{
		var self 		= this;
		var productIds 	= {};
		
		jQuery.each(data, function(key, row){
			self.addProductDay(row.product_id, row.aantal, row.dag);
			
		});
		
		jQuery(".days").each(function(){
			if(jQuery(this).find(".extraday").size() >= 1){
				self.addProductDay(jQuery(this).find(".field-id").val(), '', '');
			}
		});
	},
	
	maak_shuttle_formulier: function()
	{		
		var succes_actions = function(html)
		{
			jQuery("#shuttle_forms").append(html);
		}
		
		jQuery.ajax({
			url		: "/cmsfiles/components/hiswa/forms/add_shuttle.php",
			type	: "post",
			success	: succes_actions
		});
	},
	
	maak_overnachting_formulier: function()
	{		
		var succes_actions = function(html)
		{
			jQuery("#overnachting_forms").append(html);
		}
		
		jQuery.ajax({
			url		: "/cmsfiles/components/hiswa/forms/add_overnachting.php",
			type	: "post",
			success	: succes_actions
		});
	},
	
	maak_activiteiten_formulier: function()
	{		
		var succes_actions = function(html)
		{
			jQuery("#activiteit_forms").append(html);
		}
		
		jQuery.ajax({
			url		: "/cmsfiles/components/hiswa/forms/add_activiteit.php",
			type	: "post",
			success	: succes_actions
		});
	},
	
	maak_noviteiten_formulier: function()
	{		
		var succes_actions = function(html)
		{
			jQuery("#noviteiten_forms").prepend(html);
		}
		
		jQuery.ajax({
			url		: "/cmsfiles/components/hiswa/forms/add_noviteit.php",
			type	: "post",
			data	: { 
				type : jQuery("#noviteit_select").val()
			},
			success	: succes_actions
		});
	},
	
	disable_form: function()
	{
		$elements = jQuery(".af_form input, .af_form select, .af_form textarea");
		$elements.attr("disabled", "disabled");
	},
	
	enable_form: function()
	{
		$elements = jQuery(".af_form input, .af_form select, .af_form textarea");
		$elements.attr("disabled", "");
	}
}

var Hiswa = new HiswaControls();

jQuery(document).ready(function(){
	Hiswa.init();
});

Shadowbox.init({
	handleOversize:     'drag',
	resizeDuration:		0.35,
	fadeDuration:		0.10,
	overlayOpacity:		0.6,
	language:  	 		"nl",
	players:    		['img']
});