﻿var facultyIndex = new Array( 6, 5, 3, 2, 4);
var currentDiv = 'lstFacultyName';
var cellID;
var ajaxImage = new Image();
ajaxImage.src = 'http://www.uop.edu.jo/images/ajax-loader.gif';
var listLoaderImage = new Image();
listLoaderImage.src = 'http://www.uop.edu.jo/faculties/images/loader.gif';
function getList(objText, itemList, type)
{
    var text = GetElementByTagAndIdName('INPUT', objText);  //document.all ? document.all[objText] : document.getElementById(objText);
    var list = document.all?document.all[itemList]:document.getElementById(itemList);
    var left;
    var top;
    if(text && list)
    {
        var img = document.createElement('IMG');
        img.setAttribute('src',listLoaderImage.src);
        list.innerHTML = '';
        list.appendChild(img);
        left = getElementLeft(objText);
        top = getElementTop(objText) + getElementHeight(objText);
        if(list.style.display=='none')list.style.display='block'; else list.style.display='none';
        list.style.left = (left-23)+'px';
        list.style.top = top + 'px';    
        switch(type)
        {
            case 'f':
                list.style.width= '180px';
                getFaculty(objText,itemList);
                break;
            case 'c':
                list.style.width = '224px';
                getCourseGroup(objText,itemList);
                break;
            case 'm':
                list.style.width = '180px';
                getMajors(objText,itemList);
            break;   
            case 'p':
                list.style.width = '224px';
                getPlans(objText,itemList);
                break;
            case 'cn':
                list.style.width = '224px';
                GetCourseGroupBlockAsList(objText, itemList);
                break;
        }
    }           
}

function getFaculty(objText, itemList)
{
    currentDiv = 'lstFacultyName';
    var majors = FacultiesWebService.GetAllFacultiesAsList(objText,itemList,QueryStringByVarName('lang'),OnComplete,OnTimeOut,OnError);   
    return true;
}

function getMajors(objText, itemList)
{
    currentDiv = 'lstFacultyName';
    var facultyID = getHiddenInputByClientID('shf');
    if(facultyID!=null && parseInt(facultyID.value)>0)
    {
        var majors = FacultiesWebService.GetMajorsByFacultyId(facultyIndex[parseInt(facultyID.value)-1],objText,itemList,QueryStringByVarName('lang'),OnComplete,OnTimeOut,OnError);
    }
    else
    {
        document.getElementById(itemList).style.display = 'none';
        alert('يجب تحديد الكلية قبل إختيار التخصص');
    }
    return true;
}

function getPlans(objText,itemList)
{
    var shm = getHiddenInputByClientID('shm');  //document.all?document.all['ctl00_ContentPlaceHolder1_shm']:document.getElementById('ctl00_ContentPlaceHolder1_shm');
    if(shm && parseInt(shm.value)>0)
    {
    //alert(shm.value);
        var plans = FacultiesWebService.GetMajorsPlanByMajorsId(parseInt(shm.value),objText,itemList,QueryStringByVarName('lang'),OnComplete,OnTimeOut,OnError);
        return true;
    }
    else
    {
        document.getElementById(itemList).style.display = 'none';
        alert('يجب تحديد التخصص قبل إختيار الخطة');
    }
}

function getCourseGroup(objText,itemList)
{
    var shm = getHiddenInputByClientID('shm');
    var shp = getHiddenInputByClientID('shp');
    
    if(shm && shp && parseInt(shm.value) && parseInt(shp.value))
    {
        var groups = FacultiesWebService.GetCourseGroup(parseInt(shm.value),parseInt(shp.value),objText,itemList,QueryStringByVarName('lang'),OnComplete,OnTimeOut,OnError);
        return true;
    }
    else
    {
        document.getElementById(itemList).style.display = 'none';
        alert('يجب تحديد التخصص و الخطة قبل إختيار المواد');
    }
}
//GetCourseGroupBlockAsList
function GetCourseGroupBlock()//int majorID, int plan, int categoryID, int groupType
{
    var shm = getHiddenInputByClientID('shm');
    var shp = getHiddenInputByClientID('shp');
    var shc = getHiddenInputByClientID('shc');
    var categoryID, groupTypeID;
    if(shc)
    {
        var strValue = new String(shc.value).split('_');
        categoryID = parseInt(strValue[0]);
        groupTypeID = parseInt(strValue[1]);
        if(shm && shp && parseInt(shm.value)>0 && parseInt(shp.value)>0)
        {
            var data = document.all?document.all['divCourseGroup']:document.getElementById('divCourseGroup');
            var img = document.createElement('IMG');
            img.setAttribute('src',ajaxImage.src);
            if(data)data.appendChild(img); //= '<img src="http://www.uop.edu.jo/images/ajax-loader.gif" alt="loading" title="loading" />';
            var courseBlock = FacultiesWebService.GetCourseGroupBlock(parseInt(shm.value),parseInt(shp.value),categoryID,groupTypeID,QueryStringByVarName('lang'),OnDateComplete,OnTimeOut,OnError);
            return true;
        }
    }
    else{
    alert('يجب تحديد الخيارات لإظهار المواد');
    }
}

function GetCourseGroupBlockAsList(objText, itemList)//int majorID, int plan, int categoryID, int groupType
{
    var shm = getHiddenInputByClientID('shm');
    var shp = getHiddenInputByClientID('shp');
    var shc = getHiddenInputByClientID('shc');
    var categoryID, groupTypeID;
    if (shc) {
        var strValue = new String(shc.value).split('_');
        categoryID = parseInt(strValue[0]);
        groupTypeID = parseInt(strValue[1]);
        if (shm && shp && parseInt(shm.value) > 0 && parseInt(shp.value) > 0) {
            //var data = document.all ? document.all['divCourseGroup'] : document.getElementById('divCourseGroup');
            //var img = document.createElement('IMG');
            //img.setAttribute('src', ajaxImage.src);
            //if (data) data.appendChild(img); //= '<img src="http://www.uop.edu.jo/images/ajax-loader.gif" alt="loading" title="loading" />';
            var courseBlock = FacultiesWebService.GetCourseGroupBlockAsList(parseInt(shm.value), parseInt(shp.value), categoryID, groupTypeID, objText, itemList, QueryStringByVarName('lang'), OnComplete, OnTimeOut, OnError);
            return true;
        }
        else {
        document.getElementById(itemList).style.display = 'none';
        alert('يجب تحديد الخيارات لإظهار المواد');
    } 
    }
    else {
        document.getElementById(itemList).style.display = 'none';
        alert('يجب تحديد الخيارات لإظهار المواد');
    }    
}

function setListValue(evt, objText, list,t)
{
    var text = document.all?document.all[objText]:document.getElementById(objText);
    var list = document.all?document.all[list]:document.getElementById(list);
    var item = evt.srcElement?evt.srcElement:evt.target;
    var shf = getHiddenInputByClientID('shf');
    var shc = getHiddenInputByClientID('shc');
    var shp = getHiddenInputByClientID('shp');//document.all?document.all['ctl00_ContentPlaceHolder1_shp']:document.getElementById('ctl00_ContentPlaceHolder1_shp');
    var shm = getHiddenInputByClientID('shm');//document.all?document.all['ctl00_ContentPlaceHolder1_shm']:document.getElementById('ctl00_ContentPlaceHolder1_shm');
    var shcn = getHiddenInputByClientID('shcn');
    if(text && list && item) {
        text.value = (new String(item.innerHTML)).replace('&amp;','&');
        list.style.display = 'none';
        switch(t)
        {
            case 'f':
            if(shf)shf.value = item.id;
            if(shc)shc.value = '';
            if(shm)shm.value = '';
            if(shp)shp.value = '';
            if(shcn)shcn.value = '';
            break;
        case 'm':
            if (shm) {
                shm.value = item.id;
                if(shp)shp.value = '';
                if(shc)shc.value = '';
                if(shcn)shcn.value = '';
            }
            break;
            case 'p':
            if(shp)
            {
                shp.value=item.id;
                if(shc)shc.value = '';
                if(shcn)shcn.value = '';              
            }
            break;
            case 'c':
            if(shc)
            {
                shc.value = item.id;
                if(shcn)shcn.value = '';
            }
            break;
        case 'cn':
            if (shcn) {
                if(shcn)shcn.value = item.id;
            }
            break;            
        }        
    }
}

function OnComplete(results)
{
    var data = document.all?document.all[currentDiv]:document.getElementById(currentDiv);
    data.innerHTML = results;            
}
function OnDateComplete(results)
{
    var data = document.all?document.all['divCourseGroup']:document.getElementById('divCourseGroup');            
    data.innerHTML = results;            
}
function OnTimeOut(results){
    alert ('timeout occured with web service');
}
function OnError(results){
    alert('error encountered when calling Product Color service method');
}

function getHiddenInputByClientID(id)
{
    var hElements = document.getElementsByTagName('INPUT');
    for(var i=0; i<hElements.length; i++)
    {
        if(hElements[i].type =='hidden')
        {
            if (hElements[i].id.indexOf('_' + id) != -1 || hElements[i].id==id)
               return hElements[i];
        }
    }
    return null;
}

function QueryStringByVarName(name)
{
    var fullQueryString = window.location.href.substring(window.location.href.indexOf('?')+1,window.location.href.length);
    var param = fullQueryString.split('&');
    var emptyValue=null;
    for(var i=0; i<param.length;i++)
    {
        if(param[i].indexOf(name)!=-1)
        {
            return param[i].substring(param[i].indexOf(name)+name.length+1,param[i].length);
        }
    }
    return emptyValue;
}
function createRow(id)
{
    var row = document.createElement("TR");
    var cell = document.createElement("TD");
    var preRow = document.getElementById(id);
    
    if(typeof preRow != 'undefined' && preRow != null)
    {    
        var parentTable = preRow.parentNode.parentNode;   
        var rowIndex = getTableRowIndex(parentTable,preRow);        
        if(rowIndex){parentTable.deleteRow(rowIndex);}        
        return null;
    }
    cell.colSpan = 4;
    cellID = 'cell_'+id;
    var desc = FacultiesWebService.GetCourseDescriptionByCourseID(id,QueryStringByVarName('lang'),OnDescriptionComplete,OnTimeOut,OnError);
    cell.setAttribute('id','cell_'+id);
    cell.innerHTML ='<img src="../images/loader.gif" alt="loading" title="loading" />';    
    row.setAttribute('id',id);
    row.setAttribute('display','block');
    row.appendChild(cell);
    return row;
}
function getTableRowIndex(table, row)
{
    for (var i=0; i<table.rows.length; i++)
    {
        if(table.rows[i].id && table.rows[i].id == row.id)
            return i;
    }
}
function OnDescriptionComplete(results)
{
    var data = document.all?document.all[cellID]:document.getElementById(cellID);            
    if(data)data.innerHTML = results;            
}


