var cart_holder = new Object();
var event_pointer = 0;
var web_store = new Array();

function validate(form,is_admin,user_id){
    //if (is_admin && form.fullname.value && form.fullname.value.indexOf(' ') == -1){
            
    if (is_admin && (form.fullname.value || form.phone.value || form.email.value)){
    	request = new Ajax.Updater(
            'cart',
    		ajax_server,
    		{
    			method: 'get',
    			parameters: 'task=event_auto_user_fill&size=full&fullname=' + form.fullname.value + '&phone=' + form.phone.value + '&email=' + form.email.value,
    			onComplete: function(transport,data){
                    //var data = (json) ? json : transport.responseText.evalJSON();
                    if (data.error) {
                        if (data.error == 1)
                            message = "Ikke registrert.\n";
                        else if (data.error == 2)
                            message = data.hits + " mulige er registrert.\n";
                        else if (data.error == 3)
                            message = data.email + " er ikke en gyldig e-postadresse.\n";
                    } else {
                        message = "";
                    }
                    if (data.error < 3 && data.fullname && (data.phone || data.email)){
                        if (confirm(message + 'Melde på ' + data.fullname + '? ' + (data.error ? '' : (data.member_mode ? '(medlem)' : '(ikke medlem)')))) {
                            form.user_id.value = data.user_id;
                            form.fullname.value = data.fullname;
                            form.phone.value = data.phone;
                            form.email.value = data.email;
                        	finish = new Ajax.Request(
                        		ajax_server,
                        		{
                        			method: 'get',
                        			parameters: 'task=event_auto_finish_order&user_id=' + data.user_id + '&fullname=' + data.fullname + '&phone=' + data.phone + '&email=' + data.email,
                        			onComplete: function(transport,data){
                        			     return true;
                        			}
                        		}
                        	)                                
     	                    new Effect.Pulsate('cart',{ duration: 5 });
                            document.location = form.url.value;                                        
                        }
                    } else {
                        alert (message + 'Du må oppgi mer informasjon.');
                    }
    			}
    		}
    	)
        return false;
    } else if (!form.fullname.value || !form.phone.value || !form.email.value){
        alert('Fyll inn navn, telefon og e-post');
        return false;
    } else if (form.user_id.value == 0){
        if (!confirm ("Registrerte brukere og medlemmer bør logge seg inn først.\n\nPåmeldingen vil føre til at en ny brukerkonto blir laget. Ytterligere informasjon blir sendt til den angitte e-postadressen. \n\nVil du fortsette?")){
            return false;
        }
    }
}

function choose_event(id,product){
    event_pointer = id;
    cart_holder = document.getElementById('cart_holder_' + id);
    web_store[product] = 'web_store_' + id;
	new Effect.Appear(web_store[product],{ duration: 0.5 });
    var startTime = new Date().getTime(); // get the current time
    while (new Date().getTime() < startTime + 300); // hog cpu
    product_reserve_inc(product);
}

function product_reserve_inc(id){
	obj = getIT('order_'+id);
	if (obj){
		if (obj.value == '')
			obj.value = 1;
		else if (isNaN(obj.value))
			obj.value = 0;
		product_reserve_check(obj);
	}
}

function product_reserve_check(obj,balance){
	obj = getIT(obj);
	//alert(obj.name);
	ID = obj.name.split('_');
	if (obj.type == 'checkbox'){
		if (obj.checked)
			adjust = 1;
		else
			adjust = 0;
		if (balance){
			cb = getIT('cb_'+balance);
			cb.checked = (cb.checked) ? false : true;
		}

		if (ID[0] == 'cart'){ // kryss i handlevogn er fjernet. oppdater produktfeltet
			box = $('cb_'+ID[1]);
			if (box){
				box.checked = false ;
			} else {
				order = $('order_'+ID[1]);
				if (order) {
					order.value = '';
				}
			}
            if (web_store[ID[1]] && document.getElementById(web_store[ID[1]])){
                // varen innebærer deltagelse på et evenement. fjern relevante tilleggsbestillinger
                form = document.getElementById(web_store[ID[1]]).elements;
                for (i = 0; i < form.length; i++){
                    if (form[i].type == 'checkbox'){
                        form[i].checked = false;
                    }
                }
                // skjul påmeldingsskjemaet
            	new Effect.Fade(web_store[ID[1]],{ duration: 0.5 });
            }
		}
	} else if (obj.type == 'radio'){
	   // hva har jeg tenkt på her???
        namez = obj.elements;
        alert(namez)
        for (i = 0; i < namez.length; i++){
            alert(namez[i].id);
        }
        adjust = 1;
	} else {
		if (obj.value && !isNaN(obj.value))
			adjust = obj.value;
		else
			adjust = 0;
	}
	if (page == 'Salg.php' || page == 'Kontingent.php')
		var url = 'task=product_reserve_check&id='+ID[1]+'&adjust='+adjust+((balance)?'&balance='+balance:'')+'&size=full&verbal=1';
    else if (page ==  'Eks_moe.php') 
    {
		var url = 'task=product_reserve_check&id='+ID[1]+'&adjust='+adjust+((balance)?'&balance='+balance:'')+'&size=full&event='+ event_pointer;
        event_pointer = 0;        
    	coors = findPos(cart_holder,-750,-150);
    	var x = document.getElementById('cart');
    	x.style.top = coors[1];
    	x.style.left = coors[0];
    	new Effect.Appear('cart',{ duration: 0.5 });
    } else
		var url = 'task=product_reserve_check&id='+ID[1]+'&adjust='+adjust+((balance)?'&balance='+balance:'')+'&size=small';

	order_update('cart',url);    
}

function order_update(div_id,url){
	request = new Ajax.Updater(
		div_id,
		ajax_server,
		{
			method: 'get',
			parameters: url,
			onComplete: function(transport,json){
				if (json!=null){
					for(var i in json){					   
                        if (document.getElementById(i)){
		                  $(i).update(json[i]);
                        }
					}
        		}
			}
		}
	)
}
