$(document).ready(function() {

    // DROP MENU FUNCTIONS
    $(".life").hover(function() {
            $(".dropmenu").hide(); // hide any open sub menus
            if ($("#life_mnu").length) { // check if a sub menu exists
                    $("#life_mnu").show(); // show sub menu
            }
    }, function() {   
		$("#life_mnu").hide(); // hide sub menu
    });
    
    // MEDIA SCROLLER FUNCTIONS
  var mediaPos = 1;
	$("#mediacontrols .carouselPrevious").bind("click", function() {
		if (mediaPos <= 1) { mediaPos = 2; }
		var pos = $("#d"+(mediaPos-1)).position();
		$("#mediacarousel").animate({"left": "-"+pos.left+"px"}, "slow");
		mediaPos = mediaPos-1;
		return false;
	});
	$("#mediacontrols .carouselNext").bind("click", function() {
		mediaPos = parseInt(mediaPos);
    len = $("#mediacarousel > li").length 
		if (mediaPos >= len) { mediaPos = len - 1;}
		var pos = $("#d"+(mediaPos+1)).position();
		$("#mediacarousel").animate({"left": "-"+pos.left+"px"}, "slow");
		mediaPos++;	
		return false;
	});
	var width = $("#mediacontrols .control-holder").width();
	$("#mediacontrols .control-holder").css("left",(250/2)-(width/2)+"px").show();
	
	
	 // NEWS SCROLLER FUNCTIONS
  var newsPos = 1;
	len = $("#newscarousel > li").length 
	$("#carouselPrevious").bind("click", function(){
		if (newsPos <= 2)
		{ 
			newsPos = 2; 
			$("#carouselPrevious").hide();
		}
		else
		{
			$("#carouselNext").show();
			$("#carouselPrevious").css("margin-right","5px");
		}
		$("#newscarousel").animate({"left": "-"+$("#n"+(newsPos-1)).position().left+"px"}, "slow");
		newsPos--;
		return false;
	});
	
	$("#carouselNext").bind("click", function(){
		if (newsPos >= len-1) 
		{ 
			newsPos = len - 1;
			$("#carouselNext").hide();
			$("#carouselPrevious").css("margin-right","15px");
		}
		else
		{
			$("#carouselNext em").hide();
			$("#carouselPrevious").show();
		}
		$("#newscarousel").animate({"left": "-"+$("#n"+(newsPos+1)).position().left+"px"}, "slow");
		newsPos++;	
		$("#newscontrols A").css("width","10px");
		return false;
	});
	
	//$("#carouselPrevious").hide();
	
	
	// TAB PANEL FUNCTIONS
	$(".tab").bind("click", function() {
		var id = $(this).attr("id");			// get ID of the selected tab
		$(".tab").removeClass("active");		// remove ACTIVE class from ALL tabs
		$(this).addClass("active");				// add ACTIVE class to the selected tab
		$(".tab-panel").removeClass("active");	// remove ACTIVE class from ALL tab panels
		$("#"+id+"_panel").addClass("active");	// add ACTIVE class to the associated panel
	});
	
	// REAL STUFF SCROLLER
	var episodePos = 1;
	var episodeMax = $(".real-episode-holder > img").length;
	$(".episodeControls .episodePrev").bind("click", function() {
		if (episodePos <= 1) { episodePos = 2; }
		var pos = $("#e"+(episodePos-1)).position();
		$(".real-episode-holder").animate({"left": "-"+pos.left+"px"}, "slow");
		episodePos = episodePos-1;
		$("#transcript").html($("#e"+episodePos).attr("title"));
		
		if (episodePos == 1) {
			$(".episodeControls .episodePrev").hide();
		}
		if (episodePos < episodeMax) {
			$(".episodeControls .episodeNext").show();
		}
		
		return false;
	});
	$(".episodeControls .episodeNext").bind("click", function() {
		episodePos = parseInt(episodePos);
		if (episodePos >= episodeMax) { episodePos = episodeMax - 1;}
		var pos = $("#e"+(episodePos+1)).position();
		$(".real-episode-holder").animate({"left": "-"+pos.left+"px"}, "slow");
		episodePos++;	
		$("#transcript").hide().html($("#e"+episodePos).attr("title")).fadeIn('slow');
		
		if (episodePos == episodeMax) {
			$(".episodeControls .episodeNext").hide();
		}
		if (episodePos > 1) {
			$(".episodeControls .episodePrev").show();
		}
		return false;
	});
	
    $("#allCats").bind("click", function() { $(".cats input[type=checkbox]").each(function() { this.checked = true;    });  return false; });
    
    $("#clearCats").bind("click", function() {
       $(".cats input[type=checkbox]").each(function() {
            this.checked = false;   
        }); 
        return false;
    });
    $("#clearTown").bind("click", function() {
       $(".map input[type=radio]").each(function() {
            this.checked = false;   
        }); 
        return false;
    });
    
    $(".helpicon").hover(function() {
        $(".tooltip").hide(); // hide any open sub menus
        var id = $(this).attr("id");
        var pos = $(this).position()
        $(".tooltip .tip-body").load('/common/ajax/tooltips.php?tooltip='+id, function() {
            var h = $(".tooltip").height();
            $(".tooltip").css("left",(pos.left+10)+"px").css("top",(pos.top-h)+"px").show();
        });
    }, function() {   
	$(".tooltip").hide(); // hide sub menu
    });
    
    $("#fajAdvSearch").bind("click", function() { 
																							$("#advancedSearch").slideToggle(); return false; })
    
		$("#forgotA").bind("click", function() {
			if( $("#forgotpass").is(":visible"))
			{							 
				$("#forgotpass").hide('slow');
			}
			else
			{
				$("#forgotpass").show('slow');						
			}
    });
				
    $(".showLogin").bind("click", function() { login(); });
		
		$("#loginemail").focus();
    
    $("#loginemail,#loginpassword").keypress(function(e) { checkForEnter(e); });

    //$(".addbutton a").live("click", function() { addItems(this); return false; })
		
    $(".removebutton a").live("click", function() {
        if ($(this).parent().parent().parent().children("li").length == 1) {
            $("#placeholder").show();
            $(this).parent().parent().parent().hide();
        }
        $(this).parent().parent().remove();
				$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(), function(data, status){},"json");
        return false;
    });
    $(".removequal a").live("click", function() {
        var pt = $(this).parent().parent().parent().parent().attr("id");
        if ($(this).parent().parent().parent().children("li").length == 1) {
            $("#placeholder"+pt).show();
        }
        $(this).parent().parent().remove();
				$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(), function(data, status){},"json");
        return false;
    });
    $(".quals a").live("click", function() {
       $(this).parent().parent().children(".qualifications").slideToggle();
       return false;
    });

    $("#email2self").bind("click", function() {
        var ref = $(this).attr("rel");
        $.post("/common/ajax/jobdetail.php?ref="+ref);
        $(this).parent().hide();
        $("#emailsent").show();
        return false;
    })
		
	 // $("div").each(function(){$("div").css("border","1px solid green") });

});

function addItems(obj) {
    var rel = $(obj).attr("rel");

    switch (rel) {
    case "skills-list":
		

        
				var skill = $("#cvskill").val();
        var detail = $("#cvdetails").val();
				
				if (skill != '' && detail != '' ) {
            $("#placeholder").hide();
            $("#skills-list").show();
            $("#skills-list").append('<li><input type="hidden" name="skills[]" value="'+skill+'|'+detail+'"><strong>'+skill+'</strong><br /><span class="removebutton"><a href="javascript:;" >remove</a></span><span class="small" >'+detail+'</span></li>');
            $("#cvskill").val('');
            $("#cvdetails").val('');
            $("#cverror").hide();
						
						$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(),  function(data, status){},"json");
        }
        break;
    case "jobs-list":
		

				
        var title = $("#cvjobtitle").val();
        var employer = $("#cvemployer").val();
        var location = $("#cvlocation").val();
        var duration = $("#cvduration").val();
				var role = $("#cvrole").val();
				
				var startdate = $("#cvStartMonth").val() + " " + $("#cvStartYear").val();

        if (title != '' && employer != '' && location != '' && duration != '' && role != '')
				{
            $("#placeholder").hide();
            $("#jobs-list").show();
            $("#jobs-list").append('<li><input type="hidden" name="work[]" value="'+title+'|'+employer+'|'+location+'|'+duration+'|'+role+'|'+startdate+'"><strong>'+title+', '+employer+', '+location+'</strong><br /><span class="removebutton"><a href="javascript:;" >remove</a></span><span class="small">'+startdate+', '+duration+', '+role+'</span></li>');
            $(".cvfield").val('');
            $("#cverror").hide();
						$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(),  function(data, status){},"json");
        }
        break;
    case "schools-list":


       
			  var startdate = $("#cvStartMonth").val() + " " + $("#cvStartYear").val();
        var enddate = $("#cvFinishMonth").val() + " " + $("#cvFinishYear").val();
				var school = $("#cvschool").val();
        var location = $("#cvlocation").val();
				
        if (enddate != ' ') {
            enddate = " - " + enddate;
        }

        if (school != '' && location != '') {
            var unique = randomString();
            var form = $("#cloner").clone().html();
						
										$("#placeholder").hide();
            $("#schools-list").show();
            $("#schools-list").append('<li><input type="hidden" name="school[]" value="'+unique+'|'+school+'|'+location+'|'+startdate+'|'+enddate+'" /><strong>'+school+', '+location+'</strong><br /><span class="removebutton"><a href="javascript:;" >remove</a></span><span class="quals"><a href="javascript:;" >Add qualifications</a></span><span class="small">'+startdate+enddate+'</span><div class="qualifications" style="display:none;" id="'+unique+'"><p class="placeholder inner" id="placeholder'+unique+'" style="width:520px">Add a qualification using the boxes below.</p><ul class="quals-list" style="display:none;"></ul>'+form+'</div></li>');
            $(".cvfield").val('');
            $("#cverror").hide();
						$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(),  function(data, status){},"json");
        }
        break;
    case "quals-list":
        var parent = $(obj).parent().parent().parent().attr("id");

        var subject = $(obj).parent().parent().children("p").children("input[name=subject]").val();
        var qual = $(obj).parent().parent().children("p").children("input[name=qualification]").val();
        var grade = $(obj).parent().parent().children("p").children("input[name=grade]").val();
        var predicted = $(obj).parent().parent().children("p").children("input[name=predicted]").val();

        var thegrade = '';
        if (grade != '') { thegrade = 'Grade: '+grade; }
        if (predicted != '') { var thegrade = 'Predicted Grade: '+predicted; }

        if (subject != '' && qual != '') {
            $(obj).parent().parent().parent().children(".placeholder.inner").hide();
            $(obj).parent().parent().parent().children(".quals-list").show();

            $(obj).parent().parent().parent().children(".quals-list").append('<li><input type="hidden" name="quals[]" value="'+parent+'|'+subject+'|'+qual+'|'+grade+'|'+predicted+'"><strong>'+subject+', '+qual+'</strong><br /><span class="removequal"><a href="javascript:;" >remove</a></span><span class="small">'+thegrade+'</span></li>');
            $(".cvfield").val('');
            $("#cverror").hide();
						$.post('/common/ajax/cv.php?mode=ajax',$("#cvform").serialize(),  function(data, status){},"json");
        }
        break;
    }
}

function checkForEnter(e) {
    var code = null;
    code = (e.keyCode ? e.keyCode : e.which);
    if (code == 13 || code == 10) {
        validateLogin();
        e.preventDefault();
    }
    
}

function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
    }
    return 'a'+randomstring;
}


function searchOptions() {
	var pos = $("#options .search").position();
	$("#searchOptions").css("left",(pos.left+1)+"px").css("top",(pos.top+85)+"px").toggle();	
}

function fontSizer(font,reload) {

	if (font) {
		Set_Cookie('youthoriaFontSize', font, 30, '/', '', '' );
		window.location.reload();
	} else {
		if ( Get_Cookie( 'youthoriaFontSize' ) ) {
			fontSizer(parseInt(Get_Cookie('youthoriaFontSize')),false);
		}
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if (expires) { expires = expires * 1000 * 60 * 60 * 24; }
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Get_Cookie( check_name ) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	for ( i = 0; i < a_all_cookies.length; i++ ){
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name ) {
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 ) {
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ) {
		return null;
	}
}

function application(obj) {
    //var pos = $(obj).offset();
    //$(".applyBox").css({top:(pos.top-30)+"px"}).show();
		$("#applyBox").show('slow');

    

}

function login(redirect, param) {

    $(".loginBox").show();
    $("#loginform").show();
    $("#forgotpass").hide();
    $("#fpchecking,#checking").hide();
    
    if (redirect != '' && redirect != 'undefined') {
        if (param !='' && param != 'undefined') {
            var param = "/?"+param;
        } else {
            var param = '';
        }
        $("#redirect").val(redirect+param);
				
				window.location.href = "/home/find-a-job/account/?pp="+redirect+param
    }
    
    $(".loginBox a.close").bind("click", function() {
       $(".loginBox").hide();  
    });
    $(".forgot a").bind("click", function() {
        $("#loginform").hide();
        $("#forgotpass").show();
    });
    $("a.loginnow").bind("click", function() {
        $("#loginform").show();
        $("#forgotpass").hide();
    });
}

function validateLogin() {
    $("#checking").html("Checking login details...").hide();
    
    var email = $("input[name=email]").val();
    var pass = $("input[name=password]").val(); 
    var redirect = $("input[name=redirect]").val(); 
    
    if (email != '' && pass != '') {
        
        $("#checking").show();
        $.post('/common/ajax/login.php?mode=auth','email='+email+'&password='+pass, function(data, status) { 
            if (data.valid == 1) {
                $("#checking").html("Login successful. Redirecting...");
                
                if (redirect != '') { window.location = redirect; } else { window.location = '/home/find-a-job/account/'; }
                
            } else {
                $("#checking").html("Sorry, we dont recognise that email and/or password");
            }
        },"json");
        
    } else {
        //$("#checking").html("You must enter your email and password").show();
    }
}


				

function resendLogin() {
    $("#fpchecking").html("Checking for your account...").hide();
    
    var email = $("input[name=fpemail]").val();
    
    if (email != '') {
        
        $("#fpchecking").show();
        $.post('/common/ajax/login.php?mode=forgot','email='+email, function(data, status) { 
            if (data.valid == 1) {
                $("#fpchecking").html("Thank you. Your login details have been sent.");
                $("input[name=fpemail]").val('');
            } else {
                $("#fpchecking").html("Sorry, we dont recognise that email address");
            }
        },"json");
        
    } else {
        $("#fpchecking").html("You must enter your email address").show();
    }
}

function validate2(required, obj) {
	    var err = 0;
$("#cverror").fadeOut("fast");

    var field = required.split(',');
    for (i=0; i<field.length; i++) {
        if ($("#"+field[i]).val() == '' || $("#"+field[i]).val() == $("#"+field[i]).attr('accept')) {
            err++;
        }
    }

    if (err > 0) {
			$("#cverror").fadeIn("fast");
        //$("#cverror").show();
    } else {
			addItems(obj)
    }
	
}
function validate(required, submit) {
    var err = 0;

    var field = required.split(',');
    for (i=0; i<field.length; i++) {
        if ($("#"+field[i]).val() == '') {
            err++;
        }
    }

    if (err > 0) {
        $("#cverror").show();
    } else {
        if (submit)
				{
            $("#cvform").submit();
				}

    }
}

