﻿
//allow textbox to take numbers 0-9 only
//sample use: <INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
//http://www.cambiaresearch.com/c4/029c978b-aac5-472e-97a8-95b256f5febd/How-Can-I-Use-Javascript-to-Allow-Only-Numbers-to-Be-Entered-in-a-TextBox.aspx
function isNumberKey(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
         
    if (charCode > 31 && (charCode < 48 || charCode > 57)) //numbers
        return false;

    return true;
}
   
//allow textbox to take numbers 0-9 with comma and dot
//sample use: <INPUT id="txtChar2" onkeypress="return isNumberCurrencyKey(event)" type="text" name="txtChar2">
function isNumberCurrencyKey(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
         
    if(charCode == 44 || charCode == 46) //, .
        return true;
         
    if (charCode > 31 && (charCode < 48 || charCode > 57)) //numbers
        return false;

    return true;
}

var newwindow;
function CreatePopUp(url,attributes)
{
    newwindow=window.open(url,'windowID',attributes);
    if (window.focus) {newwindow.focus()}
}

function JumpToPageUrl(url)
{
    if (navigator.appName == "Microsoft Internet Explorer")
	{
	    window.location.href(url);
	}
	else
	{
	    location.replace(url); 
	}
    return false;
}

function reRouteImages(levelUpNum)
{
	var levelUpStr = "../";
	var webXImageFolder = "webximage/";
	var imgFolder = "img/";
	
	for (x=0;x<document.images.length;x++)
	{
      	var src = document.images[x].src;
		var index = "";
		var fileName = "";
		var newLoc = "";
		var newRoute = "";
		
		src = src.toLowerCase();
		
		//dealing with custom webXImage, and generic images
		if(src.indexOf(webXImageFolder) > 0 || src.indexOf(imgFolder) > 0) 
		{
			index = src.lastIndexOf("/");
			fileName = src.substring(index+1);
			
			for(var level=0; level<levelUpNum; level++) 
			{ 
				newRoute += levelUpStr;
			}
			
			//webXImageFolder
			if(src.indexOf(webXImageFolder) > 0) 
			{
				newLoc = newRoute + webXImageFolder + fileName;
			}
			//imgFolder
			else if(src.indexOf(imgFolder) > 0) 
			{
				newLoc = newRoute + imgFolder + fileName;
			}
			//alert("newLoc: "+newLoc);
			document.images[x].src = newLoc;
		}
	}
}

//script to fix the radiobuttonlist text wrapping below radio buttons
function RadioButtonListWrapFix()
{
    var ie = false;
    var s;
    if (navigator.appName == "Microsoft Internet Explorer")
        ie = true;
    tables = document.getElementsByTagName('table');
    if (tables != null)
    {
        for(var i = 0, n = tables.length; i < n; ++i) 
        {
            if (tables[i].className == "webxRadiobuttonlist")
            {
                //ie: use outerHTML, everthing else: use innerHTML
                if (ie)
                    s = tables[i].outerHTML;
                else
                    s = tables[i].innerHTML;
                    
                s = s.replace(/<LABEL/gi,"</td><td><label");
                s = s.replace(/<td><input/gi,"<td valign=\"top\"><input"); 
                
                if (ie)
                    tables[i].outerHTML = s;
                else
                    tables[i].innerHTML = s;
            }
        }
    }
}

function CompareSelectorCheckbox_CheckChanged(checkbox)
{
    var selected_pids_and_scids = parent.document.getElementById("ctl00_ContentPlaceHolder1_selected_pids_and_scids");
    var pid = document.getElementById("ctl00_ContentPlaceHolder1_pid");
    var scid = document.getElementById("ctl00_ContentPlaceHolder1_scid");
    var pid_and_scid = pid.value + "/" + scid.value;
    
    if (checkbox.checked)
    {
        if (selected_pids_and_scids.value.indexOf(pid_and_scid) == -1)
            selected_pids_and_scids.value = selected_pids_and_scids.value + pid_and_scid + ",";
    }
    else
    {
        if (selected_pids_and_scids.value.indexOf(pid_and_scid) > -1)
        {
            selected_pids_and_scids.value = selected_pids_and_scids.value.replace("," + pid_and_scid, "");
            selected_pids_and_scids.value = selected_pids_and_scids.value.replace(pid_and_scid + ",", "");
        } 
    }
    
    if (selected_pids_and_scids.value != "")
    {
        parent.ChangeCompareButtonEnabledState(true);
    }
    else
    {
        parent.ChangeCompareButtonEnabledState(false);
    }
}

function CopySelectedPoliciesAndSCIDsFromParent()
{
    var parent_selected_pids_and_scids = parent.document.getElementById("ctl00_ContentPlaceHolder1_selected_pids_and_scids");
    var selected_pids_and_scids = document.getElementById("ctl00_ContentPlaceHolder1_selected_pids_and_scids");

    if (parent_selected_pids_and_scids.value.length > 0)
    {
        if (parent_selected_pids_and_scids.value.charAt(parent_selected_pids_and_scids.value.length - 1) == ",")
        {
            //remove the final comma
            parent_selected_pids_and_scids.value = parent_selected_pids_and_scids.value.slice(0, -1);
        }
    }
    
    selected_pids_and_scids.value = parent_selected_pids_and_scids.value;
    
    if (selected_pids_and_scids.value != "")
    {
        return true;
    }
    else
    {
        return false;
    }
}

function ChangeCompareButtonEnabledState(enabled)
{
    //enable or disable the master iframe button
    
    var iFrames = document.getElementsByTagName("iframe");
    var iFrameDriver;  
    
    //try to find the iFrame of the driver (parent)
    for (var i=0; i<iFrames.length; i++)
    {
        if (iFrames[i].src.indexOf("mode=multiquotedriver") > -1)
        {
            iFrameDriver = iFrames[i];
        }
    }
    
    var iFrameDriverDocument = iFrameDriver.contentWindow ? iFrameDriver.contentWindow.document: iFrameDriver.contentDocument; 
    var inputControls = iFrameDriverDocument.getElementsByTagName("input");
    var compareButton;

    //try to find the compare button
    for (var i=0; i<inputControls.length; i++)
    {
        if (inputControls[i].onclick != null)
        {
            if (String(inputControls[i].onclick).indexOf("CopySelectedPoliciesAndSCIDsFromParent()") > -1)
            {
                compareButton = inputControls[i];
            }
        }
    }
    
    if (compareButton != null)
    {
        if (enabled)
        {
            compareButton.disabled = false;
        }
        else
        {
            compareButton.disabled = true;
        }
    }
}
