function switch_lang(from, to){
	var url_curr = window.location.href.toLowerCase();
	var parts = new Array();
	parts = url_curr.split('/' + from.toLowerCase() + '/');
	var url_switch = parts.join('/' + to.toLowerCase() + '/');
	if(url_curr == url_switch) return;
	window.location.href = url_switch;
	return false;
}

function check_regex(input,typ){
    if(!input) return false;
    switch(typ){
        case "date_dd":
            if(input<1||input>31) return false;
            break;
        case "date_mm":
            if(input<1||input>12) return false;
            break;
        case "date_yyyy":
            if(input<1000||input>9999) return false;
            break;
        case "mail":
            val=/\w.+@\w.+\.\w.+/;
            if(!val.test(input)) return false;
            break;
        case "num":
            val=/\D/;
            if(val.test(input)) return false;
            break;
        default:
            return false;
            break;
        }
    return true;
}

function trim(str){
    if(str.length == 0) return str;
    while(str.charCodeAt(0) < 33 || str.charCodeAt(0) > 126) str = str.substring(1);
    if(str.length == 0) return str;
    while(str.charCodeAt(str.length-1) < 33 || str.charCodeAt(str.length-1) > 126) str = str.substring(0,str.length-1);
    return str;
}

var default_minlen = 1;
function checkForm(fid, minlength){
    var minlen = (!minlength || minlength == undefined) ? default_minlen : minlength;
    var form_elements = $$('form#' + fid + ' .mandatory');
    var success = true;
    for(var f=0; f<form_elements.length; f++){
        switch(form_elements[f].nodeName.toLowerCase()){
            case 'input':
                if(form_elements[f].hasClass('mail') && !check_regex(form_elements[f].value, 'mail')){
                    success = false;
                    form_elements[f].setStyle('background-color', '#f95e5e');
                }else if(form_elements[f].hasClass('checkbox')){
                    var labels = $$('form#' + fid + ' label');
                    if(!form_elements[f].checked){
                        success = false;
                        for(var l=0; l<labels.length; l++){
                            if(labels[l].getProperty('for') == form_elements[f].getProperty('id')){
                                labels[l].setStyle('background-color', '#f95e5e');
                            }
                        }
                    }else{
                        for(var l=0; l<labels.length; l++){
                            if(labels[l].getProperty('for') == form_elements[f].getProperty('id')){
                                labels[l].setStyle('background', '#fff');
                            }
                        }
                    }
                }else if(form_elements[f].hasClass('number') && (!check_regex(form_elements[f].value, 'num') || trim(form_elements[f].value).length < 1)){
                    success = false;
                    form_elements[f].setStyle('background-color', '#f95e5e');
                }else if(!form_elements[f].hasClass('checkbox') && !form_elements[f].hasClass('number') && trim(form_elements[f].value).length < minlen){
                    success = false;
                    form_elements[f].setStyle('background-color', '#f95e5e');
                }else{
                    form_elements[f].setStyle('background-color', '#fff');
                }
                break;
            case 'textarea':
                if(trim(form_elements[f].value).length < minlen){
                    success = false;
                    form_elements[f].setStyle('background-color', '#f95e5e');
                }else{
                    form_elements[f].setStyle('background-color', '#fff');
                }
                break;
            case 'select':
                if(parseInt(form_elements[f].value, 10) == 0){
                    success = false;
                    form_elements[f].setStyle('background-color', '#f95e5e');
                }else{
                    form_elements[f].setStyle('background-color', '#fff');
                }
                break;
            default:
                alert('Unknown input-type ' + form_elements[f].nodeName.toLowerCase());
                break;
        }
    }
    return success;
}

if(navigator.appName == "Microsoft Internet Explorer"){
	document.writeln('<link href="../assets/explorer.css" type="text/css" rel="stylesheet" />');
}