if (typeof OV == "undefined" || !OV) {
    var OV = {};
}

OV.helpers = {};

OV.helpers.clean_iframe_response = function (response) {
  return response.replace(/<pre.*?>/i, '').replace(/<\/pre>/i, '');
};

OV.helpers.updateCharacterCount = function(e, args) {
	var input = YAHOO.util.Dom.get(args[0]);
	var count = args[1];
	var update = YAHOO.util.Dom.get(args[2]);
	update.innerHTML = (count - input.value.length);
};

OV.helpers.cookie_login = function() {
  var nameCookie = YAHOO.util.Cookie.get("logged_in");
  if (nameCookie) var name = YAHOO.util.Cookie.get("logged_in").replace(/\+/g, ' ');
  if(name) {
    var lb = YAHOO.util.Selector.query('#loggedInBar', '', true);
    lb.innerHTML = lb.innerHTML.replace('~name~', '<a href="/my_ov">' + name + '</a>');
    YAHOO.util.Dom.removeClass(lb, 'hide');
    YAHOO.util.Dom.addClass(YAHOO.util.Selector.query('#logInBar', '', true), 'hide');
	if (name == "ov_staff") YAHOO.util.Dom.removeClass("adminReg", "hide");
  }
};

OV.helpers.generateErrorMessage = function(errors, delimeter) {
	var errorMessages = '';
	for(e in errors) {
		if (errors[e][0] == "base") errorMessages += errors[e][1];
		else errorMessages = errorMessages + errors[e][0].substr(0,1).toUpperCase() + errors[e][0].substr(1) + " " + errors[e][1];
		errorMessages += delimeter;
	}
	return errorMessages;
}

OV.dropdown = {};
OV.dropdown.clickDropDown = function (e) {
  var dd = YAHOO.util.Selector.query('#dropDown.hide', '');
  if (dd.length == 1) {
    YAHOO.util.Dom.removeClass('dropDown', 'hide');
    YAHOO.util.Event.stopEvent(e);
  } else {
    YAHOO.util.Dom.addClass('dropDown', 'hide');
  }
};

OV.controls = {};

OV.controls.EmailControlDialog = null;

OV.controls.initializeEmailControlDialog = function() {
	OV.controls.EmailControlDialog = new YAHOO.widget.SimpleDialog("emailControl", { 
	fixedcenter:true,
	close: false,
	zindex:4,
	modal:true,
    visible:false,
	draggable:false });
	OV.controls.EmailControlDialog.render("ov");
};

OV.controls.showEmailControlDialog = function(e) {
	YAHOO.util.Event.preventDefault(e);
	OV.controls.EmailControlDialog.show();
};

OV.controls.hideEmailControlDialog = function(e) {
	YAHOO.util.Event.preventDefault(e);
	OV.controls.EmailControlDialog.hide();
};

OV.controls.sendToFriend = function(e) {
	YAHOO.util.Event.preventDefault(e);
	var emailPath = '/email_friend.json'
	YAHOO.util.Connect.setForm(YAHOO.util.Dom.get("emailControlForm"));
    var cObj = YAHOO.util.Connect.asyncRequest('POST', emailPath, OV.controls.sendToFriendCallback);
	
	OV.loading.showSpinner("emailControlSpinner");
	YAHOO.util.Dom.addClass("emailControlFormContainer", "hide");
	YAHOO.util.Dom.removeClass("emailControlFormContainer", "content");
};

OV.controls.sendToFriendCallback = {
	success: function(o) {
		var json = YAHOO.lang.JSON.parse(o.responseText);
		OV.loading.hideSpinner("emailControlSpinner");
		YAHOO.util.Dom.removeClass("emailControlFormContainer", "hide");
		YAHOO.util.Dom.addClass("emailControlFormContainer", "content");
		if (json.message == "Thanks, your email has been sent") {
			OV.controls.EmailControlDialog.hide();
			//Reset fields
			YAHOO.util.Dom.get("email_control_used_plaxo").value = "";
			YAHOO.util.Dom.get("email_control_to").value = "";
			YAHOO.util.Dom.get("email_control_name").value = "";
			YAHOO.util.Dom.get("email_control_from").value = "";
			YAHOO.util.Dom.get("email_control_message").value = "";
		}
		alert(json.message);
	},
	failure: function(o) {
		OV.loading.hideSpinner("emailControlSpinner");
		YAHOO.util.Dom.removeClass("emailControlFormContainer", "hide");
		YAHOO.util.Dom.addClass("emailControlFormContainer", "content");
		alert('Sorry, something went wrong...');
	}
};
