/* VERSION: 1.0.0
 * 
 * 
 */

window.addEvent('domready', function() {
    init_accordion()    
});

function init_accordion(){
    $$('.j-accordion').each(function(el){
         var toogler     = el.getElements(".x-toggler")
         var element     = el.getElements(".x-element")
         var myAccordion = new Accordion(toogler, element, {
    		opacity: false,
            initialDisplayFx: false,
    		onActive: function(toggler, element){
                toggler.addClass ('x-active')
    		},
    		onBackground: function(toggler, element){
                toggler.removeClass ('x-active')
    		}
    	});
    });
}


function form_validate(form){
    if(typeof  form == "string") form = $(form);

    var formcheck =  new FormCheck(form, {
		display : {
		    scrollToFirst : false
		}
	})
    formcheck.addEvent("validateSuccess", function(){form_send(form)} )
    formcheck.addEvent("validateFailure", function(){} )
    formcheck.onSubmit()
}

function form_send(form){
    if(typeof  form == "string") form = $(form);
    
    var action = form.get('action')
    var sender = new Request();
	    sender.onSuccess = function(responseText, responseXML){	       
	       var data    = JSON.decode(responseText);           
           var success = data.success.toString();         
           if(data.redirect==undefined) data.redirect = ""
           switch(success){
                case "true":
                case true:
                case 1:
                    if(data.alert){
                        showAlert(data.title, data.msg, data.redirect)
                    }else if(data.redirect!=""){
                    	if(data.redirect.split("refresh").length>1){
                    		window.location.reload(true)
                    	}else{
                    		window.location.href = data.redirect
                    	}
                    }
                    var fn = form.get("id")+"_success"                        
                    if(window[fn] != undefined) eval(fn)(data)
                    break;
                    
                case "false":
                case false:
                case 0:
                    if(data.alert){
                        showAlert(data.title, data.msg)
                    }else if(data.redirect!=""){
                    	window.location.href = data.redirect
                    }
                    var fn = form.get("id")+"_error"
                    if(window[fn] != undefined) eval(fn)(data)
                    break;
           }
		};
        sender.onFailure = function(){alert('Connection error(axfs-101).');}
	    sender.send({data: form, url: action});  
}

function vc_alert(str, ok, redirect){
    if(ok==undefined) ok = true
    if(redirect==undefined) redirect = ""
    var modal = new VirtuaModal({'clas': 'vm-alert', 'ok':ok, 'redirect':redirect})
        modal.open(str) 
}
function vc_confirm(str, redirect){
    var modal = new VirtuaModal({'clas': 'vm-alert', 'cancel':true, 'redirect':redirect})
        modal.open(str) 
}
