//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?(searchClass(el,class_name)?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+' ','');el.className=el.className.replace(class_name,'');}
function toggleClass(el,class_name){if(searchClass(el,class_name)){removeClass(el,class_name);}else{addClass(el,class_name);}}
function searchClass(el,class_name){return(el.className.search('\\b'+class_name+'\\b')==-1)?false:true;}
function inObject(el,obj){for(var key in obj){if(el==obj[key])return true;}
return false;}
function inArray(el,arr){for(var key in arr){if(el==arr[key])return true;}
return false;}
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(searchClass(list[i],classes[j])){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 empty(str){return!trim(str)?true:false;}
function isEmail(str){var regexp=/^[\w\-\.]{2,}@[0-9a-z\-]{2,}\.[a-z]{2,4}(\.[a-z]{2,4})?$/i;return regexp.exec(str);}
function isUrl(str){var regexp=/^((ftp|http(s)?):\/\/){1}(www\.)?[0-9a-z\-]{2,}\.[a-z]{2,4}(\.[a-z]{2,4})?.*$/i;return regexp.exec(str);}
function isUin(str){var regexp=/^[0-9]{4,11}$/i;return regexp.exec(str);}
function isSkype(str){var regexp=/^[a-z]{1}[\S]{5,31}$/i;return regexp.exec(str);}
function stripTags(str){return str.replace(/\<[^\<\>]+?\>/ig,'');}
function locationTm(location,tm){setTimeout(function(){window.location.href=location},tm||2000);}


var mtm = 0;

function switchMenu(id, item) {
	clearTimeoutMenu();
	var menu = document.getElementById('menu');
	var mblocks = getElementsByClass('block', menu);
	for (var i = 0; i < mblocks.length; i ++) {
		var mblock = mblocks[i];
        var ul = mblock.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
		if (id == i) {
            // menu block width
            if (id == 3) {
                mblock.style.width = '202px';
/*                 var hello = document.getElementById('hello');
                var hello_val = stripTags(hello.innerHTML);
                if (hello_val == 'hello') {
                    // en
                    mblock.style.width = '202px';
                } else {
                    mblock.style.width = '100%';
                } */
            }
            // ul padding
            if (item.scrollHeight > 30) {
                ul.style.paddingTop = (item.scrollHeight - 30) + 'px';
            }
            removeClass(mblock, 'hide');
		} else {
            ul.style.paddingTop = '';
			addClass(mblock, 'hide');
		}
	}
}

function hideMenu(id, hide) {
	if (!hide && !mtm) {
		setTimeoutMenu(id);
	} else if (hide && mtm) {
		var menu = document.getElementById('menu');
		var mblocks = getElementsByClass('block', menu);
		var mblock = mblocks[id];
		addClass(mblock, 'hide');
        // default width
        mblock.style.width = '';
		clearTimeoutMenu();
	}
}

function setTimeoutMenu(id) {
	mtm = setTimeout(function(){hideMenu(id, true)}, 100);
}

function clearTimeoutMenu() {
	if (mtm) {
		clearTimeout(mtm);
		mtm = 0;
	}
}

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

function previewImg(n, src) {
	var img_big = document.getElementById('img_big').getElementsByTagName('img')[0];
	// show dots only for first image
	var show_dots = (n == 1) ? true : false;
	img_big.setAttribute('src', '/uploads/products/640x440/' + src);
	displayProductDots(show_dots);
	return false;
}

function displayProductDots(show) {
	var dots = getElementsByClass('dot', document.getElementById('img_big'));
	for (var i = 0; i < dots.length; i ++) {
		var d = dots[i];
		if (show) {
			removeClass(d, 'hide');
		} else {
			addClass(d, 'hide');
		}
	}
}

function showProductPopup(n) {
	var popup = document.getElementById('product_img_popup');
	var contents = popup.getElementsByTagName('div');
	for (var i = 0; i < contents.length; i ++) {
		var c = contents[i];
		c.style.display = (i == n) ? 'block' : 'none';
	}
	popup.style.display = 'block';
}

function hideProductPopup() {
	var popup = document.getElementById('product_img_popup');
	popup.style.display = 'none';
}

function stockistsSearch(form_id, input_id, placeholder) {
	var input = document.getElementById(input_id);
	var query = trim(input.value);
	if (!empty(query) && query != placeholder) {
		var form = document.getElementById(form_id);
		form.submit();
		return true;
	}
	input.select();
	input.focus();
	return false;
}

function fSearch() {
	var form = document.getElementById('fsearch');
	var input = form.getElementsByTagName('input')[0];
	var query = trim(input.value);
	if (!empty(query) && query != 'Search Site') {
		form.submit();
		return true;
	}
	input.select();
	input.focus();
	return false;
}

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