
tabs = {};

function registerNewsletter(form){
	dojo.xhrGet( {
			url: '/send_newsletter.php',
			form: dojo.byId('newsletterRegistrationDialogForm'),
			method: "POST",
	        load: function(responseObject, ioArgs) {
					dijit.byId('newsletterDialog').hide();
	        },
			error: function(a,b,c)
			{
				if(window.console) console.log(a,b,c);
			}
	});

}

function sendForm(url, form_id){
	dojo.xhrPost( {
			url: url,
			form: dojo.byId(form_id),
	        load: function(responseObject, ioArgs) {
                alert(responseObject);
	        },
			error: function(a,b,c)
			{
                alert(a+" "+b);
			}
	});
}


function forgotPassword(){
	var form = dojo.byId('forgotPasswordDialogForm');
	dojo.xhrGet( {
			url: '/forgotPassword.php',
			form: form,
			method: "POST",
	        load: function(responseObject, ioArgs) {
					result = dojo.fromJson(responseObject);
					if (result.status)
					{
						dijit.byId('forgotPasswordDialog').hide();
					}
					alert(result.message);
					
	        },
			error: function(a,b,c)
			{
				if(window.console) console.log(a,b,c);
			}
	});

}

reg_error1 = "";
reg_error2 = "";
function registerSystem() {
    var selected_items = 0;
    var areas = dojo.byId("areas_of_interest");
    var areas_names = dojo.byId("aoi_names");
    areas.value = '';
    areas_names.value = '';
	dojo.forEach(
	    dojo.query("#areas_container input"),
	    function(item) {
	        if (item.checked) {
	            selected_items += 1;
	            areas.value += item.value+', ';
	            areas_names.value += item.name+',';
	        }
	    }
	);
	
	if(selected_items <= 3) {
        var year = dijit.byId("age_year").value;
        var month = dijit.byId("age_month").value;
        var day = dijit.byId("age_day").value;
        dojo.byId("age").value = year+"-"+month+"-"+day;
    	dojo.io.iframe.send( {
			url: '/registerCandidate.php',
			form: dojo.byId('registrationDialogForm'),
			method: "POST",
	        load: function(responseObject, ioArgs) {
				alert(responseObject);
				dijit.byId('registrationDialog').hide();
	        },
			error: function()
			{
			    alert(reg_error1);
			}
    	});    } else {
        alert(reg_error2);
    }
}

function populateAreas(areas_text) {
    var chosen_areas = areas_text.split(',');
    var form = dojo.byId('registrationDialogForm');
    if (chosen_areas.length<3 && chosen_areas.length>=0)
        formax = chosen_areas.length;
    else
        formax = 3;
    for(var i=0; i<formax; i++) {
        form[chosen_areas[i]].checked = true;
    }
}

function toggleBottomContents(state) {
    if (state==1){
        dojo.style("bottomContent", "display", "block");
        dojo.style("featured-clients", "display", "block");
    }
    if (state==0){
        dojo.style("bottomContent", "display", "none");
        dojo.style("featured-clients", "display", "none");
    }
}

function Tab(id,cpId)
{
    this.id = id;
    this.contentPane = dijit.byId(cpId);
    if(this.contentPane) {
	this.domNode = dojo.byId(id);
	this.contentPane.buttonDomNode = this.domNode;
	
	var pnode = this.contentPane.containerNode.parentNode;
	var sc = dijit.byNode(pnode); 
	if (sc == null)
	{	
        if(window.console) console.log(pnode,sc,this.contentPane);
	}
	
	this.stackcontainer = sc;
	var that = this; 
	this.domNode.handleClassChange = function()
	{
		var tabspace = that.stackcontainer;
		
		dojo.removeClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
		dojo.addClass(this,'tab_selected');		
	}
	this.domNode.onclick = function () 
	{
		var tabspace = that.stackcontainer;
        this.handleClassChange();
        if(this.id == "HomeTab") toggleBottomContents(1);
        else toggleBottomContents(0);
		tabspace.selectChild(that.contentPane);
    };
    }
}

tabs.forward = function()
{
	var tabspace = dijit.byId('tabspace');
	dojo.removeClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
	tabspace.back();
	dojo.addClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
}

tabs.back = function()
{
	var tabspace = dijit.byId('tabspace');
	dojo.removeClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
	dijit.byId('tabspace').forward();
	dojo.addClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
}

function _changeTab(tabspace, num) {
    var children = tabspace.getChildren();
    dojo.removeClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
    tabspace.selectChild(children[num]);
    dojo.addClass(tabspace.selectedChildWidget.buttonDomNode,'tab_selected');
    return false;
}

function changeTab(num) {
    if(num == 0) toggleBottomContents(1);
    else toggleBottomContents(0);
    _changeTab(dijit.byId('tabspace'), num);
}

function changeEmployerTab(num) {
    changeTab(2);
    _changeTab(dijit.byId('employersTabSpace'), num);
}

function changeCandidateTab(num) {
    changeTab(3);
    _changeTab(dijit.byId('candidatesTabSpace'), num);
}

function changeToContact(tab) {
    changeTab(4);
    if(tab === "employers")
        _changeTab(dijit.byId('contactusTabSpace'), 0);
    if(tab === "candidates")
        _changeTab(dijit.byId('contactusTabSpace'), 1);
}

function animTransition(newWidget,oldWidget)
{
	var that = this;
	
	dojo.fadeOut({
		node: newWidget.domNode		    
		}).play();
		
	dojo.fadeOut({
	    node: oldWidget.domNode,
	    onEnd:function(){
	        that._transitionBase(newWidget,oldWidget);
			dojo.fadeIn({
					node: newWidget.domNode
				}).play();
	    }
	}).play();

}

function changeTransitionAnim (stackcontainer,animFunc){
    if(typeof stackcontainer != "undefined" && typeof stackcontainer._transitionBase != "undefined" && stackcontainer && stackcontainer._transitionBase) {
        stackcontainer._transitionBase = stackcontainer._transition;
        stackcontainer._transition = animFunc;
    }
}


function myrefresh(){
	var tabspace = dijit.byId('tabspace');
    var anim = 1500;

    if(tabspace.selectedChildWidget.id == "Home") {
        var cycle = function(fjobs, next, prev) {
            dojo.fadeOut({
                node: fjobs[prev], 
                duration: anim,
                onEnd: function() {
                    fjobs[prev].style.display = "none";
                    fjobs[next].style.display = "block";
                    dojo.fadeOut({
                        node: fjobs[next], 
                        duration: 10,
                        onEnd: function() {
                            dojo.fadeIn({node: fjobs[next], duration: anim}).play();
                        }
                    }).play();
                }
            }).play();
        };
        var fjobs = dojo.query("div#jobsStackContainer > div");
        var hilight = false;
        for (var i=0; i<fjobs.length; i++) {
            if(hilight) {
                cycle(fjobs, i, i-1);
                return true;
            } else {
                if(fjobs[i].style.display == "block") {
                    hilight = true;
                    if(i+1 === fjobs.length) {
                        cycle(fjobs, 0, i);
                        return true;
                    }
                }
            }
        }
	}
}

var enterKeyPressed = 0;
function setEnterKey(formname, method) {
    var fields = dojo.query("input[type=text], input[type=password], input[type=file]", dojo.byId(formname));
	for(var i=0; i<fields.length; i++) {
	    dojo.connect(fields[i], "onkeyup", fields[i], function(event) {
	        if(event.keyCode === 13 && enterKeyPressed === 0) {
	            enterKeyPressed = 1;
	            if(typeof method !== "function") {
                    dojo.byId(formname).submit()
                } else {
                    method.call();
                }
                setTimeout(function() {enterKeyPressed = 0;}, 2500);
	        }
	    })
	}
}

function showRefTxt(id) {
    var el = dojo.byId("ref_txt"+id);
    dojo.style("ref_txt1", "display", "none");
    dojo.style("ref_txt2", "display", "none");
    dojo.style("ref_txt3", "display", "none");
    dojo.style(el, "display", "inline");
}

function init()
{
	dojo.parser.parse(document.body);
    
	tabs.Home = new Tab('HomeTab','Home');
	tabs.AboutUs = new Tab('AboutUsTab','AboutUs');
	tabs.welcomemessage = new Tab('welcomemessage','welcomemessageTab');
	tabs.ourvision = new Tab('ourvision','ourvisionTab');
	tabs.ourmission = new Tab('ourmission','ourmissionTab');
	tabs.pressroom = new Tab('pressroom','pressroomTab');
	
	tabs.Employers = new Tab('EmployersTab','Employers');
	tabs.Candidates = new Tab('CandidatesTab','Candidates');
	tabs.ContactUs = new Tab('ContactUsTab','ContactUs');	
	
	tabs.ourworkprocessEmployers = new Tab('ourworkprocessEmployers','ourprocessEmployersTab');
	tabs.ourservices = new Tab('ourservices','ourservicesTab');
	tabs.resourcesEmployers = new Tab('resourcesEmployers','resourcesEmployersTab');
	tabs.featuredcandidates = new Tab('featuredcandidates','featuredcandidatesTab');
	
	
	tabs.whatcanwedoforyou = new Tab('whatcanwedoforyou','whatcanwedoforyouTab');
	tabs.referafriend = new Tab('referafriend','referafriendTab');
	tabs.candidatescharter = new Tab('candidatescharter','candidatesCharterTab');
	tabs.resources = new Tab('resources','resourcesTab');

	// setting up fade transition between tabs 
	var tabspace = dijit.byId('tabspace');
	var aboutusTabSpace = dijit.byId('aboutusTabSpace');
	var employersTabspace = dijit.byId('employersTabSpace');
	var candidatesTabSpace = dijit.byId('candidatesTabSpace');
	var contactusTabSpace = dijit.byId('contactusTabSpace');
	var featuredJobsStack = dijit.byId('jobsStackContainer');
	
	changeTransitionAnim(tabspace,animTransition);
	changeTransitionAnim(aboutusTabSpace,animTransition);
	changeTransitionAnim(employersTabspace,animTransition);
	changeTransitionAnim(candidatesTabSpace,animTransition);
	changeTransitionAnim(contactusTabSpace,animTransition);		
	changeTransitionAnim(featuredJobsStack,animTransition);		
	
	// set enter key events
	setEnterKey("login_form", login);
	setEnterKey("registrationDialogForm", registerSystem);
	setEnterKey("newsletterRegistrationDialogForm", registerNewsletter);
	setEnterKey("forgotPasswordDialogForm", forgotPassword);
	
	//setting up featured jobs animation.
	var timer = setInterval(myrefresh, 6000);
	
	var parts = window.location.href.split("#");

	if (parts.length>=2) {
	    var section = parts[parts.length-1];
	    if(section === "about") changeTab(1);
	    if(section === "employers") changeTab(2);
	    if(section === "candidates") changeTab(3);
	    if(section === "contact") changeTab(4);
    }
    if(dojo.isIE && dojo.isIE < 7){
        var editor = document.getElementById("dijit._editor.RichText.savedContent");
        dojo.query("iframe").orphan();
    }

}

dojo.addOnLoad(init);

