$(document).ready(function() {

function limitChars(textid, limit, infodiv) {
	var text = $('#' + textid).val();
	var textlength = text.length;
	if (textlength > limit) {
		$('#' + infodiv).html('You cannot write more then ' + limit + ' characters!');
		$('#' + textid).val(text.substr(0, limit));
		return false;
	} else {
		$('#' + infodiv).html((limit - textlength) + ' characters left');
		return true;
	}
}

$('#experience').keyup(function() {
	limitChars('experience', 150, 'charlimitinfo');
});

$('.questions').live('keyup', function() {
	var id_value = $(this).attr("id").replace(/questions_/, '');
	limitChars('questions_' + id_value, 150, 'charlimitinfo_' + id_value);
});

function showTooltip(elem,txt) {
$('<div class="errorTip">').html(txt).appendTo(elem.closest('.form_row'));
}

$('#contactForm').submit(function(e){
	$('.errorTip').remove();
	$('#submit').hide();
	$('#form_loader').show();
	$.post($('#contactForm').attr('action'),$('#contactForm').serialize()+'&fromAjax=1',function(response){

	$('#submit').show();
	$('#form_loader').hide();

		if(!response.status)
		{
			$('input[type!=submit], textarea').each(function(){
				var elem = $(this);
				var id = elem.attr('id');
				if(response[id]) showTooltip(elem,response[id]);
			});
		}
		else
		{
			$('#contactForm').slideUp("slow", function() {
			$('#message_status').html('<h2>' + response.message_status + '</h2>');
			$('#message_status').fadeIn("slow");
		    });

		}

	},'json');
	e.preventDefault();
});

jQuery.extend({createUploadIframe:function(id,uri){var frameId="jUploadFrame"+id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof uri=="boolean")io.src="javascript:false";else if(typeof uri=="string")io.src=uri}else{var io=document.createElement("iframe");io.id=frameId;io.name=frameId}io.style.position="absolute";io.style.top="-1000px";io.style.left="-1000px";document.body.appendChild(io);return io},createUploadForm:function(id,fileElementId){var formId=
"jUploadForm"+id;var fileId="jUploadFile"+id;var form=$('<form  action="" method="POST" name="'+formId+'" id="'+formId+'" enctype="multipart/form-data"></form>');var oldElement=$("#"+fileElementId);var newElement=$(oldElement).clone();$(oldElement).attr("id",fileId);$(oldElement).before(newElement);$(oldElement).appendTo(form);$(form).css("position","absolute");$(form).css("top","-1200px");$(form).css("left","-1200px");$(form).appendTo("body");return form},ajaxFileUpload:function(s){s=jQuery.extend({},
jQuery.ajaxSettings,s);var id=(new Date).getTime();var form=jQuery.createUploadForm(id,s.fileElementId);var io=jQuery.createUploadIframe(id,s.secureuri);var frameId="jUploadFrame"+id;var formId="jUploadForm"+id;if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var requestDone=false;var xml={};if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var uploadCallback=function(isTimeout){var io=document.getElementById(frameId);try{if(io.contentWindow){xml.responseText=io.contentWindow.document.body?
io.contentWindow.document.body.innerHTML:null;xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document}else if(io.contentDocument){xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document}}catch(e){jQuery.handleError(s,xml,null,e)}if(xml||isTimeout=="timeout"){requestDone=true;
var status;try{status=isTimeout!="timeout"?"success":"error";if(status!="error"){var data=jQuery.uploadHttpData(xml,s.dataType);if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s])}else jQuery.handleError(s,xml,status)}catch(e){status="error";jQuery.handleError(s,xml,status,e)}if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");if(s.complete)s.complete(xml,status);jQuery(io).unbind();setTimeout(function(){try{$(io).remove();
$(form).remove()}catch(e){jQuery.handleError(s,xml,null,e)}},100);xml=null}};if(s.timeout>0)setTimeout(function(){if(!requestDone)uploadCallback("timeout")},s.timeout);try{var form=$("#"+formId);$(form).attr("action",s.url);$(form).attr("method","POST");$(form).attr("target",frameId);if(form.encoding)form.encoding="multipart/form-data";else form.enctype="multipart/form-data";$(form).submit()}catch(e){jQuery.handleError(s,xml,null,e)}if(window.attachEvent)document.getElementById(frameId).attachEvent("onload",
uploadCallback);else document.getElementById(frameId).addEventListener("load",uploadCallback,false);return{abort:function(){}}},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script")jQuery.globalEval(data);if(type=="json")eval("data = "+data);if(type=="html")jQuery("<div>").html(data).evalScripts();return data}});

function ajaxFileUpload() {

	$.ajaxFileUpload (
		{
			url:'/file_upload.php',
			secureuri:false,
			fileElementId:'fileToUpload',
			dataType: 'json',
			success: function (data, status)
			{
				if(typeof(data.error) != 'undefined')
				{
					if(data.error != '')
					{
						alert(data.error);
					}else
					{
						$('#file_loader').hide();
						$('.errorTip').remove(":contains('Please attach your bio/resume')");
						if (data.slu == 0) { $('#fileToUpload').show(); alert('File type is not supported!'); return false; }
						$('#fileToUpload_container').css('width','auto');
						$('#file_status').html(data.msg + ' | <a href="javascript:void(0);" class="file_delete" id="' + data.slu + '" title="Delete attached file">Delete</a>').show();
						$('#fileToUpload_1').val(data.slu);
						$('#fileToUpload').hide();
					}
				}
			},
			error: function (data, status, e)
			{
				alert(e);
			}
		}
	)

	return false;

}

$('#fileToUpload').live('change',function() {
    $('#fileToUpload').hide();
	$('#file_loader').show();
	ajaxFileUpload();
});

$('.file_delete').live('click', function()	{
var isconfirm = confirm('Are you sure?');
if (!isconfirm) return false;
var file_id = $(this).attr("id");
var data = 'file_id='
		+ file_id
		+'&fromAjax=1';
$.ajax({
	url : '/file_delete.php',
	dataType : 'json',
	data : data,
	success : function(data) {
		if (data.delete_status) {
		  $('#fileToUpload_1').val('');
		   $('#file_status').hide();
		   $('#fileToUpload').show();
		}
	}
});
});

$('.register').click(function() {
var id_value = $(this).attr("id").replace(/register_/, '');
if ($('#register_form_inject_' + id_value).is(':visible')) {
	$('#register_form_inject_' + id_value).slideUp('fast', function() {
		$('#register_' + id_value).html('Register');
		});
	} else {
$('#register_' + id_value).hide();		
$('#form_load_wait_' + id_value).show();
var data = "id=" + id_value + "&workshop=" + $('#workshop_' + id_value).text();
$.ajax({
	url : "/register_form.php",
	type : "GET",
	data: data,
	cache : false,
	success : function(html) {
    $('#form_load_wait_' + id_value).hide();
    $('#register_form_inject_' + id_value).html(html);
	$('#register_form_inject_' + id_value).slideDown('fast', function() {
		$('#register_' + id_value).html('Hide');
		$('#register_' + id_value).show();
		});
	}
});
	}
});

$('.registerForm').live('submit', function(e){
	var id_value = $(this).attr("id").replace(/registerForm_/, '');
	$('#registerForm_' + id_value + ' .errorTip').remove();
	$('#submit_' + id_value).hide();
	$('#form_loader_' + id_value).show();
	$.post($('#registerForm_' + id_value).attr('action'),$('#registerForm_' + id_value).serialize()+'&fromAjax=1',function(response){

	$('#submit_' + id_value).show();
	$('#form_loader_' + id_value).hide();

		if(!response.status)
		{
			$('input[type!=submit], textarea').each(function(){
				var elem = $(this);
				var id = elem.attr('id');
				if(response[id]) showTooltip(elem,response[id]);
			});
		}
		else
		{
			$('#registerForm_' + id_value).slideUp("fast", function() {
				$('register_form_inject_' + id_value).html('');
			$('#message_status_' + id_value).html(response.message_status);
			$('#message_status_' + id_value).fadeIn("slow", function() {
				$('#register_' + id_value).html('Register');				
				});
			$('#message_status_' + id_value).delay(3200).fadeOut("slow");
		    });

		}

	},'json');
	e.preventDefault();
});

});
