String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
function basketChangeCount(form,item_id){
	var reg=new RegExp("^([0-9]+)$");
	var count=eval('form.count'+item_id+'.value');
	if(reg.test(count)){
		form.act.value='change_count';
		form.item_id.value=item_id;
		form.new_count.value=count;
		return true;
	}
	else{
		alert('Numbers Only !!!');
		return false;
	}
	return false;
}

function BackBasket(form){
	form.act.value="back";
	return true;
}
function goClientDetails(form){
	if(parseInt(form.item_count.value)>0){
		form.action="/winkelwagen/details/";
		return true;
	}
	else{
		alert("Empty basket !!! \nPlease select product first.");
		return false;	
	}
}
function getInfoFromDB(form){
	if(checkForm(form)){
		form.act.value="fill_client_info";
		return true;
	}
	return false;
}
function checkClientInfo(form){
	if(checkForm(form)){
		form.action="/winkelwagen/payment/";
		form.act.value="get_info";
		return true;
	}	
	return false;
}
function productSearch(form){
	if(form.search.value.trim()!=''){
		form.search.value=form.search.value.replace(/\?/,',');
		form.search.value=form.search.value.replace(/\&/,',');
		form.action='/consumenten/search:'+form.search.value+'/';
		return true;	
	}
	return false;
}

function submitOnEterKey(src,e){
  var keynum;
  if(window.event){     // IE
    keynum=e.keyCode;
  } else if(e.which){ // Netscape/Firefox/Opera
    keynum = e.which;
  }
  if (keynum == 13) {
    return productSearch(src.form);
  }
}
function checkCommentInfo(form,link){
	if(checkForm(form)){
		form.action=link+"addComment/";
		form.act.value="addComment";
		return true;
	}	
	return false;
}
function backFeedback(link){
	location.href=link;
	return false;
}
function checkForm(f){
    var errors='';
    var groupsV=new Array();
    var groups=new Array();
    var n=f.length;

    for(i=0;i<n;i++){
        if(f.elements[i].name!=''){
            if(f.elements[i].getAttribute('required') && f.elements[i].disabled==false){
                if(f.elements[i].type=='checkbox' || f.elements[i].type=='radio'){
                    if(f.elements[i].checked==false){                        
											errors+='Don\'t checked ' + f.elements[i].title +'\n';
						        }
                }
                else
                {
                    if(f.elements[i].value.trim()==''){
                       errors+='Field ' + f.elements[i].title +' is required\n';
                    }else if(f.elements[i].getAttribute('pattern')=='email'){
											var email = /\w+@[a-zA-Z_0-9]+?\.[a-zA-Z]{2,6}/;
											if(!email.test(f.elements[i].value.trim())){
												errors+='Wrong email format!!!';	
											}
										}
                }
            }
            else if(f.elements[i].getAttribute('reqgroup')&& f.elements[i].disabled==false){
                if(f.elements[i].type=='checkbox' || f.elements[i].type=='radio'){
                    if(!f.elements[i].checked){
                        if(groups.IndexOf(f.elements[i].getAttribute('reqgroup'))==-1){
                            groups.push(f.elements[i].getAttribute('reqgroup'));
                            groupsV.push(f.elements[i].checked);
                        }
                    }
                    else{
                        if(groups.IndexOf(f.elements[i].getAttribute('reqgroup'))==-1){
                            groups.push(f.elements[i].getAttribute('reqgroup'));
                            groupsV.push(f.elements[i].checked);
                        }
                        else{
                            var ind=groups.IndexOf(f.elements[i].getAttribute('reqgroup'));
                            groupsV[ind]=true;
                        }
                    }
                }
                else
                {
                    if(f.elements[i].value.trim()==''){
                        if(groups.IndexOf(f.elements[i].getAttribute('reqgroup'))==-1){
                            groups.push(f.elements[i].getAttribute('reqgroup'));
                            groupsV.push((f.elements[i].value.trim()!=''));
                        }
                    }
                    else{
                        if(groups.IndexOf(f.elements[i].getAttribute('reqgroup'))==-1){
                            groups.push(f.elements[i].getAttribute('reqgroup'));
                            groupsV.push((f.elements[i].value.trim()!=''));
                        }
                        else{
                            var ind=groups.indexOf(f.elements[i].getAttribute('reqgroup'));
                            groupsV[ind]=true;
                        };
                    }
                }
            }
        }
    }
    for(i=0;i<groups.length;i++){
        if(!groupsV[i]){
            errors+='Empty group '+groups[i]+'\n';
        }
    }
    if(errors!=''){
        alert(errors);
        return false;
    }
    return true;
}
