﻿/* This file stores JS that is used in all pages */

//
//  General things
//
$(document).ready(function() {		
	$('#openLoginContainer').click(function() { $('#login').slideDown("slow"); $(this).parent().hide(); return false; });
	$('#closeLoginContainer').click(function() { $('#login').slideUp('slow'); $('#openLoginContainer').parent().show(); });
	
	/* Fix Contact Form Textarea Focus */
	$(".textarea textarea")
		.focus(function() {$(this).parents('.textarea').addClass("focus");})
		.blur(function() {$(this).parents('.textarea').removeClass("focus");});
	
	/* Remove the scrolbars from textarea in Opeara  */	
	jQuery.each(jQuery.browser, function(i, val) {
		if($.browser.opera) $("textarea").css("overflow","hidden");
	});

	/* IE Warning */
	if($.browser.msie && parseInt(jQuery.browser.version)<=7) $("body").prepend('<div class="err">WHATSUPKOREA does NOT support your outdated browser. To use the LATEST version of IE, <a href="http://www.microsoft.com/ie/">please click here</a>.</div>');

	/* footer language selection */
	$('#toggleLanguage label').hover(function() { $(this).not(".checked").addClass("hover"); }, function() { $(this).removeClass("hover"); });
	$('#toggleLanguage label').click(function() { $(this).parent().children('label').removeClass("checked"); $(this).addClass("checked"); var url = $(this).children('a').attr('href'); window.location=url; });

	/* twitter */
	$("#tweet_footer").tweet({
		query: "hanlingo",
		avatar_size: 24,
		count: 5,
		loading_text: "loading tweets..."
	});
});

/* -------------------------------------------------- *
 * ToggleVal 3.0 (compressed with http://www.minifyjavascript.com/)
 * Updated: 01/15/2010
 * -------------------------------------------------- *
 * Author: Aaron Kuzemchak
 * URL: http://aaronkuzemchak.com/
 * Copyright: 2008-2010 Aaron Kuzemchak
 * License: MIT License
** -------------------------------------------------- */
(function($){$.fn.toggleVal=function(theOptions){if(!theOptions||typeof theOptions=='object'){theOptions=$.extend({},$.fn.toggleVal.defaults,theOptions)}else if(typeof theOptions=='string'&&theOptions.toLowerCase()=='destroy'){var destroy=true}return this.each(function(){if(destroy){$(this).unbind('focus.toggleval').unbind('blur.toggleval').removeData('defText');return false}var defText='';switch(theOptions.populateFrom){case'title':if($(this).attr('title')){defText=$(this).attr('title');$(this).val(defText)}break;case'label':if($(this).attr('id')){defText=$('label[for="'+$(this).attr('id')+'"]').text();$(this).val(defText)}break;case'custom':defText=theOptions.text;$(this).val(defText);break;default:defText=$(this).val()}$(this).addClass('toggleval').data('defText',defText);if(theOptions.removeLabels==true&&$(this).attr('id')){$('label[for="'+$(this).attr('id')+'"]').remove()}$(this).bind('focus.toggleval',function(){if($(this).val()==$(this).data('defText')){$(this).val('')}$(this).addClass(theOptions.focusClass)}).bind('blur.toggleval',function(){if($(this).val()==''&&!theOptions.sticky){$(this).val($(this).data('defText'))}$(this).removeClass(theOptions.focusClass);if($(this).val()!=''&&$(this).val()!=$(this).data('defText')){$(this).addClass(theOptions.changedClass)}else{$(this).removeClass(theOptions.changedClass)}})})};$.fn.toggleVal.defaults={focusClass:'tv-focused',changedClass:'tv-changed',populateFrom:'default',text:null,removeLabels:false,sticky:false};$.extend($.expr[':'],{toggleval:function(elem){return $(elem).data('defText')||false},changed:function(elem){if($(elem).data('defText')&&$(elem).val()!=$(elem).data('defText')){return true}return false}})})(jQuery);
/* End ToggleVal Plugin  */

//
//  Footer Contact Form
//
//
$(document).ready(function() {		
	/* Footer Contact Form Settings */
	var contactForm = $("#footerForm");  
	var inputName = contactForm.find(".name"); 
	var inputPhone = contactForm.find(".phone"); 
	var inputEmail = contactForm.find(".email");  
	var inputMessage = contactForm.find(".message");
	var loadingImage = contactForm.find('.loadingImage');	
	var responseText = contactForm.find(".responseText");

	// On Submitting  	
	contactForm.bind("submit", function(e){
		if(validateName(e, inputName) & validatePhone(e, inputPhone) & validateEmail(e, inputEmail) & validateMessage(e, inputMessage)) { 
			ajaxSend(contactForm, responseText, loadingImage);
		};
		return false;
	});
		
	// On key press  
	inputName.bind("keyup", function(e){
		validateName(e, inputName);
	});
	inputPhone.bind("keyup", function(e){
		validatePhone(e, inputPhone);
	});
	inputEmail.bind("keyup", function(e){
		validateEmail(e, inputEmail);
	});
	inputMessage.bind("keyup", function(e){
		validateMessage(e, inputMessage);
	});
	$(".textInput").toggleVal();
});

/* Functions requierd by the contact forms */
function validateName(event, input){  
	if(input.val().length < 4 || input.val() == "your name"){
		if(event.type != "keyup") {
			input.addClass("error"); 
			input.parent().find('.errorText').slideDown(); 
		}
		return false;
	}else{input.removeClass("error"); input.parent().find('.errorText').slideUp(); return true;}  
}
function validatePhone(event, input){  
	if(input.val().length < 6 || input.val() == "your phone #"){
		if(event.type != "keyup") {
			input.addClass("error"); 
			input.parent().find('.errorText').slideDown(); 
		}
		return false;
	}else{input.removeClass("error"); input.parent().find('.errorText').slideUp(); return true;}  
}
function validateEmail(event, input){
	var a = input.val();
	var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
	
	if(filter.test(a)){
		input.removeClass("error"); 
		input.parent().find('.errorText').slideUp(); 
		return true;
	}else{
		if(event.type != "keyup") {
			input.addClass("error"); 
			input.parent().find('.errorText').slideDown(); 
		}
		return false;
	}
} 
function validateMessage(event, input){  
	if(input.val().length < 10 || input.val() == "your message"){
		if(event.type != "keyup") {
			input.parent().addClass("error"); 
			input.parent().find('.errorText').slideDown(); 
		}
		return false;
	}else{input.parent().removeClass("error"); input.parent().find('.errorText').slideUp(); return true;}  
} 
function ajaxSend(form, response, loading){	
	loading.show();
	response.slideUp().animate({X:""} , 200, "linear", function(){
		response.html('<small class="grey">Please wait, your message is being processed.</small><br />').slideDown();		
	});
	
	// Make AJAX request 		
	$.post('contact.php?footer=1', form.serialize(), function(data){
		loading.hide(200);
		response.slideUp().animate({X:""} , 200, "linear", function(){response.html(data).slideDown();});
	});

	//Cancel default action
	return false;
};

