﻿function CheckEnter(event, id)
{
	if(window.event) event = window.event;
	switch(event.keyCode ? event.keyCode: event.which)
	{
		case 13:
			var el = document.getElementById(id);
			if(el.onclick) el.onclick();
			if(el.href) eval(unescape(el.href));
		break;
	}
}

function img_OnMouseOver(img)
{
	var index = img.src.lastIndexOf(".");
	if(index != -1)
	{
		img.src = img.src.substring(0, index) + ".over" + img.src.substring(index);
	}
}
function img_OnMouseOut(img)
{
	var index = img.src.lastIndexOf(".over.");
	if(index != -1)
	{
		img.src = img.src.substring(0, index) + img.src.substring(index+5);
	}
}
function img_HandleOver()
{
	var images = document.getElementsByName("over");
	alert(images.length);
	for(var i = 0; i < images.length; i++)
	{
		images[i].attributes["onMouseOver"] = "img_OnMouseOver(this)";
		images[i].onMouseOut = "img_OnMouseOut(this)";
	}
}

function $ID(id)
{
	return document.getElementById(id);
}
function $Attribute(tag, attribute, value)
{
	var elements = document.getElementsByTagName(tag);
	for(var i = 0; i < elements.length; i++)
	{
		if(elements[i].attributes[attribute] != undefined)
		{
			if(elements[i].attributes[attribute].value == value)
			{
				return elements[i];
			}
		}
	}
	return null;
}

if(typeof Array.prototype.indexOf == "undefined")
{
	Array.prototype.indexOf = function(value)
	{
		for(var i = 0; i < this.length; i++)
		{
			if(this[i] == value) return i;
		}
		return -1;
	}
}
Array.prototype.add = function(value)
{
	this.push(value);

	return this;
}
Array.prototype.remove = function(value)
{
	var index = this.indexOf(value);
	if(index != -1)
	{
		this.splice(index, 1);
	}

	return this;
}

String.prototype.toArray = function(splitter)
{
	return this == ""? new Array(): this.split(splitter);
}

function CheckValue(i, hfValuesID, elementIDTemplate, n)
{
	var hfValues = document.getElementById(hfValuesID);
	var values = hfValues.value.toArray("|");

	if(i != null)
	{
		var element = document.getElementById(elementIDTemplate+i);
		var value = element.attributes["value"].value;
		if(values.indexOf(value) == -1)
		{
			element.className = element.className.toArray(" ").remove("disabled").join(" ");
			values.push(value);
		}
		else
		{
			element.className = element.className.toArray(" ").add("disabled").join(" ");
			values.remove(value);
		}
		hfValues.value = values.join("|");
	}
	else
	{
		for(var i = 0; i < n; i++)
		{
			var element = document.getElementById(elementIDTemplate+i);
			var value = element.attributes["value"].value;
			if(values.indexOf(value) == -1)
			{
				element.className = element.className.toArray(" ").add("disabled").join(" ");
			}
		}
	}
}
function SetValue(element, hfValuesID)
{
	var hfValues = document.getElementById(hfValuesID);
	var values = hfValues.value.toArray("|");

	var value = element.attributes["value"].value;
	if (values.indexOf(value) == -1)
	{
		element.className = element.className.toArray(" ").remove("disabled").join(" ");
		values.push(value);
		hfValues.value = values.join("|");
	}
}

var popup = null;
function ShowImage(src)
{
	if(!popup)
	{
		var parent = document.getElementsByTagName("body")[0];

		popup = document.createElement("div");
		parent.appendChild(popup);
		var image = document.createElement("img");
		popup.appendChild(image);
		var input = document.createElement("input");
		input.setAttribute("type", "text");
		input.onblur = function(){ popup.style.display = "none"; };
		popup.appendChild(input);

		popup.className = "popup";
		image.onload = function()
		{
			popup.style.display = "block";
			popup.style.marginLeft = -(this.width/2) + "px";
			popup.style.top = (window.screen.availHeight - this.height)/2 - 50 + "px";
			popup.getElementsByTagName("input")[0].focus();
		};
		image.onclick = function(){ popup.style.display = "none"; };
	}
	popup.getElementsByTagName("img")[0].src = src;

	return false;
}

function ShowHideMenu(id)
{
	var obj = $ID(id);
	if(obj)
	{
		obj.style.display = (obj.style.display == "none")? "block": "none";
		return false;
	}
	else
	{
		return true;
	}
}
