/*function $(id) {
    return document.getElementById(id);
}*/

function createElementWithClassName(type, class_name) {
    var el = document.createElement(type);
    el.className = class_name;
    return el;
}

function createLink(click_handler, val) {
    var link = document.createElement('a');
    with (link) {
        onclick = click_handler;
        href = '#';
        appendChild(document.createTextNode(val));
    }
    return link;
}

function createButton(click_handler, val) {
    var button = document.createElement('input');
    with (button) {
        type = 'button';
        value = val;
        onclick = click_handler;
    }
    return button;
}

function toggle(el) {
    el.style.display = (el.style.display == 'none') ? '' : 'none';
}

function addEvent(el, type, fn) {
    if (el.addEventListener) {
        el.addEventListener(type, fn, false);
    } else if (el.attachEvent) {
        el.attachEvent('on' + type, fn);
    } else {
        el['on' + type] = fn;
    }
}

function removeEvent(el, type, fn) {
    if (el.detachEvent) {
        el.detachEvent('on' + type, fn);
    } else {
        el.removeEventListener(type, fn, false);
    }
}

function addLoadEvent(fn) {
    var load = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = fn;
    } else {
        window.onload = function() {
            load();
            fn();
        }
    }
}

function addClass(el, class_name) {
    el.className = (el.className) ? el.className + ' ' + class_name : class_name;
}

function removeClass(el, class_name) {
    el.className = el.className.replace(' ' + class_name, '');
    el.className = el.className.replace(class_name, '');
}

function getElementsByClass(class_list, parent_node) {
    var parent_node = parent_node || document;
    var list = parent_node.getElementsByTagName('*');
    var classes = class_list.split(/\s+/);
    var result = [], i, j;
    for (i = 0; i < list.length; i ++) {
        for (j = 0; j < classes.length; j++)  {
            if (list[i].className.search('\\b' + classes[j] + '\\b') != -1) {
                result.push(list[i]);
                break;
            }
        }
    }
    return result;
}

function insertAfter(parent_node, new_node, reference_node) {
      parent_node.insertBefore(new_node, reference_node.nextSibling);
}

function trim(str) {
    return str.replace(/(^\s+)|(\s+$)/g, '')
}

function isNotEmpty(str) {
    return (trim(str)) ? true : false;
}

function switchOfContent(id) {
	id = 'of_content' + id;
	var show_cont = document.getElementById(id);
	show_cont.style.display = show_cont.style.display ? 'block' : '';
	var list_conts = getElementsByClass('of_content', document.getElementById('of_contents_cont'));
	for (var i = 0, ln = list_conts.length; i < ln; i ++) {
		if (list_conts[i].id != id) {
			list_conts[i].style.display = 'none';
		}
	}
}

function emulatePlaceholder(el, default_val) {
	el.value = (el.value == default_val) ? '' :
					(isNotEmpty(el.value) ? el.value : default_val);
}

function switchBoxes(id) {
	id = 'box' + id;
	$('#' + id).toggle("slow");
}

function iApple() {
	if (navigator.userAgent.match(/(iPad|iPod|iPhone)/i)) {
		return true;
	}
	return false;
}

function preloadImg() {
   for(var i = 0; i < arguments.length; i ++) {
	  var img = new Image();
	  img.src = arguments[i];
   }
}

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() : '') + 
    ((path) ? ';path=' + path : '') + 
    ((domain) ? ';domain=' + domain : '') +
    ((secure) ? ';secure' : '');
}

function disclaimerAccept() {
	var disclaimer = document.getElementById('disclaimer');
	setCookie('disclaimer_accept', 1, 730);
	disclaimer.style.display = 'none';
	return false;
}
