jQuery.fn.center = function () {
    this.css("position", "absolute");
    this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
    this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
    return this;
}

function PreloadImage(imgSrc, callback) {
	var objImagePreloader = new Image();
	
	objImagePreloader.src = imgSrc;
	if (objImagePreloader.complete) {
	callback();
	objImagePreloader.onload = function() { };
	}
	else {
	objImagePreloader.onload = function() {
	callback();
	// clear onLoad, IE behaves irratically with animated gifs otherwise
	objImagePreloader.onload = function() { };
	}
	}
}


$(document).ready(function () {
    //for ie 6 only
    if (($.browser.msie) && ($.browser.version == '6.0')) {
        setTimeout("correctPNG()", 1000);
    }
    if ($('#solutions').length != 0) {
        TreatHash();
    }
});


function changebg(index){
    $('#content').find('.repeater').hide();
    $('.repeater').find('.article').hide();
    // $('.lists').find('li').removeClass('valid');
    $('.leftside').find('.item').removeClass('selected');
    $($('.leftside').find('.item')[index]).addClass('selected');
    $('.newstylesolution').css('display','none');
    $($('.newstylesolution')[index]).css('display','block');
   // $($('.lists').find('li')[index]).addClass('valid');
    $($('#content').find('.repeater')[index]).show();
    $($('#content').find('.repeater')[index]).find('.article').slideToggle();
}

function locatelogo(){
	$('.partner').each(function(index){
        	if(index%2==1)	
			{
			$($('.partner')[index]).find('.forlogo').css({'left':'auto'});
			$($('.partner')[index]).find('.forlogo').css({'right':'-162px'});
			}
		});
}

function showRelatedTxt(obj) {
    $('.year_dv').find('.year').removeClass('selected');
    $(obj).addClass('selected');
    var ind = $(obj).index();
    $('.palier').find('.txt').hide();
    $($('.palier').find('.txt')[ind]).slideToggle();
}

function nextTab(obj) {
    var ind = $(obj).index();
    $('.tab').removeClass('selected');
    $(obj).addClass('selected');
    $('.contenu_tab').hide();

    if (($.browser.msie) && ($.browser.version == '6.0')) {
        $('.cursor').css({ 'display': 'none' });
        $(obj).find('.cursor').css({ 'display': 'block' });
    }
    if ($($('.contenu_tab')[ind]).css("display") == "none")
        $($('.contenu_tab')[ind]).slideToggle();
}

function showlogo(obj) {
    $('.forlogo').hide();
  $(obj).find('.forlogo').show();
}
function hidelogo() {
    $('.forlogo').hide();
}

function  TreatHash() {

var hash = window.location.hash;
globalReadyId = -1;
if (hash.split("#").length == 3)
globalReadyId = hash.split("#")[2]; // The id of ready towear choosed

if (hash == '#Overview')
    changebg(0);
else if (hash == '#Consulting')
    changebg(1);
else if (hash == '#Development')
    changebg(2);
else if (hash == '#Validation')
    changebg(3);
else if (hash == '#Production')
    changebg(4);

}
// end me



function validateForm(frmId) {
    hideMessages();
    var routeURL = document.getElementById("routeUrl").value;
    var isError = false;
    var test = false;
    if ($('.missed').length != 0)
        $('.missed').removeClass('missed');
    // **********validation********
    $('#' + frmId).find('input,textarea,select').each(function () {


        var elem;
        if (($(this).attr('required') == '1' && $(this).attr('value').length == 0) || ($(this).attr('email') == '1' && !IsValidEmail($(this).attr('value'))) || ($(this).attr('email') == '1' && !IsValidEmail($(this).attr('value')))) {

            if (frmId == "frmContact" || frmId == "frmCareers" || frmId == "frmVacancies") {
                $(this).parent().addClass('missed');
                //$(this).parent().parent().removeClass('required');
            }

            isError = true;
            test = true;
            if (!elem) elem = $(this);

        } else {
            if (frmId == "frmContact" || frmId == "frmCareers" || frmId == "frmVacancies") {
                if (!isValidInput()) {
                    isError = true;
                    test = true;
                }
                else {
                    $(this).parent().removeClass('missed');
                   // $(this).parent().parent().addClass('required');
                }
            }

        }


    });

    // **********validation *****

    
    if (test == false) {// form is valid 
        var cv="";
        if (frmId == "frmCareers" || frmId == "frmVacancies")
            cv = $('#SWFUpload_0_0').find('input').attr("name");
        // ajax call
        $('.loading').css({ display: 'block' });

        $.post($('#' + frmId).attr('action'),
        $('#' + frmId).serialize() + '&cvs=' + cv,
function (data) {
    if (data == "success") {
        $('.loading').css({ display: 'none' });
        if (frmId == "frmContact")
            document.frmContact.reset();
        else if (frmId == "frmCareers" || frmId == "frmVacancies") {
            if (frmId == "frmVacancies") {
                document.frmVacancies.reset();
            }
            else 
            document.frmCareers.reset();
        }
        $('.fill_req').fadeOut();
        $(".member").fadeIn();
        $('.uploadMessage').html("");
        $('#' + frmId).find('input').parent().removeClass('missed');
        $('#' + frmId).find('textarea').parent().removeClass('missed');
        //$('#' + frmId).find('input').parent().parent().addClass('required');
        //$('#' + frmId).find('textarea').parent().parent().addClass('required');
    }
    else {
        alert("Something went wrong with your internet connection, please try again later!");
    }
});

    }  //form not valid
    else {
        $('.member').css({ display: 'none' });
        $('.fill_req').css({ display: 'block' });
    }

}
function hideMessages() {
    $('.member').hide();
    $('.fill_req').hide();
    $('.loading').hide();
}

/*validate number*/
function IsValidNumber(number) {
    var filter = /[0-9]+/;
    return filter.test(number);
}

function isValidInput() {
    var valide = true;
    if ($('#fname').val() != "full name" && $('#fname').val() != "")
        $('#fname').parent().removeClass('missed');
    else {
        $('#fname').parent().addClass('missed');
        valide = false;
    }

    if ($('#subject').val() != "subject" && $('#subject').val() != "")
        $('#subject').parent().removeClass('missed');
    else {
        $('#subject').parent().addClass('missed');
        valide = false;
    }

    if ($('#mail').val() != "mail" && $('#mail').val() != "")
        $('#mail').parent().removeClass('missed');
    else {
        $('#mail').parent().addClass('missed');
        valide = false;
    } 
    if ($('#comment').val() != "comment" && $('#comment').val() != "")
        $('#comment').parent().removeClass('missed');
    else {
        $('#comment').parent().addClass('missed');
        valide = false;
    }

    if ($('#phone').val() != "phone" && $('#phone').val() != "") {
        if (!IsValidNumber($('#phone').val()))
            valid = false;
    }
  
    if (valide == false)
        return false;
    else return true;
}


function IsValidEmail(email) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return filter.test(email);
}
