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 previewImg(t, n) {
	var li = t.parentNode, idx = li.getAttribute('jcarouselindex');
	var src_big = getBigImgPath(t.src);
	var cur = document.getElementById('cur');
	cur.innerHTML = n;
	previewImgBig(src_big, t.alt, idx);
}

function previewImgBig(src, alt, idx) {
	var img_big = document.getElementById('img').getElementsByTagName('img')[0];
	img_big.setAttribute('src', src);
	img_big.setAttribute('alt', alt);
	img_big.setAttribute('jcarouselindex', idx);
}

function previewPrevImg() {
	var img_big = document.getElementById('img').getElementsByTagName('img')[0];
	var idx = img_big.getAttribute('jcarouselindex');
	if (idx == 1) return;
	var cur = document.getElementById('cur');
	var curv = parseInt(cur.innerHTML);
	idx --;
	if (idx % 4 == false) $('.jcarousel-prev').trigger('click');
	var prev_img = getImgDataByIdx(idx);
	previewImgBig(prev_img.src, prev_img.alt, idx);
	cur.innerHTML = -- curv;
}

function previewNextImg() {
	var img_big = document.getElementById('img').getElementsByTagName('img')[0];
	var list = document.getElementById('mycarousel').getElementsByTagName('li');
	var idx = img_big.getAttribute('jcarouselindex');
	if (idx == list.length) return;
	var cur = document.getElementById('cur');
	var curv = parseInt(cur.innerHTML);
	idx ++;
	if (idx % 5 == false) $('.jcarousel-next').trigger('click');
	var next_img = getImgDataByIdx(idx);
	previewImgBig(next_img.src, next_img.alt, idx);
	cur.innerHTML = ++ curv;
}

function getImgDataByIdx(idx) {
	var list = document.getElementById('mycarousel').getElementsByTagName('li');
	for (var i = 0; i < list.length; i ++) {
		var li = list[i];
		var _idx = li.getAttribute('jcarouselindex');
		if (idx == _idx) {
			var img = li.getElementsByTagName('img')[0];
			var src = getBigImgPath(img.getAttribute('src'));
			var alt = img.getAttribute('alt')
			return {'src':src, 'alt':alt};
		}
	}
	return false;
}

function getBigImgPath(small_path) {
	return small_path.replace('small/', '');
}

function toggleDropDown(dd) {
	dd.style.display = (dd.style.display == 'none') ? 'block' : 'none';
}
