//----------------------------------------------------------------------------------|
//      shortcuts

//function $(i) {return document.getElementById(i);}

//----------------------------------------------------------------------------------|


function openNakedWin(file, width, height, name) {
    var winName = (name) ? name : "newWindow";

	var popupOptions = "directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=" + width + ",height=" + height + ",left=150,top=150";
	var newWindow = window.open(file, winName, popupOptions);
	newWindow.focus();
	
	return newWindow;
}


function toggleVisibility(elementId) {
	var element = document.getElementById(elementId);
	
	if(!element)
		return;	
	
	if(element.style.display == 'none')
		element.style.display = 'block';
	else
		element.style.display = 'none';
}


function request(key) {
    var ls_qs = window.location.search.substr(1);
    var la_querystring = ls_qs.split('&');
    
    for(var i = 0; i < la_querystring.length; i++) {
        var la_kvPair = la_querystring[i].split('=');
        if(key == la_kvPair[0]) {
            return la_kvPair[1];
            break;
        }
    }
        
    //if we got here, no key was found
    return '';
}


function SetStaticData(as_data, as_el) {
	var lo_el = document.getElementById(as_el);
	
	if(!lo_el)
		return;
		
	lo_el.innerHTML = as_data;
}



function clickButton(e, buttonid){
      var evt = e ? e : window.event;

      var bt = document.getElementById(buttonid);
      if (bt){
          if (evt.keyCode == 13){
                bt.click();
                return false;
          }
      }
}


function roundNumber(num, dec) {
	var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
	return result;
}


function valueEquals() {
    if(arguments.length < 2)
        return false;
        
    var compare = arguments[0];
    
    for(var i = 1; i < arguments.length; i++)
        if(compare == arguments[i])
            return true;
            
    return false;
}


String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}


function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		
		var expires = "; expires=" + date.toGMTString();
	} else {
	    var expires = "";
	}
	
	document.cookie = name + "=" + value + expires + "; path=/";
}


function readCookie(name) {
	var nameEQ = name + "=";
	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(nameEQ) == 0)     
		    return c.substring(nameEQ.length, c.length);
	}
	return null;
}


function eraseCookie(name) {
	createCookie(name, "", -1);
}

function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); }
function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); }


function getAbsPos(elt,which) {
    iPos = 0;
    
    while (elt != null) {
        iPos += elt["offset" + which];
        elt = elt.offsetParent;
    }
    
    return iPos;
}


function fitMap(map, points) {
    var bounds = new GLatLngBounds();
    
    for (var i = 0; i < points.length; i++) {
        bounds.extend(points[i]);
    }
    
    map.setZoom(map.getBoundsZoomLevel(bounds));
    map.setCenter(bounds.getCenter());
}


function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    
    if(isNaN(num))
        num = "0";

    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();

    if(cents < 10)
        cents = "0" + cents;

    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' +
    
    num.substring(num.length - (4 * i + 3));

    return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}


function setTab(tab, onPanelId, panelArray) {
    var onPanel = document.getElementById(onPanelId).style;    
    resetTabStyles(panelArray);
    
    onPanel.display = 'block';    
    tab.parentNode.className = 'selected'
}

function resetTabStyles(panelArray) {
    var list = document.getElementById('tabList');
    var elements = list.getElementsByTagName('li');   

    for(var x = 0; x < elements.length; x++)
        elements[x].className = '';        
    
    for(var x = 0; x < panelArray.length; x++) {
        var el = document.getElementById(panelArray[x]).style;
        el.display = 'none';
    }        
}


function isNumeric(x) {
    return (x != null && !isNaN(x));
}

