function Querystring(qs) { 
	this.params = new Object();
	this.get=Querystring_get;
	if (qs == null)	qs=location.search.substring(1,location.search.length);
	qs=qs.toLowerCase();
	if (qs.length == 0) return;
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&'); // parse out name/value pairs separated via &
	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_) {
	if (default_ == null) default_ = null;
	var value=this.params[key];
	if (value==null) value=default_;
	return value;
}

var qs = new Querystring();
var DefEduLvl;
var DefCategory;
var DefSubject;
var ExecuteNextStep=false;
SetQSValues();

function SetQSValues()
{
    DefEduLvl=qs.get("edulvl","-1");
    DefCategory=qs.get("category","-1");   
    DefSubject=qs.get("subject","-1");        
}

function IsAsyncEduLvlCall()
{
    return true;
//    return DefEduLvl=="-1";
}
function IsAsyncCategoryCall()
{
    return true;
//    return DefCategory=="-1";
}


//var xmlhttp=null;
var xml;
var doc;
var str;

function SetXMLHttp()
{
    var xmlhttp=null;
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	    try {
		    xmlhttp = new XMLHttpRequest();
	    } catch (e) {
		    xmlhttp=false;
	    }
    }
    if (!xmlhttp && window.ActiveXObject) {
	    try {
		    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {
		    xmlhttp=false;
	    }
    }
    return xmlhttp;
}

var LogosLoaded;

function PopulateDegreeLevel(result)
{

    ExecuteNextStep=false;
    xml = result;
    var nodes = xml.split("<EduLevel>");
    var i=0;
    var index=1;

    for(i=0;i<nodes.length;i++)
    {
        if(nodes[i].indexOf("<Value>") > -1)
        {
            var nodeval = nodes[i].substr(nodes[i].indexOf("<Value>")+7, 1);
            var nodetext = nodes[i].substr(nodes[i].indexOf("<DisplayName>")+13, nodes[i].indexOf("</DisplayName>")-13);
            document.myform.eduLvl[index] = new Option(nodetext, nodeval);
            if (nodeval==DefEduLvl)
            { 
                document.myform.eduLvl.selectedIndex = index;                
                ExecuteNextStep=true;
            }
            
            
            
            index++;
        }
    }
    if (ExecuteNextStep)
    {
        DegreeChanged();
    }
    else
    {
        LoadLogos();
        LogosLoaded = true;
    }

}

function PopulateCategory(result)
{

    ExecuteNextStep=false;
    xml = result;
    var nodes = xml.split("<Category>");
    var i=0;
    var index=1;
    for(i=0;i<nodes.length;i++)
    {
        if(nodes[i].indexOf("<Value>") > -1)
        {
            var nodeval = nodes[i].substr(nodes[i].indexOf("<Value>")+7, nodes[i].indexOf("</Value>")-nodes[i].indexOf("<Value>")-7);
            var nodetext = nodes[i].substr(nodes[i].indexOf("<DisplayName>")+13, nodes[i].indexOf("</DisplayName>")-13);
           	
            if(nodetext.indexOf("&amp;") > -1) 
            {
                nodetext = nodetext.substr(0, nodetext.indexOf("&amp;")) + "&" + nodetext.substr(nodetext.indexOf("&amp;")+5)
            }
            document.myform.optone[index] = new Option(nodetext, nodeval);
            if (nodeval.toUpperCase()==DefCategory.toUpperCase())
            { 
                document.myform.optone.selectedIndex = index;
                ExecuteNextStep=true;
            }
            
            index++;
        }
    }
    if (ExecuteNextStep)
    {
        CategoryChanged();
    }
    else
    {
        if(LogosLoaded==null)
        {
            LoadLogos();
            LogosLoaded = true;
        }
    }

}

function PopulateSubjects(result)
{

    xml = result;
    var nodes = xml.split("<Subject>");
    var i=0;
    var index=1;

    for(i=0;i<nodes.length;i++)
    {
        if(nodes[i].indexOf("<Value>") > -1)
        {
            var nodeval = nodes[i].substr(nodes[i].indexOf("<Value>")+7, nodes[i].indexOf("</Value>")-nodes[i].indexOf("<Value>")-7);	
            var nodetext = nodes[i].substr(nodes[i].indexOf("<DisplayName>")+13, nodes[i].indexOf("</DisplayName>")-13);
            document.myform.industry[index] = new Option(nodetext, nodeval);
            if (nodeval.toUpperCase()==DefSubject.toUpperCase())
            { 
                document.myform.industry.selectedIndex = index;                
            }                
            index++;
        }
    }

    
    if(LogosLoaded==null)
    {
        LoadLogos();
        LogosLoaded = true;
    }
    
}

function LoadDegrees() 
{
    var dtmNow = new Date();
    var strMS = dtmNow.valueOf();
    
    SetQSValues();
    xmlhttp=SetXMLHttp();
    xmlhttp.open("POST", "/WebServices/external/ELearnersWebService.asmx?time=" + strMS,IsAsyncEduLvlCall());
    xmlhttp.setRequestHeader("SOAPAction", "http://elearners.com/GetEDULevel_ByCampaign");
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4) 
        {
            PopulateDegreeLevel(xmlhttp.responseText);
        }
    }

    str = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
		    "<soap12:Envelope " +
		    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
		    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
		    "xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
		    "<soap12:Body>" +
		    "<GetEDULevel_ByCampaign xmlns=\"http://elearners.com/\">" +
		    "<RPCamp_GUID>" + document.myform.cid.value + "</RPCamp_GUID>" +
		    "</GetEDULevel_ByCampaign>" +
		    "</soap12:Body>" +
		    "</soap12:Envelope>";
     xmlhttp.send(str);
}
function DegreeChanged() {
    SetQSValues();
    xmlhttp=SetXMLHttp();
    document.myform.optone.disabled=false;
    document.myform.industry.disabled=true;
    document.myform.industry.selectedIndex=0;
    var x;
    for(x=document.myform.optone.length-1;x>0;x--)
    {
	    document.myform.optone[x] = null;
    }
    xmlhttp.open("POST", "/WebServices/external/ELearnersWebService.asmx",IsAsyncCategoryCall());
    xmlhttp.setRequestHeader("SOAPAction", "http://elearners.com/GetCategories_SSOProfile");
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4) 
        {
            PopulateCategory(xmlhttp.responseText);
        }
    }
    str = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
		    "<soap12:Envelope " +
		    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
		    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
		    "xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
		    "<soap12:Body>" +
		    "<GetCategories_SSOProfile xmlns=\"http://elearners.com/\">" +
		    "<Degree>" + document.myform.eduLvl[document.myform.eduLvl.selectedIndex].value + "</Degree>" +
		    "<RPCamp_GUID>" + document.myform.cid.value + "</RPCamp_GUID>" +
		    "</GetCategories_SSOProfile>" +
		    "</soap12:Body>" +
		    "</soap12:Envelope>";
    xmlhttp.send(str);
}

function CategoryChanged() {
    SetQSValues();
    xmlhttp=SetXMLHttp();
    document.myform.industry.disabled=false;
    document.myform.industry.selectedIndex=0;
    var x;
    for(x=document.myform.industry.length-1;x>0;x--)
    {
	    document.myform.industry[x] = null;
    }
    xmlhttp.open("POST", "/WebServices/external/ELearnersWebService.asmx",IsAsyncCategoryCall());
    xmlhttp.setRequestHeader("SOAPAction", "http://elearners.com/GetSubjects_SSOProfile");
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4) 
        {
            PopulateSubjects(xmlhttp.responseText);
        }
    }
    str = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
		    "<soap12:Envelope " +
		    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
		    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
		    "xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
		    "<soap12:Body>" +
		    "<GetSubjects_SSOProfile xmlns=\"http://elearners.com/\">" +
		    "<Degree>" + document.myform.eduLvl[document.myform.eduLvl.selectedIndex].value + "</Degree>" +
		    "<Category>"  + document.myform.optone[document.myform.optone.selectedIndex].value + "</Category>" + 
		    "<RPCamp_GUID>" + document.myform.cid.value + "</RPCamp_GUID>" +
		    "</GetSubjects_SSOProfile>" +
		    "</soap12:Body>" +
		    "</soap12:Envelope>";
    xmlhttp.send(str);
}

function LoadLogos() {
var dtmNow = new Date();
var strMS = dtmNow.valueOf();
    
xmlhttp.open("POST", "/WebServices/external/ELearnersWebService.asmx?time=" + strMS,true);
xmlhttp.setRequestHeader("SOAPAction", "http://elearners.com/GetTopCPLSchoolsByLSOProfile");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4) 
    {
        xml = xmlhttp.responseText;
        var nodes = xml.split("<School>");
        var i=0;
        
        for(i=0;i<nodes.length;i++)
        {
            if(nodes[i].indexOf("<partner>") > -1)
            {
                var partner = nodes[i].substr(nodes[i].indexOf("<partner>")+9, nodes[i].indexOf("</partner>")-9);
                var logo = nodes[i].substr(nodes[i].indexOf("<logo>")+6, nodes[i].indexOf("</logo>")-nodes[i].indexOf("<logo>")-6);
                var title = nodes[i].substr(nodes[i].indexOf("<title>")+7, nodes[i].indexOf("</title>")-nodes[i].indexOf("<title>")-7);
                
                logo = logo.replace('/logos/', '/logos_240_80/');
                
                var SchoolLogos = document.getElementById("SchoolLogos");
                SchoolLogos.innerHTML = SchoolLogos.innerHTML + "<a target='_blank' name='school_" + i + "' href='http://forms.elearners.com/inquiry_form2.aspx?f=" + partner + "'><img src='/images/traffic_border_1.gif' style='background-image: url(" + logo + ");' alt='" + title + "'  onmouseover='this.src=\"/images/traffic_border_2.gif\";' onmouseout='this.src=\"/images/traffic_border_1.gif\";' /></a>";
            }
        }
    }
}

//alert(document.getElementById("category").value);

 str = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
        "<soap12:Envelope " +
        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
        "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
        "xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
        "<soap12:Body>" +
        "<GetTopCPLSchoolsByLSOProfile xmlns=\"http://elearners.com/\">" +
        "<RPCamp_GUID>" + document.myform.cid.value + "</RPCamp_GUID>" +
        "<NumSchoolsToDisplay>" + document.myform.NumSchools.value + "</NumSchoolsToDisplay>" +
        "</GetTopCPLSchoolsByLSOProfile>" +
        "</soap12:Body>" +
        "</soap12:Envelope>";
 xmlhttp.send(str);
}

function IndustryChanged()
{
    if (document.myform.industry[document.myform.industry.selectedIndex].value != "-1")
    {
        doSubmit();
    }
}
function doSubmit()
{
    var optOne = document.myform.optone.options[document.myform.optone.selectedIndex].value;
    var industry = document.myform.industry.options[document.myform.industry.selectedIndex].value;
    var eduLvl = document.myform.eduLvl.options[document.myform.eduLvl.selectedIndex].value;
    var CID = document.myform.cid.value;
    var PostUrl = document.myform.PostUrl.value;
    document.myform.action=PostUrl;
    document.myform.submit();
}
