// *****************************************************************************
// ********  ADD EVENT LISTENERS   									  ******
// ********  Use: addEventCrossBrowser(object, event, function)  		  ******
// *****************************************************************************
function addEventCrossBrowser(obj,evt,fn) 
{
	if(obj.addEventListener) 
		{ obj.addEventListener(evt,fn,false); }
	else if(obj.attachEvent) 
		{ obj.attachEvent('on'+evt,fn); }
	else 
		{ return false; }
}


// *****************************************************************************
// ****************  REMOVE EVENT LISTENERS  			*************************
// *****************************************************************************
function removeEventCrossBrowser(obj,evt,fn) 
{
	if(obj.removeEventListener) 
		{ obj.removeEventListener(evt,fn,false); }
	else if(obj.detachEvent) 
		{ obj.detachEvent('on'+evt,fn); }
	else 
		{ return false; }
}


// *****************************************************************************
// ****************  $() = document.getElementById()   *************************
// *****************************************************************************
function $() 
{ 
	var elements = new Array();
	
	for(var i=0; i < arguments.length; i++)
	{
		var element = arguments[i];
		
		if(typeof element == 'string') element = document.getElementById(element);
		if(arguments.length == 1) return element;
		elements.push(element);
	}
	return elements;
}


// *****************************************************************************
// *****************  CLEAR DEFAULT TEXT ON INPUT FOCUS  ***********************
// *****************************************************************************
function clearDefaultInput()
{
	var inputs = document.getElementsByTagName('input');
	for(var i=0; i<inputs.length; i++)
	{
		if(inputs[i].type == 'text') 
		{
			inputs[i].defaultValue = inputs[i].value;		
			inputs[i].onfocus = function() 
								{ 
									if(this.defaultValue == this.value) 
									{
										this.value = ''; 
										this.style.color = '#000';
									}
								};		
			inputs[i].onblur = function() 
								{ 
									if(this.value == '') {
										this.value = this.defaultValue;
										this.style.color = '#ccc';
									}

								};									
		}
	}
}
addEventCrossBrowser(window, 'load', clearDefaultInput);


// *****************************************************************************
// **********************  GET POSITION OF OBJ  ********************************
// *****************************************************************************
function getPos(obj)
{
	var pos = {
		x: 0,
		y: 0
	};
	if(obj.offsetParent)
	{
		do{
			pos.x += obj.offsetLeft;
			pos.y += obj.offsetTop;
		} while(obj = obj.offsetParent);
	}
	return pos;
}

                    

// *****************************************************************************
// **************************  STRIPE TABLES ***********************************
// *****************************************************************************
function tableUtil() { // stripe table && left align first row
	if(!document.getElementsByTagName) return;
	if(!document.getElementsByTagName("table")) return;
	
	var tables = document.getElementsByTagName("table");
	
	for(var i=0; i<tables.length; i++) {	
		
		if(tables[i].className == 'noStripe') continue;
		
		var trs = tables[i].getElementsByTagName("tr");
		var even = false;
		
		for(var j=0; j<trs.length; j++) {					
			if(trs[j].getElementsByTagName("td")[0]) { // not th
				var tds = trs[j].getElementsByTagName("td");
				tds[0].style.textAlign = "left";
				if(even == true) {
					trs[j].style.backgroundColor = "#f5f5f5";
					even = false;
				} else even = true;
			}					
		}
		
	}
}
addEventCrossBrowser(window,"load",tableUtil);

/* ***************************************************************************** */
/* ******************* OPEN NEW WINDOW W/ HREF AS URL ************************** */
/* add attributes to class name in link i.e. class="popWin width120 scroll1" *** */
/* ***************************************************************************** */
function popWin() 
{
	var elem = document.getElementsByTagName('body')[0];	
	var as = elem.getElementsByTagName('a');

	for(var i=0; i<as.length; i++)
	{
		if(as[i].className.match('popWin'))
		{
		
			as[i].onclick = function() // new win with href
			{	
				var width = (this.className.match('width')) ? this.className.match(/width\d+/).toString().match(/\d+/) : 720;
				var height = (this.className.match('height')) ? this.className.match(/height\d+/).toString().match(/\d+/) : 500;				
				var scroll = (this.className.match('scroll')) ? this.className.match(/scroll\d+/).toString().match(/\d+/) : 'auto';
				var URL = this.href;
				
				var newWin = window.open(URL,'RU','width='+width+',height='+height+',scrollbars='+scroll);
				return false;
			}
		}
	}
}
addEventCrossBrowser(window,'load',popWin);

/* ****************************************************************************************************************************** */
/* Open larger images after clicking on thumbnails, use href for larger image src *********************************************** */
/* Give the containing element id="dynamicPop" OR individual links class="dynamicPop" ******************************************* */
/* ****************************************************************************************************************************** */
function dynamicPop() 
{
	var elem = ($('dynamicPop')) ? $('dynamicPop') : $('content'); 
	
	if(elem) var as = elem.getElementsByTagName('a');
	else return false;
	
	for(var i=0; i<as.length; i++)
	{
		if(elem.id == 'dynamicPop' || as[i].className == 'dynamicPop')
		{
			as[i].onclick = function() // create popup element with img from link href
			{		
				var div = document.createElement('div');

				var close = document.createElement('a');					
				var txt = document.createTextNode('close');
				close.appendChild(txt);	
				close.href = (document.location);
				close.div = div;									
				close.onclick = function() { 
					this.div.parentNode.removeChild(this.div); 
					return false;
				}			
				
				div.appendChild(close);	
				div.appendChild(document.createElement('br'));
				
				var img = document.createElement('img');
				img.src = this.href;
				div.appendChild(img);
				
				div.className = 'dynamicPopped';
			
				var pos = getPos(this);
				div.style.top = (pos.y-200)+'px';
				div.style.left = (pos.x-300)+'px';

				$('content').appendChild(div);
				return false;
			}
		}
	}
}
addEventCrossBrowser(window,'load',dynamicPop);