var useragent = new defineNavigatorUserAgent();

function defineNavigatorUserAgent()
{
	this.is_MSIE = this.is_OPERA = this.is_FIREFOX = this.is_CHROME = this.is_SAFARI = false;
	var useragent = navigator.userAgent.toLowerCase();

	if (useragent.indexOf("msie") > -1) {
		this.is_MSIE = true;

	} else if (useragent.indexOf("opera") > -1) {
		this.is_OPERA = true;
	
	} else if (useragent.indexOf("firefox") > -1) {
		this.is_FIREFOX = true;

	} else if (useragent.indexOf("chrome") > -1) {
		this.is_CHROME = true;

	} else if (useragent.indexOf("safari") > -1) {
		this.is_SAFARI = true;
	}
}

function setElementOpacity(obj, opacity_level)
{
	if (useragent.is_MSIE) {
		obj.style.filter = "alpha(opacity=" + opacity_level * 100 + ")";
	} else {
		obj.style.opacity = opacity_level;
	}
}

function getMouseCoords(e)
{
	var mouseX = 0, mouseY = 0;
	if (useragent.is_MSIE) {
		mouseX = event.clientX + document.documentElement.scrollLeft;
		mouseY = event.clientY + document.documentElement.scrollTop;
	} else {
		mouseX = e.pageX;
		mouseY = e.pageY;
	}
	return {X:mouseX, Y:mouseY}
}

//ToolTip
function showToolTip(tt_text)
{
	var tooltip = document.createElement("div");
	document.body.appendChild(tooltip);
	tooltip.id = "tooltip";
	tooltip.innerHTML = tt_text;
	document.onmousemove = function(e) {
		mouseCoords = getMouseCoords(e);
		tooltip.style.left = mouseCoords.X + 10 + "px";
		tooltip.style.top = mouseCoords.Y - 50 + "px";		
	}
}

function hideToolTip()
{
	document.body.removeChild(document.getElementById("tooltip"));
}

function toggleBox(start_elem,form_obj,elem_name)
{
	var elements = form_obj.elements;
	for (i = 0; i < elements.length; i++) {
		if (elements[i].type == 'checkbox' && elements[i].name.indexOf(elem_name) != -1 && elements[i].disabled == false) {
			var elemid = document.getElementById(elements[i].name);
			elemid.checked = (start_elem.checked == true) ? true : false;
		}
	}
}

function setBoxChecked(elemid)
{
	form_elem = document.getElementById(elemid);
	if (form_elem.disabled == false) {
		form_elem.checked = (form_elem.checked == true) ? false : true;
	} else {
		form_elem.checked = false;
	}
}

function setRadioChecked(elemid)
{
	form_elem = document.getElementById(elemid);
	if (form_elem.disabled == false) {
		(form_elem.checked == true) ? '' : form_elem.checked = true;
	} else {
		form_elem.checked = false;
	}
}

function setPointer(elemid,event,color_over,color_out,color_down)
{
	var elem = document.getElementById(elemid);
	var color_cur = elem.style.backgroundColor; 
	if (!color_over	) color_over= '#efefef';
	if (!color_out	) color_out	= '#ffffff';
	if (!color_down	) color_down= '#d0ffff';

	if (color_cur.indexOf("rgb") >= 0) {
		var rgbStr = color_cur.slice(color_cur.indexOf('(') + 1,color_cur.indexOf(')'));
		var rgbValues = rgbStr.split(",");
		color_cur = '#';
		var hexChars = "0123456789abcdef";
		for (var i = 0; i < 3; i++) {
			var v = rgbValues[i].valueOf();
			color_cur += hexChars.charAt(v/16) + hexChars.charAt(v%16);
		}
	}
	if (event == 'over') {
		if (color_cur != color_down) elem.style.backgroundColor = color_over;
	} else if (event == 'out') {
		if (color_cur != color_down) elem.style.backgroundColor = color_out;
	} else if (event == 'down') {
		elem.style.backgroundColor = (color_cur == color_down) ? color_over : color_down;
	}
}

//Window popup
var popwinname	= "popupwindow";
function showWindowPopup(popupwin, win_width, win_height, lockmode)
{
	if (popupwin) {
		popupwin.style.width = win_width + "px";
		popupwin.style.height = win_height + "px";
		popupwin.style.marginLeft = parseInt(-1 * win_width / 2) + "px";
		popupwin.style.marginTop = "0px";
		popupwin.style.overflow = "hidden";
	} else {
		var popupwin = document.createElement("div");
		document.body.appendChild(popupwin);
		popupwin.style.backgroundColor = "#ffffff";
		popupwin.style.border = "5px ridge #6699ff";
		popupwin.setAttribute("id",popwinname);
	}
	popupwin.style.left = "50%";
	popupwin.style.top = "0%";
	popupwin.style.position = "fixed";

	if (lockmode) lockScreen(popupwin);
	setTimeout(function() {fadeinElement(popupwin, 1)}, 700);

	return popupwin;
}

function hideWindowPopup()
{
	if (arguments.length && arguments[0] instanceof Object) {
		fadeoutElement(arguments[0]);
	} else if (document.getElementById(popwinname)) {
		document.body.removeChild(document.getElementById(popwinname));
	}
	unlockScreen();
}

var lockerwindow = null;
function lockScreen()
{
	lockerwindow = document.createElement("div");
	document.body.appendChild(lockerwindow);

	lockerwindow.style.width = (document.documentElement.clientWidth < document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.documentElement.clientWidth) + "px";
	lockerwindow.style.height = (document.documentElement.clientHeight < document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.documentElement.clientHeight) + "px";
	lockerwindow.style.left = "0px";
	lockerwindow.style.top = "0px";
	lockerwindow.style.backgroundColor = "#000000";
	lockerwindow.style.position = "absolute";
	lockerwindow.style.zIndex = 50;

	var popupwinobj = '';
	if (arguments.length) {
		popupwinobj = arguments[0];
		popupwinobj.style.zIndex = lockerwindow.style.zIndex + 1;
	}

	fadeinElement(lockerwindow, 0.6);
	lockerwindow.onclick = function() {hideWindowPopup(popupwinobj)};

	return lockerwindow;
}

function unlockScreen()
{
	if (lockerwindow) {
		document.body.removeChild(lockerwindow);
		lockerwindow = null;
	}
}

function fadeinElement(element, max_opacity_level)
{
	if (arguments[2]) {
		var cur_opacity_level = arguments[2];
	} else {
		var cur_opacity_level = 0;
		element.style.display = "none";
	}
	if (cur_opacity_level < max_opacity_level) {
		cur_opacity_level += 0.05;
		setElementOpacity(element, cur_opacity_level);
		element.style.display = "block";
		setTimeout(function() {fadeinElement(element, max_opacity_level, cur_opacity_level)}, 10);
	}
}

function fadeoutElement(element)
{
	var cur_opacity_level = arguments[1] ? arguments[1] : element.style.opacity;
	cur_opacity_level -= 0.05;
	if (cur_opacity_level > 0) {
		setElementOpacity(element, cur_opacity_level);
		setTimeout(function() {fadeoutElement(element, cur_opacity_level)}, 30);
	} else {
		element.style.display = "none";
	}
}

function openWindow(win_name,win_file,win_width,win_height)
{
	x_pos = screen.width/2-win_width/2;
	y_pos = screen.height/2-win_height/2;
	window.open(win_file,win_name,'scrollbars=yes,status=no,resizable=no,toolbar=no,directories=no,menubar=no,left='+x_pos+',top='+y_pos+',width='+win_width+',height='+win_height);
	return true;
}

function openFullScreenWindow(win_name,win_file)
{
	x_width = screen.width-40;
	y_height = screen.height-20;
	if (x_width > 1024)
	    x_width = 1024;
	if(y_height > 768)
	    y_height = 768;
	return openWindow(win_name,win_file,x_width,y_height)
}

function filterGoodsQuickSearch(qs_categoryid)
{
	var xmlHttpReq = false;

	if (window.XMLHttpRequest) {				//Mozilla/Safari
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {			//IE
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlHttpReq.open("POST", "goodsquicksearch.php", true);
	xmlHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttpReq.onreadystatechange = function() {
		if (xmlHttpReq.readyState == 4) {
			var goodsquicksearchcollections = document.getElementById("searchcollectionsinfo");
			var goodsquicksearchsubmit = document.getElementById("goodsqsb");

			if (qs_categoryid > 0 && xmlHttpReq.responseText) {
				goodsquicksearchcollections.innerHTML = xmlHttpReq.responseText;
				goodsquicksearchsubmit.disabled = false;
				goodsquicksearchsubmit.className = "button";
			} else {
				goodsquicksearchcollections.innerHTML = '';
				var collections_empty = document.createElement("select");
				collections_empty.style.width = "160px";
				goodsquicksearchcollections.appendChild(collections_empty);
				goodsquicksearchsubmit.disabled = true;
				goodsquicksearchsubmit.className = "buttondisabled";
			}
		}
	}
	xmlHttpReq.send("qs_categoryid="+qs_categoryid);
}

function showSubcategoryMenu(categoryid)
{
	var categorymenu = document.getElementById("cm"+categoryid);
	var categorysubmenu = document.getElementById("scm"+categoryid);
	if (categorysubmenu.innerHTML) {
		categorymenu.className = "leftmenu";
		categorysubmenu.innerHTML = '';
		return;
	}
	var xmlHttpReq = false;

	if (window.XMLHttpRequest) {				//Mozilla/Safari
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {			//IE
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlHttpReq.open("POST", "showcategorysubmenu.php", true);
	xmlHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttpReq.onreadystatechange = function() {
		if (xmlHttpReq.readyState == 4) {
			if (xmlHttpReq.responseText) {
				categorymenu.className = "leftmenu menu_active";
				categorysubmenu.innerHTML = xmlHttpReq.responseText;
			} else {
				window.location.href = document.getElementById("clink"+categoryid).href;
			}
		}
	}
	xmlHttpReq.send("categoryid="+categoryid);
}

