function toggleBlock(block_id, link) {
    if ($(block_id).style.display == 'none') {
        $(block_id).style.display = '';
        if (link) {
            link.parentNode.className = 'block_switch_active';
        }
    } else {
        $(block_id).style.display = 'none';
        if (link) {
            link.parentNode.className = 'block_switch';
        }
    }
    return false;
}


function toggleDropDown(drop_down_id) {
    $(drop_down_id).style.display = $(drop_down_id).style.display == 'none' ? '' : 'none';
    return false;
}

var spaces = " \t\r\n"+String.fromCharCode(160);

function isSpaceCharacter(ch) {
  return spaces.indexOf(ch) >-1;
}

function trim(str) {
   var s = new String(str);

   while (s.length>0 && isSpaceCharacter("" + s.charAt(s.length-1))) {
     s = s.substring(0,s.length-1);
   }

   while (s.length>0 && isSpaceCharacter(""+s.charAt(0))){
     s = s.substring(1);
   }

   return s
}



function isEmpty(elem){
  return trim(elem.value).length==0;
}

getFormData = function(form){
    var data = new Array();

    if (form) {
        for (var i in form.elements) {
            try{
            var formItem = form.elements[i];
            }
            catch(e)
            {
            }
            if (formItem) {
                if (formItem.tagName && formItem.name && !formItem.disabled) { // Got a single form item
                    switch (formItem.tagName) {
                        case "INPUT":
                            switch (formItem.type) {
                                case "radio":
                                    if (formItem.checked) {
                                        data.push(formItem.name+'='+escape(formItem.value));
                                        break;
                                    }
                                break;
                                case "checkbox":
                                    if (formItem.checked) {
                                        var val = formItem.value;
                                        data.push(formItem.name+'='+escape(val));
                                    }
                                    else
                                    {
                                        data.push(formItem.name+'=');
                                    }
                                    break;
                                case "textbox":
                                case "text":
                                case "hidden":
                                case "password":
                                    data.push(formItem.name+'='+escape(formItem.value));
                                    break;
                            }
                            break;
                        case "TEXTAREA":
                            data.push(formItem.name+'='+escape(formItem.value));
                            break;
                        case "SELECT":
                                if(!formItem.multiple)
                                {
                                    data.push(formItem.name+'='+escape(formItem.value));
                                    break;
                                }
                                var val = [];
                                for (var x=0;x<formItem.options.length;x++)
                                {
                                    var option = formItem.options[x];
                                    if (option.selected) {
                                        var selval = option.value;
                                        if (! selval || selval === "") {
                                            selval = option.text;
                                        }
                                        val.push(selval);
                                    }
                                }

                                for (var x=0;x<val.length;x++) {
                                    data.push(formItem.name+'[]='+escape(val[x]));
                                }
                                break;
                    }
                } else if (formItem[0] && formItem[0].tagName && formItem[0].name) { // this is an array of form items
                    switch (formItem[0].tagName) {
                        case "INPUT" :
                            switch (formItem[0].type) {
                                case "radio":
                                    for (var r=0; r<formItem.length; r++) {
                                        var radio = formItem[r];
                                        if (radio.checked) {
                                            data.push(radio.name+'='+escape(radio.value));
                                            break;
                                        }
                                    }
                                    break;
                                case "checkbox":
                                    var cbArray = [];
                                    for (var c=0; c<formItem.length; c++) {
                                        var check = formItem[c];
                                        if (check.checked) {
                                            cbArray[cbArray.length] = check.value;
                                        }
                                    }

                                    for (var x=0;x<cbArray.length;x++) {
                                        data.push(formItem[0].name+'='+escape(cbArray[x]));
                                    }
                                    break;
                            }
                    }
                }
            }
        }
    }

    return array_unique(data);
}

function array_unique(aArray){
    var newArray = new Array();
    for (var i=0; i<aArray.length; i++) {
        if(in_array(aArray[i],newArray)){
            continue;
        }
        newArray.push(aArray[i]);
    }

    return newArray;
}

function in_array(val, arr){
    if(val && arr){
        for(var k=0;k<arr.length;k++){
            if(val == arr[k]){
                return true;
            }
        }
    }
    return false;
}
