﻿
var popupwin;
var contentOpen;

function popup(page, title, w, h, scroll, resize)
{
    var s = "";
    var r = "";
    if (scroll == true)
    {
        s = "yes";
    }
    else
    {
        s = "no";
    }
    if (resize == true)
    {
        r = "yes";    
    }
    else
    {
        r = "no";
    }
    
    var args = "width="+w+",height="+h+",toolbar=no,scrollbars="+s+",location=no,statusbar=no,menubar=no,resizable="+r;
	popupwin = window.open(page, title, args);
	popupwin.focus();
}

function popupClose()
{
    if (popupwin != null)
    {
        popupwin.close();
        popupwin = null;
   }

}

function promptOK()
{
	alertClose();
}

function promptYES()
{
	
}

function promptNO()
{
	alertClose();
}


function getAlertSettings()
{
	var obj = new Object();
	obj.header = "common/images/alerts/alert_header.png";
	obj.footer = "common/images/alerts/alert_bottom.png";
	obj.middle = "alertContent";//set in css
	obj.body = "alertBody";
	obj.fontSize = 16;
	obj.fontWeight = "bold";
	obj.topPadding = 200;
	obj.commands = new Array();
	obj.commands.push("<a href=\"javascript:promptOK();\">OK</a>");
	
	return obj;
	
}

function getPromptSettings(cmds)
{
	var obj = new Object();
	obj.header = "common/images/alerts/prompt_header.png";
	obj.footer = "common/images/alerts/prompt_bottom.png";
	obj.middle = "promptContent";//set in css
	obj.body = "promptBody";
	obj.fontSize = 12;
	obj.fontWeight = "bold";
	obj.topPadding = 200;
	obj.commands = new Array();
	if (cmds == undefined)
	{
		obj.commands.push("<a href=\"javascript:promptNO();\">No</a>");
		obj.commands.push("<a href=\"javascript:promptYES();\">Yes</a>");
	}
	else
	{
		for(var i=0; i < cmds.length; i++)
		{
			obj.commands.push("<a href=\""+cmds[i].Command+"();\">"+cmds[i].Title+"</a>");
		}
	}
	
	return obj;
}

function systemAlert(txt, settings)
{
	/*
	<div class="alertBoxHolder">
		<div class="alertBoxBG">
			<div class="alertHeader">
				<img src="common/images/alerts/alert_header.png" />
			</div>
			<div class="alertContent">
				<div class="alertBody">
					<div class="alertTextHolder">
						<div class="alertText">
							Message has been saved. Please continue as before.
						</div>
					</div>
				</div>
				<div class="alertCommands">
					<a href="javascript:promptNO();">No</a> 
					<a href="javascript:promptYES();">Yes</a>
				</div>
			</div>
			<div class="alertFooter">
				<img src="common/images/alerts/alert_bottom.png">
			</div>
			
		</div><!-- alertBoxBG -->
    </div><!-- alertBoxHolder -->
    */
    alertClose();
    
    var alertBoxHolder = create("div", "alertBoxHolder");
    alertBoxHolder.style.paddingTop = settings.topPadding+"px";

		var alertBoxBG = create("div", "alertBoxBG");
			var alertHeader = create("div", "alertHeader");
			alertHeader.innerHTML = "<img src=\""+settings.header+"\" />";
		alertBoxBG.appendChild(alertHeader);
			var alertContent = create("div", settings.middle);
			
				var alertBody = create("div", settings.body);
					var alertTextHolder = create("div", "alertTextHolder");
						var alertText = create("div", "alertText");
						$(alertText).css("font-size", settings.fontSize);
						$(alertText).css("font-weight", settings.fontWeight);
						
						alertText.innerHTML = txt;
					alertTextHolder.appendChild(alertText);
				alertBody.appendChild(alertTextHolder);
			alertContent.appendChild(alertBody);
			if (settings.commands.length > 0)
			{
				var alertCommands = create("div", "alertCommands");
				for(var i=0; i < settings.commands.length; i++)
				{
					alertCommands.innerHTML += settings.commands[i];				
				}
				alertContent.appendChild(alertCommands);
			}
		alertBoxBG.appendChild(alertContent);
			var alertFooter = create("div", "alertFooter");
			alertFooter.innerHTML = "<img src=\""+settings.footer+"\" />";
		alertBoxBG.appendChild(alertFooter);
	alertBoxHolder.appendChild(alertBoxBG);
	
	$(".winBGHolder").prepend(alertBoxHolder);  
	

}

function alertClose()
{
	$(".alertBoxHolder").remove();
}

function cleanup()
{

}
function closeContent()
{
    cleanup();
   $(".winBG").remove();

}

function getSmallSettings()
{
	var obj = new Object();
	obj.bgWidth = 640;
	obj.frameWidth = 362;
	obj.contentOffset = 24;
	obj.contentTitleWidth = 250;
	obj.contentTitlePadding = 0;
	obj.topShadow = "common/images/popup/small_shadow_top.png";
	obj.bottomShadow = "common/images/popup/small_shadow_bottom.png";
	obj.bottomPadding = 25;
	obj.titleImage = "";
	
	return obj;

}

function getDetailsSettings()
{
	var obj = new Object();
	obj.bgWidth = 760;
	obj.frameWidth = 570;
	obj.contentOffset = 44;
	obj.contentTitleWidth = 410;
	obj.contentTitlePadding = 15;
	obj.topShadow = "common/images/popup/details_shadow_top.png";
	obj.bottomShadow = "common/images/popup/details_shadow_bottom.png";
	obj.bottomPadding = 0;
	obj.titleImage = "";
	
	return obj;

}

function getExamplesSettings()
{
	var obj = new Object();
	obj.bgWidth = 910;
	obj.frameWidth = 782;
	obj.contentOffset = 10;
	obj.contentTitleWidth = 440;
	obj.contentTitlePadding = 0;
	obj.topShadow = "common/images/popup/long_shadow_top.png";
	obj.bottomShadow = "common/images/popup/long_shadow_bottom.png";
	obj.bottomPadding = 40;
	obj.titleImage = "";
	
	return obj;

}

function getMusicSettings()
{
	var obj = new Object();
	obj.bgWidth = 760;
	obj.frameWidth = 603;
	obj.contentOffset = 10;
	obj.contentTitleWidth = 510;
	obj.contentTitlePadding = 15;
	obj.topShadow = "common/images/popup/med_shadow_top.png";
	obj.bottomShadow = "common/images/popup/med_shadow_bottom.png";
	obj.bottomPadding = 10;
	obj.titleImage = "";
	
	return obj;

}

function getVoicesSettings()
{
	var obj = new Object();
	obj.bgWidth = 960;
	obj.frameWidth = 904;
	obj.contentOffset = 30;
	obj.contentTitleWidth = 770;
	obj.contentTitlePadding = 10;
	obj.topShadow = "common/images/popup/ex_long_shadow_top.png";
	obj.bottomShadow = "common/images/popup/ex_long_shadow_bottom.png";
	obj.bottomPadding = 40;
	obj.titleImage = "";
	
	return obj;

}

function popupContent(content, title, topPadding, settings)
{
   
    
    if (settings == undefined)
    {
		settings = getDetailsSettings();
    }

    closeContent();
    

    var winBG = create("div", "winBG");
    winBG.style.paddingTop = (200+topPadding)+"px";
        var winBGOuter = create("div", "winBGOuter");
        $(winBGOuter).css("width", settings.bgWidth);
       
            var winShadowTop = create("div", "winShadowTop");
            winShadowTop.innerHTML = "<img src=\""+settings.topShadow+"\" />";
            
        winBGOuter.appendChild(winShadowTop);
        
            var winFrameHolder = create("div", "winFrameHolder");
                var winFrameHolderOuter = create("div", "winFrameHolderOuter");
                $(winFrameHolderOuter).css("width", settings.frameWidth);
                    var winFrameHolderInner = create("div", "winFrameHolderInner");
                    $(winFrameHolderInner).css("width", settings.frameWidth-20);
                    $(winFrameHolderInner).css("background-position", settings.frameWidth-40+"px 0px");
						var winFrame = create("div", "winFrame");
                        $(winFrame).css("width", settings.frameWidth-40);
                        
                            var winOuter = create("div", "winOuter");
                            $(winOuter).css("width", settings.frameWidth-54);
                            
                                var winInner = create("div", "winInner");
                                $(winInner).css("width", settings.frameWidth-68);
                                
                                    var winHeader = create("div", "winHeader");
                                    $(winHeader).css("width", settings.frameWidth-68);
                                    
                                        var aclose = create("a");
                                        aclose.href = "javascript:closeContent();";
                                        aclose.innerHTML = "<img src=\"common/images/popup/close.gif\" />";
                                    
                                    winHeader.appendChild(aclose);
                                
                                winInner.appendChild(winHeader);
                                
                                    var winBody = create("div", "winBody");
                                    $(winBody).css("width", settings.frameWidth-68);
                                    $(winBody).css("padding-bottom", settings.bottomPadding);
                                 
                                        var winBodyOuter = create("div", "winBodyOuter");
                                        $(winBodyOuter).css("width", settings.frameWidth-(68+settings.contentOffset));
                                        
                                            var winBodyInner = create("div", "winBodyInner");
                                            $(winBodyInner).css("width", settings.frameWidth-(68+settings.contentOffset*2));
                                            
                                                var winTitle = create("div", "winTitle");
                                                $(winTitle).css("width", settings.contentTitleWidth);
                                                $(winTitle).css("padding-bottom", settings.contentTitlePadding);
                                                if (settings.titleImage != "")
                                                {
													winTitle.innerHTML = "<img src='"+settings.titleImage+"' />";
												}
												else 
												{
													winTitle.innerHTML = title;
												}
                                                
                                            winBodyInner.appendChild(winTitle);
                                            
                                                var winContent = create("div", "winContent");
                                                
                                                
                                                winContent.appendChild(content);
                                                
                                            winBodyInner.appendChild(winContent);
                                        winBodyOuter.appendChild(winBodyInner);
                                    winBody.appendChild(winBodyOuter);
                                winInner.appendChild(winBody);
                            winOuter.appendChild(winInner);
                        winFrame.appendChild(winOuter);
                    winFrameHolderInner.appendChild(winFrame);
                winFrameHolderOuter.appendChild(winFrameHolderInner);
            winFrameHolder.appendChild(winFrameHolderOuter);
        winBGOuter.appendChild(winFrameHolder);
        
            var winShadowBottom = create("div", "winShadowBottom");
            winShadowBottom.innerHTML = "<img src=\""+settings.bottomShadow+"\" />";                     
        winBGOuter.appendChild(winShadowBottom);
        
    winBG.appendChild(winBGOuter);

    $(".winBGHolder").append(winBG);      
              
                                        

}

function formatPhone(phone1, phone2, phone3, ext)
{
	var p = "";
	if (phone1 != undefined)
	{
		p = phone1;
	}
    if (phone2 != undefined && phone2 != "")
    {
        if (p != "")
        {
            p += ".";
        }
        p += phone2;
    }
    
    if (phone3 != undefined && phone3 != "")
    {
        if (phone2 != "")
        {
            p += ".";
        }
        p += phone3;
    }
    
    if (ext != undefined && ext != "")
    {
        p += "ext:"+ext;
    }
    
    return p;
        
}

function unformatPhone(txt)
{
    var phone = new Array();
    phone[0] = "";//phone1
    phone[1] = "";//phone2
    phone[2] = "";//phone3
    phone[3] = "";//ext
    var pArr = txt.split("ext:");
    
    if (pArr.length > 1)
    {
        //then we have an extension
        phone[3] = pArr[pArr.length-1];
    }
    
    if (pArr.length > 0)
    {
		if (pArr[0].indexOf(".") > -1)
		{
			var arr = pArr[0].split(".");
	        
			if (arr.length > 0)
			{
				phone[0] = arr[0];
			}
	        
			if (arr.length > 1)
			{
				phone[1] = arr[1];
			}
	       
			if (arr.length > 2)
			{
				phone[2] = arr[2];
			}
        }
        else 
        {
			pArr[0] = pArr[0].replace(".", "").replace(" ", "").replace("(", "").replace(")", "").replace("-", "");
			var numLength = pArr[0].length;
			var num1 = 3;
			var num2 = 3;
			var num3 = 4;
			
			numLength -= num1;
			if (numLength < 0)
			{
				num1 = 0;
			}
			numLength -= num2;
			if (numLength < 0)
			{
				num2 = 0;
			}
			numLength -= num3;
			if (numLength < 0)
			{
				num3 = 0;
			}
			if (num1 > 0)
			{
				phone[0] = pArr[0].substr(0, num1);
			}
			if (num2 > 0)
			{
				phone[1] = pArr[0].substr(3, num2);
			}
			if (num3 > 0)
			{
				phone[2] = pArr[0].substr(6, num3);
			}
			
        }
        
    }
    
    return phone;

}

function cropText(txt, maxChars) {
	
	if (txt.length >= maxChars) {
		return txt.substring(0, maxChars-3)+"...";
	}
	
	return txt;
	
}



function create(type, css)
{
    
   var t = document.createElement(type);
   if (css != undefined)
   {
     t.className = css;
   }
   
   return t;

}

//removes characters escaped by flash
/*
	escaper.Add(new EscapeChar("<", "&lt;"));
escaper.Add(new EscapeChar(">", "&gt;"));
escaper.Add(new EscapeChar("&", "&amp;"));
escaper.Add(new EscapeChar("\"", "&quot;"));
escaper.Add(new EscapeChar("'", "&apos;"));
escaper.Add(new EscapeChar("\\", "\\\\"));

*/
function undoFlashEscape(txt)
{
	return txt.replace("&l;t", "<").replace("&gt;", ">").replace("&amp;", "&").replace("&quot;", "\"").replace("&apos;", "'");
	
}

function asDecimal(txt)
{
	var index = txt.indexOf(".");
	if (index == 0)
	{
		txt = "0"+txt;
	}
	else if (index == -1)
	{
		txt = txt+".0";
	}
	else 
	{
		return txt;
	}
	

}

function getNumber(txt) {
	var regex = /\d+/g;
	regex.lastIndex = 0;
	
	var result = regex.exec(txt);
	if (result != null) {
		return result[0];
	}
	return 0;
}

function deleteWords(text, limit)
{
	var r = 0;
	var a = text;
	
	    while(a.indexOf('\n') > 0) {
		    a = a.replace('\n', ' ');
	    }
    	
	    var arr = trim(a).split(' ');
	    
	    var len = arr.length-limit;
	    if (len > -1)
	    {
			arr.splice(limit, len);
	    }
	    
	    var str = "";
	    for(var i=0; i < arr.length; i++)
	    {
			str += arr[i] + " ";
	    }
	    
	    return str;
}

function countWords(text) {

	var r = 0;
	var a = text;
	
	    while(a.indexOf('\n') > 0) {
		    a = a.replace('\n', ' ');
	    }
    	
	    var arr = trim(a).split(' ');
	    for (var i=0; i < arr.length; i++) {
		    if (trim(arr[i]).length > 0) {
			    r++;
			    
		    }
    		
	    }
	
	return r;
	
}



function lTrim(str) { 

	    for (var k=0; k < str.length && str.charAt(k)<=' ' ; k++) ;
	    return str.substring(k,str.length);

}

function rTrim(str) {
    
	    for (var j=str.length-1; j>=0 && str.charAt(j)<=' ' ; j--) ;
	    return str.substring(0,j+1);

	    
}
function trim(str) {
    if (str != null)
    {
	    return lTrim(rTrim(str));   
    }
    return "";
}

function escape(str)
{
	str = str.replace(/’/gi, "'").replace(/“/gi, "\"").replace(/”/gi, "\"");
	str = str.replace(/&rsquo;/gi, "'");
	str = str.replace(/&ldquo;/gi, "\"");
    str = str.replace(/&rdquo;/gi, "\"");
    return str.replace(/'/g, "\\\'").replace(/"/g, "\\\"");
}

function clean(str)
{
    return escape(trim(str));
}






