alert('loading me');
/**
 * Functions used when saving the company form
 **/
//--- apply JS validation and submit the form
	var objectValidation = {
		alias: validation_alias,
		required: 'accept',
		err_list: true,
		err_message: validation_err_message,
		text_without_spaces: /^[a-z0-9.\'-_]+$/gi,
		text_with_spaces: /^[\w\.,\'\-\040\t;:\(\)\n]+$/gi,
		regular_phone_no: /^[0-9\s\-\+\.]+$/g,
		us_phone_no: /^((\+1\s\([0-9]{3}\)|\+1\s[0-9]{3}|1\s\([0-9]{3}\)|1\([0-9]{3}\)|1\s[0-9]{3}|1[0-9]{3}|\([0-9]{3}\)|[0-9]{3})(\s[0-9]{3}[\s|-])([0-9]{4}))|([\+1\s|1\s|1][0-9]{9}|[0-9]{9})$/g,
		international_phone_no: /^((\+[0-9]{1,3}|[0-9]{1,5})([0-9\(\)\s\-]){7,16})$/g,
		email: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/gi,
		text_only: /^[a-z]+$/gi,
		not_empty: /^.+$/
	};
	var url = 'http://' + location.hostname;


$(document).ready(function() {
	
	var myOpen = function(hash) {
			var url = 'http://' + location.hostname + '/' + $(hash.t).attr('href');
			$.get(url,function(data) { $('#login_box .content').html(data);hash.w.show();$('#login_box').center();parseForms(); }, "html");
		};
	$('#login_box').jqm({trigger: 'a#register',  overlay:0, onShow:myOpen});
	$('#login_box').jqmAddTrigger('a#login');
	var loginValidation = objectValidation;
	loginValidation.callback = '_ajaxLoginFormSubmit';
	$('#login').formValidation(
		loginValidation, {
    	required: validation_required
	});	
	
});


/**
 * Callback function for formValidation.
 * Will also submit the form
 *
 * @return bool false
 * */
function _ajaxRegisterFormSubmit(data) {
	var registerOptions = {
			url			: url,
			data		: {X_AJAX_INFO : 'users_register'},
			success		: _ajaxRegisterCheck,
			dataType	: 'json'
						};
	$('#registration').ajaxSubmit(registerOptions);
	return false;
}

function _ajaxRegisterCheck(data, status)
{

	$.get(data.url,function(data) { $('#login_box .content').html(data);parseForms(); }, "html");
}

function _ajaxSuccessCheck(data, status, form)
{
	if(data.status == 'fail')
	{
		if(typeof form == 'undefined')
		{
			$('#message',$('.logged_in')).html(data.message).show();
		}
		else
		{
			var children = form.children('#message');
			if(typeof children == 'undefined')
			{
				$('#message').html(data.message);
			}
			else
			{
				children.html(data.message);
			}
		}
	}
	else
	{
		reloadPage();
	}
}
function reloadPage() {
	if(window.location.pathname == '/logout.html')
	{
		window.location.href = 'account.html';
	}
	else{
		window.location.reload(true);
	}
}
function _ajaxFacebookSubmit(response)
{
	if(response.status == 'connected')
	{
		var loginOptions = {X_AJAX_INFO : 'users_facebook', 'action' : 'connect_account'};
		$.post(url, loginOptions, _ajaxSuccessCheck, 'json');
	}
}
function _ajaxLoginBoxFormSubmit()
{
	var loginOptions = {
			url			: url,
			data		: {X_AJAX_INFO : 'users_login'},
			success		: _ajaxSuccessCheck,
			dataType	: 'json'
						};
	$('#login', '#register_box').ajaxSubmit(loginOptions);
	return false;
}

function _ajaxLoginFormSubmit()
{
	var loginOptions = {
			url			: url,
			data		: {X_AJAX_INFO : 'users_login'},
			success		: _ajaxSuccessCheck,
			dataType	: 'json'
						};
	$('#login').ajaxSubmit(loginOptions);
	return false;
}

function parseForms() {

	var loginBoxValidation = objectValidation;
	loginBoxValidation.callback = '_ajaxLoginBoxFormSubmit';
	$('#login', '#register_box').formValidation(
		loginBoxValidation, {
    	required: validation_required
	});
	
	var registerValidation = objectValidation;
	registerValidation.callback = '_ajaxRegisterFormSubmit';
	$('#registration').formValidation(
		registerValidation, {
    	required: validation_required
	});
	if($('#login_box:visible').length){
		$('#login_box').jqmAddClose('#closeButton');
	}else{
		$('#company_profile_box').jqmAddClose('#closeButton');
	}
	if($('#closeButton').length == 1)
	{
		$('#companyCloseButton').hide();
	}
}


//facebook account
$(document).ready(function() {
	$('#disconect').click(function(){
	var loginOptions = {X_AJAX_INFO : 'users_facebook', 'action' : 'disconnect'};
	$.post(url, loginOptions, _ajaxSuccessCheck, 'json');
		return false;
	});
});

function strip_tags (str, allowed_tags) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +      input by: Alex
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Eric Nagel
    // +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Tomasz Wesolowski
    // *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
    // *     example 4: strip_tags('1 < 5 5 > 1');
    // *     returns 4: '1 < 5 5 > 1'

    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';

    var replacer = function (search, replace, str) {
        return str.split(search).join(replace);
    };

    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
    }

    str += '';

    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);

    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }

        // Save HTML tag
        html = matches[key].toString();

        // Is tag not in allowed list? Remove from str!
        allowed = false;

        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;

            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}

            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }

        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

    return str;
}
