﻿var count = 0;
var doValidate = true;
var dt_errormessage = null;
var mt_errormessage = null;
var ct_errormessage = null;

function addEvent(elm,evType,fn,useCapture)
{
    if(elm.addEventListener) 
    {
        elm.addEventListener(evType,fn,useCapture);
        return true;
    }
    else if(elm.attachEvent) 
    {
        var r = elm.attachEvent('on' + evType,fn);
        return r;
    }
    else 
    {
        elm['on' + evType] = fn;
    }
}

function showWait()
{
    if(typeof(Page_IsValid) != "undefined") 
    {
        if(Page_IsValid) 
        {
            document.getElementById('buttoncontainer').style.display = 'none';
            document.getElementById('waitMsg').style.display = 'inline';
            document.getElementById('waitMsg').style.visibility = 'visible';
        }
    }
    else 
    {
        document.getElementById('buttoncontainer').style.display = 'none';
        document.getElementById('waitMsg').style.display = 'inline';
        document.getElementById('waitMsg').style.visibility = 'visible';
    }
}

function showWait2()
{
    if(typeof(Page_IsValid) != "undefined") 
    {
        if(Page_IsValid) 
        {
            document.getElementById('buttoncontainer2').style.display = 'none';
            document.getElementById('waitMsg2').style.display = 'inline';
            document.getElementById('waitMsg2').style.visibility = 'visible';
        }
    }
    else 
    {
        document.getElementById('buttoncontainer2').style.display = 'none';
        document.getElementById('waitMsg2').style.display = 'inline';
        document.getElementById('waitMsg2').style.visibility = 'visible';
    }
}

function parseNum(sender,args) 
{
    var isNum = parseInt(args.Value);
    if(!isNaN(isNum)) 
    {
        args.IsValid = true;
        return;
    }
    else
    {
        args.IsValid = false;
        return;
    }
}

function parseList(sender,args)
{
    rx = /^[a-zA-Z,]+$/;
    var valid = rx.test(args.Value);
    if(valid) 
    {
        args.IsValid = true;
    }
    else 
    {
        args.IsValid = false;
    }

}

function compareDocumentTypes(sender,args)
{  
    var upload = document.getElementById('ctl00_PageContent_txtUpload');
    var ele = document.getElementById('ctl00_PageContent_cfvDocumentTypes'); 
    
    var ext = upload.value.substring(upload.value.length,upload.value.length - 3);
    var values = args.Value.split('|');
    
    if(dt_errormessage == null)
    {
        dt_errormessage = ele.getAttribute('errormessage'); 
    }
        
    if(upload.value != '') 
    {
        if(values[0].toLowerCase() == ext.toLowerCase()) 
        {
            args.IsValid = true;
        }
        else 
        {
            var msg = dt_errormessage;
            msg = msg.replace(/<file>/i,(' (.' + ext + ') '));
            msg = msg.replace(/<type>/i,(' (.' + values[0] + ') '));
            ele.setAttribute('errormessage',msg);
            args.IsValid = false; 
        }
    }
    else
    {
        return false;
    }
    
}

function compareMovieTypes(sender,args)
{  
    var upload = document.getElementById('ctl00_PageContent_txtUpload');
    var ele = document.getElementById('ctl00_PageContent_cfvMovieTypes'); 
    
    var ext = upload.value.substring(upload.value.length,upload.value.length - 3);
    var values = args.Value.split('|');
    
    if(mt_errormessage == null)
    {
        mt_errormessage = ele.getAttribute('errormessage'); 
    }
        
    if(upload.value != '') 
    {
        if(values[0].toLowerCase() == ext.toLowerCase()) 
        {
            args.IsValid = true;
        }
        else 
        {
            var msg = mt_errormessage;
            msg = msg.replace(/<file>/i,(' (.' + ext + ') '));
            msg = msg.replace(/<type>/i,(' (.' + values[0] + ') '));
            ele.setAttribute('errormessage',msg);
            args.IsValid = false; 
        }
    }
    else
    {
        return false;
    }
    
}

function compareBroadCastTypes(sender,args)
{  
    var upload = document.getElementById('ctl00_PageContent_txtBroadCastMovieUpload');
    var ele = document.getElementById('ctl00_PageContent_cfvMovieTypes'); 
    
    var ext = upload.value.substring(upload.value.length,upload.value.length - 3);
    var values = args.Value.split('|');
    
    if(mt_errormessage == null)
    {
        mt_errormessage = ele.getAttribute('errormessage'); 
    }
        
    if(upload.value != '') 
    {
        if(values[0].toLowerCase() == ext.toLowerCase()) 
        {
            args.IsValid = true;
        }
        else 
        {
            var msg = mt_errormessage;
            msg = msg.replace(/<file>/i,(' (.' + ext + ') '));
            msg = msg.replace(/<type>/i,(' (.' + values[0] + ') '));
            ele.setAttribute('errormessage',msg);
            args.IsValid = false; 
        }
    }
    else
    {
        return false;
    }
    
}

function compareCompressedTypes(sender,args)
{  
    var upload = document.getElementById('ctl00_PageContent_txtUpload');
    var ele = document.getElementById('ctl00_PageContent_cfvCompressedTypes'); 
    
    var ext = upload.value.substring(upload.value.length,upload.value.length - 3);
    var values = args.Value.split('|');
    
    if(ct_errormessage == null)
    {
        ct_errormessage = ele.getAttribute('errormessage'); 
    }
        
    if(upload.value != '') 
    {
        if(values[0].toLowerCase() == ext.toLowerCase()) 
        {
            args.IsValid = true;
        }
        else 
        {
            var msg = ct_errormessage;
            msg = msg.replace(/<file>/i,(' (.' + ext + ') '));
            msg = msg.replace(/<type>/i,(' (.' + values[0] + ') '));
            ele.setAttribute('errormessage',msg);
            args.IsValid = false; 
        }
    }
    else
    {
        return false;
    }
    
}

function buildFlashParameterList() 
{
    if(document.getElementById('ctl00_PageContent_txtFlashParameterList').value != '') 
    {
        var parameters = document.getElementById('ctl00_PageContent_txtFlashParameterList').value.split(",");
        for(var i=0;i<parameters.length;i++) 
        {
            AddFlashParameters(parameters[i]);
        }
    }    
}

function ValidateForm() 
{
    if(doValidate) 
    {
        isValidFlashParameters = ValidateFlashParameters();
        if(Page_IsValid == true && isValidFlashParameters == true) 
        {
            return true;
        }
        else 
        {
            return false;
        }
    }
    else
    {
        return true;
    }
}

function ValidateAddNavigation() 
{
    try 
    {
        var errorMessages = new Array();
        switch(parseInt(document.getElementById('ctl00_PageContent_LinkType').value)) 
        {
            case 1:
                if(!IsValid(document.getElementById('ctl00_PageContent_txtName'))) 
                {
                    errorMessages.push("You must enter a link name.");
                }
                break;
                
            case 2:
                if(!IsValid(document.getElementById('ctl00_PageContent_txtName'))) 
                {
                    errorMessages.push("You must enter a link name.");
                }
                if(!IsValid(document.getElementById('ctl00_PageContent_txtHyperLink'))) 
                {
                    errorMessages.push("You must enter a hyperlink.");
                }
                break;  
            
            case 3:
                if(!IsValid(document.getElementById('ctl00_PageContent_txtName'))) 
                {
                    errorMessages.push("You must enter a link name.");
                }
                
                var treeview = ctl00_PageContent_PageNavigation;
                
                if(treeview.SelectedNode != null) 
                {
                    if(parseInt(treeview.SelectedNode.Value) == 0) 
                    {
                        errorMessages.push("You cannot link to 'Available Pages'. Please select a page.");
                    }
                }
                else 
                {
                    errorMessages.push("You must select a page to link to.");
                }
                break;
                 
            default:
                return false;             
        }
        
        if(errorMessages.length > 0) 
        {
            document.getElementById('customSummary').innerHTML = "";
            var errorHeader = "<p>The following validation errors occurred:</p>";
            var errors = "<ul>";
                       
            for(var i=0;i<errorMessages.length;i++) 
            {
                var error = "<li>" + errorMessages[i] + "</li>";
                errors += error;
            }
            errors += "</ul>";
            document.getElementById('customSummary').innerHTML += errorHeader;
            document.getElementById('customSummary').innerHTML += errors;
            document.getElementById('customSummary').style.display = 'inline';
            return false; 
        }
        else 
        {
            document.getElementById('customSummary').innerHTML = "";
            showWait();
            return true;
        }
    }
    catch(ex) 
    {
        alert(ex.message);
        return false;
    }
}

function IsValid(ele) 
{
    if(ele.value == '' || ele.value == null) 
    {
        return false;
    }
    else 
    {
        return true;
    }
}




function ValidateFlashParameters() 
{
    try 
    {
        var flashParameters = new Array();
        var invalidFlashParameters = new Array();
        var fps = document.getElementById('parameterlist');
        
        if(fps.childNodes.length > 0) 
        {
            var invalidCount = 1;
             
            for(i=0;i<fps.childNodes.length;i++) 
            {
                var div = fps.childNodes[i];
                
                var fp = new FlashParameter(div.childNodes[2].value,div.childNodes[4].value);
                fp.validate();
                
                if(!fp.valid) 
                {
                    var pair = "For flash parameter " + invalidCount + "|" + fp.message;
                    invalidFlashParameters.push(pair); 
                    invalidCount++;
                }
                else
                {
                    var pair = fp.parametername + "|" + fp.parametervalue;
                    flashParameters.push(pair);
                }
            }
            
            if(invalidFlashParameters.length > 0) 
            {
                document.getElementById('customSummary').innerHTML = "";
                var errorHeader = "<p style=\"color:red;\">There were validation errors for the following flash parameters:</p>";
                var errors = "<ul>";
                           
                for(var i=0;i<invalidFlashParameters.length;i++) 
                {
                    var pair = invalidFlashParameters[i].split("|");
                    var error = "<li>" + pair[0] + ": " + pair[1] + "</li>";
                    errors += error;
                }
                errors += "</ul>";
                document.getElementById('customSummary').innerHTML += errorHeader;
                document.getElementById('customSummary').innerHTML += errors;
                document.getElementById('customSummary').style.display = 'inline';
                return false; 
            }
            else 
            {
                document.getElementById('customSummary').innerHTML = "";
                document.getElementById('ctl00_PageContent_txtFlashParameterList').value = flashParameters.toString();
                return true;
            }
        }
        else 
        {
            document.getElementById('customSummary').innerHTML = '';
            document.getElementById('ctl00_PageContent_txtFlashParameterList').value = "";
            return true;
        }
    }
    catch(ex)
    {
        alert(ex.message);
        return false;
    }
         
}

function FlashParameter(name,value)
{
    this.parametername = name;
    this.parametervalue = value;
    this.valid = false;
}

function validate()
{
    if(this.parametername == null || this.parametername == '')
    {
        this.message = "You must enter a flash parameter name.";
        this.valid = false;
        return;
    }
    
    if(this.parametervalue == null || this.parametervalue == '') 
    {
        this.message = "You must enter a flash parameter value.";
        this.valid = false;
        return;
    }
    
    this.valid = true;
}

FlashParameter.prototype.validate = validate;

function AddFlashParameters(pair) 
{
    var fps = document.getElementById('parameterlist');
    var pn = "";
    var pv = "";
    
    if(arguments.length == 1) 
    {
        var p = pair.split("|");
        pn = p[0];
        pv = p[1];
    }
    
        var div = document.createElement("div");
        div.setAttribute("id","FPRow_" + count);
        
            var cb = document.createElement("input");
            cb.setAttribute("type","checkbox");
            cb.setAttribute("class","boxes");
            cb.value = count;
            div.appendChild(cb);

            var label1 = document.createElement("label");
            label1.setAttribute("class","flash");
            label1.setAttribute("for",("txtFlashParameterName_" + count));
            label1.innerHTML = 'Name:&nbsp;';
            div.appendChild(label1);
                   
            var textbox1 = document.createElement("input");
            textbox1.setAttribute("id",("txtFlashParameterName_" + count));
            textbox1.setAttribute("size","10");
            textbox1.setAttribute("value",pn);
            div.appendChild(textbox1);
            
            var label2 = document.createElement("label");
            label2.setAttribute("class","flash");
            label2.setAttribute("for",("txtFlashParameterValue_" + count));
            label2.innerHTML = '&nbsp;&nbsp;Value:&nbsp;';
            div.appendChild(label2);
            
            var textbox2 = document.createElement("input");
            textbox2.setAttribute("id",("txtFlashParameterValue_" + count));
            textbox2.setAttribute("size","10");
            textbox2.setAttribute("value",pv);
            div.appendChild(textbox2);
            
    fps.appendChild(div);
    count++;
}

function RemoveFlashParameters() 
{
    var fps = document.getElementById('parameterlist');
    var checkboxes = new Array();
    
    if(fps.childNodes.length > 0) 
    {
        for(i=0;i<fps.childNodes.length;i++) 
        {
            var div = fps.childNodes[i];
            
            for(j=0;j<div.childNodes.length;j++) 
            {
                if(div.childNodes[j].getAttribute("type") == "checkbox") 
                {
                    if(div.childNodes[j].checked) 
                    {
                        checkboxes.push(div.childNodes[j]);
                    }
                }
            }        
        }
        
        if(checkboxes.length > 0) 
        {
            for(i=0;i<checkboxes.length;i++) 
            {
                var row = document.getElementById("FPRow_" + checkboxes[i].value);
                fps.removeChild(row);
            }
        }
        else
        {
            alert("Select a flash parameter to delete.");
        }
    }
}

function CreateTextBox(id) 
{
    var textbox = document.createElement("input");
    textbox.setAttribute("id",id);
    return textbox;
}

function globalWin(url, toolbar, location, directories, status, menubar, scrollbars, resizable, width, height) 
{
	try
	{
		windowName = "NewWin";
		params = "";
		params += "toolbar=" + toolbar + ",";
		params += "location=" + location + ",";
		params += "directories=" + directories + ",";
		params += "status=" + status + ",";
		params += "menubar=" + menubar + ",";
		params += "scrollbars=" + scrollbars + ",";
		params += "resizable=" + "=" + resizable + ",";
		params += "width=" + width + ",";
		params += "height=" + height;
		win = window.open(url, windowName, params);
	}
	catch(ex) 
	{
	
	}
}

function centerWin(windowWidth,windowHeight) 
{
	try 
	{
		window.moveTo((screen.width/2)-(windowWidth/2+10),(screen.height/2)-(windowHeight/2+20));
	}
	catch(ex) 
	{
		
	}
}


