function checkAll(formName, status) {

    var els = document.forms[formName].elements;

    for (i = 0; i < els.length; i++) {

        if (els[i].type == "checkbox" && /cb_([\w]+_)?delete\[[^\]]+\]/.test(els[i].name)) {

            els[i].checked = status ? true : false;

        }

    }



}



function deleteChecked(formName, is_delete, del_add_msg) {



    var els   = document.forms[formName].elements;

    var count = 0;



    for (i = 0; i < els.length; i++) {

        if (els[i].type == "checkbox" && els[i].checked && /cb_([\w]+_)?delete\[[^\]]+\]/.test(els[i].name)) {

            count++;

        }

    }



    if (count == 0) {

        alert("Please choose at least one record");

    } else {



        if (deleteConfirm(count, is_delete, del_add_msg)) {

            document.forms[formName].submit();

        }

    }



    return false;

}



function verifyForDelete(formName, is_delete, del_add_msg) {

    var els   = document.forms[formName].elements;

    var count = 0;



    for (i = 0; i < els.length; i++) {

        if (els[i].type == "checkbox" && els[i].checked && /cb_([\w]+_)?delete\[[^\]]+\]/.test(els[i].name)) {

            count++;

        }

    }



    if (count > 0) {

        if (deleteConfirm(count, is_delete, del_add_msg)) {

            document.forms[formName].submit();

        }

    } else {

        document.forms[formName].submit();

    }



    return false;

}



function deleteConfirm(count, is_delete, del_add_msg) {

    msg 	= count + ' ' + getCountWord(count, 'a record', 'records', 'records');

    msg2 	= is_delete ? 'delete' : 'archive';

    msg3	= del_add_msg ? '\n' + del_add_msg : '';

	if(count == null) {

		return confirm('Do you realy want to delete a record?');

	}

    return confirm('Do you realy want to ' + msg2 + ' ' + msg + '?' + msg3);

}



function saveForm(formName, mode) {

	if (mode) {

	    if (mode == 'add') {

	        document.forms[formName].return_to.value = "@new";

	    } else if (mode == 'refresh') {

	        document.forms[formName].refresh.value = "1";

        }

    }

    document.forms[formName].submit();

    return false;

}



// Set flag if block changes



function blockChanged(formName, blockName, i) {



	var f = document.forms[formName][blockName + '_updated[' + i + ']'];

	f.value = 1;

}



// Reset Image Delete Flag

function resetFileDel(formName, blockName, fieldName, i) {

	if (isFinite(i)) {

		var f = document.forms[formName][blockName + '_' + fieldName + '_del[' + i +']'];

		//alert(blockName + '_' + fieldName + '_del[' + i +']');

	} else {

		var f = document.forms[formName][blockName + '_' + fieldName + '_del'];

	}



	f.checked = false;

}



function resetImageDel(formName, blockName, fieldName, i) {

	resetFileDel(formName, blockName, fieldName, i)

}



function getCountWord(count, form1, form2, form3) {

	var last_digit = count % 10;



	if (count >= 11 && count <= 19 || last_digit >= 5 && last_digit <=9 || last_digit == 0) {

		return form3;

	} else if (last_digit >= 2 && last_digit <= 4) {

		return form2;

	} else if (last_digit == 1) {

		return form1;

	}

}



function toggle(obj) {

	var el = $(obj);

	if ( el.style.display != 'none' ) {

		el.style.display = 'none';

	}

	else {

		el.style.display = '';

	}

}



function $() {

	var elements = new Array();

	for (var i = 0; i < arguments.length; i++) {

		var element = arguments[i];

		if (typeof element == 'string')

			element = document.getElementById(element);

		if (arguments.length == 1)

			return element;

		elements.push(element);

	}

	return elements;

}



function getCookie( name ) {

	var start = document.cookie.indexOf( name + "=" );

	var len = start + name.length + 1;

	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {

		return null;

	}

	if ( start == -1 ) return null;

	var end = document.cookie.indexOf( ';', len );

	if ( end == -1 ) end = document.cookie.length;

	return unescape( document.cookie.substring( len, end ) );

}



function setCookie( name, value, expires, path, domain, secure ) {

	var today = new Date();

	today.setTime( today.getTime() );

	if ( expires ) {

		expires = expires * 1000 * 60 * 60 * 24;

	}

	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name+'='+escape( value ) +

		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()

		( ( path ) ? ';path=' + path : '' ) +

		( ( domain ) ? ';domain=' + domain : '' ) +

		( ( secure ) ? ';secure' : '' );

}



function deleteCookie( name, path, domain ) {

	if ( getCookie( name ) ) document.cookie = name + '=' +

			( ( path ) ? ';path=' + path : '') +

			( ( domain ) ? ';domain=' + domain : '' ) +

			';expires=Thu, 01-Jan-1970 00:00:01 GMT';

}



/**

 *	id - id of select

 *	site_methods - input arr

 *	def_val - last selected value

 */

function create_list(id, site_methods, def_val){

	var o = $(id);

	o.length = 0;



	for(i in site_methods) {

		if(typeof site_methods[i]['items'] == 'object'){

			var el   = document.createElement("OPTGROUP");

			el.label = site_methods[i]['name'];

			for(f1 in site_methods[i]['items']) {

				if (typeof site_methods[i]['items'][f1] != 'function') {

					var ol   = document.createElement("OPTION");

					ol.innerHTML = f1;

					ol.value  = site_methods[i]['items'][f1];

					if(ol.value == def_val) {

						ol.selected = 'selected';

					}

					el.appendChild(ol);

				}

			}

			o.appendChild(el);

		} else {

			if (typeof site_methods[i] != 'function') {

				var ol   = document.createElement("OPTION");

				ol.innerHTML = site_methods[i]['name'];

				ol.value  = site_methods[i]['items'];

				if(ol.value == def_val) {

					ol.selected = 'selected';

				}

				o.appendChild(ol);

			}

		}

	}

};



/** Open | close help pad */



function collapse(id){

	$(id).style.display = $(id).style.display == 'block' ? 'none' : 'block';

}



function add_other_field(obj, expand, control) {

	if(obj.value == -1) {

		$(expand).style.display = '';

//		$(control).style.width = obj.clientWidth + "px";

	} else {

		$(expand).style.display = 'none';

	}

}



function read_more(obj) {

	document.getElementById(obj).style.display = 'none';

	document.getElementById(obj + '_rest').style.display = '';

	return false;

}
