﻿/* General Javascript File - Holds General Functions */
    
    //var debugLevel = 4;
    var debugLevel = 0;  //disable debug messages
    function Debug(strDebugMessage, infoLevel)
    {
        if (debugLevel > 0)
        {
            if (infoLevel == null)
            {
                infoLevel = 4;
            }
            if (infoLevel <= debugLevel)
            {
                alert(strDebugMessage);
            }
        }
    }

    function trim(stringToTrim) {
        return stringToTrim.replace(/^\s+|\s+$/g,"");
    }
    function ltrim(stringToTrim) {
        return stringToTrim.replace(/^\s+/,"");
    }
    function rtrim(stringToTrim) {
        return stringToTrim.replace(/\s+$/,"");
    }
    function fixQuotes(stringToFix) {
        return stringToFix.replace(/'/g, "&#39;");
    }

    //this function returns an array of the amount the current window has scrolled
    function getScrollXY() {
      var scrOfX = 0, scrOfY = 0;
      if( typeof( window.pageYOffset ) == 'number' ) {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
      } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
      } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
      }
      
      return [ scrOfX, scrOfY ];
    }
    
    //this function returns an array of the size of the current window
    function getWindowSize() {
        var myWidth = 0, myHeight = 0;
        if( typeof( window.innerWidth ) == 'number' ) {
            //Non-IE
            myWidth = window.innerWidth;
            myHeight = window.innerHeight;
        } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
            //IE 6+ in 'standards compliant mode'
            myWidth = document.documentElement.clientWidth;
            myHeight = document.documentElement.clientHeight;
        } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
            //IE 4 compatible
            myWidth = document.body.clientWidth;
            myHeight = document.body.clientHeight;
        }
        return [myWidth, myHeight];
    }
    
    /*
    function getInnerText(elm)
    {
        var regExp = /<\/?[^>]+>/gi;
        var xStr = elm.innerHTML;
        xStr = xStr.replace(regExp,"");
        return xStr;

    }*/
    function getInnerText(elm)
    {
        var hasInnerText = (elm.innerText != undefined) ? true : false;
        if(!hasInnerText){
            return elm.textContent;
        } else{
            return elm.innerText;
        }
    }

    
    function addEvent(element, eventType, functionName, useCapture) 
    {
	    if (element.addEventListener) //firefox 
	    {
		    element.addEventListener(eventType, functionName, useCapture);
		    return true;
	    }
	    else if (element.attachEvent)  //ie
	    {
		    var r = element.attachEvent('on' + eventType, functionName);
		    return r;
	    }
	    else 
	    {
		    element['on' + eventType] = functionName;
	    }
    }

    function ConvertJSDateToDBString(inDate)
    {
        var thedate = new Date(inDate);
        var mth = thedate.getMonth() + 1;
        var hr = thedate.getHours();
        var ampm = "AM";
        if (hr > 12)
        {
            hr = hr - 12;
            ampm = "PM";
        }
        
        return mth + "/" + thedate.getDate() + "/" + thedate.getFullYear() + " " + hr + ":" + thedate.getMinutes() + ":" + thedate.getSeconds() + " " + ampm;
    }
    
	//added semicolons ~Mat Sejas
    function Querystring(qs) { // optionally pass a querystring to parse
	    this.params = new Object();
	    this.get=Querystring_get;
    	
	    if (qs == null)
		    qs=location.search.substring(1,location.search.length);

	    if (qs.length == 0) return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	    qs = qs.replace(/\+/g, ' ');
	    var args = qs.split('&'); // parse out name/value pairs separated via &
    	
    // split out each name=value pair
	    for (var i=0;i<args.length;i++) {
		    var value;
		    var pair = args[i].split('=');
		    var name = unescape(pair[0]);

		    if (pair.length == 2)
			    value = unescape(pair[1]);
		    else
			    value = name;
    		
		    this.params[name] = value;
	    }
    }

    function Querystring_get(key, default_) {
	    // This silly looking line changes UNDEFINED to NULL
	    if (default_ == null) default_ = null;
    	
	    var value=this.params[key];
	    if (value==null) value=default_;
    	
	    return value;
    }

function IsNumeric(sText)
{
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;
    
    try
    {
        for (i = 0; i < sText.length && IsNumber == true; i++) 
        { 
            Char = sText.charAt(i); 
            if (ValidChars.indexOf(Char) == -1) 
            {
                IsNumber = false;
            }
        }
    }
    catch(e) {  return false; }
    return IsNumber;
}

try
{
  //  document.domain="broadclip.com";
}
catch(e)
{
    alert("PLEASE CHANGE HOST FILE TO MAKE 127.0.0.1 MY.BROADCLIP.COM");
}
