﻿function OnProgramChange(schoolCode)
{
    $("[id$=txtDegreeProgram]").val("");
    if($("[id$=selDegreeProgram]").attr("selectedIndex") != 0)
    {
//        $("[id*='menuli']").removeClass('active');
//        $("[id='menuli2']").addClass('active');
//        ShowLoadingImage();
         $("[id$=txtDegreeProgram]").val($("[id$=selDegreeProgram]").val());
         
//        $("#main-content").load("degree-program-description.aspx?degreevalue=" + $("[id$=selDegreeProgram]").val() + " #main-content >*", HideLoadingImage);
//        FormDynamicFieldsUpdater.GetPageTitleByDegreeValue(schoolCode, $("[id$=selDegreeProgram]").val(), OnGetTitleByDegreeReturn);
        //document.title = convertLinkToTitle($("[id$=selDegreeProgram]").text());
        //if(schoolCode == 'artinstitute')
        //    pageTracker._trackPageview(window.location + "?DegreeValue=" + $("[id$=selDegreeProgram]").val()); 
    }
}

function ShowLoadingImage()
{
    document.getElementById('fetchedcontent').style.display = 'none';
    document.getElementById('divLoading').style.display = 'block';
}

function HideLoadingImage()
{
    document.getElementById('divLoading').style.display = 'none';
    //document.getElementById('fetchedcontent').style.display = 'block';
    
    //document.getElementById('imgLoading').src = imgSpacerCached.src;
}

function OnGetTitleByDegreeReturn(result)
{
    document.title = result;
}

function OnGetCityByZipReturn(result)
{
    $("[id$=txtCity]").val(result);
    $("[id$=lblCity]").attr("style", "display:block");
}

function OnGetStateByZipReturn(result)
{
    $("[id$=ddlState]").val(result);
    $("[id$=lblState]").attr("style", "display:block");
}

function initCollapsiblePanel()
{   
    $(".msg_body").hide();
    $(".accordionTitle").click(function()
    {
        $(this).next(".msg_body").slideToggle();
        if($(this).attr("class").indexOf('accordionTitleOpen') != -1)
        {
            $(this).removeClass("accordionTitleOpen")
            $(this).addClass("accordionTitle")
        }
        else
        {
            $(this).removeClass("accordionTitle")
            $(this).addClass("accordionTitleOpen")
        }
    });

    $("div[class$='accordionTitleOpen'").click(function()
    {
        
        $(this).next(".msg_body").slideToggle();
        $(this).removeClass("accordionTitleOpen")
        $(this).addClass("accordionTitle")

    });
/*
    $(".accordionTitleLargeClose").click(function()
    {
        $(this).next(".msg_body").slideToggle();
        if($(this).attr("class").indexOf('accordionTitleLargeOpen') != -1)
        {
            $(this).removeClass("accordionTitleLargeOpen")
            $(this).addClass("accordionTitleLargeClose")
        }
        else
        {
            $(this).removeClass("accordionTitleLargeClose")
            $(this).addClass("accordionTitleLargeOpen")
        }
    });

    $("div[class$='accordionTitleLargeOpen'").click(function()
    {
        
        $(this).next(".msg_body").slideToggle();
        $(this).removeClass("accordionTitleLargeOpen")
        $(this).addClass("accordionTitleLargeClose")

    });
*/
    $("a[class='collapsibleLinks']").unbind('click').click(function(e) {
        e.preventDefault();
    });
}

function ValidateFinalForm()
{
    
    var errorMsg = '';

    if($("[id$=txtFirstName]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a First Name\n';
    }
    if($("[id$=txtLastName]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a Last Name\n';
    }
    if($("[id$=txtEmail]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide an Email Address\n';
    }
    
    else if(validateEmail(1, 1) == false)
    {
        errorMsg = errorMsg + 'Please provide a valid US Email Address\n';
    }
    
    if($("[id$=txtZip]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a Zip Code\n';
    }
    
    else if(validateZip(1, 1) == false)
    {
        errorMsg = errorMsg + 'Zip Code may only contain digits\n';
    }
    
    if($("[id$=txtAddress1]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a Street Address\n';
    }
    if($("[id$=txtCity]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a City\n';
    }
    
    if($("[id$=ddlState]").attr("selectedIndex") == 0)
    {
        errorMsg = errorMsg + 'Please select a State\n';
    }

    if($("[id$=txtPhoneHome1]").val() == '' && $("[id$=txtPhoneHome2]").val() == '' && $("[id$=txtPhoneHome3]").val() == '')
    {
        errorMsg = errorMsg + 'Please provide a Primary Phone\n';
    }
    else
    {
        if($("[id$=txtPhoneHome1]").val() == '')
        {
            errorMsg = errorMsg + 'Please provide a Primary Phone (the area code)\n';
        }
        
        if($("[id$=txtPhoneHome2]").val() == '')
        {
            errorMsg = errorMsg + 'Please provide a Primary Phone (the next 3 digits)\n';
        }

        if($("[id$=txtPhoneHome3]").val() == '')
        {
            errorMsg = errorMsg + 'Please provide a Primary Phone (the last 4 digits)\n';
        }
    }
   /*
    //var homePhoneTemp = $("[id$=txtPhoneHome1]").val() + $("[id$=txtPhoneHome2]").val() + $("[id$=txtPhoneHome3]").val()
    //var workPhoneTemp = $("[id$=txtPhoneWork1]").val() + $("[id$=txtPhoneWork2]").val() + $("[id$=txtPhoneWork3]").val()

    if(validatePhone(homePhoneTemp, 'Invalid home phone') == false)
        errorMsg = errorMsg + 'Invalid home phone\n';

    if(validatePhone(workPhoneTemp, 'Invalid home phone') == false)
        errorMsg = errorMsg + 'Invalid work phone\n';
    */
    
    if(errorMsg != '') 
    {
        alert(errorMsg);
        return false;
    }
    ToggleVisible('divFormLoadingStep2', 'divFormButtonStep2');   
        $("[id$=txtSubmitted]").val("True"); 
    return true;
}

function validateEmail(source, argument) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = $("[id$=txtEmail]").val(); 
   if(reg.test(address) == false) {
      //alert('Invalid Email Address');
      argument.IsValid = false;
      return false;
   }
   return true;
}

function validateZip(source, argument) {
   var reg = /^\d{5}$/;
   var zip = $("[id$=txtZip]").val(); 
   if(reg.test(zip) == false) 
   {
      //argument.IsValid = false;
      //alert('Invalid zip code');
      return false;
   }
   return true;
}

function validatePhone(value, errorMsg)
{
    
   var reg = /^\d{10}$/;
   if(reg.test(value) == false) 
   {
      //alert(errorMsg);
      return false;
   }
   return true;
}

function OnPhoneKeyPress(obj, e)
{
    var key;
    var isCtrl = false;
    var keychar;
    var reg;
    var allowNegative = false;
    var allowDecimal = false;
    
    if(window.event) {
	    key = e.keyCode;
	    isCtrl = window.event.ctrlKey
    }
    else if(e.which) {
	    key = e.which;
	    isCtrl = e.ctrlKey;
    }
	
    if (isNaN(key)) return true;
	
    keychar = String.fromCharCode(key);
	
    // check for backspace or delete, or if Ctrl was pressed
    if (key == 8 || isCtrl)
    {
	    return true;
    }
    
    if(keychar < '0' || keychar > '9')
    {
        //alert(keychar);
        return false;
    }


    reg = /\d/;
    var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
    var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
    
	var zip;
	if(String(String(obj.value)).length >= 3) 
	{
	    if(String(obj.id).indexOf('PhoneHome1') != -1) 
	        $("[id$=txtPhoneHome2]").focus();
        else if(String(obj.id).indexOf('PhoneHome2') != -1) 
	        $("[id$=txtPhoneHome3]").focus();
	    else if(String(obj.id).indexOf('PhoneWork1') != -1) 
	        $("[id$=txtPhoneWork2]").focus();
        else if(String(obj.id).indexOf('PhoneWork2') != -1) 
	        $("[id$=txtPhoneWork3]").focus();

	}

	if(String(String(obj.value)).length == 4) 
	{
	    if(String(obj.id).indexOf('PhoneHome3') != -1) 
	        $("[id$=txtPhoneWork1]").focus();

	}

    return '';	
}

function ValidateKey(obj, e)
{
    var key;
    var isCtrl = false;
    var keychar;
    var reg;
    var allowNegative = false;
    var allowDecimal = false;
    
    if(window.event) {
	    key = e.keyCode;
	    isCtrl = window.event.ctrlKey
    }
    else if(e.which) {
	    key = e.which;
	    isCtrl = e.ctrlKey;
    }
	
    if (isNaN(key)) return true;
	
    keychar = String.fromCharCode(key);
	
    // check for backspace or delete, or if Ctrl was pressed
    if (key == 8 || isCtrl)
    {
	    return true;
    }
    
    if(keychar < '0' || keychar > '9')
    {
        //alert(keychar);
        return false;
    }
    return true;
}

function OnZipChange(obj, e)
{
    var key;
    var isCtrl = false;
    var keychar;
    var reg;
    var allowNegative = false;
    var allowDecimal = false;
    
    if(window.event) {
	    key = e.keyCode;
	    isCtrl = window.event.ctrlKey
    }
    else if(e.which) {
	    key = e.which;
	    isCtrl = e.ctrlKey;
    }
	
    if (isNaN(key)) return true;
	
    keychar = String.fromCharCode(key);
	
    // check for backspace or delete, or if Ctrl was pressed
    if (key == 8 || isCtrl)
    {
	    return true;
    }

    reg = /\d/;
    var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
    var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
    
	var zip;
	if(String(String(obj.value) + keychar).length == 5) 
	{
	    zip = String(String(obj.value) + keychar);
        FormDynamicFieldsUpdater.GetCityByZip(zip, OnGetCityByZipReturn);
        FormDynamicFieldsUpdater.GetStateByZip(zip, OnGetStateByZipReturn);
	}
	
	
    return isFirstN || isFirstD || reg.test(keychar);	
}

function convertLinkToTitle(linkStr)
{
    var title = new String();
    title = String(linkStr);
    title = title.substr(title.indexOf('#', 0) + 1);
    title = title.replace(/_/g, ' ');
    return title;
}

function createSeoLinks(links) {
    links.unbind('click').remote('#main-content', function() {
        document.title = convertLinkToTitle(window.location);
        UpdateActiveMenu(document.title);
        window.createSeoLinks($("#main-content a.seolink"));
        initCollapsiblePanel();
        //pageTracker._trackPageview(window.location + "?link=" + document.title); 
    });
}

function updateLinks()
{
    createSeoLinks($("#navigation a").add("a.seolink"));
}

function changeActiveLink(obj)
{
    ShowLoadingImage();
    $("[id*='menuli']").removeClass('active');
    $(obj).addClass('active');
    //HideLoadingImage();
}

function ToggleVisible(objVisible, objHidden)
{
    document.getElementById(objVisible).style.display = 'block';
    document.getElementById(objHidden).style.display = 'none';
}

function ShowDegreeDescription(schoolCode)
{
    //if(schoolCode == 'artinstitute')
    //    pageTracker._trackPageview(window.location + "?Step1SubmitClicked=1"); 
    if($("[id$=selDegreeProgram]").attr("selectedIndex") != 0)
    {
        $("[id*='menuli']").removeClass('active');
        $("[id='menuli2']").addClass('active');
        ShowLoadingImage();
        $("[id$=txtDegreeProgram]").val($("[id$=selDegreeProgram]").val());
        FormDynamicFieldsUpdater.GetLongDescriptionByDegreeValue(schoolCode, $("[id$=selDegreeProgram]").val(), OnGetLongDescriptionByDegreeReturn);
        //$("#main-content").load("degree-program-description.aspx?degreevalue=" + $("[id$=selDegreeProgram]").val() + " #main-content >*", HideLoadingImage);
        FormDynamicFieldsUpdater.GetPageTitleByDegreeValue(schoolCode, $("[id$=selDegreeProgram]").val(), OnGetTitleByDegreeReturn);
        document.title = convertLinkToTitle($("[id$=selDegreeProgram]").text());
        
    }
}

function OnGetLongDescriptionByDegreeReturn(result)
{
    HideLoadingImage();
    document.getElementById('fetchedcontent').innerHTML = result;
    $("[id=fetchedcontent]").fadeIn(250, function() {
        if($.browser.msie)
            this.style.removeAttribute('filter');
    });
}

function checkLastFormZipCode(oldZip)
{
    if($("[id$=txtZip]").val() != oldZip)
    {
    if(String($("[id$=txtZip]").val()).length == 5) 
	{
	    zip = $("[id$=txtZip]").val();
        FormDynamicFieldsUpdater.GetCityByZip(zip, OnGetCityByZipReturn);
        FormDynamicFieldsUpdater.GetStateByZip(zip, OnGetStateByZipReturn);
	}
    }
        setTimeout("checkLastFormZipCode('" + $("[id$=txtZip]").val() + "')", 1000);
}


function Contains(array, toFind)
{
    for(var cnt = 0;cnt < array.length;cnt++)
    {
        if(array[cnt] == toFind)
            return true;
    }
    return false;
}