/* javascript common */

function switchX(obj, type) {
	if(type == 1){
		obj.css({"cursor":"pointer"});
		obj.css({"text-decoration":"underline"});
	}
	if(type == 2){
		obj.css({"cursor":"default"});
		obj.css({"text-decoration":"none"});
	}
}
function switchImage(obj, type) {
	if(type == 1){
		obj.css({"cursor":"pointer"});
		obj.parent().next().css({"text-decoration":"underline"});
	}
	if(type == 2){
		obj.css({"cursor":"default"});
		obj.parent().next().css({"text-decoration":"none"});
	}
}
function switchHome(obj, type) {
    if (type == 1) {
        obj.css({ "cursor": "pointer" });
        obj.find('div').css({ "text-decoration": "underline" });
    }
    if (type == 2) {
        obj.css({ "cursor": "default" });
        obj.find('div').css({ "text-decoration": "none" });
    }
}

/* end of javascript common */





/* javascript for ajax mail */

function disableGroup(id_elements){
	for(var i=0; i<id_elements.length; i++){
		document.getElementById(id_elements[i]).disabled = true;
	}
}

function replaceBgColor(class_container, color){
	$('.' + class_container).css({ 'background-color' : color });
}

function postMail(){
	var keys = new Array('name', 'email', 'phone', 'enquiry');
	var vals = new Array();

	var url = "/callback/sendfromfront";
	for(var i=0; i<keys.length; i++){
		vals[i] = document.getElementById(keys[i]).value;
	}
	$.post(url, { name    : vals[0], 
                  email   : vals[1], 
		          phone   : vals[2], 
				  enquiry : vals[3] } );
}

function showHint(id_hint, img_hint){
	var o = document.getElementById(id_hint);
	o.innerHTML = img_hint;
}

function showResult(class_form, class_result){
	$('.' + class_form).hide();
	$('.' + class_result).show();
}

function submitMail(){
	var id_elements     = new Array('name', 'email', 'phone', 'enquiry');

    var class_container = 'index_callback';
	var color           = '#ccc';

	var id_hint         = 'hint_callback';
	var img_hint        = '<img src="/public/images/request_callback_loader.gif">';

	var class_result    = 'result_callback';
	
	if($('#email').val() == '' && $('#phone').val() == ''){
		$('.callback_errors').show();
		return;
	}else{
		$('.callback_errors').hide();
		
		window.setTimeout("disableGroup(new Array('name', 'email', 'phone', 'enquiry'));", 500);
		window.setTimeout("replaceBgColor('index_callback', '#acd0e8');", 500);
		window.setTimeout("showHint('hint_callback', '<img src=\"./public/images/request_callback_loader.gif\">')", 500);

		window.setTimeout("postMail();", 1000);

		window.setTimeout("replaceBgColor('title_callback', '#b4d61c');", 3700);
		window.setTimeout("showResult('callback_form', 'callback_result');", 3700);
	}
}

/* end of javascript for ajax mail */





/* ajax for job list */

function quickBack() {
    location.replace('/Jobs/view');
}

function okok() {
    window.setTimeout("showLoading(1)", 100);
    window.setTimeout("quickBack();", 1000);
}

function showLoading(tag) {
    var path = "/public/images/";
    var o = document.getElementById('hint_process');
    if (tag == 2)
        o.innerHTML = '<input class="jobs_reset" type="button" value="Reset" onclick="okok();" />';
    if (tag == 1)
        o.innerHTML = '<img src="' + path + 'loading.gif" />';
    if (tag == 0)
        o.innerHTML = '';
}

function bandaid(content) {
    return "<div class='jobs_board'>" + content + "</div>";
}

function getJobItems(params) {
    var url     = "/Jobs/ta";
    var data    = '';
    var request = '';
    var cond    = new Array();
    cond[1]     = params[0]!='' && params[1]=='' && params[2]!='' &&  params[3]!='';
    cond[2]     = params[0]!='' && params[1]!='' && params[2]!='' &&  params[3]!='';
    cond[3]     = params[0]=='' && params[1]=='' && params[2]!='' &&  params[3]!='';
    cond[4]     = params[0]=='' && params[1]=='' && params[2]=='' &&  params[3]=='';

    if (cond[1]) {
        request = "function=" + params[0] + "&location=&ordered=" + params[2] + "&orderby=" + params[3];
    }
    if (cond[2]) {
        request = "function=" + params[0] + "&location=" + params[1] + "&ordered=" + params[2] + "&orderby=" + params[3];
    }
    if (cond[3]) {
        request = "function=&location=&ordered=" + params[2] + "&orderby=" + params[3];
    }
    if (cond[4]) {
        request = "function=&location=&ordered=&orderby=";
    }
    //alert(request);

    $.ajax({
        type: "POST",
        url: url,
        data: request,
        cache: false,
        success: function(xml) {
            $(".jobs_board").replaceWith(bandaid(gerHTML(xml)));
            $(".char_count_jobs").replaceWith('<div class="char_count_jobs">' + $(xml).find('jobcount').text() + ' jobs</div>');

//            alert($("#brief:checked").val());
//            alert($("#detailed:checked").val());

            if ($('#brief:checked').val() == "on") {
                switch4AlldescOfJobs($('.desc_job'), 2);            
            }
            if ($('#detailed:checked').val() == "on") {
                switch4AlldescOfJobs($('.desc_job'), 1);
            }

        }
    });
}

function switch4AlldescOfJobs(obj, type) {
    if (type == 1) {
        obj.show();
    }
    if (type == 2) {
        obj.hide();
    }
}

function gerHTML(doc) {
    var html = '';
    var rootPath = "/";
    var path = "/public/images/action/";
    var t = 0;

    html += '<ul class="jobs">';
    $(doc).find('jobitem').each(function() {
        t++;
        var length = $(doc).find('jobaction').text().split('|').length;
        var class_item = (t % 2) ? 'jobs_item_with_color2' : 'jobs_item_with_color1';
        var color = (t % 2) ? '#fcfcfc' : '#ffffff';
        var jobitem = $(this);
        var class_item_location = (length == 3) ? 'item_location' : 'item_location2';

        html += '<li class=' + class_item + ' onmouseover="$(this).css({ \'background-color\': \'#eeeeee\', \'cursor\': \'pointer\' });" onmouseout="$(this).css({ \'background-color\':\'' + color + '\' });" onclick=location.replace("' + rootPath + 'Jobs/detail?id=' + jobitem.find('id').text() + '")>';
        html += '<div class="item_date">';
        html += '<span class="job_title">' + jobitem.find('date').text() + '</span><br>';
        html += '<span class="job_board_settings">' + jobitem.find('id').text() + '</span>';
        html += '</div>';

        html += '<div class="item_detail">';
        html += '<span class="job_function"><a href="' + rootPath + 'Jobs/detail?id=' + jobitem.find('id').text() + '">' + jobitem.find('function').text() + '</a></span><br>';
        html += '<em class="job_board_settings">Sector</em><br>';
        html += '<span class="job_board_settings">' + jobitem.find('practise').text() + '</span>';
        html += '</div>';

        html += '<div class="' + class_item_location + '">';
        html += '<span class="job_board_settings">' + jobitem.find('location').text() + '</span>';
        html += '</div>';

        if ($(doc).find('jobaction')) {
            var split = $(doc).find('jobaction').text().split('|');

            //            alert(split.join(','));
            //            alert(split.length);

            var href = new Array(rootPath + 'Jobs/remove?id=' + jobitem.find('id').text(), rootPath + 'Jobs/update?id=' + jobitem.find('id').text(), rootPath + 'Jobs/detail?id=' + jobitem.find('id').text());
            var tags = new Array('<img src="' + path + 'icon_delete.gif" />', '<img src="' + path + 'icon_edit.gif" />', '<img src="' + path + 'icon_view.gif" />');
            if (split.length == 1) {
                html += '';
            } else {
                var action = new Array();
                for (var i = 0; i < split.length; i++) {
                    action[i] = '<a href="' + href[i] + '">' + tags[i] + '</a>';
                }
                html += '<div class="item_action"><span class="job_title">';
                html += action.join(' ');
                html += '</span></div>';
            }
        }

        html += '<div class="' + class_item_location + '">';
        html += '<span class="job_board_settings">' + jobitem.find('location').text() + '</span>';
        html += '</div>';

        html += '<div class="desc_job">';
        html += '<div class="job_board_settings">' + jobitem.find('shortDescription').text();
        //[When you want to switch between readmore and back, add id for class desc_job]
        //        html += '<span class="job_board_settings" onmouseover="switch4Cursor($(this), 2);" onmouseout="switch4Cursor($(this), 1);" onclick="switchJobDescription(new Array(\'item_desc_short_' + t + '\', \'item_desc_long_' + t + '\'), 2);">read more</span>';
        html += '</div>';
        html += '</div>';

		/*
        html += '<div class="desc_job">';
        html += '<div class="job_board_settings">' + jobitem.find('longDescription').text();
        //[When you want to switch between readmore and back, add id for class desc_job]
        //        html += '<span class="job_board_settings" onmouseover="switch4Cursor($(this), 2);" onmouseout="switch4Cursor($(this), 1);" onclick="switchJobDescription(new Array(\'item_desc_long_' + t + '\', \'item_desc_short_' + t + '\'), 2);">back</span>';
        html += '</div>';
        html += '</div>';
		*/

        html += '</li>';
    })
    html += '</ul>';

    return html;
}





function bandaidL(content) {
    return "<span class='select_location'>" + content + "</span>";
}

function getLocationItems(reqFunction) {
    var url     = "/Jobs/tb";
    var request = "function=";
    if(reqFunction != ''){
        request += reqFunction;    
    }

//    alert(request);

    $.ajax({
        type  : "POST",
        url   : url,
        data: request,
        cache : false,
        success: function(xml) {
        $(".select_location").replaceWith(bandaidL(gerHTML4Location(xml)));
        }
    });
}

function gerHTML4Location(doc) {
    var html = '';
    var rootPath = "/";
    var path = "/public/images/action/";
    var t = 0;
    var locationCount = $(doc).find('locationcount').text();

    html += '<select class="location" id="location" class="job_board_settings"  style="margin-left:16px; width:120px; height:18px;" onchange="selectJobsByFunctionAndLocation();">';
    if (locationCount == 0) {
        html += '<option value="" selected>Location:</option>';
    } else {
        html += '<option value="" selected>Location:</option>';
        $(doc).find('locationitem').each(function() {
            var locationitem = $(this);
            html += '<option value="';
            html += locationitem.find('locationValue').text();
            html += '">' + locationitem.find('locationName').text() + '</option>';
        })
    }
    html += '</select>';

    return html;
}





function bandaidO(content) {
    return "<div class='job_board_fields'>" + content + "</div>";
}

function getOrderItems(ordered, orderby) {
    var url = "/Jobs/tc";
    var request = new Array("ordered=", "orderby=");
    var cond = new Array();
    cond[1] = ordered == '' && orderby == '';
    cond[2] = ordered == '' && orderby != '';
    cond[3] = ordered != '' && orderby == '';
    cond[4] = ordered != '' && orderby != '';

    if (cond[1]) {
        request[0] += 'date';
        request[1] += 'desc';
    }
    if (cond[4]) {
        request[0] += ordered;
        request[1] += orderby;
    }
    request = request.join('&');

//    alert(request);

    $.ajax({
        type: "POST",
        url: url,
        data: request,
        cache: false,
        success: function(xml) {
            $('#H_ordered').val($(xml).find('ordered').text());
            $('#H_orderby').val($(xml).find('orderby').text());

//            alert($('#H_ordered').val());
//            alert($('#H_orderby').val());

            if ($('#H_ordered').val() == 'date' && $('#H_orderby').val() == 'asc') {
                $('.date_dsc').show();
                $('.date_asc').hide();
                
                $('.function_asc').hide();
                $('.function_dsc').hide();
                $('.location_asc').hide();
                $('.location_dsc').hide();
            }
            if ($('#H_ordered').val() == 'function' && $('#H_orderby').val() == 'asc') {
                $('.function_dsc').show();
                $('.function_asc').hide();

                $('.date_asc').hide();
                $('.date_dsc').hide();
                $('.location_asc').hide();
                $('.location_dsc').hide();
            }
            if ($('#H_ordered').val() == 'location' && $('#H_orderby').val() == 'asc') {
                $('.location_dsc').show();
                $('.location_asc').hide();

                $('.date_asc').hide();
                $('.date_dsc').hide();
                $('.function_asc').hide();
                $('.function_dsc').hide();
            }
            
            if ($('#H_ordered').val() == 'date' && $('#H_orderby').val() == 'desc') {
                $('.date_asc').show();
                $('.date_dsc').hide();

                $('.function_asc').hide();
                $('.function_dsc').hide();
                $('.location_asc').hide();
                $('.location_dsc').hide();
            }
            if ($('#H_ordered').val() == 'function' && $('#H_orderby').val() == 'desc') {
                $('.function_asc').show();
                $('.function_dsc').hide();

                $('.date_asc').hide();
                $('.date_dsc').hide();
                $('.location_asc').hide();
                $('.location_dsc').hide();
            }
            if ($('#H_ordered').val() == 'location' && $('#H_orderby').val() == 'desc') {
                $('.location_asc').show();
                $('.location_dsc').hide();

                $('.date_asc').hide();
                $('.date_dsc').hide();
                $('.function_asc').hide();
                $('.function_dsc').hide();
            }
            
        }
    });
}





function getContactPersons(language) {
    var url = "/Contactpersons/list";
    var request = "language=";
    if (language != '') {
        request += language;
    }

    //    alert(request);

    $.ajax({
        type: "POST",
        url: url,
        data: request,
        cache: false,
        success: function(xml) {
        $(".list_persons").replaceWith(gerHTML4ContactPersons(xml));
        }
    });
}

function gerHTML4ContactPersons(doc) {
    var html = '';
    var rootPath = "/";
    var path = "/public/images/action/";
    var t = 0;

    html += '<ul class="contact_persons">';
    $(doc).find('ContactPerson').each(function() {
        t++;
        var length = $(doc).find('cpaction').text().split('|').length;
        var class_item = (t % 2) ? 'jobs_item_with_color2' : 'jobs_item_with_color1';
        var color = (t % 2) ? '#fcfcfc' : '#ffffff';
        var jobitem = $(this);
        var class_item_location = (length == 3) ? 'item_location' : 'item_location2';

        html += '<li class=' + class_item + ' onmouseover="$(this).css({ \'background-color\': \'#eeeeee\' });" onmouseout="$(this).css({ \'background-color\':\'' + color + '\' });")>';
        html += '<div class="item_date">';
        html += '<span class="job_title">' + jobitem.find('name').text() + '</span><br>';
        html += '<span class="job_board_settings">' + jobitem.find('orderNO').text() + '</span>';
        html += '</div>';
        html += '<div class="item_detail">';
        html += '<span class="job_function"><a href="mailto:' + jobitem.find('email').text() + '">' + jobitem.find('email').text() + '</a></span><br>';
        html += '<span class="job_board_settings">' + jobitem.find('telephone').text() + '</span>';
        html += '</div>';

        html += '<div class="' + class_item_location + '">';
        html += '<span class="job_board_settings">' + jobitem.find('position').text() + '</span>';
//        html += '<span class="job_board_settings">' + jobitem.find('languages').text() + '</span>';                
        html += '</div>';

        if ($(doc).find('cpaction')) {
            var split = $(doc).find('cpaction').text().split('|');

            //            alert(split.join(','));
            //            alert(split.length);

            var href = new Array(rootPath + 'Contactpersons/remove?orderNO=' + jobitem.find('orderNO').text(), rootPath + 'Contactpersons/edit?id=' + jobitem.find('orderNO').text(),'');
            var tags = new Array('<img src="' + path + 'icon_delete.gif" />', '<img src="' + path + 'icon_edit.gif" />','');
            if (split.length == 1) {
                html += '';
            } else {
                var action = new Array();
                for (var i = 0; i < split.length; i++) {
                    action[i] = '<a href="' + href[i] + '">' + tags[i] + '</a>';
                }
                html += '<div class="item_action"><span class="job_title">';
                html += action.join(' ');
                html += '</span></div>';
            }
        }

        html += '<div class="' + class_item_location + '">';
//        html += '<span class="job_board_settings">' + jobitem.find('languages').text() + '</span>';
        html += '</div>';

        html += '<div class="desc_job_show">';
        html += '<div class="job_board_settings">' + jobitem.find('languages').text();
        //[When you want to switch between readmore and back, add id for class desc_job]
        //        html += '<span class="job_board_settings" onmouseover="switch4Cursor($(this), 2);" onmouseout="switch4Cursor($(this), 1);" onclick="switchJobDescription(new Array(\'item_desc_short_' + t + '\', \'item_desc_long_' + t + '\'), 2);">read more</span>';
        html += '</div>';
        html += '</div>';

        html += '</li>';
    })
    html += '</ul>';

    return html;
}



function selectJobsByFunction() {
    /* 
    alert($('#sector').val());
    */

    window.setTimeout("showLoading(1)", 300);
    window.setTimeout("getLocationItems($('#sector').val())", 500);
    window.setTimeout("getJobItems(new Array($('#sector').val(), '', 'date', 'desc'))", 700);
    window.setTimeout("showLoading(2)", 1000);
}

function selectJobsByFunctionAndLocation() {
    /*   
    alert($('#sector').val() + '<>' + $('#location').val());
    */

    window.setTimeout("showLoading(1)", 300);
    window.setTimeout("getJobItems(new Array($('#sector').val(), $('#location').val(), 'date', 'desc'))", 700);
    window.setTimeout("showLoading(2)", 1000);    
}

function selectJobsOrderByItem(field) {
    /*
    alert($('#H_ordered').val());
    alert($('#H_orderby').val());
    */
    window.setTimeout("showLoading(1)", 300);
    window.setTimeout("getOrderItems('" + field + "', $('#H_orderby').val())", 500);
    window.setTimeout("getJobItems(new Array($('#sector').val(), $('#location').val(), $('#H_ordered').val(), $('#H_orderby').val()))", 700);
    window.setTimeout("showLoading(2)", 1000);    
}

function covertDate2MD(timestamp) {
    var month = new Array();
    month['01'] = 'January';
    month['02'] = 'February';
    month['03'] = 'March';
    month['04'] = 'April';
    month['05'] = 'May';
    month['06'] = 'June';
    month['07'] = 'July';
    month['08'] = 'August';
    month['09'] = 'September';
    month['10'] = 'October';
    month['11'] = 'November';
    month['12'] = 'December';

    var time = timestamp.split(' ');
    var YMD = time.split('-');
    var rs = new Array(month[YMD[1]], YMD[2]);

    return rs.join(' ');
}

/*  end of ajax for job list */





/* javascript for float footer */

function alignTop(){
	var keys_height  = new Array('header', 'navigator', 'grid_4', 'grid_7', 'grid_5');
	var height       = new Array();
	var class_footer = 'always_bottom';

    var maxLength = height[0] = $("." + keys_height[0]).height();
	for(var i=1; i<keys_height.length; i++){
		height[i] = $("." + keys_height[i]).height();
		maxLength = $("." + keys_height[i]).height() > maxLength ? $("." + keys_height[i]).height() : maxLength;
	}

	if($("." + class_footer).hasClass("pos_a") && $("." + class_footer).offset().top < 700){
	    $("." + class_footer).removeClass("pos_a");
	    $("." + class_footer).addClass("pos_r");
	}else{
	    $("." + class_footer).removeClass("pos_r");
	    $("." + class_footer).addClass("pos_a");
	}

}

$(window).resize(function(){
//  alignTop();
});

/* end of javascript for float footer */

function z(){}

function switch4Cursor(obj, type){
	var storage_cursor = new Array("default", "pointer");

    obj.css({"cursor":storage_cursor[type - 1]});
}

function switchColor4RecruitmentSubMenuOption(obj, type){
	var storage_color = new Array("#999999", "#3892cc");

    obj.css({ 'background-color' : storage_color[type - 1] });
	switch4Cursor(obj, type);
}

function switch4Navigator(obj, type){
	if(type == 1){
		obj.css({"cursor":"pointer"});
		obj.find('span').css({"text-decoration":"underline"});
	}
	if(type == 2){
		obj.css({"cursor":"default"});
		obj.find('span').css({"text-decoration":"none"});
	}
}

function switch4MenuOption(obj, type){
	if(type == 1){
		obj.find('span').css({"color":"#ffffff"});
		obj.css({"cursor":"pointer"});
	}
	if(type == 2){
		obj.find('span').css({"color":"#006699"});
		obj.css({"cursor":"default"});
	}
}

function replaceBgImg(id_element, way){
	var path           = "/public/images/leftmenu/";
	var path_up        = "/public/images/leftmenu/";

    var plan = new Array();
	plan[0] = new Array("#006699", "pointer", "url(" + path + "button_leftmenu.gif)");
	plan[1] = new Array("#ffffff", "pointer", "url(" + path + "button_leftmenu_on.gif)");

	plan[2] = new Array("#006699", "pointer", "url(" + path_up + "button_leftmenu.gif)");
	plan[3] = new Array("#ffffff", "pointer", "url(" + path_up + "button_leftmenu_on.gif)");

	var o = document.getElementById(id_element);

	$('#' + id_element).find('span').css({"color" : plan[way-1][0]});
	$('#' + id_element).css({"cursor"             : plan[way-1][1]});
	o.style.backgroundImage                       = plan[way-1][2];
}

function onlyOne(id_div){
	var prev = 'o';
	var arr_id = new Array(prev+'1', prev+'2', prev+'3', prev+'4', prev+'5', prev+'6', prev+'7', prev+'8');
	
	for(var i=0; i<8; i++){
		if(id_div == arr_id[i]){
			replaceBg(id_div, 2);
			continue;
		}
		replaceBg(arr_id[i], 1);
	}
}

function switchJobDescription(elements, type){
	if(type == 1){
		$('#' + elements[0]).show();
		$('#' + elements[1]).hide();
	}
	if(type == 2){
		$('#' + elements[0]).hide();
		$('#' + elements[1]).show();
	}
	return false;
}

function switchAllDescriptions(n, type){
	if(type == 1){
		for(var i=0; i<n; i++){
		    $('#item_desc_short_' + (i + 1)).show();
		    $('#item_desc_long_' + (i + 1)).show();
		}
	}
	if(type == 2){
		for(var i=0; i<n; i++){
			$('#item_desc_short_' + (i + 1)).hide();
			$('#item_desc_long_' + (i + 1)).hide();
		}
	}
}

function empty(v){
	switch (typeof v){
		case 'undefined' : return true;
		case 'string' : if(trim(v).length == 0) return true; break;
		case 'boolean' : if(!v) return true; break;
		case 'number' : if(0 === v) return true; break;
		case 'object' :
		if(null === v) return true;
		if(undefined !== v.length && v.length==0) return true;
		for(var k in v){return false;} return true;
		break;
	}
	return false;
}

function getFunctionAndLocation(id_function, id_location){
	store = new Array($('#' + id_function).val(), $('#' + location).val());

	if(empty(store[0]) && empty(store[1])){
		return '';
	}
	if(empty(store[0]) && !empty(store[1])){
		return 'location=' + store[1];
	}
	if(!empty(store[0]) && empty(store[1])){
		return 'function=' + store[0];
	}
	if(!empty(store[0]) && !empty(store[1])){
		return 'function=' + store[0] + '|location=' + store[1];
	}
}

function showOneInSix(one){
	var pairs = new Array('asc_date', 'desc_date', 
						  'asc_function', 'desc_function',
						  'asc_location', 'desc_location');

	for(var i=0; i<6; i++){
		if(one == pairs[i]){
			$("." + one).show();
			continue;
		}
		$("." + pairs[i]).hide();
	}
}

function getDhrDate(){
    var now     = new Date();
    var weekDay = new Array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
	var Month   = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var times   = new Array(weekDay[now.getDay()-1], Month[now.getMonth()]+'&nbsp;'+now.getDate(), now.getFullYear());

    return times.join(',  ');
}

$(function(){
		   $(".grid_4").height();
		   $(".grid_7").height();
		   $(".grid_5").height();
		   });