﻿function getElem(elemID)
{
   return document.getElementById(elemID);
}
function redirect(url, bNewWindow)
{
    if (bNewWindow)
    {
        window.open(url);
    }
    else
    {
        location.href = url;
    }
}

/* keyboard functionality */
function setDefaultButton(buttonID)
{
	document.onkeypress = KeyPressed;
	function KeyPressed(e)
	{
		var keyPressed = ((window.event) ? event.keyCode : e.keyCode);
		if (keyPressed == 13)
		{
			getElem(buttonID).click();
			return false;
		}
	}
}

/* error handling */
function setMessage(message, leftOffset, topOffset, e)
{
   //dynamic
    e.style.top = topOffset + 'px';
    e.style.left = leftOffset + 'px';
    e.innerHTML = message;
    e.style.display = 'block';
}
function clearMessage(timeout, e)
{
    setTimeout(function()
    {
    	e.style.display= 'none';
    	e.innerHTML = '';
    }, timeout * 1000);
}
function list(message, delim)
{
	var error = '';
	var arrError = trim(message).split(delim);
	var i = 0;
	for(i = 0; i < arrError.length; i++)
	{
		if(arrError[i].toString().length > 0)
		{
			error += '<li />' + arrError[i];
		}
	}
	error = '<ul>' + error + '</ul>';
	return error;
}


/* overlay */
function overlay(e, bDisplay, leftOffset, topOffset)
{    
    e.style.top = topOffset + 'px';
    e.style.left = leftOffset + 'px';
   	if(bDisplay)
   	{
   		e.style.display = 'block';
   	}    
   	else
   	{
   		e.style.display = 'none';
   	}
}

/* positioning */
function getElemOffset(e, offset, property)
{
    var currentOffset = 0;
    if (e.offsetParent)
    {
        do
        {
        	if(property == 'left')
        	{
            	currentOffset += e.offsetLeft;
            }
            else
            {
           		currentOffset += e.offsetTop;
            }
        }
        while (e = e.offsetParent);

        currentOffset += offset;

        return currentOffset ;
    }
}

/* url functions */
function getDomain()
{
    var domain = '';
    var url = location.href;
    var arr = url.split('/');
    var i = 0;
    for (i = 0; i < 3; i++)
    {
        domain += arr[i].toString() + '/';
    }

    return domain;
}

function getQS(url, name)
{
	var value = '0';

	var qs = "";
	try
	{
	    qs = url.split("?")[1].toString();
	}
	catch (e)
	    {
	
	}
	
	if (qs != "")
	{
	    var arrQS = qs.split('&');
	    for (var i = 0; i < arrQS.length; i++)
	    {
	        var arr = arrQS[i].toString().split('=');
	        if (arr[0].toString() == name)
	        {
	            value = arr[1].toString();
	            break;
	        }
	    }
	}
	
	return value;
}

/* css functions */
function SwapCSS(e, css)
{
	e.className = css;
}

function SwapImgSrc(e, source)
{
	e.src = source;
}

function ChangeAttributeValue (e, attributeName, attributeValue)
{	
	e.setAttribute(attributeName, attributeValue);
}

/* generic */
function trim(str)
{
	s = str.replace(/^(\s)*/, '');
    s = s.replace(/(\s)*$/, '');
    return s;
}


/* include files */
/*function includeJS(file)  
{  
   
   var script  = document.createElement('script');  
   script.src  = file;  
   script.type = 'text/javascript';  
   script.defer = true;     
   document.getElementsByTagName('head').item(0).appendChild(script);  
   
} 
function includeCSS(cssFile)
{
	var head = document.getElementsByTagName('head')[0];
	
	var css = document.createElement('link');
	css.type = 'text/css';
	css.rel = 'stylesheet';		
	css.href = cssFile;
	css.id = 'id_' + cssFile.split('/')[cssFile.split('/').length - 1].split('/')[0];
	
	head.appendChild(cssFile);
}*/
