﻿// Common Use Methodes
//********************************************
function $(id)
{
    if (typeof id == 'string')
        return document.getElementById(id);
    else
        return id;
}
//get object by id
function $N(name)
{
    if (typeof name == 'string')
        return document.getElementsByTagName(name);
    else
        return null;
}
//return false if id is not an object
function $Null(el)
{
    return (el == undefined || el==null);
}
//get offset Left position
function $X(name)
{
    var el=$(name);
	if(el)
	{
		var off=el.offsetLeft;
		var pObj=el.offsetParent;
		if(pObj) off+=$X(pObj);
		return off;
	}
	else return 0;
}
//get offset Top position
function $Y(name)
{
    var el=$(name);
	if(el)
	{
		var off=el.offsetTop;
		var pObj=el.offsetParent;
		if(pObj) off+=$Y(pObj);
		return off;
	}
	else return 0;
}
//get object's width
function $W(name)
{
    var el=$(name);
	if(el)
	{
	    //el.style.width=el.offsetWidth;
		return el.clientWidth;
    }
	else return 0;
}
//get object's height
function $H(name)
{
    var el=$(name);
	if(el)
	{
	    //el.style.height=el.offsetHeight;
		return el.clientHeight;
	}
	else return 0;
}
//attaches events and functions
function $AddEvt(obj,evt,func)
{
	if (document.addEventListener)
		obj.addEventListener(evt,func,false);
	else if (document.attachEvent) 
		obj.attachEvent("on" + evt,func);
	else
		eval(obj+".on" + evt + "=" + func);
}
function $Cancel(e) 
{
    if (window.event) 
    {
        window.event.cancelBubble = true;
        window.event.returnValue = false;
    }
    if (e && e.preventDefault && e.stopPropagation) 
    {
        e.preventDefault();
        e.stopPropagation();
    }
}
function $ScrollTop()
{
    if (document.body && document.body.scrollTop)
        return document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
        return document.documentElement.scrollTop;
    if (window.pageYOffset)
        return window.pageYOffset;
    return 0;
}
function $QGet(el,q)
{
    var val="";
    if(typeof(q)=="undefined") q=document.location.search;
    
    var qArr=q.split(el + "=");
    if(qArr.length>1)
    {
        val=qArr[1];
        if(val.indexOf("&")>-1) val=val.slice(0,val.indexOf("&"));
    }
    return val;
}
function $QSet(el,val,q)
{
    if(el!="")
    {
        if(q=="" || typeof(q)!="string") q=document.location.search;
	
        if(q.indexOf(el + "=")==-1)
        {
            if(q.length>0)
                if(q.indexOf("?")==-1)q+="?";
                else q+="&";
	        q+=el + "=" + val;
        }
        else
        {
	        var left="",right="";

	        left=q.substr(0,q.indexOf(el + "=")-1);

	        right=q.substr(q.indexOf(el + "="));
	        right=(right.indexOf("&")==-1)?"":right.substr(right.indexOf("&"));

            q=left;
            if(q.length>0) q+="&";
            q+=el + "=" + val;
            q+=right;
        }
        if(q.indexOf("?")==-1) q="?" + q;
    }
    return q;
}
//set or get cookie
function $Cookie(n,v,d)
{
    if(n && v)
    {//set cookie
        var expires;
        if(d)
        {
            var date = new Date();
            date.setTime(date.getTime()+(d*24*60*60*1000));
            expires = "; expires="+date.toGMTString();
        }
        else expires = "";
        document.cookie = n+"="+v+expires+"; path=/";
    }
    else if(n)
    {//get cookie
        n = n + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++)
        {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(n) == 0)
                return c.substring(n.length,c.length);
        }
    }
    return null;
}
function $Hide(obj)
{
    obj=$(obj);
    if(obj)obj.style.display="none";
}
function $Show(obj)
{
    obj=$(obj);
    if(obj)obj.style.display="block";
}
function $CallBackError(arg, context)
{
    alert('An unexpected error has occurred.');
}
function $Sort(col)
{
    document.location=$QSet("sort",col);
}
function $Pg(num,context)
{
    document.location=$QSet("pg",num);
}
function $Submit(){}
//********************************************
