
var fadeActive = false;

function activateTextField(el,password){
	if(el.className.trim() == "form inactive"){
		el.className = "form";
		el.value = "";
		if(password){
			changeInputType(el, "password", true);
		}
	}else if(el.className.trim() == "form inactive form_error"){
		el.className = "form";
		el.value = "";
		if(password){
			changeInputType(el, "password", true);
		}
	}else if(el.className.trim() == "form inactive mobilenumber"){
		el.className = "form mobilenumber";
	}else if(el.className.trim() == "form_half form_email inactive"){
		el.value = "";
    el.className = "form_half form_email";
	}  else if(el.className.trim() == "form_half inactive"){
  		el.value = "";
      el.className = "form_half";
  	}  else if(el.className.trim() == "form_textarea inactive"){
    		jQuery(el).val('');
        el.className = "form_textarea";
  	}
}

function changeInputType(old, to, focus) {
  var neo = document.createElement('input');
  neo.type = to;
  if(old.size) neo.size = old.size;
  if(old.value) neo.value = old.value;
  if(old.name) neo.name = old.name;
  if(old.id) neo.id = old.id;
  if(old.className) neo.className = old.className;
  if(old.onfocus) neo.onfocus = old.onfocus;
  if(old.onblur) neo.onblur = old.onblur;
  var value = old.value;
  old.parentNode.replaceChild(neo,old);
  if(value) neo.value = value;
  if(true == focus) {
    window.tel = neo;
    setTimeout("document.getElementById(window.tel.id).focus();",1);
  }
  return neo;
}

function showLoginBox(){
	
	if(!fadeActive){
	
		fadeActive = true;
	
		new Effect.Appear('header_login', { duration: 0,fps:100,transition: Effect.Transitions.linear,afterFinish: function(){ fadeActive = false;} });
		
		//monitor document click
		Event.observe($('fullwrapper'), 'mousedown', handleWrapperClick);
		Event.observe($('header_login'), 'keydown', handleLoginKeyDown);
		
	}
	
}

function hideLoginBox(){
	
	if(!fadeActive){
	
		fadeActive = true;
		
		new Effect.Fade('header_login', { duration: 0.15,fps:100,transition: Effect.Transitions.linear,afterFinish: function(){ fadeActive = false;}  });

		
		//monitor document click
		Event.stopObserving($('fullwrapper'), 'mousedown', handleWrapperClick);
		Event.stopObserving($('header_login'), 'keydown', handleLoginKeyDown);
		
	}
	
}

function handleLoginKeyDown(e){
	
	if(e.keyCode==13){
		login();
	}

}

function login(){

	var username = $('field_login_username').value;
	var password = $('field_login_password').value;
//	var rememberme = $('field_login_rememberme').checked;
	var redirect = $('redirect') ? $('redirect').value : 'account';
	new Ajax.Request(document.base_url+'ajax/login', {method:'post', postBody:'action=login&username='+username+"&password="+password+"&redirect="+redirect, onComplete:loginResponse}); //+"&rememberme="+rememberme

}

function loginResponse(t){
	if(t.responseText!="-2" && t.responseText!="-1" && t.responseText!="0"){
		location.href = document.base_url + t.responseText;
	} else if(t.responseText=="-1") {
	  jQuery('#login_username_part .error_msg').text('Username does not exist.');
	  jQuery('#login_password_part .error_msg').text('');
	  $('field_login_username').className = "form login user form_error";
		$('field_login_password').className = "form login pass form_error";	
	} else if(t.responseText=="-2") {
	  jQuery('#login_username_part .error_msg').text('');
	  jQuery('#login_password_part .error_msg').text('Please check your password.');
		$('field_login_password').className = "form login pass form_error";	
	}	
	
	
}

handleWrapperClick = function(event){
	
	if(event.target.id!="header_login"){
	
		hideLoginBox();
		
	}

}

function checkTextField(el,text_to_replace){
	
	if(el.value==""){
		if(el.className.trim() == "form"){
			el.className = "form inactive";
			el.value = text_to_replace;
			if(el.type == 'password')	changeInputType(el, "text");
		}  else if(el.className.trim() == "form_half form_email"){
  		el.className = "form_half form_email inactive";
			el.value = text_to_replace;
			if(el.type == 'password')	changeInputType(el, "text");
  	}   else if(el.className.trim() == "form_half"){
    		el.className = "form_half inactive";
  			el.value = text_to_replace;
  			if(el.type == 'password')	changeInputType(el, "text");
    	} 
	}
	if(el.className.trim() == "form_textarea"){
	  if(""==jQuery(el).val()) {
    	jQuery(el).val(text_to_replace);
      el.className = "form_textarea inactive";
    }
  }

}

function getTimeZoneOffset(){
	var dt = new Date();
	return dt.getTimezoneOffset()/60; 
}

function saveTimeZoneOffset(){

	var tmp = new Date().toString();
	
	var timezone_name = getTimeZoneAbbr();

	var offset = getTimeZoneOffset();
	
	new Ajax.Request(document.base_url+'ajax/timezone', {method:'post', postBody:'action=saveoffset&offset='+offset+"&timezone_name="+timezone_name});

}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function wordwrap( str, int_width, str_break, cut ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Nick Callen
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Sakimori
    // +   bugfixed by: Michael Grier
    // *     example 1: wordwrap('Kevin van Zonneveld', 6, '|', true);
    // *     returns 1: 'Kevin |van |Zonnev|eld'
    // *     example 2: wordwrap('The quick brown fox jumped over the lazy dog.', 20, '<br />\n');
    // *     returns 2: 'The quick brown fox <br />\njumped over the lazy<br />\n dog.'
    // *     example 3: wordwrap('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
    // *     returns 3: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim \nveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea \ncommodo consequat.'
 
    // PHP Defaults
    var m = ((arguments.length >= 2) ? arguments[1] : 75   );
    var b = ((arguments.length >= 3) ? arguments[2] : "\n" );
    var c = ((arguments.length >= 4) ? arguments[3] : false);
 
    var i, j, l, s, r;
 
    str += '';
 
    if (m < 1) {
        return str;
    }
 
    for (i = -1, l = (r = str.split(/\r\n|\n|\r/)).length; ++i < l; r[i] += s) {
        for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")){
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
        }
    }
    
    return r.join("\n");
}