jQuery.noConflict();
jQuery(document).ready(function($) {
  $(".sharepopup").bind('click', function(ev){
    window.open(this.href,'sharepopup','toolbar=0,status=0,width=800,height=400');
    if (!ev) var ev = window.event;
    ev.cancelBubble = true;
    if (ev.stopPropagation) ev.stopPropagation();
    if (ev.preventDefault) ev.preventDefault();
    return false;
  });
  $("#sharelinks-tools, #fb-friends-tools").hide();
  $("#tool-share").live('mouseover', function(){
    $("#sharelinks-tools").slideDown("fast");
    $("#fb-friends-tools").slideUp("fast");

  });
  $("#tool-mutual-friends").live('mouseover', function(){
    $("#fb-friends-tools").slideDown("fast");
    $("#sharelinks-tools").slideUp("fast");
  });



  $(".mfb").live('mouseover', function(){
		$(this).closest("#opinion").hide();	
  });

  $("#hi-username-wrap").live('mouseover', function(){
    $("#hi-login-menu").show();
  });
  $("#hi-username-wrap").live('mouseout', function(){
    $("#hi-login-menu").hide();
  });




  //$("#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">Didn\'t receive your passcode? Resend it.</a>');
        }
      },
      error: function() {
        //alert('error');
        $("#requestpassstat").html('<a id="requestpasslink">Didn\'t receive your passcode? Resend it.</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_user_id").val() == $("#recipient_user_id").val()) {
        alert('It is not really possible to send a job request to yourself...');
        return false;
      }
    if (!$("#request_name, #request_email, #request_description").is('.inactive')) {
      $("#sendrequest").hide();
      $("#ajaxsending").show();
      $.ajax({
        type: "POST",
        url: document.base_url+'ajax/sendjobrequest',
        data:{
          recipient:$("#recipient_user_id").val(),
          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) {
            if ($("#request_user_id").val() > 0) {
                $("#ajaxsending").hide();
                $("#sendrequest").show();
                $("#requesterror").hide();
                //$("#requestsent").show();
                //$("#requestsent").delay(2000).fadeOut(2000);
                $("#contact-me").html($("#template_thank_you").val().replace('{username}', document.profileusername));
            }
            else {
                $("#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));
                                    
                                    if ($("#header").html() != null) {
                                        $("#clm").load(document.base_url+'/ajax/clm');
                                    }
                                    $("#tischen_bar").slideUp('slow');
                                    $("#header").slideDown('slow');

                                    //setTimeout("location.href='"+document.base_url+"account/sent_requests'", 5000);
                                } else {
                                    $("#passcode-error").css({'visibility':'visible'}).show();
                                    $("#request_code").addClass("form_error");
                                    $("#ajaxsending").hide();
                                    $("#processrequest").show();
                                }
                            },
                            error:function (xhr, ajaxOptions, thrownError){
                                $("#ajaxsending").hide();
                                $("#processrequest").show();
                                alert(thrownError);
                            }
                        });
                    }
                });
            }
          } else {
            jQuery("#requesterror").text("Error. Please try again.").show();
            $("#ajaxsending").hide();
            $("#sendrequest").show();
          }
        },
        error:function (xhr, ajaxOptions, thrownError){
            alert(xhr.status);
            alert(thrownError);
            $("#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();
        }
    );
    $(".fb-ask-friend").bind('click', function(){
      var share = { method: 'stream.share',
                         u: document.base_url+document.profileusername,
                      mode: 'message',
                        to: this.id.substr(3) };
      FB.ui(share, function(response){
        // do something if necessary
      });
    });
    $("#h-nav-mutual-connect").live('click', function() {
      FB.login(function(response){
        if("connected" == response.status) {
          $.ajax({
            url: document.base_url+'fb/check',
            type: "POST",
            dataType:"json",
            success: function(data) {
              if('login' == data.state || 'added' == data.state) {
                location.reload(true);
              } else if('exist' == data.state) {
                fb.loadAnchor(document.base_url+'fb/merge', 'theme:custom width:470 height:360 scrolling:no outerBorder=0 innerBorder=1 showClose:false modal:true padding:15 innerBorder:0 disableScroll:false shadowType=halo overlayOpacity:0.001');
              } else if('linked' == data.state) {
                $.alerts.dialogClass = "confirmed"; // set custom style class
  			        jAlert('We have successfully linked your Facebook profile to your Tischen account.',
  			               'Success!',
  			               function() {
                         location.href = document.base_url + 'account';
  			               });
  			        $.alerts.dialogClass = null; // reset to default
              }
            }
          });  
        }
      },
      {perms:'email'});
    });
});



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;
}


