var req;
var bg_img_shown = false;
var nightlight_obj;
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = ((userAgent.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined'));
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf));
var is_ie7    = ((is_ie) && (userAgent.indexOf('msie 7.') != -1));
var is_ie8    = ((is_ie) && (userAgent.indexOf('msie 8.') != -1));
var is_ie_lower = (is_ie && !is_ie7 && !is_ie8);
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));

function firstParam(str)
{
 var param = String(str).split("_");
 return param['0'];
}

function createRequestObject()
{
   //Geco
   if (window.XMLHttpRequest) 
   {
      var obj = new XMLHttpRequest();
   }
   //IE
   else
   {
      var obj = new ActiveXObject('Msxml2.XMLHTTP');
      if(!obj) { var obj = new ActiveXObject('Microsoft.XMLHTTP'); }
   }
   return obj;
}

// Send data to the server 
loadXML = function (url, data, handler) 
{
   var req;
   //data = ?a=1&b=2&c=3....
   req = createRequestObject();
   req.onreadystatechange = function ()
{
  if (req.readyState == 4) 
  { 
    handler(req.status, req.responseText);
  }
};
   req.open('POST', url, true);
   req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   if (!data)
    data = '';
   req.send(data);
}


function fetch_obj(obj)
{
  return document.getElementById(obj);
}

function ScreenWidth(){
  var width;
  if(window.innerWidth){
    width = window.innerWidth;
  }   else if(document.documentElement && document.documentElement.clientWidth){
    width = document.documentElement.clientWidth;
  }   else if(document.body && document.body.clientWidth){
    width = document.body.clientWidth;
  }
  return width;
}

function coor(obj) {
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
} 



function set_cookie(name, value, expires, path, domain, secure) {
 // set time, it's in milliseconds
 var today = new Date();
 today.setTime( today.getTime() );

 /*
 if the expires variable is set, make the correct 
 expires time, the current script below will set 
 it for x number of days, to make it for hours, 
 delete * 24, for minutes, delete * 60 * 24
 */
 if ( expires )
 {
  expires = expires * 1000 * 60 * 60 * 24;
 }
 var expires_date = new Date( today.getTime() + (expires) );

 document.cookie = name + "=" +escape( value ) +
 ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
 ( ( path ) ? ";path=" + path : "" ) + 
 ( ( domain ) ? ";domain=" + domain : "" ) +
 ( ( secure ) ? ";secure" : "" );

}
function get_cookie( check_name ) 
{
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}				

function delete_cookie( name, path, domain ) {
if ( get_cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function display(id, display)
{
 fetch_obj(id).style.display = display;
}
function unixtime(date)
{
 if (date == 'date')
  var date = new Date;
 
 var unixtime_ms = date.getTime(); // Returns milliseconds since the epoch
 var unixtime = parseInt(unixtime_ms / 1000);
 return unixtime;
}


function opacity(id, opacStart, opacEnd, millisec) {
    var speed = Math.round(millisec / 100);
    var timer = 0;

    if(opacStart > opacEnd) {
		setTimeout("changeOpac(" + opacStart + ",'" + id + "'," + speed + ",'down')",speed);
    } else if(opacStart < opacEnd) {
		setTimeout("changeOpac(" + opacEnd + ",'" + id + "'," + speed + ",'up')",speed);
    }
}

function changeOpac(i, id, speed, direct) {
    	var object = fetch_obj(id).style;
    	object.opacity = (i / 100);
    	object.MozOpacity = (i / 100);
    	object.KhtmlOpacity = (i / 100);
    	object.filter = "alpha(opacity=" + i + ")"; 
	if((i >= 1) && (direct == 'down')){
		i--;
		setTimeout("changeOpac(" + i + ",'" + id + "'," + speed + ",'down')",speed);
	}
	if((i <= 100) && (direct == 'up')){
		i++;
		setTimeout("changeOpac(" + i + ",'" + id + "'," + speed + ",'up')",speed);
	}
}

if (!window.getElementsByClassName)
{
 document.getElementsByClassName = function(clsName)
 {
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
 }
}

