jQuery.noConflict();
jQuery(document).ready(function($) {
  //$("#contact-me").html($("#template_email_code").val().replace('{request_id}', 1));
  /* $(document).pngFix(); */
  if("" == $("#field_search").val()) {
    $("#field_search").addClass('inactive').val($("#field_search").attr('title'));
  }
  if ($("#back-to-search")) {
    var back = $("#back-to-search a.back").attr('href');
    $("#back-to-search a.back").attr('href', back+'?js=1')
  }
  $("#requestpasslink").live('click', function(){
    $.ajax({
      type: "POST",
      url: document.base_url+'ajax/passcode',
      data:{
        id:$("#request_id").val() 
      }, 
      success: function(data){
        if (-1 != data) {
          $("#requestpass").html(data);
        } else {
          $("#requestpassstat").html('<a id="requestpasslink">Receive your passcode by e-mail.</a>');
        }
      },
      error: function() {
        $("#requestpassstat").html('<a id="requestpasslink">Receive your passcode by e-mail.</a>');
      }
    });
    $("#requestpasslink").replaceWith('<img class="loading" src="'+document.base_url+'images/ajax_loading.gif" alt="loading" />');
  });
  $(".inactive").each(function(){
    $(this).data('defaultvalue', this.value);
  });
  $(".inactive").bind({
    focus:function(){
      if ($(this).data('defaultvalue') == this.value) {
        $(this).val('').removeClass('inactive').removeClass('form_error');
        jQuery("#requesterror").text("").hide();
      }
    },
    blur:function(){
      if('' == $(this).val()) {
        $(this).val($(this).data('defaultvalue')).addClass('inactive');
      }
    }
  });
  $(".form_error").live("focus", function(){
    $(this).removeClass('form_error');
    $("#requesterror").text("").hide();
    $("#passcode-error").css({'visibility':'hidden'});
  });
  $("#sendrequest").click(function(){
    if (!$("#request_name, #request_email, #request_description").is('.inactive')) {
      $("#sendrequest").hide();
      $("#ajaxsending").show();
      $.ajax({
        type: "POST",
        url: document.base_url+'ajax/sendrequest',
        data:{
          uid:$("#request_user_id").val(),
          name:$("#request_name").val(),
          email:$("#request_email").val(),
          mobile:$("#request_mobile").val(),
          description:$("#request_description").val(),
          starttime:$("#request_starttime").val(),
          endtime:$("#request_endtime").val()
        }, 
        success: function(data){
          if (undefined != data.error) {
            if(undefined != data.error.email) {
              jQuery("#request_email").addClass("form_error");
            }
            if(undefined != data.error.name) {
              jQuery("#request_name").addClass("form_error");
            }
            if(undefined != data.error.mobile) {
              jQuery("#request_mobile").addClass("form_error");
            }
            if(undefined != data.error.description) {
              jQuery("#request_description").addClass("form_error");
            }
            jQuery("#requesterror").text(data.error.message).show();
            $("#ajaxsending").hide();
            $("#sendrequest").show();
          } else if (0 < data) {
            $("#contact-me").html($("#template_email_code").val().replace('{request_id}', data));
            $("#request_code").bind('keypress', function(ev) {
              k = ev.keyCode ? ev.keyCode : ev.which;
              if (13 == k) {
                $("#processrequest").trigger('click');  
              } 
            });
            $("#processrequest").bind('click', function(){
              if ($("#request_code").val()) {
                $("#processrequest").hide();
                $("#ajaxsending").show();
                $.ajax({
                  type: "POST",
                  url: document.base_url+'ajax/processrequest',
                  data:{
                    id:$("#request_id").val(),
                    passcode:$("#request_code").val()
                  }, 
                  success: function(data){
                    if (0 < data) {
                      $("#contact-me").html($("#template_thank_you").val().replace('{username}', document.profileusername));
                    } else {
                      $("#passcode-error").css({'visibility':'visible'}).show();
                      $("#request_code").addClass("form_error");
                      $("#ajaxsending").hide();
                      $("#processrequest").show();
                    }
                  }
                });
              } else {
                $("#request_code").addClass("form_error");
              }
            });
          } else {
            jQuery("#requesterror").text("Error. Please try again.").show();
            $("#ajaxsending").hide();
            $("#sendrequest").show();
          }
        },
        dataType: "json"
      });
    } else {
      $("#request_name, #request_email, #request_description").filter('.inactive').addClass("form_error");
    }
    
  });
  $("#contact").click(function(){
     if ($("#calendar-full").is(':visible')) {
      $("#hide-calendar").hide();
      $("#show-calendar").hide();
      $("#profile").css('overflow', 'visible').animate({
        height: '272px'
      }, 1000, function() {
        $("#profile").css('overflow', 'hidden')
        $("#calendar-full").hide();
        $("#flippable").flip({
        	direction:'rl',
        	onBefore: function(){
        		$("#links").hide();
        		$("#contact").hide();
        	},
        	onAnimation: function(){
        		$("#profile").hide();
        		$("#contact-form").show();
        	},
        	onEnd: function(){
        		$("#back").show();
        	}
        });
      });
     } else {
       $("#flippable").flip({
       	direction:'rl',
       	onBefore: function(){
       		$("#links").hide();
       		$("#contact").hide();
       	},
       	onAnimation: function(){
       		$("#profile").hide();
       		$("#contact-form").show();
       	},
       	onEnd: function(){
       		$("#back").show();
       	}
       });
     }
  });
  $("#back").click(function(){
    $("#flippable").flip({
    	direction:'lr',
    	onBefore: function(){
    		$("#back").hide();
    	},
    	onAnimation: function(){
    		$("#profile").show();
    		$("#contact-form").hide();
    	},
    	onEnd: function(){
    		$("#links").show();
    		$("#contact").show();
    	}
    });
  });
  $("#availability").hover(
    function(){
      if ($("#calendar-full").is(':hidden')) {
        $("#show-calendar").show();
      }; 
    },
    function(){
      if ($("#calendar-full").is(':hidden')) {
        $("#show-calendar").hide();
      };       
    }
  ).click(function(){
    if ($("#calendar-full").is(':hidden')) {
      $("#show-calendar").hide();
      $("#hide-calendar").show();
      $("#profile").animate({
        height: '600px'
      }, 1000, function() {
        $("#calendar-full").show();
      });
    } else {
      $("#hide-calendar").hide();
      $("#profile").css('overflow', 'visible').animate({
        height: '272px'
      }, 1000, function() {
        $("#profile").css('overflow', 'hidden')
        $("#calendar-full").hide();
      });
    }
  });

    $("#user-homepage").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('Homepage');
        },
        function() {
            $("#link-info").hide();
        }
    );
    $("#user-twitter").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('Twitter page');
        },
        function() {
            $("#link-info").hide();
        }
    );
    $("#user-facebook").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('Facebook profile');
        },
        function() {
            $("#link-info").hide();
        }
    );
    $("#user-linkedin").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('LinkedIn profile');
        },
        function() {
            $("#link-info").hide();
        }
    );
    $("#user-flickr").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('Flickr stream');
        },
        function() {
            $("#link-info").hide();
        }
    );
    $("#user-behance").hover(
        function() {
            $("#link-info").show();
            $('#link-info span').html('Behance portfolio');
        },
        function() {
            $("#link-info").hide();
        }
    );

});



function getAvailability(user_id){

	new Ajax.Request(document.base_url+'ajax/profile', {method:'post', postBody:'action=getavailability&user_id='+user_id+"&offset="+getTimeZoneOffset(), onComplete:availabilityGot});

}

function availabilityGot(t){
	
	xmlDoc = t.responseXML;
	
	var el_icon = document.getElementById('icon_status');
	var el_available = document.getElementById('available_until');
	
	xmlIconResult = xmlDoc.getElementsByTagName("icon");
	el_icon.innerHTML = xmlIconResult[0].firstChild.nodeValue;
	
	xmlAvailableResult = xmlDoc.getElementsByTagName("html");
	el_available.innerHTML = xmlAvailableResult[0].firstChild.nodeValue;
	
	//if no availability show the request button
	//if(xmlIconResult[0].firstChild.nodeValue=='<div class="available_icon ai_red"></div>'){
	//	document.getElementById('btn_sendjobrequest').style.display='';
	//}

}

requestBoxOut = false;

function showRequestBox(starttime,endtime,offset){
  var tTime = new Date(starttime*1000);
  jQuery("#request_starttime").val(tTime.getFullYear()+'-'+(9 > tTime.getMonth() ?( '0'+(tTime.getMonth()+1)) : (tTime.getMonth()+1) )+'-'+(10 > tTime.getDate() ? ('0'+tTime.getDate()) : tTime.getDate() ) + ' ' + (10 > tTime.getHours() ? ('0'+tTime.getHours()) : tTime.getHours()) + ':' + (10 > tTime.getMinutes() ? ('0'+tTime.getMinutes()) : tTime.getMinutes()) + ':' + (10 > tTime.getSeconds() ? ('0'+tTime.getSeconds()) : tTime.getSeconds()));
  var tTime = new Date(endtime*1000 + 3600000);
  jQuery("#request_endtime").val(tTime.getFullYear()+'-'+(9 > tTime.getMonth() ?( '0'+(tTime.getMonth()+1)) : (tTime.getMonth()+1) )+'-'+(10 > tTime.getDate() ? ('0'+tTime.getDate()) : tTime.getDate() ) + ' ' + (10 > tTime.getHours() ? ('0'+tTime.getHours()) : tTime.getHours()) + ':' + (10 > tTime.getMinutes() ? ('0'+tTime.getMinutes()) : tTime.getMinutes()) + ':' + (10 > tTime.getSeconds() ? ('0'+tTime.getSeconds()) : tTime.getSeconds()));
  jQuery("#contact a").trigger("click");
	return false;
	if(!requestBoxOut){
		
		requestBoxOut = true;
		new Effect.BlindDown('box_request', { duration: 0.5,fps:100,transition: Effect.Transitions.linear });
	
		var el_1 = document.getElementById('request_1');
		var el_2 = document.getElementById('request_2');
		var el_3 = document.getElementById('request_3');
		
		//hide all boxes but 1
		el_1.style.display='';
		el_2.style.display='none';
		el_3.style.display='none';
		
		//fill in the start time and end time
		var startDate = new Date(starttime*1000);
		var startDay = new Date(starttime*1000);
		startDay.setUTCHours(startDay.getUTCHours()-offset);
		var endDate = new Date(endtime*1000);
		
		document.getElementById('field_request_day').value = (startDay.getUTCMonth()+1)+"/"+startDay.getUTCDate();
		
		var field_options = $('field_request_starttime').options;
		
		for(i=0;i<field_options.length;i++){
			if(field_options[i].value==startDate.getHours()){
				field_options[i].selected = true;
			}else{
				field_options[i].selected = false;
			}
		}
		
		field_options = $('field_request_endtime').options;
		
		for(i=0;i<field_options.length;i++){
			if(field_options[i].value==(endDate.getHours()+1)){
				field_options[i].selected = true;
			}else{
				field_options[i].selected = false;
			}
		}
		
		document.getElementById('field_offset').value = offset;
		
	}
}

function submitRequest1(){

	//grab the variables and submit the request
	var name = document.getElementById('field_request_name').value;
	var mobileemail = document.getElementById('field_request_mobileemail').value;
	var day = document.getElementById('field_request_day').value;
	var starttime = $('field_request_starttime').options[$('field_request_starttime').selectedIndex].value;
	var endtime = $('field_request_endtime').options[$('field_request_endtime').selectedIndex].value;
	var offset = getTimeZoneOffset();
	var description = document.getElementById('field_request_description').value;
	var user_id = document.getElementById('field_user_id').value;
	
	var error;
	
	//name
	if(name=="" || name=="First & Last Name"){ 
		document.getElementById('field_request_name').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_name').className = "form";
	}
	
	//description
	if(description=="" || description=="Super Short Project Description"){ 
		document.getElementById('field_request_description').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_description').className = "form";
	}
	
	//day
	if(day==""){ 
		document.getElementById('field_request_day').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_day').className = "form";
	}
	
	//starttime
	if(starttime==""){ 
		document.getElementById('field_request_starttime').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_starttime').className = "form";
	}
	
	//endtime
	if(endtime==""){ 
		document.getElementById('field_request_endtime').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_endtime').className = "form";
	}
	
	//mobileemail
	if(mobileemail=="" || mobileemail=="Mobile or E-Mail"){ 
		document.getElementById('field_request_mobileemail').className = "form form_error";
		error = true;
	}else{
		
		var mobile="";
		var email="";
		
		//try to match it as a phone number or email
		if(mobileemail.match(/^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/)){
			mobile = mobileemail;
		}else if(mobileemail.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/)){
			email = mobileemail;
		}
		
		if(mobile=="" && email==""){
			document.getElementById('field_request_mobileemail').className = "form form_error";
			error = true;
		}else{
			document.getElementById('field_request_mobileemail').className = "form";
		}
		
	}	
	
	if(!error){
		
		if(email){
		
			new Ajax.Request(document.base_url+'ajax/profile', {method:'post', postBody:'action=sendrequest1&user_id='+user_id+"&description="+description+"&offset="+offset+"&name="+name+"&mobile="+mobile+"&email="+email+"&day="+day+"&starttime="+starttime+"&endtime="+endtime,onComplete:requestResponse});
	
		}else{
		
			var el_1 = document.getElementById('request_1');
			var el_2 = document.getElementById('request_2');
			var el_3 = document.getElementById('request_3');
				
			//hide all boxes but 2
			el_1.style.display='none';
			el_2.style.display='';
			el_3.style.display='none';
		
		}
	
		document.getElementById('status_text_1').style.display = "";
		document.getElementById('status_error_1').style.display = "none";	
	
	}else{
	
		document.getElementById('status_text_1').style.display = "none";
		document.getElementById('status_error_1').style.display = "";
	
	}
	
}

function submitRequest2(){

	//grab the variables and submit the request
	var name = document.getElementById('field_request_name').value;
	var mobile = document.getElementById('field_request_mobileemail').value;
	var day = document.getElementById('field_request_day').value;
	var starttime = $('field_request_starttime').options[$('field_request_starttime').selectedIndex].value;
	var endtime = $('field_request_endtime').options[$('field_request_endtime').selectedIndex].value;
	var offset = getTimeZoneOffset();
	var description = document.getElementById('field_request_description').value;
	var user_id = document.getElementById('field_user_id').value;
	var carrier_id = document.getElementById('field_request_carrier').options[document.getElementById('field_request_carrier').selectedIndex].value;
	var email = document.getElementById('field_request_email').value;
	
	var error;
	
	//carrier id
	if(carrier_id=="" || carrier_id=="0"){ 
		document.getElementById('field_request_carrier').className = "form form_error";
		error = true;
	}else{
		document.getElementById('field_request_carrier').className = "form";
	}	
	
	if(!error){
		
		new Ajax.Request(document.base_url+'ajax/profile', {method:'post', postBody:'action=sendrequest1&user_id='+user_id+"&description="+description+"&offset="+offset+"&name="+name+"&mobile="+mobile+"&email="+email+"&day="+day+"&starttime="+starttime+"&endtime="+endtime+"&carrier_id="+carrier_id,onComplete:requestResponse});
	
		//document.getElementById('status_text_2').style.display = "";
		//document.getElementById('status_error_2').style.display = "none";	
	
	}else{
	
		//document.getElementById('status_text_2').style.display = "none";
		//document.getElementById('status_error_2').style.display = "";
	
	}
	
}

function requestResponse(t){
	
	var response = t.responseText;
	
	var el_1 = document.getElementById('request_1');
	var el_2 = document.getElementById('request_2');
	var el_3 = document.getElementById('request_3');
		
	//hide all boxes but 3
	el_1.style.display='none';
	el_2.style.display='none';
	el_3.style.display='';
	
}

function hideRequestBox(){
	new Effect.BlindUp('box_request', { duration: 0.5,fps:100,transition: Effect.Transitions.linear });
	requestBoxOut = false;
}

