/*
function toggleFormElements() {
  $('alt_form').$('nothome_address_val').disabled = true;
  $('alt_form').$('nothome_zipcode').disabled = true;
  $('alt_form').$('nothome_city').disabled = true;

} */

var changeAltformHeight = function()
{
	if($('alt_address_val').get('checked') == true)
	{
		$('altAddressDiv').tween('height','350px');
	}
	else
	{
		$('altAddressDiv').tween('height','50px');
	}
}

var changeLoginHeight= function()
{
	if($('login').getStyle('height') ==  '15px')
	{
		$('login').tween('height','135px');
		$('loginForm').setStyle('display','block');
	}

	else if ($('login').getStyle('height') == '135px')
	{

		$('login').tween('height','15px');
		$('loginForm').setStyle('display','none');
	}
}

var redirect = function(location)
{
    window.location.href=location;
}
/*

*/
var Product = new Class({
      Implements: [Events],
      html:'',
      name:'',
      initialize: function(html,name){
            this.html=html;
            this.name = name;
            this.toElement();
           // $(this.options.container).set('html',this.options.html);
            $(this.element).addEvent('click', function(){
                if(confirm('Weet u zeker dat u deze relatie wil verwijderen?'))
                {
                    this.destroy();
                }

            });

      },

     toElement: function(){
            if (!this.element)
            {
                this.element = new Element('li');
                this.element.set('html',this.html);
            }
            return this.element;
        },

    getName: function(){
      	return name;
	  }
});
var setProductHTML = function(target,productName,productID,isRelatedProduct,errorCondition ,errorMessage)
{
		var dataArray=new Object();

		if(errorCondition || errorCondition === "" ){

			dataArray.id = productID;

			if(isRelatedProduct === true)
			{
				dataArray.related = "1";
			}


		  productHTML = new Request({
		        method: 'get',
		        url: '/beheer/pages/getProduct.php' ,

				data:  dataArray,
		        onRequest: function() {},
		        onComplete: function(response) {
					if(isRelatedProduct == false){

						$('log').set('html','');
						 var prod= new Product(response,productName);
						 $('log').adopt(prod.toElement());
                         $('log').highlight();
                        //prod.removeProduct();
					}
					else{
                         var prod= new Product(response,productName);
						 $(target).adopt(prod.toElement());
                         $(target).highlight();
					}
				}
		   }).send();
		}

		else{
			alert(errorMessage);
		}
}

window.addEvent('domready', function()
{
  /*
  if($('alt_form'))
  {
    toggleFormElements();
  }  */

  if($('alt_address_val'))
	{
		$('alt_address_val').addEvent('click', changeAltformHeight);
	}

	if($('handleLogin'))
	{
		$('handleLogin').addEvent('click',changeLoginHeight);
	}

    if($('tree_container'))
    {
        var tree = new Mif.Tree({
                container: $('tree_container'),
                forest: false,
                initialize: function(){
                    this.initCheckbox('simple');
                    new Mif.Tree.KeyNav(this);
                    new Mif.Tree.Drag(this, {
                        droppables: [
                             new Mif.Tree.Drag.Element('drop_container',{
                                onDrop: function(node)
								{
									var test = false
									if($('selected_product'))
									{
										test=true;
									}

									setProductHTML('drop',node.name,node.id,true,test,'Selecteer eerst een product');
								}
                            })
                        ],
                        onDrop: function(current, target, where){
                            //console.log(current, target, where);
                        }
                    });
                },
                types: {
                    folder:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon'
                    },
                    book:{
                        openIcon: 'mif-tree-book-icon',
                        closeIcon: 'mif-tree-book-icon'
                    },
                disabled:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon',
                        dragDisabled: true,
                        cls: 'disabled'
                        }
                },
                dfltType:'folder',
                height: 25,
                onCheck: function(node){
                	  //
                     redirect('index.php?page=addRelation&selected_product=' + node.id);
                },
                onUnCheck: function(node){
                    //$('log').adopt(new Element('li').set('html', node.name+' unchecked'));
                    $('log').set('html','');
                }
            });

            // load tree from txt.
            tree.load({url: '/beheer/tree.json'});
    }

    if($('tree_container_category'))
    {
        var tree = new Mif.Tree({
                container: $('tree_container_category'),
                forest: true,
                initialize: function(){
                    this.initCheckbox('simple');
                    new Mif.Tree.KeyNav(this);
               },
                types: {
                    folder:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon'
                    },
                    book:{
                        openIcon: 'mif-tree-book-icon',
                        closeIcon: 'mif-tree-book-icon'
                    },
                disabled:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon',
                        dragDisabled: true,
                        cls: 'disabled'
                        }
                },
                dfltType:'folder',
                height: 25,
                onCheck: function(node){
                		  req = new Request({
					        method: 'get',
					        url: '/beheer/pages/getProduct.php' ,

							data:  { 'cat_name':node.name },
					        onComplete: function(response) {
                                    if($('category').get('value') == ''){
                                        $('category').set('value', response);
                                    }else{
									    $('category').set('value',$('category').get('value') + ';' + response);
                                    }
									$('log').set('html','');
			                        //prod.removeProduct();

							}
					   }).send();
                	  //('category').set('value',node.name);
                     //redirect('index.php?page=addRelation&selected_product=' + node.name);
                },
                onUnCheck: function(node){
                      req = new Request({
                  method: 'get',
                  url: '/beheer/pages/getProduct.php' ,

                  data:  { 'cat_name':node.name },
                  onComplete: function(response) {

                  $('category').set('value',$('category').get('value').replace(response +";", "") );
                  $('category').set('value',$('category').get('value').replace(";" + response, "") );
                  $('log').set('html','');
                              //prod.removeProduct();

              }
             }).send();}
            });

            // load tree from txt.
            tree.load({url: '/beheer/tree.json'});
    }

    if($('tree_container_product'))
    {
        var tree = new Mif.Tree({
                container: $('tree_container_product'),
                forest: true,
                initialize: function(){
                    this.initCheckbox('simple');
                    new Mif.Tree.KeyNav(this);
                   },
                types: {
                    folder:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon'
                    },
                    book:{
                        openIcon: 'mif-tree-book-icon',
                        closeIcon: 'mif-tree-book-icon'
                    },
                disabled:{
                        openIcon: 'mif-tree-open-icon',
                        closeIcon: 'mif-tree-close-icon',
                        dragDisabled: true,
                        cls: 'disabled'
                        }
                },
                dfltType:'folder',
                height: 25,
                onCheck: function(node){
    	  			//
    	  		  productHTML = new Request({
					        method: 'get',
					        url: '/beheer/pages/getProduct.php' ,
							data:  { 'prod_id' : node.id },
					        onComplete: function(response) {
                                current_url = "" + document.location;
                                if(current_url.search(/editArticle/i) != -1){
                                    redirect('/beheer/index.php?page=editArticle&id=' + response);
                                }else if(current_url.search(/removeArticle/i) != -1){
                                    redirect('/beheer/index.php?page=removeArticle&id=' + response);
                                }
							}
					   }).send();
                },
                onUnCheck: function(node){
                    //$('log').adopt(new Element('li').set('html', node.name+' unchecked'));
                    $('log').set('html','');
                }
            });

            // load tree from txt.
            tree.load({url: '/beheer/tree.json'});
    }

});

function MM_validateForm() { //v4.0
alert('validate');
 if (document.getElementById){
 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
 for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' moet een geldig e-mail adres zijn.\n';
 } else if (test!='R') { num = parseFloat(val);
 if (isNaN(val)) errors+='- '+nm+' moet een geldig telefoonnummer zijn.\n';
 if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
 min=test.substring(8,p); max=test.substring(p+1);
 if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
 } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is verplicht.\n'; }
 } if (errors) alert('De volgende velden zijn niet goed / volledig ingevuld:\n'+errors);
 document.MM_returnValue = (errors == '');

 if(document.MM_returnValue == true){
   alert('Niet alle velden zijn correct ingevuld!');
 }
} }

